:root{--fw-scale-ui:1.35;--fw-s-base:1rem;--fw-s:calc(var(--fw-s-base)*var(--fw-scale-ui));--bg:#0a0a0f;--panel:#303046f2;--panel2:#2e2e4e;--text:#d0d0e0;--muted:#8080b0;--blue:#5ca0ff;--green:#5ed87a;--red:#e85a5a;--amber:#e0b050;--line:#3e3e5a;--radius:calc(.85*var(--fw-s));--cyber-accent:#00f0ff;--cyber-accent2:#f0a;--cyber-accent3:#fe0;--cyber-school-combat:#f44;--cyber-school-crafting:#4af;--cyber-school-magic:#c4f;--cyber-school-survival:#4f8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Courier New,Courier,monospace}html{scrollbar-gutter:stable}*{box-sizing:border-box}body{color:var(--text);font-size:calc(.86*var(--fw-s));background:radial-gradient(circle at 50% 0,#0d0d1a,#050508 75%);margin:0;line-height:1.15;overflow-x:hidden}button,input{font:inherit}button{border-radius:calc(.25*var(--fw-s));color:#f2f2f2;padding:calc(.28*var(--fw-s)) calc(.48*var(--fw-s));cursor:pointer;background:linear-gradient(#3a3a4a,#252535);border:1px solid #555;box-shadow:inset 0 1px #5a5a5a}button:hover{filter:brightness(1.15)}.utility{width:calc(62.5*var(--fw-s));max-width:100%;margin:calc(.35*var(--fw-s)) auto 0;align-items:center;gap:calc(.32*var(--fw-s));padding:calc(.42*var(--fw-s));border:1px solid var(--line);border-radius:calc(.65*var(--fw-s));white-space:nowrap;z-index:100;background:#0d0d18;display:flex;position:relative;overflow:visible}.brand{color:var(--cyber-accent);letter-spacing:.04em;text-shadow:0 0 6px #00f0ff4d;margin-right:auto}.utility .help{background:linear-gradient(#1f7b34,#123d1c);border-color:#45a85b}.session{color:var(--muted);font-size:.9em}.mobile-tabs{width:calc(62.5*var(--fw-s));gap:.35rem;max-width:100%;margin:.3rem auto;display:none}.mobile-tabs[data-layout=phone]{width:min(100%,calc(26*var(--fw-s)));display:flex}.mobile-tabs button{flex:1}.shell{gap:calc(.625*var(--fw-s));width:calc(62.5*var(--fw-s));max-width:100%;margin:calc(.3125*var(--fw-s)) auto 0;grid-template-columns:1fr 1.3fr 1fr;min-width:200px;display:grid}.shell[data-layout="2"]{--map-minimap-width:210px;--map-pic-width:320px;padding-right:calc(.48*var(--fw-s));grid-template-columns:minmax(0,1fr) calc(var(--map-minimap-width) + var(--map-pic-width) + 2rem);align-items:start}.shell[data-layout="3"]{padding-right:calc(1.1*var(--fw-s))}.shell[data-layout="2"]>.col{align-self:start;display:flex}.shell[data-layout="2"]>.two-col-left{grid-area:1/1}.shell[data-layout="2"]>.two-col-right{grid-area:1/2}.shell[data-layout=phone]{width:min(100%,calc(26*var(--fw-s)));gap:calc(.4*var(--fw-s));grid-template-columns:1fr}.shell[data-layout=phone]>.col{display:none}.shell[data-layout=phone][data-mobile-tab=Stats]>.col[data-panel=Stats],.shell[data-layout=phone][data-mobile-tab=Map]>.col[data-panel=Map],.shell[data-layout=phone][data-mobile-tab=Reports]>.col[data-panel=Reports]{display:flex}.col{gap:calc(.625*var(--fw-s));flex-direction:column;display:flex}.panel{width:100%;min-width:0;padding:calc(.625*var(--fw-s));border-radius:var(--radius);background:linear-gradient(175deg,#41415cf5 0%,#28283ef0 60%,#1e1e34eb 100%);border:1px solid #ffffff2e;border-bottom-color:#00000059;overflow-x:hidden;box-shadow:0 10px 28px #00000073,inset 0 1px #ffffff38,inset 0 2px 6px #ffffff0a,inset 0 -1px #00000040}.panel-title{color:#fff;justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.45rem;display:flex}.panel-collapse-header{cursor:pointer;-webkit-user-select:none;user-select:none}.panel-collapse-header:focus-visible{outline:1px solid var(--cyber-accent);outline-offset:2px}.panel-collapse-icon{color:var(--muted);flex:none;font-size:1em;line-height:1}.panel-collapse-title{flex:1;align-items:center;gap:.35rem;min-width:0;display:flex}.panel.is-collapsed{overflow:hidden}.panel.is-collapsed .panel-collapse-header{border-bottom:none!important;margin-bottom:0!important;padding-bottom:0!important}.muted{color:var(--muted)}.name{color:#dce9ff;background:linear-gradient(#223a65,#14213c);border-color:#486da5;width:100%}.level{color:#f5d06a;justify-content:space-between;margin:.45rem 0;display:flex}.bar{height:calc(.5*var(--fw-s));background:#090909;border:1px solid #444;border-radius:999px;overflow:hidden}.bar i{background:linear-gradient(90deg,#8a6519,#f8d15e);height:100%;display:block}.bar.green i{background:linear-gradient(90deg,#1b6e35,#72e079)}.bar.red i{background:linear-gradient(90deg,#7a1717,#ff5f5f)}.bar.blue i{background:linear-gradient(90deg,#173878,#54a3ff)}.bar.amber i{background:linear-gradient(90deg,#704c14,#e8ae38)}.stat-grid{grid-template-columns:1fr;gap:.22rem;margin-top:.45rem;display:grid}.stat-row,.skill-row,.item,.equip{background:#00000038;border:1px solid #0000;border-radius:.28rem;grid-template-columns:1fr auto auto;align-items:center;gap:.25rem;padding:.22rem .28rem;display:grid}.stat-row b{color:#fff}.stat-row button{color:#ffe17a;padding:.05rem .35rem}.milestone{color:#ffd75c;grid-template-columns:1fr auto auto;gap:.35rem;margin-bottom:.35rem;display:grid}.squares{letter-spacing:.08em}.skill-row.current{background:#69141459;border-color:#8d3333}.skill-row.learned{background:#16375f59;border-color:#284f86}.skill-row.unlearned{color:#aaa}.skill-name{text-align:left;box-shadow:none;color:inherit;background:0 0;border:0;padding:0}.help-dot{color:#9dd4ff;border-radius:999px;padding:.05rem .32rem}.learn{color:#b7ffbd}.map-panel{--map-minimap-width:210px;--map-pic-width:320px;position:relative}.shell[data-layout="2"] .map-panel{min-width:calc(var(--map-minimap-width) + var(--map-pic-width) + 2rem)}.map-labels{color:#fff;text-shadow:0 1px #000;justify-content:space-between;gap:.25rem;margin-bottom:.4rem;display:flex}.map-labels b:first-child{color:#ff6d65}.map-labels b:last-child{color:#8ee781}.map-grid{background:#050505;border:1px solid #333;border-radius:.55rem;grid-template-columns:repeat(5,42px);grid-auto-rows:42px;justify-content:center;gap:1px;padding:.45rem;display:grid}.map-grid img{width:42px;height:42px;image-rendering:pixelated;background:#111}.directions,.commands,.stances,.elements{flex-wrap:wrap;justify-content:center;gap:.28rem;margin-top:.45rem;display:flex}.action-line img{display:none}.combat-bars{grid-template-columns:auto 1fr;align-items:center;gap:.25rem .35rem;margin-top:.55rem;display:grid}.stances span{color:#aaa;align-self:center;margin-left:.25rem}.elements img{vertical-align:middle;width:16px;height:16px;margin-right:.2rem}.command-row{grid-template-columns:1fr auto;gap:.35rem;display:grid}.command-row input{color:#fff;background:#090909;border:1px solid #555;border-radius:.25rem;min-width:0;padding:.42rem}.log p{margin:.2rem 0}.action-log-prefix{margin-right:.35rem;font-weight:600;display:inline-block}.log-school-combat{color:var(--cyber-school-combat)}.log-school-crafting{color:var(--cyber-school-crafting)}.log-school-magic{color:var(--cyber-school-magic)}.log-school-muted{color:var(--muted)}.good{color:#6ee47d}.warn{color:#ff746b}.magic{color:#ffc55a}.item button{padding:.08rem .35rem}.quest h3{color:#fff;margin:.2rem 0}.modal-strip{width:calc(62.5*var(--fw-s));grid-template-columns:repeat(3,1fr);gap:.625rem;max-width:100%;margin:.625rem auto;display:grid}.modal-strip>div{background:#181818;border:1px solid #444;border-radius:.65rem;padding:.65rem}.modal-strip p{color:#aaa;margin:.25rem 0 0}@media (width>=1280px){:root{--fw-s-base:1.1rem}}@media (width>=1600px){:root{--fw-s-base:1.35rem}}@media (width<=768px){body{font-size:.88rem}.utility{border-radius:0;margin:0}.mobile-tabs{display:flex}.shell{grid-template-columns:1fr;width:100%;padding:0 .35rem}.modal-strip{grid-template-columns:1fr;padding:0 .35rem}.stat-grid{grid-template-columns:repeat(3,1fr)}.map-grid{grid-template-columns:repeat(5,32px)}}@keyframes portraitGrow{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.login-screen{background:radial-gradient(circle at 50% 0,#0d0d1a,#050508 75%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--panel);border-radius:var(--radius);padding:calc(1.5*var(--fw-s));width:calc(20*var(--fw-s));text-align:center;border:1px solid #00f0ff26;max-width:90vw}.login-card h1{font-size:calc(1.6*var(--fw-s));letter-spacing:.06em;color:var(--cyber-accent);text-shadow:0 0 8px #00f0ff66;margin:0 0 .3rem}.login-card form{flex-direction:column;gap:.75rem;margin:1.25rem 0;display:flex}.login-card label{color:var(--muted);font-size:.9em}.login-card input{padding:calc(.5*var(--fw-s));border:1px solid var(--line);border-radius:calc(.25*var(--fw-s));color:#d0d0e0;font-size:calc(.95*var(--fw-s));text-align:center;background:#12121a}.login-card input:focus{border-color:var(--cyber-accent);outline:none;box-shadow:0 0 6px #00f0ff4d}.login-card button[type=submit]{padding:calc(.6*var(--fw-s));border-color:var(--cyber-accent);color:var(--cyber-accent);font-weight:700;font-size:calc(1*var(--fw-s));text-shadow:0 0 4px #00f0ff4d;background:linear-gradient(#003040,#001820)}.login-card button[type=submit]:disabled{opacity:.4;cursor:not-allowed}.login-card .error{color:var(--red);margin:0;font-size:.85em}.login-card .starter-flavor{color:var(--muted);margin:0 0 .4rem;font-size:.85em;font-style:italic;line-height:1.35}.footnote{color:var(--muted);margin:0;font-size:.8em}.loading-screen{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;display:flex}.toast{top:calc(.5*var(--fw-s));background:var(--panel);border-radius:var(--radius);padding:calc(.4*var(--fw-s)) calc(.8*var(--fw-s));z-index:9999;border:1px solid #ffffff1f;max-width:90vw;font-size:.9em;position:fixed;left:50%;transform:translate(-50%)}.toast.error{border-color:var(--red);color:var(--red);background:#2a0f0f}.tile-hidden{background:#0a0a0a;border:1px solid #1a1a1a;width:32px;height:32px;display:inline-block}.layout-select{margin-left:calc(.75*var(--fw-s));margin-right:calc(.85*var(--fw-s));white-space:nowrap;align-items:center;display:inline-flex;position:relative}.layout-trigger{min-width:calc(1.75*var(--fw-s));border-color:var(--line);color:var(--text);padding:calc(.12*var(--fw-s)) calc(.36*var(--fw-s));background:linear-gradient(#202030,#12121a);font-size:.88em;line-height:1}.layout-trigger:after{content:" ▾";color:var(--cyber-accent);font-size:.72em}.layout-menu{z-index:1000;min-width:calc(4.3*var(--fw-s));border:1px solid var(--line);border-radius:calc(.25*var(--fw-s));background:#080812;gap:1px;padding:.16rem;display:grid;position:absolute;top:calc(100% + .22rem);right:0;box-shadow:0 8px 18px #0000008c}.layout-menu button{text-align:left;width:100%;padding:calc(.16*var(--fw-s)) calc(.36*var(--fw-s));box-shadow:none;background:#141420;border-color:#0000;font-size:.75em}.layout-menu button.active{border-color:var(--cyber-accent);color:var(--cyber-accent)}.online-count{color:var(--green);white-space:nowrap;font-size:.8em}.gather-actions{flex-wrap:wrap;gap:.35rem;margin:.5rem 0;display:flex}.gather-btn{background:linear-gradient(#2a3a2a,#1a2a1a);border-color:#3a5a3a;flex:1;min-width:5rem;font-size:.85em}.gather-btn:hover{filter:brightness(1.3)}.toast.skill-up{border-color:var(--green);color:var(--green);background:#0f2a0f}.toast.level-up{border-color:var(--amber);color:var(--amber);background:#2a1f0f}.directions{flex-direction:column;align-items:center;gap:.25rem;margin-top:.5rem;display:flex}.dir-row{align-items:center;gap:.35rem;display:flex}.dir-btn{border-radius:calc(.25*var(--fw-s));cursor:pointer;background:linear-gradient(#333,#202020);border:1px solid #555;width:2.2rem;height:2rem;font-size:.95em;font-weight:700}.dir-btn:hover{filter:brightness(1.3)}.dir-center{color:var(--muted);text-align:center;width:3rem;font-size:.75em}.good{color:var(--green);font-weight:600}.magic{color:#c4f;text-shadow:0 0 5px #c4f6}.red{color:var(--red)}.amber{color:var(--amber)}.rare{color:#fa5;text-shadow:0 0 4px #fa56}.map-grid{background:#050505;border:1px solid #333;border-radius:.55rem;grid-template-columns:repeat(5,40px);grid-auto-rows:40px;justify-content:center;gap:0;padding:.45rem;display:grid;overflow:hidden}.map-tile{appearance:none;cursor:pointer;background:#172016;border:0;width:40px;height:40px;margin:0;padding:0;line-height:0;display:block;position:relative;overflow:hidden}.map-tile:focus{outline:none}.map-tile:hover:before,.map-tile:focus-visible:before{content:"";z-index:3;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #ffffff52}.map-terrain{background-color:var(--terrain-base,#263326);background-image:var(--terrain-pattern);background-size:160px 160px,80px 80px,40px 40px;background-position:var(--tile-bg-x) var(--tile-bg-y),var(--tile-bg-x) var(--tile-bg-y),var(--tile-bg-x) var(--tile-bg-y);image-rendering:pixelated;position:absolute;inset:0}.map-tile:after{content:"";pointer-events:none;z-index:2;position:absolute;inset:0}.map-tile.current:after{z-index:4;box-shadow:inset 0 0 0 3px gold,0 0 8px #ffd700b3}.map-tile.unrevealed .map-terrain{filter:brightness(.48)saturate(.65);opacity:.72}.map-tile.unrevealed:before{content:"";z-index:1;pointer-events:none;background:#00000038;position:absolute;inset:0}.map-terrain:after{content:"";pointer-events:none;position:absolute;inset:0}.map-tile.feature-transit .map-terrain:after{opacity:.9;background:linear-gradient(90deg,#0000 0 29%,#a87f48e6 30% 70%,#0000 71%),repeating-linear-gradient(90deg,#0000 0 17px,#553a224d 17px 22px,#0000 22px 40px)}.map-tile.feature-bridge .map-terrain:after{opacity:.95;background:linear-gradient(90deg,#0000 0 18%,#81562aeb 19% 81%,#0000 82%),repeating-linear-gradient(90deg,#3c251473 0 2px,#0000 2px 8px)}.terrain-urban{--terrain-base:#2a3050;--terrain-pattern:repeating-linear-gradient(90deg,#00f0ff1f 0 2px,transparent 2px 12px),repeating-linear-gradient(0deg,#00f0ff0f 0 1px,transparent 1px 8px),linear-gradient(135deg,#202840,#303858)}.terrain-industrial{--terrain-base:#1a2a2a;--terrain-pattern:repeating-linear-gradient(45deg,#ff44441a 0 3px,transparent 3px 10px),repeating-linear-gradient(-45deg,#ff444414 0 2px,transparent 2px 8px),linear-gradient(135deg,#152525,#2a3a3a)}.terrain-transit{--terrain-base:#1a1a2a;--terrain-pattern:linear-gradient(100deg,transparent 0 31%,#00f0ff4d 32% 56%,transparent 57%),repeating-linear-gradient(100deg,#00c8ff1a 0 9px,transparent 9px 20px),linear-gradient(135deg,#1a1a2a,#2a2a3a)}.terrain-river,.terrain-lake,.terrain-ocean{--terrain-base:#0a1a0a;--terrain-pattern:repeating-radial-gradient(ellipse at 18px 24px,#00ff641f 0 2px,transparent 3px 13px),repeating-linear-gradient(160deg,#00c8501a 0 6px,transparent 6px 18px),linear-gradient(135deg,#0a1a0a,#1a3a1a)}.terrain-lake{--terrain-base:#1b5f80}.terrain-ocean{--terrain-base:#123a63;--terrain-pattern:repeating-linear-gradient(150deg,#69beee5c 0 7px,transparent 7px 21px),repeating-radial-gradient(ellipse at 20px 25px,#5eade44d 0 2px,transparent 3px 16px),linear-gradient(135deg,#0b2e55,#155a82)}.terrain-contaminated_river{--terrain-base:#17486b;--terrain-pattern:repeating-radial-gradient(ellipse at 18px 24px,#78caff57 0 2px,transparent 3px 13px),repeating-linear-gradient(160deg,#429ccf59 0 6px,transparent 6px 18px),linear-gradient(135deg,#123c5e,#1f6f92)}.terrain-megablock{--terrain-base:#2a2a3a;--terrain-pattern:radial-gradient(ellipse at 26px 30px,#6464c833 0 15px,transparent 16px),radial-gradient(ellipse at 74px 70px,#5050b426 0 18px,transparent 19px),linear-gradient(135deg,#353350,#484070)}.terrain-corporate_tower{--terrain-base:#3a3040;--terrain-pattern:linear-gradient(135deg,transparent 0 35%,#c864ff4d 36% 41%,transparent 42%),linear-gradient(45deg,#14142866 0 22%,transparent 23%),linear-gradient(135deg,#3a3040,#505070)}.terrain-bunker{--terrain-base:#10101a;--terrain-pattern:radial-gradient(circle at 18px 20px,#00f0ff26 0 12px,transparent 13px),radial-gradient(circle at 73px 66px,#0064c81a 0 14px,transparent 15px),linear-gradient(135deg,#0f0f1a,#20203a)}.terrain-sewer{--terrain-base:#1a2a20;--terrain-pattern:repeating-linear-gradient(10deg,#00c8641a 0 2px,transparent 2px 8px),radial-gradient(ellipse at 32px 52px,#00b45026 0 14px,transparent 15px),linear-gradient(135deg,#1a2820,#253a2a)}.terrain-wasteland{--terrain-base:#2a2018;--terrain-pattern:repeating-linear-gradient(165deg,#ff643214 0 7px,transparent 7px 22px),radial-gradient(circle at 60px 34px,#ff50280d 0 3px,transparent 4px),linear-gradient(135deg,#2a2018,#3a3025)}.terrain-town,.terrain-market_hub{--terrain-base:#1a1a2a;--terrain-pattern:linear-gradient(90deg,#00f0ff33 0 46%,#00c8dc26 47% 53%,#00f0ff33 54%),linear-gradient(0deg,#ff00aa1a 0 45%,#c8008c14 46% 54%,#ff00aa1a 55%),linear-gradient(135deg,#1a1a2a,#2a2a3a)}.map-tile[data-claimable=true]{cursor:pointer;box-shadow:inset 0 0 0 2px #ffd700d1}.map-tile[data-claimable=true]:hover:before,.map-tile[data-claimable=true]:focus-visible:before{box-shadow:inset 0 0 0 3px #ffd700f0,0 0 8px #ffd7008c}.map-legend-row{border-radius:calc(.25*var(--fw-s));color:var(--text);background:#ffffff09;border:1px solid #ffffff14;align-items:center;gap:.35rem;padding:.24rem .3rem;font-size:.68em;line-height:1.25;display:flex}.map-legend-swatch{background:#172016e6;border-radius:3px;flex:none;width:16px;height:16px;display:inline-block}.map-legend-swatch-claimable{box-shadow:inset 0 0 0 2px #ffd700db,0 0 5px #ffd70057}.feature-notice{border:1px solid var(--amber);border-radius:calc(.25*var(--fw-s));padding:calc(.2*var(--fw-s)) calc(.4*var(--fw-s));text-align:center;color:var(--amber);background:#d4a83b26;margin-bottom:.4rem;font-size:.85em}.combat-panel{border-color:var(--red)}.combat-header{color:var(--red);text-align:center;letter-spacing:.1em;margin-bottom:.5rem;font-size:1.1em;font-weight:700}.enemy-display{align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}.enemy-art{width:48px;height:48px;image-rendering:pixelated;border-radius:calc(.25*var(--fw-s));border:1px solid #555}.enemy-info{flex:1}.enemy-info b{margin-bottom:.2rem;display:block}.enemy-red{color:var(--red)}.enemy-amber{color:var(--amber)}.enemy-blue{color:var(--blue)}.enemy-bar{height:.5rem;margin-bottom:.15rem}.traits{flex-wrap:wrap;gap:.25rem;margin-top:.2rem;display:flex}.trait{border-radius:calc(.15*var(--fw-s));padding:0 calc(.25*var(--fw-s));text-transform:uppercase;background:#ffffff14;border:1px solid #555;font-size:.75em}.combat-actions{grid-template-columns:1fr 1fr 1fr;gap:.3rem;display:grid}.combat-btn{font-size:.88em;font-weight:600}.zap-btn{background:linear-gradient(#2a1f4a,#1a0f3a);border-color:#6a4faa}.run-btn{background:linear-gradient(#4a2a1a,#3a1a0a);border-color:#aa6a3a}.combat-hint{color:var(--muted);text-align:center;margin-top:.3rem;font-size:.75em}.combat-summary-backdrop{z-index:1200;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.combat-summary-modal{border-radius:calc(.45*var(--fw-s));background:#080a0ef5;border:1px solid #00f0ff59;width:min(760px,100vw - 2rem);max-height:calc(100vh - 2rem);padding:.7rem;overflow:auto;box-shadow:0 0 30px #00f0ff2e}.combat-summary-header{color:var(--cyan);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.55rem;display:flex}.combat-summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.45rem;font-size:.82em;display:grid}.combat-summary-grid>div{border-radius:calc(.25*var(--fw-s));background:#ffffff09;border:1px solid #ffffff1a;flex-direction:column;gap:.12rem;padding:.35rem;display:flex}.combat-summary-grid b{color:var(--amber)}.combat-summary-grid span{color:var(--text)}.drop-btn{color:var(--red);margin-left:.3rem;padding:0 .3rem;font-size:.75em}.market-list{max-height:200px;margin-top:.4rem;overflow-y:auto}.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--panel2);border-radius:var(--radius);padding:calc(.8*var(--fw-s));width:calc(24*var(--fw-s));border:1px solid #555;max-width:90vw;max-height:80vh;overflow-y:auto}.modal-header{justify-content:space-between;margin-bottom:.5rem;display:flex}.modal-tabs{gap:.3rem;margin-bottom:.5rem;display:flex}.modal-tabs button{flex:1}.modal-tabs .active{background:linear-gradient(#1f7b34,#123d1c);border-color:#45a85b}.lb-list{max-height:300px;overflow-y:auto}.lb-row{border-bottom:1px solid var(--line);gap:.5rem;padding:.2rem 0;display:flex}.lb-rank{color:var(--muted);width:2rem}.lb-name{flex:1}.lb-stat{color:var(--amber)}.quest-entry{border-bottom:1px solid var(--line);margin-bottom:.5rem;padding-bottom:.3rem}.quest-progress{align-items:center;gap:.3rem;margin-top:.2rem;font-size:.8em;display:flex}.quest-progress .bar{flex:1;height:.4rem}.chat{color:var(--blue)}.options-panel{flex-direction:column;gap:.3rem;margin-top:.3rem;display:flex}.options-panel label{align-items:center;gap:.3rem;font-size:.8em;display:flex}.options-panel input{accent-color:var(--green)}.home-panel,.pet-panel{margin-top:.3rem;font-size:.85em}.options-modal{width:calc(28*var(--fw-s))}.options-list{flex-direction:column;gap:.5rem;display:flex}.options-list label{flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.85em;display:flex}.options-list input[type=checkbox]{accent-color:var(--green);width:1rem;height:1rem}.opt-num{text-align:center;width:3rem;padding:calc(.15*var(--fw-s));border-radius:calc(.2*var(--fw-s));color:#f2f2f2;background:#1a1a1a;border:1px solid #555;font-size:.85em}.opt-row{align-items:center;gap:.5rem;font-size:.85em;display:flex}.opt-row select{padding:calc(.15*var(--fw-s));color:#f2f2f2;border-radius:calc(.2*var(--fw-s));background:#1a1a1a;border:1px solid #555}.store-btn{color:var(--blue);margin-left:.3rem;padding:0 .3rem;font-size:.75em}.disconnect-overlay{z-index:9998;background:#000c;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:fixed;inset:0}.disconnect-overlay p{color:var(--muted);font-size:1.1em}.spinner{border:3px solid var(--panel);border-top-color:var(--green);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.spinner.large{border-width:4px;width:48px;height:48px}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{min-height:100vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}@media (width<=768px){.utility{padding:calc(.3*var(--fw-s));gap:.25rem}.utility button{padding:calc(.2*var(--fw-s)) calc(.3*var(--fw-s));font-size:.75em}.brand{font-size:.85em}.session{font-size:.75em}.online-count{font-size:.7em}.shell{gap:calc(.4*var(--fw-s));grid-template-columns:1fr;width:100%}.panel{padding:calc(.45*var(--fw-s))}.mobile-tabs{display:flex}main[data-mobile-tab] .col{display:none}main[data-mobile-tab=Stats] .col[data-panel=Stats],main[data-mobile-tab=Map] .col[data-panel=Map],main[data-mobile-tab=Reports] .col[data-panel=Reports]{display:flex}.col{min-width:0}.map-grid{justify-content:center}.modal-content{width:95vw;padding:calc(.5*var(--fw-s))}.commands{flex-wrap:wrap}.gather-actions{gap:.25rem}.gather-btn{min-width:3.5rem;font-size:.8em}.item{flex-wrap:wrap;font-size:.8em}}.map-body{align-items:flex-start;gap:.5rem;display:flex}.map-body .map-grid{flex-shrink:0}.map-body .directions{margin-top:0}.player-marker{z-index:5;background:#ffd700f2;border-radius:50%;position:absolute;inset:8px;box-shadow:0 0 10px gold}.tile-hint{opacity:.3;filter:grayscale()}.dir-btn{text-align:center;width:2.6rem;height:2rem;padding:0;font-size:.75em;font-weight:700}.dir-row{gap:.2rem}.utility .help{color:#fff;background:linear-gradient(#1f7b34,#123d1c);border-color:#45a85b}.stop-btn{color:#ff6a6a;background:linear-gradient(#4a1a1a,#3a0a0a);border-color:#aa3a3a;font-weight:700}.stance-row{align-items:center;gap:.3rem;margin-bottom:.3rem;font-size:.8em;display:flex}.stance-label{width:4rem;color:var(--muted);font-size:.85em}.stance-btn{border-radius:calc(.2*var(--fw-s));width:2rem;height:2rem;padding:0;font-size:1em;line-height:1}.stance-btn.active{outline:2px solid var(--amber);outline-offset:-1px;background:linear-gradient(#2a2a1a,#1a1a0a)}.seek-btn{color:#ffaa4a;background:linear-gradient(#4a2a0a,#3a1a0a);border-color:#aa6a2a;font-weight:700}.char-panel .char-tabs{gap:.3rem;margin:.4rem 0;display:flex}.char-tab{padding:calc(.2*var(--fw-s)) calc(.1*var(--fw-s));background:var(--panel2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:.1rem;font-size:.7em;display:flex}.char-tab.active{color:var(--text);border-color:var(--amber);background:linear-gradient(#2a2a1a,#1a1a0a)}.char-tab span{font-size:.85em;line-height:1}.char-tab-content{border-top:1px solid var(--line);scrollbar-gutter:stable;max-height:260px;padding-top:.3rem;overflow:hidden auto}.char-tab-content .panel-title{margin-bottom:.2rem;font-size:.85em}.char-header{border-bottom:1px solid var(--line);align-items:stretch;gap:.55rem;margin-bottom:.4rem;padding-bottom:.35rem;display:flex}.char-info{flex-direction:column;flex:1;min-width:0;display:flex}.char-name{font-size:calc(1.1*var(--fw-s));color:#fff;letter-spacing:.03em;margin-bottom:.1rem;font-weight:700}.char-details{color:var(--muted);margin-bottom:.3rem;font-size:.8em}.char-header .level{justify-content:flex-start;gap:0;margin:.3rem 0}.char-header .bar{margin-bottom:.35rem}.char-vitals{color:var(--muted);gap:1rem;padding:0 .2rem .25rem;font-size:.8em;display:flex}.char-vitals-secondary{gap:.7rem;margin-top:auto;padding-bottom:0;font-size:.78em}.char-vitals-tertiary{gap:.7rem;padding-bottom:0;font-size:.78em}.char-portrait-stack{flex-direction:column;flex:0 0 124px;align-items:stretch;gap:.2rem;display:flex}.char-sprite{border:2px solid var(--line);border-radius:var(--radius);background:radial-gradient(circle at 50% 35%,#4c8cff29,#00000059 62%,#0000008c);justify-content:center;align-items:center;width:124px;height:170px;display:flex;position:relative;overflow:hidden}.char-sprite img{object-fit:cover;image-rendering:auto;width:100%;height:100%}.program-overlay{z-index:2;flex-direction:column;gap:.12rem;display:flex;position:absolute;top:.2rem;right:.2rem}.program-chip{width:1.25rem}.loaded-passives-row{flex-wrap:wrap;gap:.15rem .4rem;margin:.25rem 0 .15rem;line-height:1.25;display:flex}.loaded-passives-row .loaded-passive-line{color:var(--muted);font-size:.66em;font-family:var(--mono,ui-monospace, monospace);background:#ffaa000a;border-left:2px solid #ffaa0040;border-radius:2px;padding:0 .35rem}.loaded-passives-row .loaded-passive-line[data-skill]{transition:background .25s}.program-chip{cursor:pointer;color:#dff;background:#000000ad;border:1px solid #00f0ffbf;border-radius:.28rem;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;padding:0;font-size:.68em;line-height:1;display:flex;box-shadow:0 0 8px #00f0ff47}.program-chip.empty{opacity:.65;color:var(--muted);border-style:dashed}.program-chip.more{color:#fff;background:#3c1e5acc;font-size:.55em}.deck-content{flex-direction:column;gap:.25rem;display:flex}.deck-header{justify-content:space-between;align-items:flex-start;gap:.4rem;display:flex}.ram-meter{background:#00000073;border:1px solid #00f0ff59;border-radius:999px;flex:0 0 4.2rem;height:.42rem;margin-top:.2rem;overflow:hidden}.ram-meter i{background:linear-gradient(90deg,#00f0ff,#f0a);height:100%;display:block;box-shadow:0 0 10px #00f0ff73}.program-upkeep,.program-effects{flex-wrap:wrap;gap:.2rem;display:flex}.program-upkeep span,.program-effects span{color:var(--muted);background:#0000002e;border:1px solid #ffffff14;border-radius:.2rem;padding:.08rem .25rem;font-size:.68em}.program-effects span{color:#9ff}.program-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--amber);border-bottom:1px solid #d4a83b3d;margin-top:.2rem;font-size:.68em}.program-row{background:#1418228c;border:1px solid #ffffff14;border-left:3px solid #00f0ff8c;border-radius:.25rem;justify-content:space-between;align-items:center;gap:.3rem;padding:.22rem .28rem;display:flex}.program-row.loaded{background:linear-gradient(90deg,#00f0ff1f,#ff00aa0f)}.program-row.locked{opacity:.55}.program-main{align-items:flex-start;gap:.3rem;min-width:0;display:flex}.program-icon{background:#0000004d;border:1px solid #ffffff14;border-radius:.22rem;flex-shrink:0;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;display:flex}.program-copy{min-width:0}.program-name{align-items:center;gap:.3rem;font-size:.78em;line-height:1.15;display:flex}.program-name span{color:var(--muted);text-transform:uppercase;font-size:.72em}.program-effect{color:#dfe;white-space:nowrap;text-overflow:ellipsis;max-width:12rem;font-size:.72em;line-height:1.25;overflow:hidden}.program-meta{color:var(--muted);font-size:.64em;line-height:1.2}.program-toggle{min-width:3rem;padding:.1rem .35rem;font-size:.66em}.program-toggle.load{color:#73ffab;background:linear-gradient(#123d2d,#0c261c);border-color:#2ca86a}.program-toggle.unload{color:#ffc08a;background:linear-gradient(#4a2a1a,#2a140a);border-color:#aa6a3a}.program-toggle:disabled{opacity:.35;cursor:not-allowed}.equip-content{overflow-x:hidden}.equip-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:.1rem;display:grid}.equip-wrapper{flex-direction:column;min-width:0;display:flex}.equip-slot{min-width:0;padding:calc(.08*var(--fw-s)) calc(.2*var(--fw-s));border-radius:calc(.15*var(--fw-s));align-items:center;gap:.1rem;font-size:.75em;display:flex}.equip-slot.filled{background:#4c8cff14;border:1px solid #4c8cff33}.equip-slot.filled.open{border-radius:calc(.2*var(--fw-s)) calc(.2*var(--fw-s)) 0 0;z-index:1;background:#4c8cff2e;border:2px solid #d4a83bb3;border-bottom:none;position:relative}.equip-slot.empty{border:1px solid var(--line);color:var(--muted);background:#3737374d}.equip-icon{text-align:center;flex-shrink:0;width:1.4rem;font-size:1.1em}.equip-label{white-space:nowrap;flex:none}.equip-item{color:var(--green);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.85em;overflow:hidden}.equip-empty{color:var(--muted)}.equip-slot .drop-btn{flex-shrink:0;margin-left:auto;padding:0 .2rem}.stat-grid{grid-template-columns:1fr 1fr;gap:.2rem;display:grid}.stat-row{padding:calc(.12*var(--fw-s)) calc(.2*var(--fw-s));border-radius:calc(.15*var(--fw-s));background:#37373740;align-items:center;gap:.25rem;font-size:.8em;display:flex}.stat-icon{text-align:center;width:1.2rem;font-size:1em}.stat-name{color:var(--text);flex:1}.stat-val{color:#fff;text-align:right;min-width:1.5rem}.stat-plus{color:#fff;border-radius:calc(.15*var(--fw-s));background:linear-gradient(#1f7b34,#123d1c);border-color:#45a85b;padding:0 .35rem;font-size:.85em;font-weight:700}.learn{color:#6aff9a;background:linear-gradient(#1a3a2a,#0f2a1a);border-color:#3a8a5a;min-width:1.2rem;min-height:1.2rem;font-size:.75em}.learn:disabled{opacity:.25;cursor:not-allowed;filter:none}.danger-safe{color:var(--green)}.danger-watchful{color:var(--blue)}.danger-dangerous{color:var(--amber)}.danger-deadly{color:var(--red)}.danger-unknown{color:var(--muted)}.skills-panel{flex-direction:column;display:flex}.skills-header{padding:calc(.2*var(--fw-s)) 0;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.25rem;display:flex}.skills-content{border-top:none;padding-top:0}.skills-content .panel-title{display:none}.skill-actions{gap:.25rem;display:flex}.skill-filter-btn{padding:calc(.1*var(--fw-s)) calc(.3*var(--fw-s));background:var(--panel2);border:1px solid var(--line);border-radius:calc(.15*var(--fw-s));color:var(--muted);cursor:pointer;font-size:.7em}.skill-filter-btn.active{border-color:var(--amber);color:var(--text);background:linear-gradient(#2a2a1a,#1a1a0a)}.skill-filter-btn:hover{filter:brightness(1.3)}@keyframes camp-deterioration-pulse{0%,to{box-shadow:0 0 #e0b05000}50%{box-shadow:0 0 10px #e0b05073}}.camp-deterioration-pulse{animation:1.6s ease-in-out infinite camp-deterioration-pulse}.camp-critical-stat{filter:saturate(1.35)}.camp-notice-tick{background:#ffffff8c;width:1px;position:absolute;top:-2px;bottom:-2px}.school-group{margin-bottom:2px}.subschool-group{padding-left:calc(.6*var(--fw-s))}.subschool-header{width:100%;color:var(--muted);letter-spacing:.04em;padding:calc(.1*var(--fw-s)) calc(.15*var(--fw-s));cursor:pointer;text-align:left;box-shadow:none;background:0 0;border:none;border-left:2px solid #ffffff14;border-radius:0;align-items:center;gap:.25rem;margin-top:1px;font-size:.68em;font-weight:500;display:flex}.subschool-header:hover{color:var(--text);background:#ffffff0a}.subschool-header.expanded{color:var(--text);border-left-color:#648cff4d}.subschool-arrow{width:1rem;color:var(--muted);flex-shrink:0;font-size:.7em}.school-row{width:100%;padding:calc(.25*var(--fw-s)) calc(.3*var(--fw-s));border-radius:calc(.2*var(--fw-s));cursor:pointer;color:var(--text);background:#3c3c5059;border:1px solid #6478b426;border-left:3px solid #648cff4d;align-items:center;gap:.35rem;margin-bottom:1px;font-size:.8em;display:flex}.school-row:hover{background:#46507866}.school-row .school-arrow{width:1rem;color:var(--muted);flex-shrink:0;font-size:.7em}.school-row .school-name{color:#ddd;letter-spacing:.04em;text-transform:uppercase;font-weight:700}.school-row.expanded .school-name{color:#fff}.school-row.expanded{background:#46466466;border-color:#648cff59}.skill-row{padding:calc(.15*var(--fw-s)) calc(.2*var(--fw-s));border-radius:calc(.15*var(--fw-s));background:#37373726;align-items:center;gap:.25rem;margin-bottom:1px;display:flex;position:relative}.skill-row.learned{background:#3c64c81a;border-left:2px solid #4c8cff66}.skill-row.hidden{opacity:.4}.skill-row .help-dot{border:1px solid var(--line);width:1.2rem;height:1.2rem;color:var(--muted);cursor:pointer;background:#ffffff14;border-radius:50%;flex-shrink:0;padding:0;font-size:.7em;font-weight:700;line-height:1}.skill-row .help-dot:hover{color:var(--text);background:#ffffff26}.skill-row .skill-name{text-align:left;color:var(--text);padding:calc(.05*var(--fw-s)) 0;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;flex:1;font-size:.85em;overflow:hidden}.skill-row .skill-name:hover{color:var(--blue)}.skill-tooltip{background:var(--panel2);border:1px solid var(--line);border-radius:calc(.3*var(--fw-s));padding:calc(.25*var(--fw-s)) calc(.35*var(--fw-s));color:var(--text);max-width:calc(12*var(--fw-s));z-index:100;font-size:.7em;line-height:1.3;position:absolute;top:calc(100% + 2px);left:1.8rem;box-shadow:0 4px 12px #00000080}.skill-tooltip:before{content:"";background:var(--panel2);border-left:1px solid var(--line);border-top:1px solid var(--line);width:8px;height:8px;position:absolute;top:-5px;left:8px;transform:rotate(45deg)}.skill-accordion{animation:.15s fadeIn}.equip-accordion{overflow-wrap:anywhere;min-width:0;padding:calc(.08*var(--fw-s)) calc(.08*var(--fw-s));border-radius:0 0 calc(.15*var(--fw-s)) calc(.15*var(--fw-s));background:#4c8cff2e;border:2px solid #d4a83bb3;border-top:none;margin:-1px 0 1px;animation:.15s fadeIn;overflow:hidden}.equip-accordion .skill-detail{padding:calc(.05*var(--fw-s)) 0;background:0 0;border:none;margin:0}@keyframes fadeIn{0%{opacity:0;max-height:0}to{opacity:1;max-height:20rem}}.skill-detail{padding:calc(.35*var(--fw-s)) calc(.45*var(--fw-s));border:1px solid var(--line);border-radius:0 0 calc(.2*var(--fw-s)) calc(.2*var(--fw-s));background:#3737371a;border-top:none;margin:0 0 1px 1.45rem;font-size:.82em;line-height:1.4}.skill-detail-header{align-items:flex-start;gap:.4rem;margin-bottom:.15rem;display:flex}.skill-detail-header .skill-placeholder-pic{text-align:center;flex-shrink:0;width:2.2rem;font-size:1.8rem}.skill-detail-writeup{color:var(--text);min-width:0;padding-top:.1rem;line-height:1.5}.skill-detail-stats{line-height:1.5}.world-map-overlay{z-index:9999;background:#000000e0;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.world-map-modal{scrollbar-gutter:stable;background:#080806;border:2px solid #d4a83ba6;border-radius:.65rem;width:max-content;max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);padding:.75rem;overflow:auto;box-shadow:0 0 30px #000000bf}.world-map-header{color:var(--text);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.9em;display:flex}.world-map-header span{color:var(--muted);font-size:.72em;font-weight:400;display:none}.world-map-header button{padding:.2rem .45rem;font-size:1rem;line-height:1}.full-world-map-grid{background:#050505;border:1px solid #333;grid-auto-rows:40px;gap:0;margin:auto;display:grid;overflow:hidden}.map-grid{--map-tile-size:40px;grid-template-columns:repeat(5,var(--map-tile-size));grid-auto-rows:var(--map-tile-size)}.map-tile{width:var(--map-tile-size,40px);height:var(--map-tile-size,40px)}.map-tile .map-terrain{filter:saturate(1.08)contrast(1.06);background-image:url(/assets/cyberworld/world-map-cyberpunk.png)!important;background-size:calc(var(--map-tile-size,40px) * 15) calc(var(--map-tile-size,40px) * 15)!important;background-position:var(--tile-bg-x) var(--tile-bg-y)!important;background-repeat:no-repeat!important}.map-tile.feature-transit .map-terrain:after,.map-tile.feature-bridge .map-terrain:after{display:none!important}.map-grid,.full-world-map-grid{background:#10130e}.full-world-map-grid{--map-tile-size:min(calc((100vw - 3rem)/15),calc((100vh - 4.5rem)/15));grid-auto-rows:var(--map-tile-size);width:calc(var(--map-tile-size) * 15);height:calc(var(--map-tile-size) * 15);place-self:center;margin:auto}.full-world-map-grid .map-tile{width:var(--map-tile-size);height:var(--map-tile-size)}.full-world-map-grid .map-tile .map-terrain{filter:saturate(1.05)contrast(1.04)}html[data-flavor=cyberpunk] .map-tile .map-terrain{background-image:url(/assets/cyberworld/world-map-cyberpunk.png)!important}html[data-flavor=werewolf] .map-tile .map-terrain{background-image:url(/assets/fantasyweb/world-map-werewolf.png)!important}.equip-accordion-row{grid-column:1/-1;width:100%;min-width:0}.equip-slot.filled.open{z-index:2;position:relative;border-radius:calc(.2*var(--fw-s))!important;background:#4c8cff2e!important;border:2px solid #d4a83bc7!important}.equip-accordion-full{width:100%;border-radius:calc(.18*var(--fw-s))!important;background:linear-gradient(#4c8cff2e,#203a6024)!important;border:2px solid #d4a83bb8!important;margin:.02rem 0 .14rem!important}.equip-accordion-full.from-left{box-shadow:inset 3px 0 #d4a83b8c}.equip-accordion-full.from-right{box-shadow:inset -3px 0 #d4a83b8c}.equip-accordion-full .skill-detail{padding:calc(.08*var(--fw-s)) calc(.1*var(--fw-s))!important;background:0 0!important;border:none!important;margin:0!important}.merchant-window{border-radius:var(--radius);background:linear-gradient(#1c1810eb,#0a0a08e0);border:1px solid #d8a83b73;flex-direction:column;gap:.45rem;width:100%;min-height:260px;padding:.55rem;display:flex;box-shadow:inset 0 1px #ffffff0f}.merchant-header{border-bottom:1px solid #d8a83b3d;justify-content:space-between;align-items:flex-start;gap:.5rem;padding-bottom:.35rem;display:flex}.merchant-grid{scrollbar-gutter:stable;grid-template-columns:1fr 1fr;gap:.22rem;max-height:260px;display:grid;overflow:auto}.merchant-row{background:#0000003d;border:1px solid #ffffff14;border-radius:.25rem;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.25rem;padding:.25rem .3rem;display:grid}.merchant-icon{text-align:center;width:1.35rem}.merchant-name{flex-direction:column;min-width:0;line-height:1.1;display:flex}.merchant-name b{white-space:nowrap;text-overflow:ellipsis;font-size:.8em;overflow:hidden}.merchant-name small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.66em;overflow:hidden}.merchant-price{color:var(--amber);white-space:nowrap;font-size:.72em}.merchant-buy{background:linear-gradient(#1f7b34,#123d1c);border-color:#45a85b;padding:.12rem .34rem;font-size:.72em}.merchant-sell-controls{align-items:center;gap:.18rem;margin-left:auto;display:flex}.merchant-sell-count{color:#fff;text-align:center;background:#090909;border:1px solid #555;border-radius:.18rem;width:2.4rem;min-width:2.4rem;padding:.1rem;font-size:.72em}.merchant-sell-btn,.merchant-sell-all{padding:.12rem .34rem;font-size:.72em;font-weight:700}.merchant-sell-btn{border-color:var(--amber);color:#ffd75c;background:linear-gradient(#704c14,#3c2608)}.merchant-sell-all{color:#ff8b8b;background:linear-gradient(#7a1717,#421010);border-color:#aa3a3a}@media (width<=768px){.merchant-grid{grid-template-columns:1fr;max-height:360px}.merchant-row{grid-template-columns:auto minmax(0,1fr) auto auto}.merchant-sell-controls{justify-content:flex-end;width:100%;margin-left:0}}.action-arc{flex-shrink:0;place-items:center;display:grid;position:relative}.action-arc svg{z-index:2;filter:drop-shadow(0 0 4px #000000a6);position:absolute;inset:0}.action-art{object-fit:cover;background:#050505;border:1px solid #ffffff29;border-radius:999px;width:calc(100% - 30px);height:calc(100% - 30px);position:absolute;inset:15px;box-shadow:0 0 10px #000c,inset 0 0 10px #0009}.vitals-grid svg{vertical-align:-2px;width:14px;height:14px}.focus-header{flex-wrap:nowrap;align-items:center;gap:.25rem;min-width:0;padding:.14rem .2rem;font-weight:700;display:flex;font-size:.82em!important}.focus-header.expanded{border-left-color:#648cff4d}.action-focus-row .action-root-name{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;text-align:left;flex:auto;min-width:0;margin:0;padding:0;font-weight:700;overflow:hidden;font-size:1em!important}.action-focus-row .action-root-name:disabled{cursor:default;color:var(--muted)!important}.focus-label{color:var(--text);letter-spacing:.02em;font-size:1.05em}.focus-count{flex-shrink:0;margin-left:auto;font-size:.78em}.child-expand-arrow{width:1rem;height:1rem;color:var(--muted);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-size:.7em;line-height:1;display:inline-flex}.child-expand-arrow:hover{color:var(--text)}.skill-row.skill-depth-1{margin-left:.65rem}.skill-row.skill-depth-2{margin-left:1.35rem}.skill-row.has-children{padding-left:.1rem}.skill-accordion.skill-depth-0{border-left:2px solid #648cff26;margin-left:0}.skill-accordion.skill-depth-1{margin-left:.65rem}.skill-accordion.skill-depth-2{margin-left:1.35rem}.skill-row.locked-preview{opacity:.48}.skill-row.locked-preview .skill-name{cursor:default;color:var(--muted)}.skill-row .skill-name:disabled{cursor:default;color:var(--muted);filter:none}.grid-skill-detail{margin-left:.4rem;padding:.25rem .35rem;font-size:.75em;line-height:1.28}.grid-skill-detail .skill-placeholder-pic{width:1.55rem!important;font-size:1.25rem!important}.grid-skill-titleline{align-items:center;gap:.35rem;line-height:1.2;display:flex}.grid-skill-titleline b{color:var(--amber);text-transform:uppercase;font-size:.82em}.grid-skill-titleline span{font-weight:700}.grid-skill-desc{color:var(--text);margin-top:.12rem;font-size:.92em}.grid-skill-meta{color:var(--muted);flex-wrap:wrap;gap:.18rem .5rem;margin-top:.14rem;font-size:.86em;display:flex}.grid-skill-effects{margin-top:.16rem;font-size:.9em}.buff-line{background:#00000026;border:1px solid #ffffff12;border-radius:.18rem;grid-template-columns:minmax(5.8rem,.7fr) minmax(0,1fr);gap:.12rem .35rem;margin-top:.12rem;padding:.12rem .18rem;display:grid}.buff-label{color:#dff;font-weight:700}.buff-summary{color:var(--text)}.buff-line small{color:var(--muted);grid-column:1/-1;line-height:1.25}.grid-skill-short,.grid-skill-cost{color:var(--muted);margin-top:.16rem;font-size:.88em}.activity-focus-row{cursor:pointer;white-space:nowrap;align-items:center;gap:.35rem;min-width:0;margin-top:.12rem;font-size:1em;line-height:1.2;display:flex}.activity-focus-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.action-skill-btn{gap:0;width:auto;min-width:0;padding:.18rem .22rem;flex:none!important}@keyframes toast-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.18)}}.toast-slot{align-items:center;gap:.2rem;margin-left:auto;padding-left:.3rem;display:inline-flex}.toast-icon{border-radius:calc(.15*var(--fw-s));cursor:pointer;width:18px;height:18px;color:var(--text);background:#00000073;border:1px solid #ffffff2e;justify-content:center;align-items:center;padding:0;font-size:.85em;line-height:1;animation:1.4s ease-in-out infinite toast-pulse;display:inline-flex}.toast-icon:hover{filter:brightness(1.35)}.toast-icon:focus-visible{outline:1px solid var(--cyber-accent);outline-offset:1px}.toast-icon[data-kind=good]{border-color:#6ee47d8c}.toast-icon[data-kind=magic]{border-color:#ffc55a8c}.toast-icon[data-kind=red]{border-color:#e85a5a8c}.toast-icon[data-kind=amber]{border-color:#e0b0508c}.toast-icon[data-kind=rare]{border-color:#ffaa558c}.toast-icon[data-kind=plan]{border-color:#5ca0ff8c}.toast-badge{color:var(--muted);padding:0 .25rem;font-size:.7em}.panel.has-toast{box-shadow:0 10px 28px #00000073,inset 0 0 0 1px #ffffff47}.map-minimap-stack{line-height:0;display:inline-block;position:relative}.corner-indicator{opacity:0;pointer-events:none;z-index:5;border-radius:2px;width:7px;height:7px;transition:opacity .12s;position:absolute}.map-tile:hover .corner-indicator,.map-tile:focus-visible .corner-indicator{opacity:.92}.corner-danger{top:2px;left:2px}.corner-camp{top:2px;right:2px}.corner-quest{bottom:2px;right:2px}.corner-interest{bottom:2px;left:2px}.corner-danger[data-level=safe]{background:var(--green,#7bd58b);box-shadow:0 0 3px #7bd58b80}.corner-danger[data-level=watchful]{background:var(--yellow,#e8d44d);box-shadow:0 0 3px #e8d44d80}.corner-danger[data-level=uncertain]{background:var(--amber,#e5b75a);box-shadow:0 0 3px #e5b75a80}.corner-danger[data-level=dangerous]{background:var(--orange,#ff8c42);box-shadow:0 0 3px #ff8c4280}.corner-danger.corner-danger-icon{box-sizing:border-box;background:#0000008c;border:1px solid #ffffff2e;border-radius:3px;width:18px;height:18px;padding:1px}.corner-danger.corner-danger-icon img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;display:block}.corner-danger.corner-danger-icon[data-level=safe]{border-color:#7bd58b73;box-shadow:0 0 4px #7bd58b73}.corner-danger.corner-danger-icon[data-level=watchful]{border-color:#e8d44d73;box-shadow:0 0 4px #e8d44d73}.corner-danger.corner-danger-icon[data-level=uncertain]{border-color:#e5b75a73;box-shadow:0 0 4px #e5b75a73}.corner-danger.corner-danger-icon[data-level=dangerous]{border-color:#ff8c4273;box-shadow:0 0 4px #ff8c4273}.corner-danger.corner-danger-icon[data-level=deadly]{border-color:#e85a5a73;box-shadow:0 0 4px #e85a5a73}.corner-corner-icon{box-sizing:border-box;background:#0000008c;border:1px solid #ffffff2e;border-radius:3px;width:18px;height:18px;padding:1px}.corner-corner-icon img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;display:block}.corner-camp.corner-corner-icon{border-color:#ffffff38}.corner-camp.corner-corner-icon[data-status=available]{border-color:#7bd58b73;box-shadow:0 0 4px #7bd58b73}.corner-camp.corner-corner-icon[data-status=owned]{border-color:#e8d44d73;box-shadow:0 0 4px #e8d44d73}.corner-camp.corner-corner-icon[data-status=decaying]{border-color:#ff5a3a73;box-shadow:0 0 4px #ff5a3a73}.corner-quest.corner-corner-icon[data-kind=npc]{border-color:#7bd58b73;box-shadow:0 0 4px #7bd58b73}.corner-interest.corner-corner-icon[data-kind=shuttle]{border-color:#ffd45573;box-shadow:0 0 4px #ffd45573}.corner-danger[data-level=deadly]{background:var(--red,#ff5a5a);box-shadow:0 0 3px #ff5a5a80}.corner-camp[data-active=true]{background:var(--green,#7bd58b);box-shadow:0 0 3px #7bd58b80}.corner-quest[data-kind=trainer]{background:var(--red,#ff5a5a);box-shadow:0 0 3px #ff5a5a80}.corner-quest[data-kind=quest]{background:var(--amber,#e5b75a);box-shadow:0 0 3px #e5b75a80}.corner-interest[data-kind=shuttle]{background:var(--blue,#5aa7ff);box-shadow:0 0 3px #5aa7ff80}.corner-interest[data-kind=named]{background:var(--cyan,#00f0ff);box-shadow:0 0 3px #00f0ff80}.map-tile-tooltip{border-radius:calc(.2*var(--fw-s));color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;z-index:9;background:#08080ceb;border:1px solid #ffffff2e;padding:.15rem .35rem;font-size:.65em;transition:opacity .12s;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.map-tile:hover .map-tile-tooltip,.map-tile:focus-visible .map-tile-tooltip{opacity:1}.hover-tile-tooltip{width:calc(var(--map-tile-size,40px) * 5.5);border-radius:calc(.35*var(--fw-s));background:#080c16f5;border:1px solid #00f0ff73;padding:.45rem;animation:.14s htip-in;box-shadow:0 6px 24px #0000008c,0 0 12px #00f0ff38}.hover-tile-tooltip .panel-title{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:.8em}@keyframes htip-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.tile-portrait-button{font:inherit;color:inherit;text-align:left;cursor:zoom-in;appearance:none}.tile-portrait-button .corner-indicator{opacity:.92}.tile-portrait-button:hover .corner-indicator{border-color:#00f0ff73!important}.tile-portrait-button:hover,.tile-portrait-button:focus-visible{outline:none;border-color:#00f0ff73!important;box-shadow:inset 0 0 18px #0000008c,0 0 0 1px #00f0ff38,0 0 14px #00f0ff29!important}.tile-portrait-expanded{z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--radius);cursor:zoom-out;background:#05060ad1;border:1px solid #00f0ff38;padding:.35rem;position:absolute;inset:2.75rem .55rem .55rem;box-shadow:0 14px 40px #000000a6}.tile-portrait-expanded-surface{border-radius:calc(.45*var(--fw-s));background:linear-gradient(135deg,#00f0ff14 0%,#ff00aa0f 100%),#0e1018;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 24px #0009}.tile-portrait-expanded-surface img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.tile-portrait-expanded-caption{color:var(--text);text-shadow:0 1px 3px #000000e6;z-index:1;justify-content:space-between;align-items:baseline;gap:1rem;display:flex;position:absolute;bottom:.45rem;left:.55rem;right:.55rem}.tile-portrait-expanded-caption small{color:var(--muted);font-size:.72em}.tile-portrait-expanded-close{z-index:2;border-radius:calc(.25*var(--fw-s));color:var(--text);cursor:pointer;background:#08080cb8;border:1px solid #ffffff2e;padding:.1rem .35rem;position:absolute;top:.35rem;right:.35rem}.you-are-here{transition:transform .18s;animation:1.4s ease-in-out infinite you-are-here-bounce}@keyframes you-are-here-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}@keyframes change-glow{0%{filter:brightness();box-shadow:none}55%{filter:brightness(1.55);box-shadow:0 0 10px #ffbe5a6b}to{filter:brightness();box-shadow:none}}.change-glow{animation:9s ease-in-out change-glow}.portrait-version-controls{justify-content:space-between;align-items:center;gap:.2rem;margin-top:.12rem;display:flex}.portrait-version-controls button{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 .1rem;font-size:.75em}.portrait-version-controls button:disabled{opacity:.35;cursor:not-allowed}.landing-bg{background:radial-gradient(circle at 50% 0,#0d0d1a,#050508 75%),repeating-linear-gradient(0deg,#0000,#0000 20px,#00f0ff08 20px 21px),repeating-linear-gradient(90deg,#0000,#0000 20px,#00f0ff08 20px 21px);flex-direction:column;min-height:100vh;display:flex;position:relative}.landing-container{gap:calc(1.5*var(--fw-s));width:calc(62.5*var(--fw-s));max-width:100%;padding:calc(2*var(--fw-s)) calc(.625*var(--fw-s));flex:1;grid-template-columns:1.2fr 1fr;align-items:center;margin:0 auto;display:grid}.landing-hero-col{flex-direction:column;justify-content:center;display:flex}.landing-auth-col{justify-content:center;align-items:center;display:flex}.landing-hero{gap:calc(.6*var(--fw-s));flex-direction:column;display:flex}.landing-hero-title{font-size:calc(2.8*var(--fw-s));letter-spacing:.08em;color:var(--cyber-accent);text-shadow:0 0 12px #00f0ff73,0 0 30px #00f0ff33;margin:0;animation:3s ease-in-out infinite alternate landing-glitch}.landing-hero-tagline{font-size:calc(1.1*var(--fw-s));color:var(--muted);margin:0}.landing-hero-story{font-size:calc(.9*var(--fw-s));color:var(--text);max-width:32rem;margin:0;line-height:1.45}.landing-hero-cta{gap:calc(.5*var(--fw-s));margin-top:calc(.4*var(--fw-s));display:flex}.landing-cta-primary{padding:calc(.65*var(--fw-s)) calc(1.2*var(--fw-s));border-color:var(--cyber-accent);color:var(--cyber-accent);font-weight:700;font-size:calc(.95*var(--fw-s));text-shadow:0 0 4px #00f0ff4d;background:linear-gradient(#003040,#001820)}.landing-cta-primary:hover{filter:brightness(1.25)}.landing-cta-secondary{padding:calc(.65*var(--fw-s)) calc(1.2*var(--fw-s));border-color:var(--amber);color:var(--amber);font-weight:600;font-size:calc(.95*var(--fw-s));background:linear-gradient(#2a2a1a,#1a1a0a)}.landing-cta-secondary:hover{filter:brightness(1.25)}.landing-auth{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius);padding:calc(1.2*var(--fw-s));width:calc(22*var(--fw-s));background:#05060ad1;border:1px solid #00f0ff2e;max-width:90vw;box-shadow:0 0 16px #00f0ff1f}.landing-auth .login-card{width:100%;max-width:100%;box-shadow:none;background:0 0;border:none;padding:0}.landing-auth .login-card h1{display:none}.landing-auth .login-screen{background:0 0;min-height:0;padding:0;display:block}.landing-auth .login-card .starter-flavor,.landing-auth .login-card .footnote{display:none}.landing-footer{border-top:1px solid var(--line);padding:calc(1.2*var(--fw-s)) calc(.625*var(--fw-s));background:#030304}.landing-footer-inner{gap:calc(1.5*var(--fw-s));width:calc(62.5*var(--fw-s));grid-template-columns:repeat(3,1fr);max-width:100%;margin:0 auto;display:grid}.landing-footer-col{gap:calc(.25*var(--fw-s));flex-direction:column;display:flex}.landing-footer-col h4{margin:0 0 calc(.15*var(--fw-s));font-size:calc(.85*var(--fw-s));color:var(--text);letter-spacing:.04em}.landing-footer-col a{color:var(--muted);font-size:calc(.8*var(--fw-s));cursor:pointer;text-decoration:none}.landing-footer-col a:hover{color:var(--cyber-accent)}.landing-footer-about p{font-size:calc(.75*var(--fw-s));margin:0;line-height:1.35}@keyframes landing-glitch{0%{text-shadow:3px 0 var(--cyber-accent),-1px 0 var(--red)}25%{text-shadow:-2px 0 var(--cyber-accent),2px 0 var(--red)}50%{text-shadow:4px 0 var(--cyber-accent),-3px 0 var(--red),1px 0 var(--cyber-accent2)}75%{text-shadow:-3px 0 var(--cyber-accent),1px 0 var(--red)}to{text-shadow:2px 0 var(--cyber-accent),-2px 0 var(--red),0 0 20px #00f0ff40}}@media (width<=768px){.landing-container{padding:calc(1*var(--fw-s)) calc(.5*var(--fw-s));gap:calc(1*var(--fw-s));grid-template-columns:1fr}.landing-hero-title{font-size:calc(2*var(--fw-s))}.landing-hero-tagline{font-size:calc(.9*var(--fw-s))}.landing-hero-story{font-size:calc(.82*var(--fw-s))}.landing-hero-cta{flex-direction:column}.landing-cta-primary,.landing-cta-secondary{text-align:center;width:100%}.landing-auth{-webkit-backdrop-filter:none;backdrop-filter:none;padding:calc(.8*var(--fw-s));background:#05060aeb;border-color:#00f0ff1f;width:100%}.landing-footer-inner{gap:calc(.6*var(--fw-s));grid-template-columns:1fr}}.landing-lore{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:calc(2.5*var(--fw-s)) calc(.625*var(--fw-s));background:#08080fe0;border-top:1px solid #00f0ff1f;animation:.6s both landing-fade-in}.landing-lore-inner{width:calc(62.5*var(--fw-s));max-width:100%;margin:0 auto}.landing-lore-heading{margin:0 0 calc(.8*var(--fw-s));font-size:calc(1.4*var(--fw-s));letter-spacing:.06em;color:var(--cyber-accent);text-shadow:0 0 6px #00f0ff40}.landing-lore-heading:not(:first-child){margin-top:calc(2*var(--fw-s))}.landing-lore-body p{margin:0 0 calc(.6*var(--fw-s));font-size:calc(.88*var(--fw-s));color:var(--text);max-width:48rem;line-height:1.55}.landing-lore-body p:last-child{margin-bottom:0}.landing-factions{grid-template-columns:repeat(auto-fill,minmax(calc(14*var(--fw-s)),1fr));gap:calc(.6*var(--fw-s));display:grid}.landing-faction{gap:calc(.4*var(--fw-s));padding:calc(.5*var(--fw-s));border:1px solid #ffffff14;border-left:3px solid var(--amber);border-radius:var(--radius);background:#0a0c14d9;display:flex}.landing-faction-icon{font-size:calc(1.4*var(--fw-s));margin-top:calc(.1*var(--fw-s));flex-shrink:0;line-height:1}.landing-faction-content{min-width:0}.landing-faction-name{margin:0 0 calc(.15*var(--fw-s));font-size:calc(.92*var(--fw-s));letter-spacing:.04em}.landing-faction-blurb{font-size:calc(.78*var(--fw-s));color:var(--muted);margin:0;line-height:1.4}.landing-lore-callout{margin-top:calc(1.5*var(--fw-s));text-align:center;padding:calc(.8*var(--fw-s));border-radius:var(--radius);background:#00f0ff0a;border:1px solid #00f0ff1f}.landing-lore-callout p{font-size:calc(1.1*var(--fw-s));color:var(--cyber-accent);letter-spacing:.04em;text-shadow:0 0 8px #00f0ff4d;margin:0}@media (width<=768px){.landing-lore{padding:calc(1.5*var(--fw-s)) calc(.5*var(--fw-s))}.landing-lore-heading{font-size:calc(1.1*var(--fw-s))}.landing-lore-body p{font-size:calc(.82*var(--fw-s))}.landing-factions{grid-template-columns:1fr}}@keyframes landing-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=420px){.landing-hero-title{font-size:calc(1.5*var(--fw-s))}.landing-hero-story{font-size:calc(.78*var(--fw-s))}.landing-auth{padding:calc(.5*var(--fw-s))}.landing-lore-heading{font-size:calc(.95*var(--fw-s))}.landing-footer-inner{text-align:center;grid-template-columns:1fr}}
