:root{
  color-scheme:dark;
  --bg:#04070d;--panel:rgba(8,13,23,.82);--panel2:rgba(16,24,38,.75);--line:rgba(173,214,255,.16);
  --text:#eff7ff;--muted:#91a0b3;--cyan:#65d9ff;--blue:#5888ff;--violet:#a276ff;--gold:#ffc96c;
  --red:#ff5f6d;--green:#7df7a1;--shadow:0 24px 80px rgba(0,0,0,.45);--radius:20px;
}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit;color:inherit}.hidden{display:none!important}.eyebrow{margin:0 0 7px;font-size:10px;letter-spacing:.23em;text-transform:uppercase;color:#86b9d4;font-weight:800}.micro{font-size:11px;color:var(--muted);line-height:1.5}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);margin:18px 0}.full{width:100%}
button{border:1px solid var(--line);background:rgba(14,22,35,.8);border-radius:12px;padding:11px 14px;cursor:pointer;transition:.18s ease;box-shadow:0 8px 25px rgba(0,0,0,.15)}button:hover{transform:translateY(-1px);border-color:rgba(101,217,255,.55);background:rgba(22,35,54,.92)}button:active{transform:translateY(0) scale(.985)}button:disabled{opacity:.38;cursor:not-allowed;transform:none}.primary{background:linear-gradient(135deg,#367de7,#6950c9);border-color:rgba(141,194,255,.6);box-shadow:0 10px 32px rgba(63,111,235,.28)}.primary:hover{background:linear-gradient(135deg,#4495ff,#7c61e7)}.huge{padding:15px 26px;font-weight:800;letter-spacing:.04em}.ghost{background:transparent}.hud-button{padding:9px 14px;background:rgba(4,9,17,.72);backdrop-filter:blur(12px)}.danger-button{background:rgba(115,33,44,.35);border-color:rgba(255,95,109,.3)}
.boot-screen{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 44%,rgba(71,95,180,.28),transparent 25%),radial-gradient(circle at 52% 54%,rgba(122,59,173,.12),transparent 35%),#02050a;overflow:hidden}.boot-screen:before{content:"";position:absolute;inset:-30%;background-image:radial-gradient(circle,#d9f2ff 0 1px,transparent 1.5px);background-size:57px 57px;opacity:.12;animation:drift 30s linear infinite}.boot-screen>*{position:relative}.boot-screen h1{font-family:Georgia,serif;font-size:clamp(56px,11vw,132px);font-weight:400;letter-spacing:-.055em;margin:3px 0 4px;text-shadow:0 0 45px rgba(115,164,255,.35)}.subtitle{font-family:Georgia,serif;font-style:italic;color:#b8c9db;font-size:clamp(17px,2vw,24px);margin:0 0 34px}.boot-screen .ghost{margin-top:12px;border:0;color:#94a2b2}.boot-screen .micro{margin-top:26px}.boot-orbit{width:120px;height:120px;border:1px solid rgba(109,176,255,.18);border-radius:50%;position:relative;margin-bottom:24px;animation:rotate 18s linear infinite}.boot-orbit:before,.boot-orbit:after{content:"";position:absolute;border-radius:50%;inset:18px;border:1px solid rgba(162,118,255,.2);transform:rotate(62deg)}.boot-orbit:after{inset:39px;background:radial-gradient(circle at 35% 30%,#c7f5ff,#4a70dd 44%,#17152e 72%);border:0;box-shadow:0 0 30px #5b7bf0,0 0 80px rgba(84,109,237,.3)}.boot-orbit span{position:absolute;width:9px;height:9px;background:#fff4c4;border-radius:50%;top:13px;left:76px;box-shadow:0 0 18px #fff}.boot-orbit i{position:absolute;width:6px;height:6px;background:#84eaff;border-radius:50%;bottom:3px;left:32px;box-shadow:0 0 14px #65d9ff}
.screen{position:fixed;inset:0}.map-screen{background:radial-gradient(circle at 75% 20%,rgba(66,53,128,.21),transparent 32%),linear-gradient(135deg,#040812,#08111b 56%,#05080e)}#map-stars{position:absolute;inset:0;width:100%;height:100%;opacity:.7}.hud{background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.top-hud{position:absolute;z-index:10;left:16px;right:16px;top:14px;min-height:76px;border-radius:17px;display:flex;align-items:center;gap:22px;padding:12px 16px}.top-hud h1{font-size:22px;margin:0;font-weight:650}.resource-strip{display:flex;gap:8px;flex:1;justify-content:center}.resource-strip span{min-width:78px;padding:8px 12px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.055);display:flex;align-items:baseline;justify-content:space-between;gap:10px}.resource-strip small{font-size:8px;letter-spacing:.14em;color:#7e8c9f}.resource-strip b{font-size:17px}.resource-strip .threat b{color:#ff8993}.map-layout{position:absolute;inset:102px 16px 16px;display:grid;grid-template-columns:270px minmax(460px,1fr) 292px;gap:14px}.left-panel,.right-panel{border-radius:var(--radius);padding:18px;min-height:0;overflow:auto}.panel-title h2,.panel-title h3{margin:0;font-family:Georgia,serif;font-weight:400}.panel-title h2{font-size:25px}.panel-title.compact h3{font-size:18px}.party-list{display:grid;gap:9px}.party-card{display:grid;grid-template-columns:39px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.055);background:rgba(255,255,255,.025);border-radius:12px}.party-avatar{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#304e82,#493d71);font-family:Georgia,serif;font-size:18px}.party-card strong{display:block;font-size:13px}.party-card small{font-size:10px;color:var(--muted)}.party-card em{font-style:normal;font-size:9px;color:var(--green);text-transform:uppercase;letter-spacing:.1em}.campaign-log{display:grid;gap:12px}.campaign-log p{font-size:11px;line-height:1.55;color:#abb7c6;margin:0;padding-left:13px;border-left:1px solid rgba(101,217,255,.28)}
.world-map{position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);background:radial-gradient(ellipse at 76% 28%,rgba(117,71,171,.19),transparent 26%),radial-gradient(ellipse at 35% 50%,rgba(31,111,93,.16),transparent 35%),linear-gradient(160deg,#09131a,#0a111c 48%,#080b14);box-shadow:var(--shadow)}.world-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(115,172,211,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(115,172,211,.032) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(circle,#000 35%,transparent 85%)}.world-map:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(101,217,255,.05) 50%,transparent 70%);transform:translateX(-100%);animation:scan 8s ease-in-out infinite}.map-connections{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 9px rgba(85,177,255,.25))}.map-connections path{fill:none;stroke:rgba(106,200,242,.38);stroke-width:2;stroke-dasharray:7 8;animation:dash 18s linear infinite}.map-connections .locked-link{stroke:rgba(162,118,255,.22)}.map-fog{position:absolute;width:38%;height:38%;filter:blur(28px);border-radius:50%;opacity:.22;background:#6275c7;animation:float 16s ease-in-out infinite}.fog-a{left:7%;top:7%}.fog-b{right:-8%;bottom:-10%;background:#8e4eb4;animation-delay:-8s}.map-node{position:absolute;left:var(--x);top:var(--y);width:144px;transform:translate(-50%,-50%);border:0;background:none;box-shadow:none;padding:0;text-align:center;z-index:4}.map-node:hover{transform:translate(-50%,-50%) scale(1.05);background:none}.map-node .node-core{display:block;width:27px;height:27px;margin:0 auto 9px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#c9fbff,#4f8dda 48%,#14213b 72%);box-shadow:0 0 0 7px rgba(80,153,216,.07),0 0 32px rgba(91,177,241,.52)}.map-node i{position:absolute;width:52px;height:22px;border:1px solid rgba(96,186,233,.22);border-radius:50%;top:2px;left:46px;transform:rotate(-18deg);animation:rotateFlat 8s linear infinite}.map-node strong{display:block;font-family:Georgia,serif;font-size:16px;text-shadow:0 2px 12px #000}.map-node small{display:block;font-size:9px;color:#93a4b7;margin-top:3px;letter-spacing:.06em}.map-node.active .node-core{background:radial-gradient(circle at 35% 28%,#fff5ce,#e2a94e 46%,#4c2f10 75%);box-shadow:0 0 0 7px rgba(255,196,91,.08),0 0 34px rgba(255,194,83,.46)}.map-node.danger .node-core{background:radial-gradient(circle at 35% 28%,#ffd3d3,#d84e5c 45%,#3a101b 74%);box-shadow:0 0 0 7px rgba(255,89,103,.08),0 0 34px rgba(255,78,93,.5)}.map-node.locked{filter:grayscale(.45);opacity:.44}.map-node.completed .node-core{background:radial-gradient(circle at 35% 28%,#e1ffe9,#45c97a 47%,#12351f 73%);box-shadow:0 0 0 7px rgba(75,215,124,.08),0 0 34px rgba(61,212,119,.44)}.threat-marker{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:3;text-align:center;color:#ff9aa4}.threat-marker span{display:block;width:18px;height:18px;margin:auto;background:linear-gradient(135deg,#ff7380,#721a32);clip-path:polygon(50% 0,100% 100%,0 100%);filter:drop-shadow(0 0 10px #ff4e61)}.threat-marker small{font-size:8px;letter-spacing:.09em}.map-caption{position:absolute;left:18px;bottom:15px;font-size:9px;letter-spacing:.22em;color:#67798f}.map-caption span{display:inline-block;width:34px;height:1px;background:#65d9ff;margin:0 10px 3px 0}.node-description{color:#b7c3d0;font-size:13px;line-height:1.65;min-height:68px}.status-tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.status-tags span{font-size:9px;padding:5px 8px;border-radius:99px;background:rgba(82,137,193,.1);border:1px solid rgba(107,178,230,.18);color:#a9d3ed;text-transform:uppercase;letter-spacing:.08em}.node-actions{display:grid;gap:8px}.node-actions button{text-align:left;display:grid;grid-template-columns:1fr auto;align-items:center}.node-actions button small{color:var(--muted)}
.world-screen{background:#000}.world-screen canvas#world-canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.cinema-bars span,.cinema-bars i{position:absolute;left:0;right:0;height:0;background:#000;z-index:12;transition:height 1s ease}.cinema-bars span{top:0}.cinema-bars i{bottom:0}.world-screen.entering .cinema-bars span,.world-screen.entering .cinema-bars i{height:10vh}.world-topbar{position:absolute;z-index:10;top:16px;left:18px;right:18px;display:flex;align-items:center;gap:18px;pointer-events:none;text-shadow:0 2px 12px #000}.world-topbar h1{font-family:Georgia,serif;font-weight:400;margin:0;font-size:27px}.world-topbar .hud-button{pointer-events:auto}.objective{margin-left:auto;min-width:320px;padding:10px 16px;background:linear-gradient(90deg,rgba(3,8,13,.12),rgba(3,8,13,.75));border-right:2px solid var(--cyan);text-align:right}.objective small{display:block;color:#79c8e8;font-size:8px;letter-spacing:.18em}.objective strong{font-family:Georgia,serif;font-weight:400}.player-hud{position:absolute;z-index:10;left:20px;bottom:22px;display:flex;gap:11px;align-items:center;filter:drop-shadow(0 8px 20px #000)}.portrait{width:63px;height:63px;border-radius:50%;border:2px solid rgba(146,215,247,.45);background:radial-gradient(circle at 38% 28%,#7994bc,#29334e 50%,#0b101b 73%);display:grid;place-items:center;font-family:Georgia,serif;font-size:29px;position:relative}.portrait i{position:absolute;right:-3px;bottom:-2px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#e2a94e;color:#111;font:bold 11px sans-serif}.vitals{width:280px}.name-row{display:flex;gap:10px;align-items:center;margin-bottom:5px;text-shadow:0 2px 8px #000}.name-row span{font-size:10px;color:#9fbed0;text-transform:uppercase;letter-spacing:.1em}.bar{height:17px;background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.14);border-radius:99px;position:relative;overflow:hidden;margin:4px 0}.bar i{position:absolute;inset:0 auto 0 0;width:100%;transition:width .3s ease}.bar b{position:relative;z-index:2;display:block;text-align:center;font-size:9px;line-height:15px;text-shadow:0 1px 3px #000}.bar.health i{background:linear-gradient(90deg,#7d1828,#e84f5f)}.bar.resolve{height:9px}.bar.resolve i{background:linear-gradient(90deg,#3657ce,#6ae6ff)}.bar.resolve b{display:none}.ability-bar{position:absolute;z-index:10;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:8px}.ability-bar button{width:75px;height:64px;padding:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(160deg,rgba(21,31,45,.85),rgba(5,8,14,.92));border-color:rgba(148,202,233,.18);position:relative;overflow:hidden}.ability-bar button:before{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--cyan);opacity:.5}.ability-bar kbd{font-size:9px;border:1px solid rgba(255,255,255,.18);border-radius:4px;padding:2px 4px;background:rgba(255,255,255,.05);color:#bcd6e5}.ability-bar span{font-size:10px;margin-top:4px}.ability-bar i{position:absolute;right:5px;top:4px;font-style:normal;font-size:9px;color:var(--gold)}.interaction-prompt{position:absolute;z-index:20;left:50%;bottom:112px;transform:translateX(-50%);background:rgba(4,8,13,.88);border:1px solid rgba(124,214,255,.35);border-radius:12px;padding:9px 14px;box-shadow:0 8px 32px #000;display:flex;gap:9px;align-items:center}.interaction-prompt kbd{display:grid;place-items:center;width:24px;height:24px;border:1px solid #9bd8f5;border-radius:5px;color:#d8f5ff}.interaction-prompt span{font-size:12px}.combat-message{position:absolute;z-index:25;left:50%;top:26%;transform:translateX(-50%);font-family:Georgia,serif;font-size:24px;text-shadow:0 2px 12px #000;padding:8px 18px;background:linear-gradient(90deg,transparent,rgba(4,9,15,.62),transparent)}.enemy-panel{position:absolute;z-index:10;right:20px;bottom:23px;width:220px;padding:11px 13px;background:rgba(4,8,13,.68);border:1px solid rgba(255,99,111,.22);backdrop-filter:blur(10px);border-radius:12px}.enemy-panel small{display:block;font-size:8px;color:#ff8993;letter-spacing:.16em}.enemy-panel strong{font-family:Georgia,serif;font-weight:400}.bar.enemy{height:8px;margin-top:7px}.bar.enemy i{background:linear-gradient(90deg,#ff4356,#7d1229)}.minimap{position:absolute;z-index:10;right:18px;top:92px;width:148px;height:148px;border-radius:50%;overflow:hidden;border:1px solid rgba(151,220,249,.27);background:rgba(2,7,10,.7);box-shadow:0 8px 30px #000}.minimap canvas{width:100%;height:100%}.minimap span{position:absolute;top:4px;left:50%;transform:translateX(-50%);font-size:8px;color:#c9f5ff}.modal{position:absolute;z-index:60;inset:0;display:grid;place-items:center;background:rgba(0,3,7,.67);backdrop-filter:blur(10px)}.modal-card{position:relative;width:min(720px,calc(100vw - 32px));padding:30px;border-radius:22px;background:linear-gradient(145deg,rgba(18,27,42,.97),rgba(7,11,18,.98));border:1px solid rgba(145,212,247,.22);box-shadow:0 32px 100px #000}.modal-card h2{font-family:Georgia,serif;font-size:32px;font-weight:400;margin:0 0 8px}.modal-card>p:not(.eyebrow){color:#aebdcc;line-height:1.65}.compact-card{max-width:480px}.modal-close{position:absolute;top:10px;right:10px;width:34px;height:34px;padding:0;border-radius:50%;font-size:20px}.controls-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.controls-list div{display:flex;justify-content:space-between;padding:8px 10px;border-radius:8px;background:rgba(255,255,255,.035)}.controls-list dt{color:#b6c5d5}.controls-list dd{margin:0;color:var(--cyan);font-weight:700}.upgrade-grid,.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.upgrade-grid button,.decision-grid button{min-height:130px;text-align:left;padding:18px;background:linear-gradient(145deg,rgba(31,47,66,.8),rgba(9,14,22,.86))}.upgrade-grid b,.decision-grid b{display:block;font-family:Georgia,serif;font-size:21px;font-weight:400}.upgrade-grid span,.decision-grid span{display:block;color:#a9b7c5;font-size:12px;line-height:1.45;margin-top:6px}.upgrade-grid small{display:block;margin-top:16px;color:var(--cyan);text-transform:uppercase;font-size:8px;letter-spacing:.15em}.decision-grid{grid-template-columns:1fr 1fr}.artifact-choice{border-color:rgba(176,107,255,.35)!important;background:linear-gradient(145deg,rgba(73,38,102,.8),rgba(15,12,30,.9))!important}.touch-controls{position:absolute;z-index:30;inset:auto 15px 20px;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}.joystick{width:122px;height:122px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.25);border-radius:50%;pointer-events:auto;position:relative}.joystick span{position:absolute;width:50px;height:50px;border-radius:50%;left:36px;top:36px;background:rgba(121,207,244,.25);border:1px solid rgba(154,227,255,.46)}.touch-actions{display:grid;grid-template-columns:repeat(2,58px);gap:8px;pointer-events:auto}.touch-actions button{width:58px;height:58px;border-radius:50%;background:rgba(7,12,20,.72);font-size:20px}.touch-actions button:last-child{grid-column:2}.result-screen{display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(87,92,213,.25),transparent 30%),linear-gradient(#050915,#020408);overflow:auto;padding:30px}.result-glow{position:absolute;width:500px;height:500px;border-radius:50%;border:1px solid rgba(115,181,255,.15);box-shadow:0 0 140px rgba(88,118,255,.12);animation:rotate 25s linear infinite}.result-glow:before,.result-glow:after{content:"";position:absolute;border-radius:50%;inset:60px;border:1px solid rgba(162,118,255,.13);transform:rotate(65deg)}.result-glow:after{inset:125px;background:radial-gradient(circle,#d3f8ff,#4e69d0 45%,transparent 70%);filter:blur(3px)}.result-card{position:relative;z-index:2;width:min(900px,100%);text-align:center;padding:45px;border:1px solid var(--line);background:rgba(5,10,18,.76);backdrop-filter:blur(18px);border-radius:26px;box-shadow:var(--shadow)}.result-card>h1{font-family:Georgia,serif;font-size:clamp(38px,5vw,65px);font-weight:400;margin:8px 0}.result-card>p{color:#afbdca;line-height:1.7;max-width:720px;margin:0 auto 23px}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:25px 0}.result-stats div{padding:14px 8px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);border-radius:12px}.result-stats b{display:block;font-size:24px}.result-stats small{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.12em}.evolution-panel{display:grid;grid-template-columns:1fr 1fr;gap:24px;text-align:left;padding:24px;margin:25px 0;border-radius:16px;background:linear-gradient(120deg,rgba(70,88,161,.16),rgba(104,60,135,.1));border:1px solid rgba(132,174,231,.12)}.evolution-panel h2{font-family:Georgia,serif;font-weight:400;margin:0}.evolution-panel p{color:#a9b5c3;line-height:1.55}.trait-list{display:flex;flex-wrap:wrap;gap:7px;align-content:center}.trait-list span{padding:8px 11px;border-radius:99px;background:rgba(96,177,235,.12);border:1px solid rgba(117,199,243,.2);font-size:11px}.drawer{position:fixed;inset:0;z-index:90}.drawer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px)}.drawer-card{position:absolute;right:0;top:0;bottom:0;width:min(430px,100%);overflow:auto;padding:30px;background:linear-gradient(160deg,#111b2a,#070b12);border-left:1px solid var(--line);box-shadow:-30px 0 80px rgba(0,0,0,.45)}.drawer-card h2{font-family:Georgia,serif;font-size:38px;font-weight:400;margin:0 0 20px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat-card{padding:13px;background:rgba(255,255,255,.035);border-radius:10px}.stat-card b{display:block;font-size:20px}.stat-card small{font-size:8px;color:var(--muted);text-transform:uppercase}.sheet-section{margin-top:22px}.sheet-section h3{font-family:Georgia,serif;font-weight:400}.equipment-row,.skill-option{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px}.skill-option button{padding:5px 8px;font-size:10px}.trait-chip{display:inline-block;padding:7px 10px;border-radius:99px;margin:3px;background:rgba(91,137,216,.12);font-size:10px;border:1px solid rgba(111,179,230,.14)}.toast{position:fixed;z-index:150;left:50%;top:18px;transform:translateX(-50%);padding:11px 17px;background:rgba(10,17,26,.94);border:1px solid rgba(115,205,244,.3);border-radius:12px;box-shadow:0 16px 48px #000;font-size:12px}
@keyframes rotate{to{transform:rotate(360deg)}}@keyframes rotateFlat{to{transform:rotate(342deg)}}@keyframes drift{to{transform:translate(57px,57px)}}@keyframes dash{to{stroke-dashoffset:-120}}@keyframes float{50%{transform:translate(40px,25px) scale(1.15)}}@keyframes scan{0%,35%{transform:translateX(-100%)}65%,100%{transform:translateX(100%)}}
@media(max-width:1100px){.map-layout{grid-template-columns:220px 1fr 245px}.resource-strip span{min-width:60px;padding:8px}.resource-strip small{display:none}.left-panel,.right-panel{padding:14px}.vitals{width:220px}.ability-bar button{width:63px}}
@media(max-width:820px){.top-hud{left:8px;right:8px;top:8px;min-height:64px}.top-hud>div:first-child{display:none}.resource-strip{justify-content:flex-start;overflow:auto}.resource-strip span{min-width:58px}.map-layout{inset:80px 8px 8px;display:block}.world-map{height:100%}.left-panel{display:none}.right-panel{position:absolute;z-index:9;left:8px;right:8px;bottom:8px;max-height:34%;padding:12px}.right-panel .divider,.right-panel .micro{display:none}.right-panel .node-description{min-height:0;margin:4px 0;font-size:11px;line-height:1.4}.node-actions{grid-template-columns:1fr 1fr}.map-node{width:110px}.map-node strong{font-size:13px}.map-node small{font-size:8px}.world-topbar{top:9px;left:10px;right:10px}.world-topbar>div:first-child h1{font-size:20px}.objective{min-width:0;max-width:50%;font-size:11px}.minimap{width:100px;height:100px;top:72px;right:10px}.player-hud{left:12px;bottom:12px}.portrait{width:51px;height:51px}.vitals{width:180px}.ability-bar{bottom:8px;left:auto;right:8px;transform:none;display:none}.enemy-panel{right:10px;bottom:118px;width:160px}.touch-controls{display:flex!important}.upgrade-grid{grid-template-columns:1fr}.decision-grid{grid-template-columns:1fr}.modal-card{padding:23px}.result-card{padding:25px}.result-stats{grid-template-columns:1fr 1fr}.evolution-panel{grid-template-columns:1fr}.controls-list{grid-template-columns:1fr}.world-topbar .eyebrow{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:820px){
  .top-hud{gap:6px;padding:8px 9px}
  .resource-strip{gap:4px;overflow:visible}
  .resource-strip span{min-width:50px;padding:5px 6px;display:flex;flex-direction:column;align-items:center;gap:1px}
  .resource-strip span:nth-child(1),.resource-strip span:nth-child(4){display:none}
  .resource-strip small{display:block;font-size:6px;line-height:1;letter-spacing:.09em}
  .resource-strip b{font-size:15px}
  .top-hud>.hud-button{padding:10px 12px}
  .right-panel{max-height:38%;overflow:auto}
  .right-panel .node-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .combat-message{top:25%;max-width:220px;width:max-content;font-size:17px;line-height:1.25;text-align:center}
  .player-hud{left:10px;top:82px;bottom:auto}
  .portrait{width:45px;height:45px;font-size:20px}
  .portrait i{width:19px;height:19px;font-size:9px}
  .vitals{width:145px}
  .name-row{margin-bottom:2px}.name-row strong{font-size:12px}.name-row span{font-size:8px}
  .bar{height:14px}.bar b{line-height:12px;font-size:8px}
}
.import-label{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.system-status{opacity:.7;font-size:.72rem}[data-quality="low"] .ambient-heavy{display:none}
.boot-party-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:10px}.ghost.strong{border-color:rgba(111,230,255,.45);color:#c9f5ff}.party-lobby-card{max-width:620px}.party-connect-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.party-connect-form label{display:grid;gap:7px;font-size:.75rem;letter-spacing:.1em;color:#8ea5b6;text-transform:uppercase}.party-connect-form input,.party-connect-form select{background:#07111b;border:1px solid rgba(134,218,255,.24);color:#eefcff;border-radius:10px;padding:12px;font:inherit}.party-connect-form button{grid-column:1/-1}.room-code-panel{display:flex;align-items:center;gap:12px;background:rgba(7,17,27,.8);border:1px solid rgba(111,230,255,.2);padding:14px;border-radius:14px}.room-code-panel span{font-size:.65rem;letter-spacing:.16em;color:#8099aa}.room-code-panel b{font-size:1.25rem;letter-spacing:.16em;flex:1}.party-members{display:grid;gap:8px;margin:16px 0}.party-member{display:flex;align-items:center;gap:10px;padding:10px 12px;background:rgba(9,20,31,.7);border:1px solid rgba(120,190,220,.14);border-radius:10px}.party-member i{width:9px;height:9px;border-radius:50%;background:#5fe3a1;box-shadow:0 0 12px #5fe3a1}.party-member.offline i{background:#66727b;box-shadow:none}.party-member strong{flex:1}.party-member small{color:#7f99aa}.network-badge{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:50;display:flex;gap:8px;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(4,12,19,.88);border:1px solid rgba(111,230,255,.3);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}.network-badge i{width:7px;height:7px;border-radius:50%;background:#64f0a6;box-shadow:0 0 10px #64f0a6}.network-badge b{color:#7eeaff}@media(max-width:640px){.party-connect-form{grid-template-columns:1fr}.network-badge{top:auto;bottom:8px}}
.network-party-hud{position:absolute;top:92px;left:18px;z-index:14;display:grid;gap:6px;width:min(250px,34vw);pointer-events:none}.network-party-hud.hidden{display:none}.network-party-card{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;padding:7px 9px;border:1px solid rgba(135,210,235,.18);background:rgba(4,11,18,.72);backdrop-filter:blur(8px);border-radius:9px;font-size:11px}.network-party-card>i{width:7px;height:7px;border-radius:50%;background:#75efad;box-shadow:0 0 8px rgba(117,239,173,.6)}.network-party-card.offline>i{background:#75808b;box-shadow:none}.network-party-card strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.network-party-card span{color:#a7bdca}.network-party-card .mini-health{grid-column:2/4;height:3px;background:rgba(255,255,255,.09);border-radius:99px;overflow:hidden}.network-party-card .mini-health b{display:block;height:100%;background:linear-gradient(90deg,#54df9c,#9eea75)}.network-badge{cursor:pointer}.party-lobby-card .ghost.full{margin-top:8px}
@media(max-width:700px){.network-party-hud{top:76px;left:10px;width:170px}.network-party-card{padding:5px 7px;font-size:9px}.network-party-card:nth-child(n+4){display:none}}
.top-actions{display:flex;gap:8px;align-items:center}.network-badge b{font-size:10px;margin-left:4px;color:#7cecff}.party-lobby-card label{display:grid;gap:6px;margin:12px 0;color:#a8bfcc;font-size:12px}.party-lobby-card input,.party-lobby-card select{padding:11px 12px;border-radius:8px;border:1px solid rgba(135,210,235,.22);background:#07131d;color:#eefaff}.spectator-toggle{display:flex!important;align-items:center;grid-template-columns:auto 1fr!important}.spectator-toggle input{width:auto}.room-code-row{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid rgba(135,210,235,.2);border-radius:10px}.room-code-row strong{font-size:19px;letter-spacing:2px;flex:1}.party-members{display:grid;gap:6px;max-height:360px;overflow:auto;margin:12px 0}.party-member{display:grid;grid-template-columns:8px 1fr;gap:7px 10px;align-items:center;padding:8px 10px;border:1px solid rgba(135,210,235,.14);border-radius:8px;background:rgba(3,10,16,.55)}.party-member i{width:7px;height:7px;border-radius:50%;background:#78efad}.party-member.offline i{background:#727e87}.party-member strong{font-size:12px}.party-member small{grid-column:2;color:#89a4b2}.party-member.spectator{opacity:.68}.party-member.squad-1{border-left:3px solid #52c7ff}.party-member.squad-2{border-left:3px solid #8def8a}.party-member.squad-3{border-left:3px solid #d690ff}.party-member.squad-4{border-left:3px solid #ffb661}.party-member.squad-5{border-left:3px solid #ff7584}.party-member.squad-6{border-left:3px solid #ffe36d}@media(max-width:800px){.top-actions{gap:4px}.top-actions .hud-button{padding:8px 7px;font-size:9px}.party-lobby-card{width:min(94vw,560px)}}
.inventory-card{max-width:900px}.inventory-layout{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.inventory-layout section{padding:14px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(140,210,240,.12)}.inventory-layout h3{font-family:Georgia,serif;font-weight:400;margin:0 0 10px}.inventory-entry{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07)}.inventory-entry button{padding:4px 8px}.content-lock{font-size:10px;color:#7ddfff;letter-spacing:.08em}.pickup-label{color:#ffd36e}@media(max-width:760px){.inventory-layout{grid-template-columns:1fr}.ability-bar{max-width:calc(100vw - 20px);overflow-x:auto;justify-content:flex-start}.ability-bar button{min-width:68px}}
/* 1.2.0 — cinematic presentation and unified controls */
.boot-screen{isolation:isolate;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(22,71,99,.3),transparent 38%),#02050a}
.boot-key-art{position:absolute;inset:0;z-index:-3;background-image:linear-gradient(180deg,rgba(0,3,8,.08),rgba(0,3,8,.62) 62%,#02050a 100%),url('./assets/ui/breach_key_art.png');background-size:cover;background-position:center;filter:saturate(.92) contrast(1.08);transform:scale(1.02);animation:keyArtBreathe 14s ease-in-out infinite alternate}
.boot-screen:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at center,transparent 15%,rgba(0,3,8,.22) 55%,rgba(0,2,6,.92) 100%);pointer-events:none}
.boot-screen:after{content:"";position:absolute;inset:0;z-index:20;pointer-events:none;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.26'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.boot-screen h1{text-shadow:0 10px 55px rgba(79,173,255,.2),0 2px 0 rgba(255,255,255,.08)}
.boot-screen .subtitle{max-width:620px;text-shadow:0 2px 18px #000}
.boot-screen .primary.huge{box-shadow:0 18px 60px rgba(67,105,255,.28),inset 0 1px 0 rgba(255,255,255,.24)}
.world-screen{isolation:isolate;background:#02060d}
.world-screen:before{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;background:radial-gradient(circle at 50% 43%,transparent 42%,rgba(0,3,8,.28) 72%,rgba(0,2,6,.66) 100%);mix-blend-mode:multiply}
.world-screen:after{content:"";position:absolute;inset:0;z-index:7;pointer-events:none;opacity:.085;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");mix-blend-mode:overlay}
#world-canvas{cursor:crosshair;outline:none;filter:saturate(1.04)}
.expedition-active{overflow:hidden}
.world-crosshair{position:absolute;z-index:20;left:50%;top:50%;width:42px;height:42px;transform:translate(-50%,-50%);pointer-events:none;opacity:.72;transition:.18s ease}
.world-crosshair:before,.world-crosshair:after,.world-crosshair i:before,.world-crosshair i:after{content:"";position:absolute;background:rgba(221,247,255,.82);box-shadow:0 0 10px rgba(80,205,255,.5)}
.world-crosshair:before{width:8px;height:1px;left:3px;top:20px}.world-crosshair:after{width:8px;height:1px;right:3px;top:20px}.world-crosshair i:before{width:1px;height:8px;left:20px;top:3px}.world-crosshair i:after{width:1px;height:8px;left:20px;bottom:3px}
.world-crosshair span{position:absolute;inset:15px;border:1px solid rgba(196,238,255,.55);border-radius:50%}
.world-screen.target-locked .world-crosshair{width:58px;height:58px;opacity:1;filter:hue-rotate(305deg) saturate(1.6)}
.world-screen.target-locked .world-crosshair span{inset:8px;border-width:2px;animation:targetPulse 1.15s ease-in-out infinite}
.control-device-hint{position:absolute;z-index:24;left:50%;bottom:105px;transform:translateX(-50%);padding:7px 11px;border:1px solid rgba(139,218,248,.15);border-radius:999px;background:rgba(3,10,16,.58);backdrop-filter:blur(9px);color:rgba(188,218,230,.68);font-size:9px;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;transition:opacity .4s}
.player-hud,.world-topbar,.enemy-panel,.minimap,.network-party-hud,.ability-bar{z-index:30}
.world-topbar{backdrop-filter:blur(14px);border-bottom:1px solid rgba(148,219,246,.08);background:linear-gradient(180deg,rgba(2,8,15,.7),rgba(2,8,15,.18))}
.objective{background:linear-gradient(135deg,rgba(6,19,31,.82),rgba(10,18,36,.66));border-color:rgba(110,207,246,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 16px 40px rgba(0,0,0,.22)}
.player-hud{padding:9px 12px;border:1px solid rgba(122,206,240,.14);border-radius:15px;background:linear-gradient(135deg,rgba(3,12,21,.88),rgba(5,16,27,.62));backdrop-filter:blur(14px);box-shadow:0 22px 60px rgba(0,0,0,.38)}
.ability-bar{gap:7px;padding:8px;border:1px solid rgba(125,207,239,.12);border-radius:16px;background:rgba(2,9,15,.7);backdrop-filter:blur(15px);box-shadow:0 18px 60px rgba(0,0,0,.42)}
.ability-bar button{position:relative;overflow:hidden;border-color:rgba(132,210,240,.14);background:linear-gradient(155deg,rgba(15,35,48,.88),rgba(6,14,24,.92));box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:transform .16s ease,border-color .16s ease,background .16s ease}
.ability-bar button:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 15%,rgba(88,190,255,.16),transparent 58%);opacity:0;transition:.18s}
.ability-bar button:hover{transform:translateY(-3px);border-color:rgba(111,218,255,.44);background:linear-gradient(155deg,rgba(18,51,68,.94),rgba(6,15,26,.94))}.ability-bar button:hover:before{opacity:1}
.ability-bar kbd{border:1px solid rgba(181,230,249,.16);background:rgba(0,5,10,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.enemy-panel{background:linear-gradient(135deg,rgba(31,6,11,.8),rgba(8,8,15,.82));border-color:rgba(255,87,104,.26);backdrop-filter:blur(12px);box-shadow:0 20px 55px rgba(0,0,0,.42)}
.interaction-prompt{z-index:32;backdrop-filter:blur(12px);box-shadow:0 15px 45px rgba(0,0,0,.4)}
.combat-message{z-index:34;text-shadow:0 3px 18px #000;filter:drop-shadow(0 0 14px rgba(95,208,255,.18))}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 8px}.settings-grid label{display:grid;gap:7px;padding:10px;border:1px solid rgba(130,205,234,.11);border-radius:10px;background:rgba(255,255,255,.025);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#93acba}.settings-grid input[type=range]{accent-color:#6ebcff;width:100%}.settings-grid select{background:#07131d;color:#eaf8ff;border:1px solid rgba(130,205,234,.2);border-radius:7px;padding:8px}.settings-grid .toggle-row{display:flex;align-items:center;gap:9px;text-transform:none;letter-spacing:0}.settings-grid .toggle-row input{accent-color:#6ebcff}
[data-quality="low"] .world-screen:after,[data-quality="low"] .cinema-bars{display:none}[data-quality="low"] .boot-key-art{filter:saturate(.8)}
@keyframes keyArtBreathe{from{transform:scale(1.02) translateY(0)}to{transform:scale(1.055) translateY(-8px)}}
@keyframes targetPulse{0%,100%{transform:scale(.88);opacity:.55}50%{transform:scale(1.08);opacity:1}}
@media(max-width:820px){.world-crosshair{display:none}.control-device-hint{bottom:12px;left:50%;font-size:7px;opacity:.55}.settings-grid{grid-template-columns:1fr}.boot-key-art{background-position:52% center}.ability-bar{background:transparent;border:0;box-shadow:none;backdrop-filter:none}.world-screen:before{background:radial-gradient(circle at 50% 42%,transparent 48%,rgba(0,3,8,.44) 100%)}}
@media(prefers-reduced-motion:reduce){.boot-key-art,.world-screen.target-locked .world-crosshair span{animation:none!important}}

/* 1.4.0 gameplay polish candidate */
.access-card{max-width:460px}.access-card label{display:grid;gap:.45rem;margin:1rem 0;color:#c6d7e7;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase}.access-card input{width:100%;box-sizing:border-box;background:rgba(4,10,16,.88);border:1px solid rgba(117,199,230,.28);border-radius:10px;color:#effaff;padding:.85rem 1rem;font:inherit}.access-card input:focus{outline:2px solid rgba(105,229,255,.42);border-color:#69e5ff}.error-text{min-height:1.2rem;color:#ff8993}.server-badge{display:inline-flex;gap:.45rem;align-items:center}.server-badge::before{content:'';width:.48rem;height:.48rem;border-radius:50%;background:#68f0b2;box-shadow:0 0 12px rgba(104,240,178,.7)}


/* 1.4.0 gameplay polish */
.approach-picker{display:grid;gap:8px}.approach-picker>small{letter-spacing:.16em;color:#70a9bd}.approach-picker button{border:1px solid rgba(126,190,210,.18);background:rgba(4,13,22,.62);text-align:left;padding:12px}.approach-picker button.selected{border-color:#6fe6ff;box-shadow:0 0 0 1px rgba(111,230,255,.2),0 0 24px rgba(45,173,218,.12)}.approach-picker button span{display:block;font-weight:700}.approach-picker button small{display:block;margin-top:4px;opacity:.64}.prep-summary{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.prep-summary span:empty{display:none}.prep-summary span{font-size:.7rem;padding:5px 8px;border:1px solid rgba(129,222,176,.28);background:rgba(24,91,68,.18);color:#8dffb2}.momentum-meter{position:absolute;left:50%;bottom:112px;transform:translateX(-50%);display:grid;grid-template-columns:auto auto;align-items:end;gap:2px 10px;min-width:145px;padding:8px 12px;border:1px solid rgba(111,230,255,.25);background:rgba(3,10,18,.74);backdrop-filter:blur(8px);clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);z-index:22}.momentum-meter small{font-size:.58rem;letter-spacing:.18em;color:#7fb5c8}.momentum-meter strong{font-size:1.5rem;line-height:1;color:#fff}.momentum-meter i{grid-column:1/3;height:3px;background:rgba(255,255,255,.1);overflow:hidden}.momentum-meter b{display:block;height:100%;width:0;background:linear-gradient(90deg,#4cc6ff,#b08cff,#ffba65);transition:width .12s}.momentum-meter.surge{border-color:#ffcf7c;box-shadow:0 0 24px rgba(255,173,65,.24)}
@media(max-width:720px){.momentum-meter{bottom:168px;min-width:118px;padding:6px 9px}.approach-picker button{padding:10px}}

/* 1.5 tactical combat polish */
.enemy-intel{margin:0 0 12px;padding:10px 12px;border:1px solid rgba(255,146,78,.22);background:linear-gradient(135deg,rgba(93,34,24,.18),rgba(10,24,34,.48));border-radius:12px}.enemy-intel>small{display:block;margin-bottom:7px;color:#ffb07b;letter-spacing:.16em}.enemy-intel div{display:grid;gap:5px}.enemy-intel span{font-size:.72rem;color:rgba(225,238,246,.72)}.enemy-intel b{color:#f1f7fb;margin-right:4px}.enemy-panel[data-role="ranged"]{border-color:rgba(255,164,74,.55);box-shadow:0 0 24px rgba(255,128,42,.12)}.enemy-panel[data-role="caster"]{border-color:rgba(168,89,255,.58);box-shadow:0 0 28px rgba(131,63,255,.18)}.enemy-panel[data-role="boss"]{border-color:rgba(255,54,72,.7);box-shadow:0 0 32px rgba(255,35,54,.22)}

/* 1.6.0 home, forge, lobby, and transition polish */
.home-shell{position:relative;z-index:3;width:min(1180px,calc(100vw - 48px));min-height:min(720px,calc(100vh - 64px));display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:center;gap:64px;text-align:left}.home-copy{align-self:center}.home-copy h1{font-size:clamp(70px,10vw,138px);margin:-6px 0 2px}.home-copy .subtitle{max-width:680px;margin:0 0 28px;font-size:clamp(18px,2vw,27px)}.home-actions{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(210px,.85fr);gap:10px;max-width:760px}.home-actions button{text-align:left;min-height:76px;padding:16px 18px}.home-actions .primary{grid-row:span 2;display:flex;flex-direction:column;justify-content:center}.home-actions button b,.home-actions button>span{display:block;font-size:15px}.home-actions button small,.home-actions button span:not(#continue-label){display:block;margin-top:5px;color:#a8bac9;font-size:11px;line-height:1.4}.home-secondary{background:linear-gradient(135deg,rgba(17,31,47,.84),rgba(9,17,29,.86));border-color:rgba(120,206,240,.18)}.home-secondary:hover{background:linear-gradient(135deg,rgba(25,50,69,.92),rgba(12,23,39,.94))}.home-utility{display:flex;align-items:center;gap:5px;margin-top:12px}.home-utility .ghost{margin:0;padding:8px 10px;border:0;font-size:11px;color:#9eb1bf}.home-character-card{position:relative;overflow:hidden;align-self:center;padding:28px;border:1px solid rgba(122,211,244,.2);border-radius:28px;background:linear-gradient(160deg,rgba(7,18,31,.9),rgba(6,10,19,.78));box-shadow:0 30px 100px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(18px)}.home-character-card:before{content:"";position:absolute;inset:-30% -20% 40%;background:radial-gradient(circle,rgba(91,170,255,.2),transparent 65%);pointer-events:none}.home-character-card h2{position:relative;margin:12px 0 2px;font-family:Georgia,serif;font-size:36px;font-weight:400}.home-character-card>p{position:relative;color:#adc0ce}.home-avatar{--skin:#d7a579;--armor:#244a70;--accent:#70d9ff;--body-scale:1;position:relative;width:220px;height:260px;margin:0 auto 22px;filter:drop-shadow(0 28px 30px rgba(0,0,0,.45));transform:scale(var(--body-scale));transform-origin:center bottom}.home-avatar:before{content:"";position:absolute;left:50%;bottom:6px;width:150px;height:26px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(86,221,255,.3),transparent 72%)}.avatar-face{position:absolute;left:50%;top:30px;width:72px;height:82px;transform:translateX(-50%);border-radius:44% 44% 48% 48%;background:linear-gradient(145deg,color-mix(in srgb,var(--skin),white 12%),var(--skin));box-shadow:inset -10px -8px 15px rgba(0,0,0,.14)}.avatar-face:before,.avatar-face:after{content:"";position:absolute;top:35px;width:7px;height:3px;border-radius:50%;background:#141419}.avatar-face:before{left:18px}.avatar-face:after{right:18px}.avatar-armor{position:absolute;left:50%;top:102px;width:142px;height:126px;transform:translateX(-50%);clip-path:polygon(18% 0,82% 0,100% 28%,88% 100%,12% 100%,0 28%);background:linear-gradient(135deg,color-mix(in srgb,var(--armor),white 12%),var(--armor) 52%,color-mix(in srgb,var(--armor),black 28%));border-top:6px solid color-mix(in srgb,var(--accent),white 10%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.07)}.avatar-accent{position:absolute;left:50%;top:124px;width:104px;height:70px;transform:translateX(-50%);border:2px solid var(--accent);border-top-width:6px;clip-path:polygon(10% 0,90% 0,78% 100%,22% 100%);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--accent),transparent 55%))}.avatar-hair{position:absolute;z-index:2;left:50%;top:18px;width:78px;height:45px;transform:translateX(-50%);border-radius:50% 50% 18% 18%;background:#211b20}.home-avatar[data-hair="shaved"] .avatar-hair{height:16px;top:26px;opacity:.45}.home-avatar[data-hair="braided"] .avatar-hair:after{content:"";position:absolute;right:3px;top:27px;width:10px;height:88px;border-radius:8px;background:repeating-linear-gradient(#241a1d 0 9px,#68413b 9px 14px)}.home-avatar[data-hair="hooded"] .avatar-hair,.home-avatar[data-headgear="hood"] .avatar-hair{width:94px;height:104px;top:15px;border-radius:50% 50% 35% 35%;background:color-mix(in srgb,var(--armor),black 18%);clip-path:polygon(50% 0,94% 20%,100% 88%,76% 100%,50% 76%,24% 100%,0 88%,6% 20%)}.home-avatar[data-headgear="helm"] .avatar-hair{width:88px;height:78px;top:17px;border-radius:45% 45% 20% 20%;background:linear-gradient(135deg,color-mix(in srgb,var(--armor),white 30%),var(--armor));clip-path:polygon(8% 0,92% 0,100% 78%,70% 100%,58% 55%,42% 55%,30% 100%,0 78%)}.home-statline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.home-statline span{padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(255,255,255,.025);text-align:center}.home-statline b{display:block;font-size:20px}.home-statline small{font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:#8298a9}.home-memory{position:relative;padding:13px 14px;border-left:2px solid var(--accent,#70d9ff);background:rgba(255,255,255,.025)}.home-memory small{font-size:8px;letter-spacing:.16em;color:#80a8bb}.home-memory p{margin:6px 0 0;color:#c5d2dc;font-size:12px;line-height:1.5}
.forge-card{width:min(1020px,94vw);max-height:92vh;overflow:auto}.forge-heading{display:grid;grid-template-columns:1fr 250px;gap:24px;align-items:center}.forge-heading h2{margin:0;font-family:Georgia,serif;font-size:36px}.forge-heading p{color:#a8b7c5}.forge-preview{--skin:#d7a579;--armor:#244a70;--accent:#70d9ff;--width:1;--height:1;position:relative;width:220px;height:250px;margin:auto;transform:scaleX(var(--width)) scaleY(var(--height));transform-origin:center bottom;filter:drop-shadow(0 26px 24px rgba(0,0,0,.48))}.forge-preview:after{content:"";position:absolute;left:50%;bottom:0;width:150px;height:18px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(103,222,255,.4),transparent 70%)}.preview-body{position:absolute;left:50%;bottom:24px;width:118px;height:150px;transform:translateX(-50%);clip-path:polygon(18% 0,82% 0,100% 25%,83% 100%,17% 100%,0 25%);background:linear-gradient(145deg,color-mix(in srgb,var(--armor),white 16%),var(--armor) 55%,color-mix(in srgb,var(--armor),black 30%));border-top:7px solid var(--accent)}.preview-body:before,.preview-body:after{content:"";position:absolute;top:28px;width:28px;height:105px;border-radius:16px;background:linear-gradient(var(--skin),color-mix(in srgb,var(--armor),black 12%))}.preview-body:before{left:-25px;transform:rotate(5deg)}.preview-body:after{right:-25px;transform:rotate(-5deg)}.preview-head{position:absolute;z-index:2;left:50%;top:21px;width:66px;height:76px;transform:translateX(-50%);border-radius:45% 45% 48% 48%;background:var(--skin)}.preview-head:after{content:"";position:absolute;left:16px;right:16px;top:35px;height:4px;border-left:6px solid #19181b;border-right:6px solid #19181b}.preview-hair{position:absolute;z-index:3;left:50%;top:10px;width:73px;height:38px;transform:translateX(-50%);border-radius:48% 48% 12% 12%;background:#211a1e}.forge-preview[data-hair="braided"] .preview-hair:after{content:"";position:absolute;right:0;top:24px;width:9px;height:82px;border-radius:6px;background:repeating-linear-gradient(#251a1e 0 8px,#70453e 8px 13px)}.forge-preview[data-hair="shaved"] .preview-hair{height:12px;top:19px;opacity:.45}.forge-preview[data-hair="hooded"] .preview-hair,.forge-preview[data-headgear="hood"] .preview-hair{width:89px;height:96px;top:5px;background:color-mix(in srgb,var(--armor),black 18%);clip-path:polygon(50% 0,94% 20%,100% 88%,76% 100%,50% 74%,24% 100%,0 88%,6% 20%)}.forge-preview[data-headgear="helm"] .preview-hair{width:82px;height:70px;top:8px;background:linear-gradient(145deg,color-mix(in srgb,var(--armor),white 30%),var(--armor));clip-path:polygon(4% 0,96% 0,100% 78%,70% 100%,58% 54%,42% 54%,30% 100%,0 78%)}.preview-cape{position:absolute;left:50%;bottom:20px;width:100px;height:152px;transform:translateX(-50%) translateX(24px);clip-path:polygon(0 0,100% 15%,82% 100%,12% 85%);background:color-mix(in srgb,var(--armor),black 32%);opacity:.9}.forge-preview:not([data-cape="true"]) .preview-cape{display:none}.preview-weapon{position:absolute;right:30px;bottom:25px;width:10px;height:150px;border-radius:4px;background:linear-gradient(#d7ecf5,#8092a0 70%,#3a2522 70%);transform:rotate(-8deg);box-shadow:0 0 12px rgba(198,235,255,.2)}.forge-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:16px}.forge-grid section{display:grid;align-content:start;gap:12px;padding:18px;border:1px solid rgba(127,204,235,.12);border-radius:16px;background:rgba(255,255,255,.02)}.forge-grid label{display:grid;gap:7px;color:#a8bac7;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.forge-grid input,.forge-grid select{width:100%;padding:10px 11px;border:1px solid rgba(124,201,232,.2);border-radius:9px;background:#07131d;color:#eef9ff}.role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.role-card{padding:11px;text-align:left;border-color:rgba(133,207,237,.14)}.role-card b{display:block}.role-card span{display:block;margin-top:3px;color:#8ea5b5;font-size:10px}.role-card.selected{border-color:var(--accent,#70d9ff);background:linear-gradient(135deg,rgba(47,106,139,.28),rgba(10,21,34,.88));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent,#70d9ff),transparent 55%)}.forge-role-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.forge-role-stats span{padding:8px;border-radius:8px;background:rgba(255,255,255,.035);text-align:center}.forge-role-stats b{display:block}.forge-role-stats small{font-size:7px;color:#8197a7;text-transform:uppercase}.swatch-row{display:flex;gap:8px;flex-wrap:wrap}.swatch{width:34px;height:34px;border-radius:50%;padding:0;border:3px solid rgba(255,255,255,.08);background:var(--swatch)}.swatch.selected{border-color:#fff;box-shadow:0 0 0 2px var(--accent,#70d9ff),0 0 18px color-mix(in srgb,var(--swatch),transparent 40%)}.palette-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.palette-choice{height:43px;padding:0;overflow:hidden;background:linear-gradient(135deg,var(--armor) 0 65%,var(--accent) 65%)}.palette-choice.selected{border-color:#fff;box-shadow:0 0 0 2px var(--accent)}.forge-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.forge-actions button{min-width:160px}
.briefing-card{width:min(880px,92vw)}.briefing-card h2{font-family:Georgia,serif;font-size:38px;margin:0 0 16px}.briefing-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.briefing-layout section{padding:16px;border:1px solid rgba(128,203,235,.12);border-radius:14px;background:rgba(255,255,255,.025)}.briefing-layout h3{margin:2px 0 9px;font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:#a9c5d5}.briefing-approach-card{padding:14px;border-left:3px solid #6fe6ff;background:rgba(60,152,190,.1)}.briefing-approach-card b{display:block;font-size:18px}.briefing-approach-card span{display:block;margin-top:4px;color:#a8bbc8;font-size:12px;line-height:1.5}.briefing-tags{display:flex;flex-wrap:wrap;gap:6px}.briefing-tags span{padding:6px 8px;border:1px solid rgba(125,234,179,.25);border-radius:999px;background:rgba(24,91,68,.17);font-size:10px;color:#91f1ba}.briefing-enemies{display:grid;gap:7px}.briefing-enemies span{padding:8px 9px;border-left:2px solid rgba(255,137,89,.5);background:rgba(103,38,24,.13);font-size:11px;color:#c2d0d9}.briefing-party-card{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:9px;margin-top:7px}.briefing-party-card i{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--armor,#3b6d8d),var(--accent,#6fe6ff))}.briefing-party-card b{display:block}.briefing-party-card small{color:#8fa4b3}
.loading-screen{position:fixed;inset:0;z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 45%,rgba(71,83,176,.25),transparent 32%),rgba(1,4,9,.97);backdrop-filter:blur(12px)}.loading-screen h2{font-family:Georgia,serif;font-size:32px;font-weight:400}.loading-rift{position:relative;width:120px;height:120px;margin-bottom:24px;border:1px solid rgba(102,220,255,.2);border-radius:50%;animation:rotate 5s linear infinite}.loading-rift:before,.loading-rift:after{content:"";position:absolute;inset:18px;border:2px solid rgba(157,104,255,.3);border-radius:50%;transform:rotate(60deg)}.loading-rift:after{inset:36px;background:radial-gradient(circle,#c8f7ff,#5f63ee 50%,#0f0925 75%);box-shadow:0 0 40px rgba(84,127,255,.6)}.loading-track{width:min(420px,70vw);height:4px;margin:10px 0 12px;background:rgba(255,255,255,.08);overflow:hidden}.loading-track i{display:block;width:4%;height:100%;background:linear-gradient(90deg,#58d8ff,#a574ff,#ffc76c);box-shadow:0 0 18px #65d9ff;transition:width .28s ease}.loading-screen>p:last-child{color:#91a7b7;font-size:12px}
.party-lobby-card{width:min(720px,92vw)}.party-preparation{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.party-preparation span{padding:6px 9px;border-radius:999px;border:1px solid rgba(111,230,255,.18);background:rgba(28,92,120,.15);font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#a9deef}.party-member{position:relative;display:grid;grid-template-columns:8px 1fr auto;gap:9px;align-items:center;padding:11px;border:1px solid rgba(255,255,255,.06);border-radius:11px;background:rgba(255,255,255,.025)}.party-member i{width:8px;height:8px;border-radius:50%;background:#6ef0aa;box-shadow:0 0 11px #6ef0aa}.party-member.offline i{background:#6e7480;box-shadow:none}.party-member.waiting:after{content:"NOT READY";font-size:8px;letter-spacing:.09em;color:#ffbd73}.party-member.ready:after{content:"READY";font-size:8px;letter-spacing:.09em;color:#7df7a1}.party-member.spectator:after{content:"WATCHING";font-size:8px;letter-spacing:.09em;color:#8ebde3}.ready-button{margin-top:12px;border-color:rgba(125,247,161,.35);background:rgba(42,118,77,.22)}.ready-button.is-ready{background:linear-gradient(135deg,rgba(43,140,84,.55),rgba(22,79,60,.55));box-shadow:0 0 20px rgba(74,239,139,.13)}
@media(max-width:900px){.home-shell{grid-template-columns:1fr;gap:20px;overflow:auto;padding:28px 0}.home-character-card{display:none}.home-actions{grid-template-columns:1fr}.home-actions .primary{grid-row:auto}.forge-heading{grid-template-columns:1fr}.forge-preview{display:none}.forge-grid,.briefing-layout{grid-template-columns:1fr}.map-layout{grid-template-columns:230px minmax(380px,1fr)}.right-panel{position:absolute;right:10px;top:10px;bottom:10px;width:min(330px,42vw);z-index:7}.top-hud{gap:10px}.resource-strip span{min-width:60px;padding:7px}.resource-strip small{display:none}}
@media(max-width:680px){.home-shell{width:calc(100vw - 28px);min-height:100vh;justify-content:center}.home-copy h1{font-size:64px}.home-actions button{min-height:64px}.home-utility{flex-wrap:wrap}.forge-card{padding:18px}.role-grid{grid-template-columns:1fr}.palette-grid{grid-template-columns:repeat(2,1fr)}.forge-role-stats{grid-template-columns:repeat(2,1fr)}.briefing-layout{gap:8px}.party-lobby-card{padding:18px}}
/* 1.6.0 modal stacking correction: homepage forge and raid lobby must sit above boot art. */
.modal{position:fixed;z-index:140}
#character-forge,#party-modal,#briefing-modal,#access-modal{z-index:145}
.loading-screen{z-index:170}
/* 1.6.0 campaign action-card hierarchy: keep costs readable instead of squeezing two columns. */
.node-actions button{grid-template-columns:1fr!important;justify-items:start;align-content:center;gap:5px;min-height:68px;padding:12px 14px}
.node-actions button span{display:block;font-weight:650;line-height:1.2;color:#eef7ff}
.node-actions button small{display:block;line-height:1.35;color:#8fa2b5!important;white-space:normal}
.node-actions button:disabled span,.node-actions button:disabled small{color:#65717e!important}
@media(max-width:820px){.node-actions button{min-height:62px;padding:10px 11px}.node-actions button span{font-size:12px}.node-actions button small{font-size:9px}}
.forge-field{display:grid;gap:7px}.forge-field-label{color:#a8bac7;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
/* Final phone precedence: keep the location panel as a bottom drawer, not a map-covering sidebar. */
@media(max-width:820px){
  .map-layout{inset:80px 8px 8px;display:block}
  .right-panel{position:absolute;left:8px;right:8px;top:auto;bottom:8px;width:auto;max-height:42%;padding:12px;overflow:auto;z-index:9;border-radius:16px}
  .right-panel .node-description{min-height:0;margin:4px 0;font-size:11px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .node-actions{grid-template-columns:1fr 1fr}
}
.party-member strong{display:block;line-height:1.2}.party-member small{display:block;margin-top:3px;line-height:1.25;color:#8fa4b3}.party-member>div{min-width:0}
/* Customized mini-actors carry forge identity through party, lobby, and briefing surfaces. */
.party-avatar,.mini-actor{--avatar-skin:#d7a579;--avatar-armor:#244a70;--avatar-accent:#70d9ff;position:relative;display:block;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--avatar-armor),white 12%),var(--avatar-armor));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--avatar-accent),transparent 55%),0 0 18px color-mix(in srgb,var(--avatar-accent),transparent 78%)}
.party-avatar:before,.mini-actor:before{content:"";position:absolute;z-index:2;left:50%;top:18%;width:34%;height:34%;transform:translateX(-50%);border-radius:48% 48% 44% 44%;background:var(--avatar-skin);box-shadow:0 -5px 0 color-mix(in srgb,var(--avatar-armor),black 45%)}
.party-avatar:after,.mini-actor:after{content:"";position:absolute;left:20%;right:20%;bottom:-4%;height:48%;clip-path:polygon(18% 0,82% 0,100% 100%,0 100%);background:linear-gradient(135deg,var(--avatar-armor),color-mix(in srgb,var(--avatar-armor),black 24%));border-top:2px solid var(--avatar-accent)}
.party-avatar{font-size:0}
.party-member{grid-template-columns:32px 1fr auto}.party-member>.mini-actor{width:30px;height:30px;border-radius:9px}.party-member>i{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--avatar-accent),transparent 55%),0 0 13px color-mix(in srgb,var(--avatar-accent),transparent 72%)}
.briefing-party-card>.mini-actor{width:34px;height:34px;border-radius:10px}
/* 1.7.0 persistent campaign library and World Studio */
#campaign-library,#world-studio{z-index:148}.campaign-library-card{width:min(1120px,94vw);max-height:90vh;overflow:auto}.library-heading,.studio-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.library-heading h2,.studio-heading h2{margin:0 0 6px;font-family:Georgia,serif;font-size:38px}.library-heading p,.studio-heading p{max-width:700px;color:#9eb2c0}.sync-status,.studio-validation{padding:9px 12px;border:1px solid rgba(115,216,255,.22);border-radius:999px;background:rgba(36,100,128,.16);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#aee9ff;white-space:nowrap}.sync-status.online,.studio-validation.valid{border-color:rgba(108,241,159,.35);background:rgba(31,105,65,.2);color:#87f5ae}.studio-validation.invalid{border-color:rgba(255,124,101,.4);background:rgba(113,40,36,.23);color:#ff9c8c}.library-toolbar{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.library-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.library-columns>section{padding:15px;border:1px solid rgba(127,204,235,.12);border-radius:15px;background:rgba(255,255,255,.02)}.library-columns h3{margin:0 0 11px;color:#b9d0dc;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.campaign-card-list{display:grid;gap:10px}.campaign-library-empty{padding:22px;border:1px dashed rgba(132,204,232,.16);border-radius:12px;text-align:center;color:#78909f}.campaign-card{display:grid;gap:9px;padding:14px;border:1px solid rgba(132,204,232,.13);border-radius:13px;background:linear-gradient(135deg,rgba(20,48,67,.7),rgba(7,16,27,.88))}.campaign-card.current{border-color:rgba(111,230,255,.5);box-shadow:0 0 0 1px rgba(111,230,255,.12),0 0 24px rgba(59,165,208,.09)}.campaign-card header{display:flex;justify-content:space-between;gap:10px}.campaign-card h4{margin:0;font-family:Georgia,serif;font-size:20px}.campaign-card p{margin:0;color:#9aafbd;font-size:11px;line-height:1.5}.campaign-card-meta{display:flex;flex-wrap:wrap;gap:5px}.campaign-card-meta span{padding:4px 6px;border-radius:999px;background:rgba(255,255,255,.045);font-size:8px;letter-spacing:.07em;text-transform:uppercase;color:#9db7c7}.campaign-card-actions{display:flex;flex-wrap:wrap;gap:6px}.campaign-card-actions button{padding:7px 9px;font-size:9px}.campaign-role{font-size:8px;color:#76e4ff;text-transform:uppercase;letter-spacing:.1em}.studio-card{width:min(1180px,95vw);max-height:92vh;overflow:auto}.studio-layout{display:grid;grid-template-columns:170px 1fr;gap:18px;margin-top:17px}.studio-tabs{display:grid;align-content:start;gap:6px}.studio-tabs button{text-align:left;padding:11px}.studio-tabs button.selected{border-color:rgba(111,230,255,.45);background:rgba(43,119,151,.21);color:#dff9ff}.studio-panel{padding:17px;border:1px solid rgba(126,203,234,.13);border-radius:15px;background:rgba(255,255,255,.02);min-height:330px}.studio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.studio-grid label,.package-editor-label{display:grid;gap:7px;color:#9eb1bf;font-size:9px;letter-spacing:.09em;text-transform:uppercase}.studio-grid label.wide{grid-column:1/-1}.studio-grid input,.studio-grid select,.studio-grid textarea,.package-editor-label textarea{width:100%;padding:10px 11px;border:1px solid rgba(123,202,233,.2);border-radius:9px;background:#06111b;color:#edf9ff;resize:vertical}.studio-grid textarea{min-height:92px}.package-editor-label textarea{min-height:360px;font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:none;letter-spacing:0}.studio-rules{display:grid;gap:10px;max-width:520px}.studio-rules .toggle-row{padding:11px;border:1px solid rgba(127,204,235,.12);border-radius:10px;background:rgba(255,255,255,.025)}.studio-explainer{margin-top:20px;padding:16px;border-left:3px solid #74dfff;background:rgba(36,104,134,.12)}.studio-explainer p{color:#9eb2bf;line-height:1.6}.history-preview{display:grid;gap:7px;margin-top:15px}.history-preview span{padding:9px 10px;border-left:2px solid rgba(168,111,255,.55);background:rgba(84,52,120,.13);font-size:11px;color:#b8c8d3}.studio-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:17px}.studio-actions button{min-width:120px}
@media(max-width:900px){.library-columns{grid-template-columns:1fr}.studio-layout{grid-template-columns:1fr}.studio-tabs{grid-template-columns:repeat(4,1fr)}.studio-tabs button{text-align:center}.library-heading,.studio-heading{display:block}.sync-status,.studio-validation{display:inline-block;margin-top:8px}}
@media(max-width:620px){.campaign-library-card,.studio-card{padding:17px}.library-heading h2,.studio-heading h2{font-size:30px}.studio-grid{grid-template-columns:1fr}.studio-grid label.wide{grid-column:auto}.studio-tabs{grid-template-columns:repeat(2,1fr)}.studio-actions{display:grid;grid-template-columns:1fr 1fr}.studio-actions button{min-width:0}.library-toolbar{display:grid;grid-template-columns:1fr 1fr}.library-toolbar>*{min-width:0}.campaign-card header{display:block}}
.account-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border:1px solid rgba(193,220,255,.15);background:rgba(2,8,20,.58);border-radius:12px}.account-mode-tabs button{border:0;background:transparent;color:rgba(228,238,255,.64);padding:10px 12px;border-radius:8px}.account-mode-tabs button.selected{background:linear-gradient(135deg,rgba(75,126,181,.34),rgba(133,80,183,.24));color:#fff;box-shadow:inset 0 0 0 1px rgba(183,219,255,.22)}
.studio-subhead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:4px 0 12px}.studio-subhead h3{margin:0 0 4px}.studio-subhead p{margin:0;color:rgba(222,232,248,.62);max-width:720px}.studio-repeat-list{display:grid;gap:10px;margin-bottom:24px}.studio-repeat-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(210px,2fr) minmax(130px,.8fr) 90px 40px;gap:8px;align-items:end;padding:12px;border:1px solid rgba(176,210,255,.13);border-radius:12px;background:rgba(3,10,24,.48)}.studio-repeat-row.outcome{grid-template-columns:minmax(160px,1fr) minmax(210px,1.7fr) 140px 90px 40px}.studio-repeat-row.location{grid-template-columns:minmax(120px,.8fr) minmax(150px,1fr) 120px 74px 74px 92px 40px}.studio-repeat-row.location .location-description{grid-column:1/-2}.studio-repeat-row.location .location-tags{grid-column:1/-2}.studio-repeat-row label{display:grid;gap:5px;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(220,233,251,.55)}.studio-repeat-row input,.studio-repeat-row select{width:100%}.studio-repeat-row .row-remove{height:38px;width:38px;padding:0;border-radius:50%;font-size:1.1rem}.studio-card code{color:#c5deff;background:rgba(110,153,213,.12);padding:2px 5px;border-radius:4px}@media(max-width:800px){.studio-repeat-row,.studio-repeat-row.outcome,.studio-repeat-row.location{grid-template-columns:1fr 1fr}.studio-repeat-row.location .location-description,.studio-repeat-row.location .location-tags{grid-column:1/-1}.studio-repeat-row label:nth-child(2){grid-column:1/-1}.studio-repeat-row .row-remove{justify-self:end}.studio-subhead{align-items:stretch;flex-direction:column}.studio-tabs{overflow-x:auto;grid-auto-flow:column;grid-auto-columns:max-content;display:grid}}
/* 1.8.0 player-first flow: ordinary play stays obvious while creator tools remain available. */
.player-first-actions{grid-template-columns:minmax(260px,1.35fr) minmax(220px,1fr);max-width:820px}
.player-first-actions .primary{grid-row:1/3;min-height:150px}.player-first-actions .home-secondary{min-height:70px}
.home-more{max-width:820px;margin-top:12px;border:1px solid rgba(139,211,240,.12);border-radius:12px;background:rgba(3,10,17,.38);text-align:left}
.home-more summary{padding:11px 14px;cursor:pointer;color:#9eb6c5;font-size:10px;letter-spacing:.1em;text-transform:uppercase;list-style:none}.home-more summary::-webkit-details-marker{display:none}.home-more summary:after{content:'+';float:right;color:#6fe6ff;font-size:16px}.home-more[open] summary:after{content:'–'}
.home-more .home-utility{padding:0 10px 10px;margin:0;display:flex;flex-wrap:wrap;gap:7px}.home-more .home-utility>*{margin:0}
.player-guide{padding:14px;border:1px solid rgba(111,230,255,.2);border-radius:14px;background:linear-gradient(145deg,rgba(23,74,96,.22),rgba(7,18,29,.58));box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.player-guide h2{margin:0 0 6px;font-family:Georgia,serif;font-size:21px;font-weight:400}.player-guide>p:not(.eyebrow){margin:0 0 12px;color:#a9bbc7;font-size:11px;line-height:1.55}.player-guide button{min-height:40px}
.node-actions .quick-action{border-color:rgba(125,247,161,.25);background:linear-gradient(135deg,rgba(34,102,69,.28),rgba(8,31,25,.48))}.node-actions .quick-action span:before{content:'FAST · ';color:#79efad;font-size:8px;letter-spacing:.1em}
.quick-adventure-card{width:min(880px,94vw);max-height:90vh;overflow:auto}.quick-adventure-card h2{margin:0 0 7px;font-family:Georgia,serif;font-size:38px;font-weight:400}.quick-intro{color:#9eb2c0;line-height:1.6}
.quick-template-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.quick-template-list button{text-align:left;min-height:92px;padding:14px}.quick-template-list button b{display:block;margin-bottom:5px;font-family:Georgia,serif;font-size:18px;font-weight:400}.quick-template-list button span{display:block;color:#94a9b7;font-size:11px;line-height:1.45}.quick-template-list button.selected{border-color:rgba(111,230,255,.58);background:linear-gradient(135deg,rgba(35,104,135,.34),rgba(13,35,54,.7));box-shadow:0 0 0 1px rgba(111,230,255,.08),0 15px 40px rgba(0,0,0,.2)}
.quick-adventure-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.quick-adventure-fields label{display:grid;gap:7px;color:#9eb1bf;font-size:9px;letter-spacing:.09em;text-transform:uppercase}.quick-adventure-fields input,.quick-adventure-fields select{width:100%;padding:11px;border:1px solid rgba(123,202,233,.2);border-radius:9px;background:#06111b;color:#edf9ff}
.quick-adventure-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.quick-adventure-actions button{min-width:180px}
.room-code-row+#party-invite-hint{margin:7px 2px 12px}.invite-autofill{border-color:rgba(111,230,255,.45)!important;box-shadow:0 0 0 3px rgba(111,230,255,.08)}
@media(max-width:900px){.player-first-actions{grid-template-columns:1fr}.player-first-actions .primary{grid-row:auto;min-height:95px}.quick-adventure-fields{grid-template-columns:1fr 1fr}.quick-adventure-fields label:first-child{grid-column:1/-1}}
@media(max-width:620px){.home-more{width:100%}.home-more .home-utility{display:grid;grid-template-columns:1fr 1fr}.quick-template-list,.quick-adventure-fields{grid-template-columns:1fr}.quick-adventure-fields label:first-child{grid-column:auto}.quick-adventure-actions{display:grid;grid-template-columns:1fr}.quick-adventure-actions button{min-width:0}.player-guide{padding:12px}.player-guide h2{font-size:18px}}
/* 1.8 player-first multiplayer entry */
.party-character-strip{grid-column:1/-1;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(111,230,255,.18);border-radius:13px;background:linear-gradient(120deg,rgba(20,67,91,.18),rgba(10,18,29,.72))}.party-character-strip .mini-actor{width:36px;height:36px}.party-character-strip div{display:grid;gap:1px}.party-character-strip span,.party-character-strip small{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#84a4b7}.party-character-strip strong{font-size:15px;color:#f1fbff}.party-character-strip button{padding:8px 11px}.party-options{grid-column:1/-1;border:1px solid rgba(135,210,235,.13);border-radius:11px;background:rgba(4,13,21,.48)}.party-options summary{cursor:pointer;padding:10px 12px;color:#8fb4c6;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.party-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 12px 12px}.party-option-grid label{margin:0!important}#room-code-label{grid-column:1/-1}.party-connect-form>.spectator-toggle{grid-column:1/-1;margin:0!important}.party-connect-form>.micro{grid-column:1/-1;margin:0;text-align:center}@media(max-width:640px){.party-option-grid{grid-template-columns:1fr}.party-character-strip{grid-template-columns:38px 1fr auto;padding:10px}.party-character-strip button{font-size:10px}}
