:root{--ui-scale:1;--bg:#0f1113;--bg2:#171a1d;--panel:#0e1012e6;--panel-solid:#121517;--line:#2e3439;--line2:#23282c;--text:#e6e2d8;--dim:#8e928f;--amber:#e8a33a;--gold:#f0c869;--good:#79c46e;--bad:#e5574a;--blue:#7fb4e0;--common:#c4c0b6;--fine:#79c46e;--rare:#6fa0ef;--storied:#f09a3a;--head:"Bahnschrift", "DIN Alternate", "DIN Condensed", "Roboto Condensed", "Arial Narrow", system-ui, sans-serif;--mono:"SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--gap:8px;--edge:12px}*{box-sizing:border-box}html,body{height:100%;color:var(--text);background:#0b0c0d;margin:0;font:13.5px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#game{position:fixed;inset:0}#game canvas{image-rendering:pixelated}#game canvas.world3d{z-index:0;pointer-events:none;image-rendering:auto;position:absolute;top:0;left:0}#game canvas:not(.world3d){z-index:1;position:relative}#ui{pointer-events:none;font-size:calc(13.5px * var(--ui-scale));position:fixed;inset:0}#ui>*{pointer-events:none}#ui .pe,#ui button,#ui input,#ui select,#ui textarea,#ui .panel,#ui .slot,#ui .ab,#ui .clickable{pointer-events:auto}h1,h2,h3,h4{font-family:var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--text);margin:0 0 .5em;font-weight:600}h2{font-size:1.25em}h3{color:var(--amber);font-size:1.05em}h4{color:var(--dim);font-size:.85em}button{font:600 .92em var(--head);letter-spacing:.04em;color:var(--text);border:1px solid var(--line);cursor:pointer;text-transform:uppercase;background:#1c2024;border-radius:2px;padding:.35em .85em}button:hover:not(:disabled){border-color:var(--amber);color:#fff}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--amber);border-color:var(--amber);color:#18120a}button.primary:hover:not(:disabled){color:#000;background:#f2b04c}input,select{font:inherit;color:var(--text);border:1px solid var(--line);background:#0b0d0e;border-radius:2px;padding:.4em .55em}input:focus,select:focus{border-color:var(--amber);outline:none}.dim{color:var(--dim)}.good{color:var(--good)}.bad{color:var(--bad)}.gold{color:var(--gold)}.r-common{color:var(--common)}.r-fine{color:var(--fine)}.r-rare{color:var(--rare)}.r-storied{color:var(--storied)}.row{align-items:center;gap:.5em;display:flex}.col{flex-direction:column;gap:.4em;display:flex}.spacer{flex:1}.kbd{border:1px solid var(--line);min-width:1.5em;font:600 .78em var(--mono);text-align:center;color:var(--text);background:#0b0d0e;border-bottom-width:2px;border-radius:2px;padding:0 .3em;display:inline-block}.eyebrow{font:700 .72em var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.hidden{display:none!important}.screen{background:#0b0c0d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect width='1' height='1' fill='%23151719'/%3E%3C/svg%3E");place-items:center;display:grid;position:fixed;inset:0;pointer-events:auto!important}.screen .card{background:var(--panel-solid);border:1px solid var(--line);border-top:3px solid var(--amber);width:min(440px,92vw);padding:1.6em}.screen .card.wide{width:min(860px,94vw)}.title{font:700 2.6em/1 var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--text);text-align:center;margin-bottom:.25em}.title b{color:var(--amber);font-weight:700}.subtitle{text-align:center;color:var(--dim);margin-bottom:1.4em}.classes{grid-template-columns:repeat(3,1fr);gap:.8em;margin:.8em 0;display:grid}.classcard{border:1px solid var(--line);cursor:pointer;background:var(--bg2);padding:.8em}.classcard:hover{border-color:#4a5258}.classcard.sel{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}.classcard canvas{image-rendering:pixelated;width:72px;height:72px;margin:0 auto .4em;display:block}.charlist .char{border:1px solid var(--line);background:var(--bg2);align-items:center;gap:.8em;margin-bottom:.5em;padding:.6em;display:flex}.story{text-align:left;max-width:560px}.story p{color:#cfcac0;margin:.7em 0;font-size:1.05em}.story .when{font:700 .8em var(--head);letter-spacing:.16em;color:var(--amber);text-transform:uppercase}.zone{gap:var(--gap);flex-direction:column;display:flex;position:absolute}#zone-tl{top:var(--edge);left:var(--edge);width:280px}#zone-tr{top:var(--edge);right:var(--edge);align-items:stretch;width:200px}#zone-tc{top:var(--edge);align-items:center;width:min(460px,40vw);left:50%;transform:translate(-50%)}#zone-bc{bottom:var(--edge);align-items:center;left:50%;transform:translate(-50%)}#zone-bl{bottom:var(--edge);left:var(--edge);width:min(400px,30vw)}#zone-br{bottom:var(--edge);right:var(--edge);align-items:flex-end;max-width:360px}.box,.frame{background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:7px 9px}.frame .who{font:700 1em var(--head);letter-spacing:.05em;text-transform:uppercase}.lvl{background:var(--amber);color:#18120a;min-width:22px;font:700 .8em var(--mono);text-align:center;padding:0 4px;display:inline-block}.bar{background:#050607;border:1px solid #000;height:12px;margin-top:4px;position:relative;overflow:hidden}.bar>i{transition:width .12s;display:block;position:absolute;inset:0 auto 0 0}.bar>span{font:600 10px/11px var(--mono);text-shadow:0 1px 1px #000;justify-content:space-between;padding:0 5px;display:flex;position:absolute;inset:0}.bar.hp>i{background:#c8463a}.bar.hp.low>i{background:#ff4a3a;animation:.6s infinite alternate pulse}@keyframes pulse{to{opacity:.55}}.bar.sh>i{background:var(--blue);opacity:.85}.bar.xp{background:#0009;border:none;height:4px;margin:0}.bar.xp>i{background:var(--amber)}.bar.cast>i{background:var(--gold)}.bar.res>i{background:var(--res,#888)}.bar.sta{border:none;height:4px}.bar.sta>i{background:#d8c460}.statuses{flex-wrap:wrap;gap:3px;margin-top:4px;display:flex}.statuses b{font:600 10px var(--head);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line);background:#1c2024;padding:1px 5px}.statuses b.bad{color:var(--bad);border-color:#5a2a26}.guide{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--amber);padding:8px 10px;font-size:.92em}.guide .gtitle{font:700 1.08em var(--head);letter-spacing:.03em;color:var(--text);margin:3px 0 4px}.gbar{background:#050607;height:4px;margin-top:6px}.gbar i{background:var(--amber);height:100%;display:block}button.mini{padding:0 .45em;font-size:.75em}.party{flex-direction:column;gap:4px;display:flex}.party:empty{display:none}.party .m{background:var(--panel);border:1px solid var(--line);padding:4px 7px;font-size:.86em}.regionlabel{text-align:right;text-shadow:0 1px 2px #000}.regionlabel .name{font:700 1.15em var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--text)}.regionlabel .danger{font:600 .8em var(--head);letter-spacing:.05em;text-transform:uppercase}.clock{justify-content:space-between;align-items:center;display:flex}.clock .day{font:600 .82em var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}.clock .t{font:700 1.05em var(--mono)}.clock.warn{border-color:#7a3428}.clock.warn .t{color:var(--bad)}.clock.horde{border-color:var(--bad);background:#3c0a08d9;animation:1s infinite alternate pulse}.clock.horde .t{color:#fff}.minimap{border:1px solid var(--line);image-rendering:pixelated;background:#0b0d0e;width:200px;height:200px;display:block}.drops .d{color:var(--gold);font-size:.82em}.tracker{flex-direction:column;gap:4px;display:flex}.tracker .q{background:var(--panel);border-left:2px solid var(--line);padding:3px 7px;font-size:.82em}.tracker .q.main{border-left-color:var(--amber)}.tracker .done{color:var(--good)}.event,.banner{background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--amber);text-align:center;width:100%;padding:6px 12px}.banner.horde{border-top-color:var(--bad);background:#280806e6}.banner .big{font:700 1.3em var(--head);letter-spacing:.12em;text-transform:uppercase}.streak{font:800 1.6em var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);text-shadow:0 2px #000,0 0 12px #e8a33a80;animation:.25s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(1.5)}}#tgt{min-width:260px}.toasts{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.toast{background:var(--panel);border:1px solid var(--line);text-align:center;max-width:100%;padding:5px 12px;font-size:.92em}.toast.error{color:#ffb0a0;border-color:#6a2a24}.toast.good{color:#b6eaa8;border-color:#355a2e}.prompt:empty{display:none}.castbar{width:280px}.hotrow{gap:var(--gap);align-items:flex-end;display:flex}.weapon{flex-direction:column;justify-content:center;min-width:150px;display:flex}.weapon .name{font:600 .78em var(--head);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);white-space:nowrap}.weapon .ammo{font:700 1.7em/1 var(--mono)}.weapon .ammo small{color:var(--dim);font-size:.55em}.weapon .ammo.low{color:var(--bad)}.weapon .rl{background:#050607;height:3px;margin-top:4px}.weapon .rl i{background:var(--amber);height:100%;display:block}.abilitybar{align-items:flex-end;gap:5px;display:flex}.ab{border:1px solid var(--line);width:46px;height:46px;image-rendering:pixelated;cursor:pointer;background:#0b0d0e 50%/cover;position:relative}.ab:hover{border-color:var(--amber)}.ab.locked{opacity:.3}.ab .cd{font:700 .95em var(--mono);background:#000000b3;place-items:center;display:grid;position:absolute;inset:0}.ab .key{position:absolute;top:-7px;left:-5px}.ab .cost{font:600 10px var(--mono);text-shadow:0 1px 2px #000;color:var(--blue);position:absolute;bottom:0;right:2px}.ab.nores{filter:saturate(.3)brightness(.7)}.ab.dodge{width:40px;height:40px;font:600 10px var(--head);text-transform:uppercase;place-items:center;display:grid}.xpwrap{width:100%;min-width:420px}.buildbar{gap:4px;display:flex}.buildbar .bp{background:var(--panel);border:1px solid var(--line);text-align:center;cursor:pointer;width:74px;padding:4px;font-size:.72em}.buildbar .bp.on{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}.buildbar .bp.no{opacity:.45}.buildbar .bp b{font:600 1em var(--head);letter-spacing:.03em;text-transform:uppercase;display:block}.chat .lines{text-shadow:0 1px 2px #000;pointer-events:auto;background:#08090a8c;max-height:170px;padding:4px 6px;font-size:.86em;overflow-y:auto}.chat .lines div{word-wrap:break-word}.chat .ch-party{color:#8fd0ff}.chat .ch-system{color:var(--gold)}.chat .ch-clan{color:#b8a0ff}.chat .from{color:#e8c88a;cursor:pointer}.chat input{width:100%;margin-top:4px}.chat .lines:empty{display:none}.lootfeed{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.lootfeed .li{background:var(--panel);border:1px solid var(--line);border-right:3px solid var(--common);align-items:center;gap:6px;padding:2px 8px 2px 3px;font-size:.86em;animation:.2s ease-out slidein;display:flex}.lootfeed .li img{width:24px;height:24px;image-rendering:pixelated}.lootfeed .li.r-fine{border-right-color:var(--fine)}.lootfeed .li.r-rare{border-right-color:var(--rare)}.lootfeed .li.r-storied{border-right-color:var(--storied)}@keyframes slidein{0%{opacity:0;transform:translate(30px)}}.menubar{flex-wrap:wrap;justify-content:flex-end;gap:3px;display:flex}.menubar button{padding:.3em .55em;font-size:.78em}.menubar button.dot:after{content:"";background:var(--amber);vertical-align:middle;width:6px;height:6px;margin-left:5px;display:inline-block}.netstat{font:10px var(--mono);color:var(--dim);text-align:right}.death{background:radial-gradient(#0000 30%,#2800008c);place-items:center;display:grid;position:absolute;inset:0;pointer-events:auto!important}.death .frame{text-align:center;border-top:3px solid var(--bad);padding:18px 26px}.downed{background:radial-gradient(#0000 35%,#5a000080);place-items:end center;padding-bottom:22vh;display:grid;position:absolute;inset:0}.downed .box{text-align:center;border-top:3px solid var(--bad)}.panel{background:var(--panel-solid);border:1px solid var(--line);border-top:2px solid var(--amber);border-radius:2px;max-height:80vh;padding:12px 14px;position:absolute;overflow:auto;box-shadow:0 12px 40px #000c}.panel .close{padding:0 .55em;position:absolute;top:8px;right:8px}.panel.center{top:50%;left:50%;transform:translate(-50%,-50%)}.panel.left{top:50%;left:310px;transform:translateY(-50%)}.panel.right{top:50%;right:230px;transform:translateY(-50%)}.grid{grid-template-columns:repeat(8,40px);gap:3px;display:grid}.slot{border:1px solid var(--line2);width:40px;height:40px;image-rendering:pixelated;cursor:pointer;background:#0b0d0e 50%/32px no-repeat;position:relative}.slot:hover{border-color:#4a5258}.slot .q{font:600 10px var(--mono);text-shadow:0 1px 1px #000;position:absolute;bottom:0;right:2px}.slot.locked{outline:2px solid var(--amber)}.slot.empty{cursor:default}.slot.sel{outline:2px solid var(--blue)}.equip{grid-template-columns:repeat(7,40px);gap:3px;margin-bottom:8px;display:grid}.equip .lbl{font:600 9px var(--head);text-transform:uppercase;text-align:center;color:var(--dim)}.tabs{flex-wrap:wrap;gap:3px;margin-bottom:10px;display:flex}.tabs button.on{border-color:var(--amber);color:var(--amber)}.tree{grid-template-columns:1fr 1fr;gap:16px;display:grid}.branch h4{text-align:center}.node{border:1px solid var(--line);background:var(--bg2);cursor:pointer;margin-bottom:6px;padding:6px}.node.has{border-color:var(--amber)}.node.cap{border-width:2px}.node.no{opacity:.5;cursor:default}.node .rank{float:right;color:var(--amber);font-family:var(--mono)}.node .eff{color:var(--dim);font-size:.82em}.abilitylist .ab-row{border-bottom:1px solid var(--line2);align-items:center;gap:8px;padding:4px;display:flex}.abilitylist .ab-row img{width:32px;height:32px;image-rendering:pixelated}.questlog{grid-template-columns:220px 1fr;gap:12px;min-width:620px;display:grid}.questlog .list div{cursor:pointer;padding:4px 6px}.questlog .list div.sel{box-shadow:inset 2px 0 var(--amber);background:#1f2428}.dialogue{width:min(520px,92vw)}.dialogue .opt{text-align:left;text-transform:none;letter-spacing:0;width:100%;margin:4px 0;font-family:inherit;display:block}.shop .item,.market .item{border-bottom:1px solid var(--line2);align-items:center;gap:8px;padding:3px 4px;display:flex}.shop .item img,.market .item img,.craft img{width:32px;height:32px;image-rendering:pixelated}.tooltip{z-index:50;border:1px solid var(--line);border-top:2px solid var(--amber);background:#0d0f11;max-width:300px;padding:8px 10px;font-size:.9em;position:fixed;box-shadow:0 6px 20px #000a;pointer-events:none!important}.tooltip .name{font:700 1.05em var(--head);letter-spacing:.03em}.tooltip .beh{color:var(--storied);margin-top:4px}.tooltip .cmp{border-top:1px solid var(--line2);margin-top:6px;padding-top:4px}.map canvas{image-rendering:pixelated;border:1px solid var(--line);display:block}.keyrow{justify-content:space-between;gap:8px;padding:2px 0;display:flex}.keyrow button{min-width:90px}.journal .chip{background:#1c2024;margin:2px;padding:2px 6px;font-size:.85em;display:inline-block}.journal .chip.got{color:var(--good);background:#24361f}.helpgrid{grid-template-columns:1fr 1fr;gap:12px 20px;max-width:760px;margin-bottom:10px;display:grid}.helpgrid h4{color:var(--amber);margin-bottom:2px}@media (max-width:1100px){#zone-tc{width:34vw}#zone-bl{width:26vw}.xpwrap{min-width:300px}}.ab.wslot{place-items:center;width:52px;height:46px;display:grid}.ab.wslot.on{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber);background-color:#1c1a14}.ab.wslot.dry{opacity:.5}.ab.wslot.empty{opacity:.35;cursor:default}.ab.wslot .cost{color:var(--text)}.bar.xp{background:#000000a6;border:1px solid #000;height:12px}.bar.xp>i{background:linear-gradient(90deg, #b8741e, var(--amber) 70%, #ffd27a);box-shadow:0 0 8px #e8a33a73}.bar.xp>span{color:#f6ead0;font-size:9px;line-height:10px}.xpwrap{position:relative}.wflash{opacity:0;pointer-events:none;white-space:nowrap;background:#08090ad1;border:1px solid #ffc85a59;border-radius:4px;align-items:center;gap:10px;padding:6px 14px 6px 8px;transition:opacity .18s,transform .18s;display:flex;position:absolute;bottom:118px;left:50%;transform:translate(-50%,8px)scale(.92)}.wflash.on{opacity:1;transform:translate(-50%)scale(1)}.wflash b{font:700 1.05em var(--head);letter-spacing:.08em;text-transform:uppercase;display:block}.wflash small{font:600 .8em var(--mono);color:var(--dim)}.ab.wslot.on{box-shadow:0 0 0 2px var(--amber), 0 6px 14px #00000080;transition:transform .12s;transform:translateY(-4px)}.ab.wslot.locked{opacity:.45;filter:grayscale()}.xppops{pointer-events:none;flex-direction:column-reverse;align-items:center;gap:1px;display:flex;position:absolute;bottom:78px;left:50%;transform:translate(-50%)}.xpp{font:800 13px var(--head);color:var(--gold);letter-spacing:.04em;text-shadow:0 1px #000,0 0 8px #f0c86980;opacity:calc(1 - var(--k) * var(--k));transform:translateY(calc(var(--k) * -14px));white-space:nowrap}.xpp span{font:600 10px var(--mono);color:#e6d6b0;text-transform:uppercase;margin-left:4px}.xpp.gray{color:#9a9a90;text-shadow:0 1px #000}.lvlup{border:1px solid #6a4a1a;border-top:3px solid var(--gold);text-align:center;background:linear-gradient(#281a08f0,#0e0c0af0);padding:10px 22px 12px;animation:.35s ease-out pop;box-shadow:0 0 40px #e8a33a40}.lvlup .lv{font:900 2.2em var(--head);letter-spacing:.14em;color:var(--gold);text-shadow:0 3px #000,0 0 18px #f0c86999}.lvlup .sub{color:#e6d6b0;margin-bottom:4px;font-size:.86em}.lvlup .un{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:4px;font-size:.8em;display:flex}.lvlup .un span{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;margin-right:4px}.lvlup .un b{color:#f6ead0;background:#e8a33a24;border:1px solid #6a4a1a;padding:0 6px;font-weight:600}.dice{background:var(--panel);border:1px solid var(--line);align-items:center;gap:8px;margin-bottom:4px;padding:4px 10px 4px 4px;font-size:.84em;animation:.2s ease-out slidein;display:flex}.dice .die{width:30px;height:30px;font:800 14px var(--mono);color:#1a1208;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#d8cdb0;place-items:center;animation:.45s ease-out roll;display:grid}.dice.crit .die{background:var(--gold);box-shadow:0 0 12px var(--gold)}.dice.crit b{color:var(--gold)}.dice.fumble .die{color:#fff;background:#a8463a}.dice.fumble b{color:var(--bad)}@keyframes roll{0%{transform:rotate(-540deg)scale(.4)}}.tracked{flex-direction:column;gap:4px;width:210px;margin-top:4px;display:flex}.tracked .th{font:600 .72em var(--head);text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}.tracked .tr{background:var(--panel);border:1px solid var(--line);border-left:2px solid var(--line);padding:3px 6px;font-size:.78em}.tracked .tr.ready{border-left-color:var(--good)}.tracked .tn{font-weight:600;display:flex}.tracked .tn .x{cursor:pointer;color:var(--dim);margin-left:auto}.tracked .tr.ready .tn{color:var(--good)}.tracked .ti{color:var(--dim);align-items:center;gap:4px;display:flex}.tracked .ti b{font:600 .95em var(--mono);color:var(--bad);margin-left:auto}.tracked .ti.ok b{color:var(--good)}.tracked .ti.ok{color:var(--text)}.buildbar{flex-direction:column;align-items:center;gap:3px}.buildbar .btabs{gap:2px;display:flex}.buildbar .bt{background:var(--panel);border:1px solid var(--line);font:600 .72em var(--head);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;color:var(--dim);padding:2px 10px}.buildbar .bt.on{color:var(--gold);border-color:var(--amber)}.buildbar .bp.close{width:auto;padding:2px 10px}.buildbar .blist{gap:4px;display:flex}.buildbar .bp{width:92px}.buildbar .bp i{font-style:normal;display:block}.buildbar .bp i.bad{color:var(--bad)}.buildbar .btip{background:var(--panel);text-align:center;max-width:640px;padding:2px 8px;font-size:.76em}em.pw{color:#8fd0ff;text-transform:uppercase;border:1px solid #2a4a6a;margin-left:3px;padding:0 3px;font-size:.75em;font-style:normal}.ctabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:2px;display:flex}.ctab{cursor:pointer;font:600 .78em var(--head);text-transform:uppercase;letter-spacing:.05em;color:var(--dim);border:1px solid #0000;border-bottom:none;padding:4px 10px}.ctab.on{color:var(--gold);border-color:var(--line);background:var(--bg2)}.rlist{max-height:58vh;padding-right:4px;overflow-y:auto}.rlist h4{margin:8px 0 2px}.rc{border-bottom:1px solid var(--line2);grid-template-columns:250px 1fr auto;align-items:center;gap:8px;padding:5px 4px;display:grid}.rc.ready{background:linear-gradient(90deg,#79c46e14,#0000 60%)}.rc.locked{opacity:.5}.rc .rn{align-items:center;gap:6px;display:flex}.rc .rn>div{flex-direction:column;display:flex}.rc .rn .dim{font-size:.78em}.rc .rn em{color:var(--dim);margin-left:4px;font-size:.72em;font-style:normal}.rc .tags{gap:3px;margin-top:2px;display:flex}.rc .st{white-space:nowrap;border:1px solid var(--line);color:var(--dim);padding:0 4px;font-size:.7em}.rc .st.ok{color:var(--good);border-color:#3a5a34}.rc .st.no{color:var(--bad);border-color:#5a2a24}.rc .ings{flex-wrap:wrap;gap:3px;display:flex}.ing{background:#e5574a14;border:1px solid #4a2824;align-items:center;gap:3px;padding:1px 5px 1px 1px;font-size:.78em;display:inline-flex}.ing b{font:600 .95em var(--mono);color:var(--bad)}.ing.ok{background:#79c46e14;border-color:#2e4a2a}.ing.ok b{color:var(--good)}.rc .rb{gap:3px;display:flex}.rc .rb button.on{color:var(--gold);border-color:var(--amber)}.shop .item.locked{opacity:.45}.shop .item.special{border-left:2px solid var(--gold);background:linear-gradient(90deg,#f0c8691f,#0000)}em.spec{color:var(--gold);text-transform:uppercase;letter-spacing:.06em;margin-left:4px;font-size:.7em;font-style:normal}.builder{grid-template-columns:260px 1fr;align-items:start;gap:14px;margin:8px 0;display:grid}.builder .bprev{background:radial-gradient(at 50% 70%,#3a3a34 0%,#1a1a1e 70%);border:1px solid #ffffff14;border-radius:6px;width:260px;height:330px;position:relative}.builder .bprev canvas{width:260px;height:330px;display:block}.builder .bspin{justify-content:center;gap:6px;display:flex;position:absolute;bottom:6px;left:0;right:0}.builder .bctl{flex-direction:column;gap:8px;min-width:300px;display:flex}.builder .bout{background:#ffffff0a;border-radius:4px;justify-content:space-between;padding:4px 6px}.builder .bout b{font:700 1.05em var(--head);letter-spacing:.06em;text-transform:uppercase}.builder .bslot{grid-template-columns:52px 1fr;align-items:center;gap:6px;display:grid}.builder .bslot>span{font:600 .8em var(--head);color:var(--dim);text-transform:uppercase;letter-spacing:.06em}.builder .sws{flex-wrap:wrap;gap:4px;display:flex}.builder .sw{cursor:pointer;border:2px solid #0006;border-radius:4px;width:22px;height:22px;padding:0}.builder .sw.on{border-color:#ffd76a;box-shadow:0 0 0 1px #ffd76a}.builder .sw.custom{background:conic-gradient(#e44,#ee4,#4e4,#4ee,#44e,#e4e,#e44);position:relative;overflow:hidden}.builder .sw.custom input{opacity:0;cursor:pointer;position:absolute;inset:-6px}.creator-screen{background:radial-gradient(at 50% 35%,#26221c 0%,#0d0e10 70%);flex-direction:column;place-items:stretch stretch;display:flex;overflow:auto}.cr-top{border-bottom:1px solid #ffffff0f;align-items:center;gap:12px;padding:14px 24px;display:flex}.cr-logo{font:800 1.6em var(--head);letter-spacing:.14em;color:#f2e6c8}.cr-logo span{color:var(--amber);margin-left:.35em}.cr-roster{flex-wrap:wrap;gap:10px;padding:12px 24px;display:flex}.cr-roster .char{border:1px solid var(--line);background:#ffffff0a;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;display:flex}.cr-roster .char canvas{width:40px;height:40px;image-rendering:pixelated}.creator{flex:1;grid-template-columns:minmax(300px,380px) 1fr minmax(320px,400px);gap:18px;min-height:560px;padding:14px 24px 24px;display:grid}.creator h3{font:700 .9em var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0 0 10px}.cr-classes{flex-direction:column;gap:10px;display:flex;overflow-y:auto}.creator .classcard{--c:#e8743b;border:1px solid var(--line);border-left:3px solid color-mix(in srgb, var(--c) 45%, transparent);cursor:pointer;background:#ffffff08;border-radius:6px;padding:10px 12px;transition:background .15s,border-color .15s,transform .15s}.creator .classcard:hover{background:#ffffff0f;transform:translate(2px)}.creator .classcard.sel{border-color:var(--c);background:linear-gradient(90deg, color-mix(in srgb, var(--c) 16%, transparent), #ffffff08);box-shadow:0 0 24px color-mix(in srgb, var(--c) 22%, transparent);border-left-width:5px}.creator .classcard canvas{width:44px;height:44px;margin:0;display:inline-block}.cc-head{align-items:center;gap:10px;display:flex}.cc-head b{font:800 1.25em var(--head);letter-spacing:.08em;text-transform:uppercase}.cc-role{color:var(--c);letter-spacing:.04em;font-size:.8em;font-weight:600}.cc-diff{align-items:center;gap:3px;display:flex}.cc-diff i{background:#ffffff26;border-radius:2px;width:8px;height:8px}.cc-diff i.on{background:var(--c)}.cc-diff em{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;margin-left:4px;font-size:.72em;font-style:normal}.cc-tag{color:#e8dcc0;margin-top:6px;font-style:italic}.cc-more{margin-top:8px;display:none}.classcard.sel .cc-more{display:block}.cc-pitch{margin-bottom:6px;font-size:.85em}.cc-more ul{margin:0 0 8px;padding:0;font-size:.86em;list-style:none}.cc-more li{color:#e6e1d6;padding:2px 0 2px 18px;position:relative}.cc-more li.good:before{content:"✓";color:#8ee08a;position:absolute;left:0}.cc-more li.bad:before{content:"✗";color:#ff8a7a;position:absolute;left:0}.cc-stats{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;grid-template-columns:70px 1fr;align-items:center;gap:4px 8px;margin-bottom:8px;font-size:.75em;display:grid}.cc-stats .bar{background:#ffffff14;border-radius:3px;height:6px;overflow:hidden}.cc-stats .bar i{background:#d8584a;height:100%;display:block}.cc-stats .bar.res i{background:var(--c)}.cc-abs{gap:8px;display:flex}.cc-ab{text-align:center;color:#d8d0c0;flex-direction:column;align-items:center;gap:3px;width:33%;font-size:.72em;display:flex}.cc-ab .ic{border:1px solid color-mix(in srgb, var(--c) 60%, transparent);border-radius:4px}.cr-stage{--c:#e8743b;background:radial-gradient(ellipse at 50% 75%, color-mix(in srgb, var(--c) 22%, #2a2620) 0%, #121214 62%), #121214;border:1px solid #ffffff0f;border-radius:10px;min-height:520px;transition:background .4s;position:relative;overflow:hidden}.cr-stage #stage{position:absolute;inset:0}.cr-stage canvas{cursor:grab;display:block}.cr-stage canvas:active{cursor:grabbing}.cr-stage .bhint{color:#ffffff59;pointer-events:none;font-size:.75em;position:absolute;bottom:12px;right:16px}.cr-title{pointer-events:none;position:absolute;top:18px;left:22px}.cr-title b{font:900 3em var(--head);letter-spacing:.1em;text-transform:uppercase;color:#fff;text-shadow:0 2px 18px color-mix(in srgb, var(--c) 60%, transparent);display:block}.cr-title small{color:var(--c);font-size:1.05em;font-style:italic}.cr-preview{position:absolute;bottom:12px;left:16px}.cr-look{flex-direction:column;gap:10px;display:flex;overflow-y:auto}.cr-look .bctl{flex-direction:column;gap:8px;display:flex}.cr-look .bout{background:#ffffff0a;border-radius:4px;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;display:flex}.cr-look .bout b{font:700 1.05em var(--head);letter-spacing:.06em;text-transform:uppercase}.cr-look .bslot{grid-template-columns:58px 1fr;align-items:center;gap:6px;display:grid}.cr-look .bslot>span{font:600 .78em var(--head);color:var(--dim);text-transform:uppercase;letter-spacing:.06em}.cr-look .sws{flex-wrap:wrap;gap:4px;display:flex}.cr-look .sw{cursor:pointer;border:2px solid #0006;border-radius:4px;width:22px;height:22px;padding:0}.cr-look .sw.on{border-color:#ffd76a;box-shadow:0 0 0 1px #ffd76a}.cr-look .sw.custom{background:conic-gradient(#e44,#ee4,#4e4,#4ee,#44e,#e4e,#e44);position:relative;overflow:hidden}.cr-look .sw.custom input{opacity:0;cursor:pointer;position:absolute;inset:-4px}.cr-namerow{gap:6px;margin-top:6px;display:flex}.cr-namerow input{flex:1;padding:8px 10px;font-size:1.05em}.cr-go{font:800 1.15em var(--head);letter-spacing:.12em;text-transform:uppercase;padding:12px}@media (max-width:1100px){.creator{grid-template-columns:1fr}.cr-stage{min-height:420px}}.flight{background:#0a0a0cb8;border:1px solid #ffffff14;border-radius:6px;flex-direction:column;align-items:center;gap:6px;min-width:260px;margin-bottom:8px;padding:8px 12px;display:flex}.flight .alt{align-items:center;gap:10px;display:flex}.flight .altbar{background:#ffffff14;border-radius:3px;width:10px;height:46px;position:relative;overflow:hidden}.flight .altbar i{background:linear-gradient(#9ad8ff,#3a7ab8);transition:height .15s;position:absolute;bottom:0;left:0;right:0}.flight .altbar b{background:#ffb04a;height:2px;position:absolute;left:-2px;right:-2px}.flight .band{font:800 1.1em var(--head);letter-spacing:.12em}.flight .band.landed{color:#c8c8c8}.flight .band.low{color:#ffb04a}.flight .band.high{color:#9ad8ff}.flight .dim{max-width:220px;font-size:.78em}.flight .heat{width:100%;font:700 .72em var(--head);letter-spacing:.1em;color:var(--dim);align-items:center;gap:8px;display:flex}.flight .heat .bar{background:#ffffff14;border-radius:3px;flex:1;height:6px;overflow:hidden}.flight .heat .bar i{background:linear-gradient(90deg,#ffd07a,#ff5a3a);height:100%;display:block}.flight .heat.over span{color:#ff5a3a}
