:root{color-scheme:light;font-family:Alegreya Sans,system-ui,sans-serif;--display: "Cormorant Garamond", Georgia, serif;--bg: #1a160f;--hud-panel: rgba(24, 20, 13, .82);--hud-panel-soft: rgba(24, 20, 13, .72);--hud-panel-inset: rgba(24, 20, 13, .6);--hud-line: rgba(201, 166, 74, .45);--hud-line-soft: rgba(201, 166, 74, .3);--hud-blur: blur(4px);--hud-radius: 6px;--window-bg: #f7f2e6;--card-bg: #fffdf7;--card-selected: #fffbe9;--window-line: rgba(150, 116, 42, .3);--window-line-strong: rgba(150, 116, 42, .45);--window-line-selected: #8a6a1f;--panel-modal-gradient: #f7f2e6;--line: rgba(201, 166, 74, .45);--gold: #e3c877;--gold-mid: #c9a850;--gold-primary: #b08d2f;--gold-deep: #8a6a1f;--gold-label: #7d5f1a;--gold-warn: #a3720f;--gold-button: linear-gradient(180deg, #d9b45a, #b08d2f);--ink: #2b2416;--ink-body: #4a4232;--ink-secondary: #6b6047;--ink-muted: #8d8168;--ink-disabled: #a89e88;--gain: #3d7a3a;--loss: #a33a3a;--hp-bar: linear-gradient(180deg, #d4606f, #b8434f);--sp-bar: linear-gradient(180deg, #6f9fc4, #4d7ea6);--text: #efe6cd;--muted: rgba(239, 230, 205, .62);--team-ally: #5b8fe8;--team-ally-bright: #8ab4ff;--team-enemy: #c5636a;--team-enemy-bright: #e2707a;--side-blue: #4f7fd0;--side-red: #c1564a}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;background:radial-gradient(circle at top,rgba(255,240,192,.58),transparent 42%),linear-gradient(180deg,#9eb99a,#6d8e69)}body{user-select:none}body.app-loading{background:#08120e}#app{position:relative}.game-canvas{width:100%;height:100%;display:block;cursor:crosshair}.game-canvas.cursor-loot{cursor:grab}.game-canvas.cursor-talk{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26'%3E%3Cpath d='M4 4h18v12H12l-5 5v-5H4z' fill='none' stroke='%23e3c877' stroke-width='2.2' stroke-linejoin='round'/%3E%3C/svg%3E") 4 4,pointer}.game-canvas.cursor-attack{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Ccircle cx='14' cy='14' r='9' fill='none' stroke='%23e5484d' stroke-width='2.5'/%3E%3Cline x1='14' y1='2' x2='14' y2='8' stroke='%23e5484d' stroke-width='2.5'/%3E%3Cline x1='14' y1='20' x2='14' y2='26' stroke='%23e5484d' stroke-width='2.5'/%3E%3Cline x1='2' y1='14' x2='8' y2='14' stroke='%23e5484d' stroke-width='2.5'/%3E%3Cline x1='20' y1='14' x2='26' y2='14' stroke='%23e5484d' stroke-width='2.5'/%3E%3C/svg%3E") 14 14,crosshair}.game-canvas.cursor-pvp{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cg stroke='%23e5484d' stroke-width='2.4' stroke-linecap='round'%3E%3Cline x1='6' y1='22' x2='20' y2='8'/%3E%3Cline x1='17' y1='3' x2='25' y2='11' stroke-width='3.2'/%3E%3Cline x1='9' y1='13' x2='15' y2='19'/%3E%3Cline x1='5' y1='23' x2='3' y2='25'/%3E%3C/g%3E%3C/svg%3E") 4 24,crosshair}.game-canvas.cursor-cast{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34'%3E%3Ccircle cx='17' cy='17' r='11' fill='none' stroke='%23ff6b52' stroke-width='2' opacity='0.95'/%3E%3Ccircle cx='17' cy='17' r='2.2' fill='%23ff6b52'/%3E%3Cg stroke='%23ff6b52' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M17 1v5'/%3E%3Cpath d='M17 28v5'/%3E%3Cpath d='M1 17h5'/%3E%3Cpath d='M28 17h5'/%3E%3C/g%3E%3C/svg%3E") 17 17,crosshair}.game-canvas.cursor-bless{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cg stroke='%238fe0b0' stroke-width='3' stroke-linecap='round'%3E%3Cline x1='14' y1='5' x2='14' y2='23'/%3E%3Cline x1='5' y1='14' x2='23' y2='14'/%3E%3C/g%3E%3C/svg%3E") 14 14,crosshair}.startup-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;overflow:hidden;background:radial-gradient(circle at 50% 32%,rgba(255,244,198,.14),transparent 35%),#08120e;transition:opacity .7s ease,visibility .7s ease,transform .7s ease}body.app-ready .startup-overlay{opacity:0;visibility:hidden;transform:scale(1.02)}.startup-overlay__backdrop{position:absolute;inset:0;background:linear-gradient(180deg,#050b0929,#050b09d6),radial-gradient(circle at 50% 50%,rgba(115,177,189,.1),transparent 50%),url(/branding/loading-art.png) center center / cover no-repeat;filter:saturate(1.05);transform:scale(1.02)}.startup-overlay__backdrop:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 24%,rgba(255,242,192,.32),transparent 26%),linear-gradient(180deg,#0207060a,#02070685)}.startup-overlay__content{position:relative;z-index:1;display:grid;justify-items:center;gap:16px;width:min(900px,100%)}.startup-overlay__logo{width:min(520px,82vw);height:auto;filter:drop-shadow(0 10px 24px rgba(0,0,0,.55))}.startup-overlay__panel{width:min(560px,100%);padding:18px 22px 20px;border:1px solid rgba(223,201,128,.28);border-radius:18px;color:#f5f0e0;text-align:center;background:linear-gradient(180deg,#15211c99,#080d0ac7),#0000004d;box-shadow:0 24px 44px #0000004d;backdrop-filter:blur(10px)}.startup-overlay__eyebrow{margin:0 0 10px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#e8d9abd1}.startup-overlay__title{margin:0;font-size:clamp(30px,5vw,48px);font-weight:400;letter-spacing:.08em;color:#fff2cb;text-transform:uppercase}.startup-overlay__copy{margin:10px auto 16px;max-width:40ch;font-size:14px;line-height:1.6;color:#f3eddde6}.startup-overlay__bar{position:relative;height:10px;overflow:hidden;border-radius:999px;background:#ffffff1f}.startup-overlay__bar-fill{position:absolute;inset:0;width:42%;border-radius:inherit;background:linear-gradient(90deg,#6cbed0f0,#f2da93f0);box-shadow:0 0 12px #79c4d15c,0 0 22px #e7d39a33;animation:loading-sweep 1.8s ease-in-out infinite}@keyframes loading-sweep{0%{transform:translate(-100%)}to{transform:translate(340%)}}.startup-overlay__hint{margin:12px 0 0;font-size:12px;letter-spacing:.05em;color:#d9d4c2bd}.hud-root{position:absolute;inset:0;pointer-events:none}.path-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.path-layer polyline,.path-layer circle{filter:drop-shadow(0 0 10px rgba(241,210,120,.42))}.hud-top{position:absolute;top:18px;left:18px;right:calc(34px + min(256px,26vw));display:flex;justify-content:space-between;gap:16px}.hud-panel{width:min(296px,42vw);padding:11px 13px 9px;border:1px solid var(--hud-line);border-radius:var(--hud-radius);color:var(--text);background:var(--hud-panel);box-shadow:0 6px 18px #00000052;backdrop-filter:var(--hud-blur)}.hud-title{display:block;margin-bottom:6px;font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:.06em;font-variant:small-caps;text-transform:none;color:var(--gold)}.hud-subtitle{display:block;margin-top:-2px;margin-bottom:10px;font-size:11px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}.plate-name-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:3px 10px;margin-bottom:7px}.plate-name-row .hud-title{margin-bottom:0}.plate-standing{font-size:12px;color:#efe6cda6;white-space:nowrap}.plate-exp{margin-left:auto;font-size:10.5px;color:#efe6cd9e;white-space:nowrap}.bar-wrapper{display:flex;align-items:center;gap:8px}.bar-wrapper .bar{flex:1}.bar-wrapper .bar-label{width:64px;flex:0 0 auto;text-align:right;margin-top:0;font-size:11.5px;color:#efe6cdcc}.bar-wrapper{margin-top:6px}.bar{height:8px;border-radius:999px;overflow:hidden;background:#00000061;box-shadow:inset 0 0 0 1px #c9a64a2e}.bar-secondary .bar-fill,.bar+.bar-fill{background:var(--sp-bar)}.bar-fill{height:100%;width:0;background:var(--hp-bar)}.bar-secondary .bar-fill{background:var(--sp-bar)}.bar.bar-exp{height:4px;box-shadow:inset 0 0 0 1px #c9a64a24}.bar-exp .bar-fill{background:linear-gradient(180deg,#e3c877,#b08d2f)}.bar-wrapper-exp{margin-top:5px}.bar-wrapper-exp .bar-label{font-size:10.5px;color:#efe6cd9e}.bar-wrapper-exp.is-stalled .bar-fill{background:#c9a64a4d}.bar-wrapper-exp.is-stalled .bar-label{font-style:italic}.bar.bar-stamina{height:5px;box-shadow:inset 0 0 0 1px #78c88229}.bar-stamina .bar-fill{background:linear-gradient(180deg,#8fd98a,#3f9a4a)}.bar-wrapper-stamina{margin-top:5px}.bar-wrapper-stamina .bar-label{font-size:10.5px;color:#efe6cd9e}.bar-wrapper-stamina.is-winded .bar-fill{background:#d1372f8c}.bar-label{display:block;margin-top:3px;font-size:12px;color:var(--muted)}.hotbar{position:absolute;left:50%;bottom:18px;transform:translate(-50%);display:flex;gap:6px}.hotbar-slot{position:relative;width:50px;height:50px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--hud-line-soft);border-radius:7px;overflow:hidden;color:var(--text);cursor:default;background:var(--hud-panel-inset);box-shadow:0 4px 12px #0000004d;backdrop-filter:var(--hud-blur)}.hotbar-slot:not(.has-icon){border-style:dashed}.skill-picker{position:absolute;left:50%;bottom:96px;transform:translate(-50%);z-index:5;min-width:210px;max-height:320px;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:4px;border:1px solid rgba(203,170,108,.5);border-radius:10px;background:var(--panel-modal-gradient);box-shadow:0 18px 44px #0000008c;pointer-events:auto}.skill-picker-header{padding:2px 6px 6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.skill-picker-option{display:flex;align-items:center;gap:9px;padding:6px 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.skill-picker-option:hover{background:#cbaa6c24}.skill-picker-option.is-current{border-color:#cbaa6c99;background:#cbaa6c1f}.skill-picker-icon{width:28px;height:28px;flex:0 0 auto;border-radius:6px;border:1px solid rgba(203,170,108,.35);background-size:cover;background-position:center}.skill-picker-note{margin-left:6px;font-size:10px;color:var(--muted)}.skill-picker-clear{justify-content:center;margin-top:2px;border-top:1px solid rgba(203,170,108,.2);border-radius:0 0 7px 7px;font-size:12px;color:var(--muted)}.hotbar-slot.has-icon{background-size:cover;background-position:center}.hotbar-slot.is-unaffordable{filter:grayscale(.85) brightness(.45);opacity:.7;border-color:#78787859;box-shadow:none}.hotbar-slot.is-combo{border-color:#ffd166;box-shadow:0 0 0 2px #ffd166d9,0 0 14px 3px #ffbe468c;animation:hotbar-combo-breathe .9s ease-in-out infinite alternate}@keyframes hotbar-combo-breathe{0%{box-shadow:0 0 0 2px #ffd166b3,0 0 8px 2px #ffbe4659}to{box-shadow:0 0 0 2px #ffe08c,0 0 18px 5px #ffbe46b3}}@media(prefers-reduced-motion:reduce){.hotbar-slot.is-combo{animation:none}}.hotbar-slot.is-short-tempo .hotbar-status{color:#f2a65a}.hotbar-slot.has-icon .hotbar-status{padding:2px 0 3px;background:linear-gradient(#080a0800,#080a08d1 55%)}.hotbar-slot.active{outline:2px solid rgba(219,185,107,.85);transform:translateY(-2px)}.hotbar-key{position:absolute;top:3px;left:4px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:5px;background:#00000080;font-size:11px;color:var(--text)}.hotbar-technique{position:absolute;right:calc(100% + 16px);bottom:0;width:74px;border-color:var(--trade-color, var(--gold-primary))}.hotbar-technique .hotbar-key,.hotbar-technique .hotbar-abbr{color:var(--trade-color, var(--text))}.hotbar-technique .hotbar-abbr{padding:13px 4px 12px;font-size:9.5px;line-height:1.15;text-align:center;overflow-wrap:anywhere}.hotbar-abbr{font-size:16px;font-weight:600;color:var(--text);text-shadow:0 1px 3px rgba(0,0,0,.5)}.hotbar-status{position:absolute;bottom:3px;width:100%;text-align:center;font-size:9px;color:#eae3d3d9}.hotbar-busy-overlay{position:absolute;inset:0;background:#080a08b8;pointer-events:none}.hotbar-slot-empty{background:#0000002e;border-style:dashed;border-color:#cbaa6c38}.status-strip{position:absolute;left:calc(30px + min(300px,40vw));bottom:96px;padding:10px 14px;border-radius:999px;border:1px solid rgba(203,170,108,.32);background:var(--hud-panel-soft);color:var(--text);font-size:12px}.floating-layer{position:absolute;inset:0;pointer-events:none}.floating-text{position:absolute;left:0;top:0;transform:translate(-9999px,-9999px);color:#fff;font-size:18px;font-weight:700;text-shadow:0 2px 6px rgba(0,0,0,.6)}.floating-text-crit{letter-spacing:.02em}.floating-text-crit:before{content:"";position:absolute;z-index:-1;inset:-.85em -1.05em;background:radial-gradient(circle,#ff9e42f2,#db3e2ae0 52%,#db3e2a00 74%);clip-path:polygon(50% 0%,55.7% 28.7%,75% 6.7%,65.6% 34.4%,93.3% 25%,71.3% 44.3%,100% 50%,71.3% 55.7%,93.3% 75%,65.6% 65.6%,75% 93.3%,55.7% 71.3%,50% 100%,44.3% 71.3%,25% 93.3%,34.4% 65.6%,6.7% 75%,28.7% 55.7%,0% 50%,28.7% 44.3%,6.7% 25%,34.4% 34.4%,25% 6.7%,44.3% 28.7%);animation:floating-text-crit-burst .5s cubic-bezier(.16,1,.3,1) forwards;pointer-events:none}@keyframes floating-text-crit-burst{0%{transform:scale(.15) rotate(-10deg);opacity:0}30%{transform:scale(1.05) rotate(3deg);opacity:1}to{transform:scale(1.3) rotate(3deg);opacity:0}}.floating-text-crit.is-still:before{animation:floating-text-crit-burst-still .5s ease forwards}@keyframes floating-text-crit-burst-still{0%{opacity:0}30%{opacity:1}to{opacity:0}}.debug-panel{position:absolute;top:18px;right:18px;z-index:20;width:min(320px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow-y:auto;overscroll-behavior:contain;padding:16px;display:none;gap:10px;border-radius:12px;border:1px solid rgba(203,170,108,.42);background:var(--panel-modal-gradient);color:var(--text);pointer-events:auto;box-shadow:0 10px 26px #0006,inset 0 1px #ffffff0d}.debug-panel>*{flex-shrink:0}.debug-panel::-webkit-scrollbar{width:8px}.debug-panel::-webkit-scrollbar-thumb{background:#cbaa6c59;border-radius:4px}.debug-panel::-webkit-scrollbar-track{background:transparent}body.debug-open .debug-panel{display:grid}.debug-panel button,.debug-panel input{width:100%}.debug-panel button{padding:10px 12px;border:1px solid rgba(203,170,108,.4);border-radius:8px;color:var(--text);background:#00000040;cursor:pointer;transition:background .12s ease}.debug-panel button:hover{background:#cbaa6c2e}.debug-panel label{display:grid;gap:8px;font-size:13px;color:var(--muted)}.debug-header{font-family:var(--display);font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--gold)}.debug-help{font-size:12px;color:var(--muted)}.character-sheet-backdrop{position:fixed;inset:0;z-index:30;display:none;align-items:center;justify-content:center;padding:24px;background:#060a078c;pointer-events:auto}body.character-sheet-open .character-sheet-backdrop{display:flex}.character-sheet-card{width:min(1020px,95vw);max-height:92vh;overflow-y:auto;padding:26px 30px 22px;border:1px solid rgba(203,170,108,.5);border-radius:12px;background:var(--panel-modal-gradient);box-shadow:0 24px 60px #00000073;color:var(--ink)}.character-sheet-card[data-tab=equipment]{width:min(1260px,96vw)}.character-sheet-card[data-tab=skills]{width:min(970px,96vw)}.character-sheet-card[data-tab=inventory],.character-sheet-card[data-tab=quests]{width:min(900px,96vw)}.character-sheet-card[data-tab=trade],.character-sheet-card[data-tab=book]{width:min(1060px,96vw)}.character-sheet-card[data-tab=companions]{width:min(900px,96vw)}.character-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.character-sheet-title{font-family:var(--display);font-weight:600;font-size:24px;color:#8a6a22}.character-sheet-subtitle{margin-top:4px;font-size:14px;color:var(--ink-secondary)}.character-sheet-close{width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid rgba(138,106,34,.4);border-radius:8px;background:var(--card-bg);color:var(--ink-secondary);font-size:18px;line-height:1;cursor:pointer;transition:background .12s ease}.character-sheet-close:hover{background:#fffdf8}.character-sheet-divider{height:1px;margin:14px 0 16px;background:#8a6a2247}.character-sheet-section-label{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-label)}.character-sheet-body{position:relative;display:flex;gap:24px}.character-sheet-body.showing-skills{min-height:min(620px,74vh)}.attributes-columns:not([hidden]){display:grid;grid-template-columns:284px minmax(0,1fr) 284px;gap:24px;align-items:start;flex:1;min-width:0}@media(max-width:1080px){.attributes-columns:not([hidden]){grid-template-columns:minmax(0,1fr)}}.attributes-column{min-width:0}.combat-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.combat-stat-cell{padding:9px 11px;border:1px solid var(--window-line);border-radius:8px;background:var(--card-bg)}.combat-stat-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.combat-stat-value{margin-top:1px;font-family:var(--display);font-size:23px;font-weight:700;line-height:1.15;color:var(--ink)}.attributes-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.character-sheet-section-label b{margin-left:4px;font-size:13px;color:var(--ink)}.attributes-reset{border:none;background:transparent;font-size:12px;color:var(--ink-secondary);text-decoration:underline;cursor:pointer}.attributes-reset:hover{color:var(--ink)}.attribute-row{display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px 10px;border:1px solid var(--window-line);border-radius:8px;background:var(--card-bg)}.attribute-name{font-size:15px;color:var(--ink)}.attribute-abbr{width:34px;flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--gold-label)}.attribute-hint{margin-right:auto;font-size:11.5px;color:var(--gold-label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-footnote{margin-top:12px;font-size:11.5px;line-height:1.5;color:var(--ink-muted)}.attribute-controls{display:flex;align-items:center;gap:8px}.attribute-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(138,106,34,.45);border-radius:6px;background:var(--card-bg);color:var(--ink);cursor:pointer;transition:background .12s ease}.attribute-btn:hover:not(:disabled){background:#fffdf8}.attribute-btn.is-add{border-color:var(--window-line-selected);background:linear-gradient(180deg,#d8bc6a,#b08d2f);color:#2b2211;font-weight:700}.attribute-btn.is-add:hover:not(:disabled){background:linear-gradient(180deg,#e3c877,#bd9835)}.attribute-btn:disabled{opacity:.35;cursor:default}.attribute-value{width:28px;text-align:center;font-size:16px;font-weight:600;color:#8a6a22}.active-effects-panel{position:absolute;top:18px;left:50%;transform:translate(-50%);display:none;gap:10px}.effect-icon{position:relative;width:48px;height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:8px;overflow:hidden;background:#0006;border:2px solid var(--effect-tint, var(--line))}.effect-icon-label{font-size:12px;font-weight:600;color:var(--text)}.effect-icon-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.effect-icon-stacks{position:absolute;right:2px;top:1px;font-size:11px;font-weight:700;line-height:1;color:var(--text);text-shadow:0 0 3px #000,0 0 3px #000}.effect-icon-timer{font-size:9px;color:var(--muted)}.effect-icon-bar{position:absolute;left:0;bottom:0;width:100%;height:3px;background:#ffffff1a}.effect-icon-bar-fill{height:100%;width:0;background:var(--effect-tint, var(--gold))}.minimap-panel{position:absolute;top:18px;right:18px;width:min(256px,26vw)}.minimap-body{display:flex;flex-direction:column;align-items:center;gap:8px;transform-origin:top right;transition:transform .18s ease-out}.minimap-panel:hover{z-index:5}.minimap-panel:hover .minimap-body{transform:scale(1.7)}.minimap-frame{position:relative;width:100%;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;overflow:hidden;background:var(--panel-modal-gradient);box-shadow:0 10px 26px #0006,inset 0 1px #ffffff0d}.minimap-canvas{display:block;width:100%;height:100%}.minimap-cardinal{position:absolute;inset:0;pointer-events:none;transform-origin:50% 50%}.minimap-cardinal>span{position:absolute;top:6px;left:50%;margin-left:-.5em;width:1em;text-align:center;display:block;font-family:var(--display);font-size:11px;color:#dab96bb3;transform-origin:50% 50%}.minimap-label{max-width:100%;box-sizing:border-box;padding:0 .8rem;border-radius:999px;background:var(--hud-panel-soft);box-shadow:inset 0 0 0 1px var(--hud-line);font-family:var(--display);font-size:13px;color:#f0d98c;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.7)}.quest-log-panel{position:absolute;top:330px;right:18px;width:min(330px,32vw);padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--hud-panel);box-shadow:0 10px 26px #0006,inset 0 1px #ffffff0d;pointer-events:auto;display:flex;flex-direction:column}.quest-log-panel:not(.is-placed){max-height:max(200px,calc(100% - 470px))}.quest-log-header,.quest-log-tracker,.quest-log-next{flex:none}.quest-log-entries>*{flex-shrink:0}.quest-log-entries::-webkit-scrollbar{width:6px}.quest-log-entries::-webkit-scrollbar-thumb{background:#cbaa6c73;border-radius:3px}.quest-log-entries::-webkit-scrollbar-track{background:transparent}.quest-log-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.quest-log-title{font-family:var(--display);font-size:14px;color:var(--gold)}.quest-log-chevron{font-size:12px;color:var(--muted)}.quest-log-entries{margin-top:10px;display:flex;flex-direction:column;gap:12px;flex:0 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.quest-entry-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.quest-entry-title{font-size:15px;font-weight:600;color:var(--text)}.quest-entry-dismiss{flex:none;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid rgba(207,169,78,.55);border-radius:50%;background:#cfa94e29;color:var(--gold);font:inherit;font-size:17px;line-height:1;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.quest-entry-dismiss:hover,.quest-entry-dismiss:focus-visible{border-color:var(--gold);background:#cfa94e57;color:#fff3d4}.quest-entry-dismiss:active{transform:translateY(1px)}.quest-entry-description{margin-top:4px;font-size:12.5px;line-height:1.45;color:#eae3d3db}.quest-log-tracker{padding:3px 10px 5px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quest-log-next{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label count" "track track";column-gap:8px;width:100%;padding:2px 10px 6px;border:0;background:none;font:inherit;text-align:left;cursor:pointer;pointer-events:auto}.quest-log-next-label{grid-area:label;overflow:hidden;color:#d8c8ff;font-size:11.5px;font-weight:600;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis}.quest-log-next-count{grid-area:count;color:#eae3d3bf;font-size:11px;font-variant-numeric:tabular-nums}.quest-log-next-track{grid-area:track;height:3px;margin-top:3px;overflow:hidden;border-radius:2px;background:#ffffff1f}.quest-log-next-track i{display:block;height:100%;background:linear-gradient(to right,#9b7fe0,#c9b8ff);transition:width .4s ease}.quest-log-next:hover .quest-log-next-label{color:#efe6ff}.quest-entry-collapsed{padding:4px 2px 2px;font-size:11.5px;font-style:italic;color:#eae3d380}.quest-entry-giver{margin-top:3px;font-size:11.5px;font-style:italic;color:#eae3d38c}.quest-entry-objective{margin-top:5px;font-size:12px;font-weight:600;letter-spacing:.03em;color:var(--gold)}.quest-entry-hint{margin-top:6px;padding-left:8px;border-left:2px solid rgba(207,169,78,.55);font-size:12px;line-height:1.45;color:#e0be6a}.quest-entry--complete .quest-entry-title,.quest-entry--complete .quest-entry-description{opacity:.72}.quest-entry--complete .quest-entry-objective{color:#6fbf7a}.quest-bar{margin-top:6px;height:5px;border-radius:999px;background:#0a0e0a80;overflow:hidden}.quest-bar-fill{height:100%;background:#cfa94e}.quest-bar-fill--complete{background:#6fbf7a}.combat-log-panel{position:absolute;left:18px;bottom:290px;width:min(360px,42vw);padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--hud-panel);box-shadow:0 10px 26px #0006,inset 0 1px #ffffff0d;pointer-events:auto}.combat-log-header{font-family:var(--display);font-size:13px;letter-spacing:1px;color:var(--gold)}.combat-log-entries{margin-top:10px;max-height:160px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;font-size:12px;line-height:1.4;color:var(--muted)}.combat-log-category{font-weight:600}.performance{position:absolute;left:50%;transform:translate(-50%);bottom:108px;padding:10px 14px 9px;border:1px solid var(--line);border-radius:10px;background:var(--hud-panel);box-shadow:0 10px 26px #00000073;pointer-events:auto;z-index:33}.performance-row{display:flex;gap:6px}.performance-note{position:relative;min-width:42px;padding:7px 8px 15px;border:1px solid rgba(217,140,196,.35);border-radius:6px;background:#00000040;font-size:12.5px;text-align:center;color:var(--muted)}.performance-note:after{content:attr(data-key);position:absolute;left:0;bottom:3px;width:100%;font-size:9.5px;color:var(--gold-label, var(--gold))}.performance-note.is-played{border-color:#d98cc4;background:#d98cc438;color:var(--text)}.performance-note.is-next{border-color:#d98cc4;border-width:2px;padding:6px 7px 14px;color:#f4d8ec;box-shadow:0 0 0 2px #d98cc44d}.performance-hint{margin-top:7px;font-size:11px;text-align:center;color:var(--muted)}.workbench{position:absolute;left:50%;transform:translate(-50%);bottom:92px;width:min(400px,60vw);padding:13px 15px 14px;border:1px solid var(--line);border-radius:10px;background:var(--hud-panel);box-shadow:0 10px 26px #00000073,inset 0 1px #ffffff0d;pointer-events:auto;z-index:32}.workbench-title{font-family:var(--display);font-size:13px;letter-spacing:1px;color:var(--gold)}.workbench-brief{margin-top:8px;font-size:12.5px;line-height:1.5;color:var(--text)}.workbench-page{margin-top:9px;padding:8px 10px;max-height:190px;overflow-y:auto;overflow-x:auto;border-radius:6px;background:#00000047;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;line-height:1.65;white-space:pre;color:var(--muted)}.workbench-teach{margin-top:9px;font-size:11.5px;line-height:1.5;color:var(--muted)}.workbench-teach summary{cursor:pointer;color:var(--gold-label, var(--gold))}.workbench-teach>div{margin-top:5px}.workbench-verdict{margin-top:10px;padding:8px 10px;border-left:3px solid var(--muted);border-radius:4px;background:#00000038;font-size:12.5px;line-height:1.5;color:var(--text)}.workbench-verdict.is-exemplary{border-left-color:#7fd8a4}.workbench-verdict.is-sound{border-left-color:#b4d774}.workbench-verdict.is-workable{border-left-color:#d9a05b}.workbench-verdict.is-spoiled{border-left-color:#c78f8f}.workbench-row:not([hidden]){margin-top:11px;display:flex;align-items:center;gap:7px}.workbench-input{flex:1;min-width:0;padding:6px 9px;border:1px solid var(--line);border-radius:6px;background:#0000004d;color:var(--text);font:inherit;font-size:12.5px}.workbench-input:focus{outline:none;border-color:var(--gold)}.gold-pill{position:absolute;right:18px;bottom:96px;padding:6px 14px;display:flex;align-items:center;gap:8px;border-radius:999px;border:1px solid var(--line);background:var(--hud-panel);color:var(--text);font-size:13px}.gold-icon{width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f0d599,#b8933f);flex-shrink:0}.potion-row{position:absolute;right:18px;bottom:18px;display:flex;gap:8px;pointer-events:auto}.potion-slot{position:relative;width:56px;height:56px;background-size:82%;background-position:center;background-repeat:no-repeat;border-radius:8px;border:1px solid var(--line);background:linear-gradient(160deg,#c5636a,#8a3f42);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.potion-slot.is-unusable{opacity:.45}.potion-slot-icon{font-size:15px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.55)}.potion-slot-count{position:absolute;bottom:2px;right:4px;font-size:10px}.potion-slot-key{position:absolute;top:3px;left:4px;padding:0 3px;border-radius:5px;background:#00000080;font-size:10px;color:var(--text)}.binding-hint{position:absolute;left:50%;bottom:96px;transform:translate(-50%);z-index:6;padding:8px 16px;border:1px solid rgba(203,170,108,.5);border-radius:999px;background:var(--panel-modal-gradient);box-shadow:0 12px 30px #00000080;font-size:13px;color:var(--text);pointer-events:none}.inventory-icon{width:34px;height:34px;flex:0 0 auto;padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid rgba(138,106,34,.35);background-size:cover;background-position:center}.inventory-icon img{width:100%;height:100%;object-fit:contain}.inventory-icon.is-bindable{cursor:pointer}.inventory-icon.is-bindable:hover,.skill-row-icon.is-bindable:hover{border-color:#b28c30}.inventory-icon.is-armed,.skill-row-icon.is-armed{border-color:#b28c30;box-shadow:0 0 0 2px #b28c308c}.skill-row-icon.is-bindable,button.skill-row-icon{padding:0;background-size:cover;background-position:center;cursor:pointer}.potion-slot.is-drop-target{border-color:var(--gold, #cfa94e);box-shadow:0 0 0 2px #cfa94e73;opacity:1}.inventory-item[draggable=true]{cursor:grab}.inventory-item.is-dragging{opacity:.5}.potion-slot-empty{background:#0000002e;border-style:dashed;border-color:#cbaa6c38;cursor:default}.death-overlay{position:absolute;left:0;right:0;bottom:92px;z-index:16;display:none;justify-content:center;padding:0 16px;pointer-events:none}.death-overlay-card{width:min(300px,90vw);padding:14px 20px 12px;border:1px solid rgba(224,138,138,.5);border-radius:12px;background:var(--panel-modal-gradient);box-shadow:0 10px 30px #00000080;text-align:center;pointer-events:auto}.death-overlay-title{font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:.02em;color:var(--loss)}.death-overlay-subtitle{margin-top:8px;font-size:15px;font-weight:600;color:var(--gold-deep)}.death-overlay .death-overlay-respawn{margin-top:10px;min-width:140px;padding:.45rem 1.4rem;font-size:.95rem}.death-overlay-respawn[hidden],.death-overlay-subtitle[hidden],.death-overlay-raise[hidden]{display:none}.death-overlay .death-overlay-respawn:disabled{cursor:default;opacity:.5}.death-overlay .death-overlay-respawn:disabled:hover{background:linear-gradient(180deg,#d8bc6a,#b08d2f)}.death-overlay-raise{margin-top:8px;font-size:11px;color:var(--ink-secondary)}.character-creation-backdrop{position:fixed;inset:0;z-index:45;display:none;align-items:center;justify-content:center;padding:24px;background:#14120c8c;backdrop-filter:blur(2px)}body.character-creation-open .character-creation-backdrop{display:flex}.character-creation-card{width:min(560px,100%);max-height:92vh;overflow-y:auto;padding:26px 30px 22px;border:1px solid rgba(203,170,108,.5);border-radius:10px;background:linear-gradient(180deg,#faf8f2f7,#eee9def7);box-shadow:0 24px 60px #00000073;color:var(--ink)}.character-creation-divider{margin:14px 0 16px;height:1px;background:#8a6a2247}.character-creation-subtitle{margin-bottom:16px;font-size:14px;line-height:1.55;color:var(--ink)}.character-creation-stage{position:relative;width:100%;aspect-ratio:3 / 2;margin-bottom:16px;border:1px solid rgba(138,106,34,.25);border-radius:8px;background:radial-gradient(ellipse at 50% 78%,rgba(203,170,108,.22),transparent 62%),linear-gradient(180deg,#fffdf8,#efe9dc);overflow:hidden}.character-preview-canvas{display:block;width:100%;height:100%;outline:none}.character-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.character-choice{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border:1px solid rgba(138,106,34,.3);border-left:3px solid rgba(138,106,34,.45);border-radius:8px;background:var(--card-bg);color:var(--ink);text-align:left;font-family:inherit;cursor:pointer;transition:transform .12s ease,background .12s ease,box-shadow .12s ease}.character-choice:hover{transform:translateY(-2px);background:#fffdf8}.character-choice.active{border-left-color:#b28c30;background:#fffdf8;box-shadow:0 6px 18px #5a461e29}.character-choice-name{font-family:var(--display);font-size:17px;letter-spacing:.04em;color:#8a6a22}.character-choice-blurb{font-size:12px;line-height:1.4;color:var(--ink-secondary)}.character-choice-hint{margin-top:8px;font-size:12px;line-height:1.5;color:var(--ink-muted)}.character-creation-footer{display:flex;justify-content:flex-end;margin-top:18px}.character-creation-begin{padding:10px 22px;border:1px solid #b28c30;border-radius:6px;background:linear-gradient(180deg,#d8b45c,#b28c30);color:var(--ink);font-family:inherit;font-size:14px;letter-spacing:.05em;cursor:pointer}.character-creation-begin:hover{filter:brightness(1.06)}.class-selection-backdrop{position:fixed;inset:0;z-index:46;display:none;align-items:center;justify-content:center;padding:24px;background:#14120c80;backdrop-filter:blur(2px);pointer-events:auto}body.class-selection-open .class-selection-backdrop{display:flex}.class-selection-card{display:flex;flex-direction:column;width:min(760px,calc(94vw / var(--ui-scale, 1)));max-height:calc(90vh / var(--ui-scale, 1));overflow:hidden;border:1px solid rgba(203,170,108,.5);border-radius:10px;background:linear-gradient(180deg,#faf8f2f7,#eee9def7);box-shadow:0 24px 60px #00000073;color:var(--ink);text-align:left}.class-selection-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:26px 30px 16px}.class-selection-scroll::-webkit-scrollbar{width:8px}.class-selection-scroll::-webkit-scrollbar-thumb{background:#8a6a2266;border-radius:4px}.class-selection-scroll::-webkit-scrollbar-track{background:transparent}.class-selection-footer{flex:0 0 auto;padding:12px 30px 20px;border-top:1px solid rgba(138,106,34,.28);box-shadow:0 -10px 14px -10px #5a461e59}.class-selection-title{margin:16px 0 12px;font-family:var(--display);font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:#8a6a22}.class-selection-subtitle{font-size:14px;line-height:1.55;color:var(--ink)}.class-selection-divider{margin:14px 0 16px;height:1px;background:#8a6a2247}.class-selection-body{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,1.6fr);gap:16px;align-items:start}.class-selection-list{display:flex;flex-direction:column;gap:8px}.class-choice-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid rgba(138,106,34,.28);border-left:3px solid var(--class-color, rgba(138, 106, 34, .5));border-radius:8px;background:var(--card-bg);color:var(--ink);text-align:left;font-family:inherit;cursor:pointer;transition:transform .12s ease,background .12s ease,box-shadow .12s ease}.class-choice-item:hover{transform:translate(2px);background:#fffdf8}.class-choice-item.active{background:#fffdf8;box-shadow:0 4px 14px #5a461e2e}.class-choice-item.is-locked{cursor:default;opacity:.45;filter:saturate(.4)}.class-choice-item.is-locked:hover{transform:none;background:var(--card-bg)}.class-choice-item-name{font-family:var(--display);font-size:16px;letter-spacing:.03em;color:var(--class-color, #8a6a22)}.class-choice-item-role{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#7a6540}.class-selection-detail{display:flex;flex-direction:column;gap:12px}.class-selection-stage{position:relative;width:100%;aspect-ratio:4 / 3;border:1px solid rgba(138,106,34,.25);border-radius:8px;background:radial-gradient(ellipse at 50% 78%,rgba(203,170,108,.22),transparent 62%),linear-gradient(180deg,#fffdf8,#efe9dc);overflow:hidden}.class-preview-canvas{display:block;width:100%;height:100%;outline:none}.class-detail-name{font-family:var(--display);font-size:20px;letter-spacing:.04em;color:var(--class-color, #8a6a22)}.class-detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.class-tag{padding:2px 8px;border:1px solid rgba(138,106,34,.3);border-radius:999px;font-size:11px;letter-spacing:.04em;color:#7a6540}.class-detail-oracle{margin:10px 0 0;padding-left:10px;border-left:2px solid rgba(203,170,108,.55);font-style:italic;font-size:13.5px;line-height:1.5;color:#6b5528}.class-detail-line{margin:8px 0 0;font-size:13px;line-height:1.5;color:#4a4133}.class-detail-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.class-stat{padding:3px 9px;border-radius:4px;background:#cbaa6c33;font-size:12px;letter-spacing:.03em;color:var(--ink)}.class-detail-row{margin-top:8px;font-size:12px;color:#4a4133}.class-detail-row span{display:inline-block;min-width:62px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#96805a}.class-selection-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.class-selection-confirm{padding:10px 22px;border:1px solid #b28c30;border-radius:6px;background:linear-gradient(180deg,#d8b45c,#b28c30);color:var(--ink);font-family:inherit;font-size:14px;letter-spacing:.05em;cursor:pointer}.class-selection-confirm:disabled{border-color:#8a6a224d;background:#cbaa6c40;color:#96805a;cursor:default}@media(max-width:620px){.class-selection-body{grid-template-columns:1fr}}@media(max-height:820px){.class-selection-scroll{padding-top:18px}.class-selection-divider{margin:10px 0 12px}.class-choice-item{padding:7px 12px}.class-selection-stage{aspect-ratio:16 / 10}}.class-selection-warning{font-size:12px;letter-spacing:.02em;color:#a3402c}.class-selection-warning p{margin:0}.class-selection-warning p+p{margin-top:6px}.class-selection-system{color:#6f7c8a;font-style:italic}.class-selection-later{padding:9px 18px;border:1px solid rgba(138,106,34,.35);border-radius:6px;background:transparent;font-family:inherit;font-size:13px;letter-spacing:.04em;color:#7a6540;cursor:pointer}.class-selection-later:hover{color:var(--ink)}.controls-backdrop{position:fixed;inset:0;z-index:44;display:none;align-items:center;justify-content:center;padding:24px;background:#060a079e;pointer-events:auto}body.controls-open .controls-backdrop{display:flex}body.controls-open .feedback-backdrop{display:none}body.feedback-open .feedback-backdrop{display:flex}.feedback-body{display:flex;flex-direction:column;gap:12px}.feedback-kinds{display:flex;gap:8px}.feedback-body textarea{width:100%;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit;color:var(--ink-body);background:#fff9}.feedback-good{color:#2e7d32}.controls-card{width:min(560px,92vw);max-height:86vh;overflow-y:auto;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--panel-modal-gradient);box-shadow:0 20px 50px #0000008c;color:var(--ink-body)}.controls-header{display:flex;align-items:center;justify-content:space-between}.controls-title{font-family:var(--display);font-size:18px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep)}.controls-close{border:none;background:transparent;font-size:20px;line-height:1;color:var(--ink-muted);cursor:pointer}.controls-close:hover{color:var(--ink)}.controls-divider{margin:14px 0;height:1px;background:#cbaa6c47}.controls-group+.controls-group{margin-top:16px}.controls-group-title{margin-bottom:6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-label)}.controls-row{display:flex;gap:12px;padding:3px 0;font-size:12px}.controls-keys{flex:0 0 40%;color:var(--ink)}.controls-action{flex:1;color:var(--ink-secondary)}.controls-footer{margin-top:18px;font-size:11px;text-align:center;color:var(--ink-muted)}.home-backdrop,.settings-backdrop{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:#060a079e;pointer-events:auto}.home-backdrop{z-index:48}.settings-backdrop{z-index:49;background:#060a07b8}body.home-open .home-backdrop,body.settings-open .settings-backdrop{display:flex}.home-card{width:min(360px,92vw);padding:24px;border:1px solid rgba(203,170,108,.5);border-radius:12px;background:var(--panel-modal-gradient);box-shadow:0 20px 50px #0000008c;color:var(--ink);text-align:center}.home-title{font-family:var(--display);font-size:18px;letter-spacing:.08em;text-transform:uppercase;color:#8a6a22}.home-line{margin-top:10px;font-size:13px;color:var(--ink-secondary)}.home-note{margin-top:6px;font-size:11.5px;font-style:italic;color:var(--ink-secondary)}.home-actions{display:flex;flex-direction:column;gap:8px;margin-top:18px}.home-hint{margin-top:14px;font-size:11px;line-height:1.5;color:var(--ink-secondary)}.settings-card{width:min(520px,92vw);max-height:86vh;overflow-y:auto;padding:24px;border:1px solid rgba(203,170,108,.5);border-radius:12px;background:var(--panel-modal-gradient);box-shadow:0 20px 50px #0000008c;color:var(--ink)}.settings-header{display:flex;align-items:center;justify-content:space-between}.settings-title{font-family:var(--display);font-size:18px;letter-spacing:.08em;text-transform:uppercase;color:#8a6a22}.settings-close{border:none;background:transparent;font-size:20px;line-height:1;color:var(--ink-secondary);cursor:pointer}.settings-close:hover{color:var(--ink)}.settings-divider{margin:14px 0;height:1px;background:#8a6a2247}.settings-section+.settings-section{margin-top:20px}.settings-section-title{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8a6a22}.settings-custom-badge{padding:1px 6px;border:1px solid var(--window-line-strong);border-radius:999px;font-size:9px;letter-spacing:.1em;color:var(--ink-secondary)}.settings-section-blurb{margin-bottom:10px;font-size:11px;color:var(--ink-secondary)}.settings-row{display:flex;align-items:center;gap:12px;padding:6px 0;font-size:12px}.settings-row-label{flex:0 0 42%;display:flex;flex-direction:column;color:var(--ink)}.settings-row-note{font-size:10px;color:var(--ink-secondary)}.settings-row input[type=range]{flex:1;accent-color:var(--gold-primary)}.settings-row-readout{flex:0 0 88px;text-align:right;color:var(--ink-secondary)}.settings-presets{display:flex;gap:6px}.settings-preset{padding:4px 12px;border:1px solid var(--window-line);border-radius:999px;background:var(--card-bg);font:inherit;font-size:11px;color:var(--ink-secondary);cursor:pointer}.settings-preset:hover{border-color:var(--window-line-selected);color:var(--ink)}.settings-preset.is-selected{border-color:var(--window-line-selected);background:linear-gradient(180deg,#d8bc6a,#b08d2f);color:#2b2211;font-weight:700}.map-transition{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0b0d12;opacity:0;visibility:hidden;transition:opacity .55s ease;pointer-events:none}.map-transition.is-visible{opacity:1;visibility:visible;transition:none;pointer-events:auto}.map-transition:before{content:"";position:absolute;right:0;bottom:0;left:0;height:36%;background:linear-gradient(to top,#0b0d12f0,#0b0d12c7 42%,#0b0d1200);pointer-events:none}.map-transition-art{width:100%;height:100%;object-fit:cover;object-position:center}.map-transition-name{position:absolute;bottom:calc(8% + 22px);color:#f3dc94;font-family:var(--display-font, inherit);font-size:1.5rem;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 14px rgba(0,0,0,.8);text-align:center;padding:0 1rem}.map-transition-progress{position:absolute;bottom:8%;width:min(320px,40vw);height:2px;overflow:hidden;background:#cbaa6c4d}.map-transition-progress span{display:block;width:40%;height:100%;background:var(--gold);animation:map-transition-sweep 1.5s ease-in-out infinite}.map-transition-progress span.is-tracking{animation:none;transition:width .2s ease-out}@keyframes map-transition-sweep{0%{transform:translate(-100%)}to{transform:translate(350%)}}.oracle-backdrop{position:fixed;inset:0;z-index:47;display:none;align-items:center;justify-content:center;padding:24px;background:#14120c80;backdrop-filter:blur(2px)}body.oracle-open .oracle-backdrop{display:flex}.oracle-card{width:min(560px,100%);padding:26px 30px 22px;border:1px solid rgba(203,170,108,.5);border-radius:10px;background:linear-gradient(180deg,#faf8f2f7,#eee9def7);box-shadow:0 24px 60px #00000073;color:var(--ink)}.oracle-speaker{font-size:22px;letter-spacing:.06em;color:#8a6a22}.oracle-title{margin-top:2px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#96805a}.oracle-divider{margin:14px 0 16px;height:1px;background:#8a6a2247}.oracle-body p{margin:0 0 10px;font-size:14px;line-height:1.55}.oracle-body p:last-child{margin-bottom:0}.oracle-error{min-height:16px;margin-top:6px;font-size:12px;color:#a3402c}.oracle-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.oracle-confirm,.oracle-dismiss{padding:9px 18px;border-radius:6px;font-family:inherit;font-size:13px;letter-spacing:.04em;cursor:pointer}.oracle-confirm{border:1px solid #b28c30;background:linear-gradient(180deg,#d8b45c,#b28c30);color:var(--ink)}.oracle-dismiss{border:1px solid rgba(138,106,34,.35);background:transparent;color:#7a6540}.oracle-dismiss[hidden]{display:none}.creation-note{margin-top:14px;font-size:11px;line-height:1.5;color:#7a6540}.nameplate.nameplate-npc .nameplate-name{padding:1px 8px;border:1px solid var(--hud-line);border-radius:4px;background:var(--hud-panel-soft);color:var(--gold);font-size:12px;letter-spacing:.04em;white-space:nowrap}.monster-notice-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.monster-notice-pip{position:absolute;left:0;top:0;margin:-18px 0 0 -8px;font-size:30px;font-weight:900;line-height:1;color:#ff5a4f;text-shadow:0 0 8px rgba(255,90,79,.9),0 2px 4px rgba(0,0,0,.9);animation:monster-notice-pop .28s ease-out;will-change:transform,opacity}@keyframes monster-notice-pop{0%{scale:.3}60%{scale:1.35}to{scale:1}}.nameplate-quest-marker{font-size:34px;font-weight:800;line-height:1;color:#ffd166;text-shadow:0 0 8px rgba(255,209,102,.95),0 0 20px rgba(255,176,32,.75),0 2px 4px rgba(0,0,0,.9);animation:quest-marker-pulse 1.6s ease-in-out infinite}.nameplate-quest-marker.is-step{font-size:22px;color:#ffe29a}@keyframes quest-marker-pulse{0%,to{transform:translateY(0) scale(1);text-shadow:0 0 8px rgba(255,209,102,.95),0 0 20px rgba(255,176,32,.75),0 2px 4px rgba(0,0,0,.9)}50%{transform:translateY(-6px) scale(1.08);text-shadow:0 0 14px rgba(255,209,102,1),0 0 30px rgba(255,176,32,.95),0 2px 4px rgba(0,0,0,.9)}}.nameplate-note{display:block;margin-top:2px;padding:1px 7px;border:1px solid rgba(203,170,108,.55);border-radius:3px;background:#282216d1;color:#f1e4c2;font-size:11px;font-style:italic;letter-spacing:.04em;white-space:nowrap;pointer-events:none}.nameplate-title{color:#d8c8ff;font-style:italic}.nameplate.nameplate-landmark .nameplate-name{padding:2px 9px;border:1px solid rgba(203,170,108,.45);border-radius:4px;background:#181610b8;color:#e8dcc0;font-size:12px;letter-spacing:.06em;white-space:nowrap}.debug-section{margin:10px 0 2px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.debug-perf{margin:4px 0 0;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.5;color:var(--text);background:#060a088c;border:1px solid rgba(203,170,108,.25);border-radius:4px;white-space:pre}.map-editor{position:fixed;top:12px;bottom:12px;z-index:60;display:none;flex-direction:column;gap:4px;width:240px;padding:12px 14px;overflow-y:auto;border:1px solid rgba(203,170,108,.4);border-radius:8px;background:#0e100ef0;color:var(--text);font-size:12px}.map-editor>*{flex-shrink:0}body.map-editor-open .map-editor{display:flex}.editor-header{font-family:var(--display);font-size:15px;letter-spacing:.06em;color:var(--gold)}.editor-map-name{font-size:11px;color:var(--muted)}.editor-section{margin-top:10px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.editor-tools,.editor-assets{display:grid;grid-template-columns:1fr 1fr;gap:4px}.editor-tool,.editor-asset,.editor-swatch,.editor-actions button{padding:5px 6px;border:1px solid rgba(203,170,108,.25);border-radius:4px;background:#1e221ce6;color:var(--text);font-family:inherit;font-size:11px;text-align:left;cursor:pointer}.editor-tool.active,.editor-asset.active,.editor-swatch.active{border-color:var(--gold);background:#504422d9;color:#f2e6c8}.editor-asset span{color:var(--muted)}.editor-hint{min-height:28px;font-size:11px;line-height:1.35;color:var(--muted)}.editor-slider{display:block;font-size:11px;color:var(--muted)}.editor-slider input{width:100%}.editor-texture-current{display:flex;gap:7px;align-items:center;margin-bottom:5px}.editor-texture-current-art{width:42px;height:42px;border:1px solid var(--gold);border-radius:3px;object-fit:cover}.editor-texture-current-name{font-size:11px;color:#f2e6c8}.editor-texture-current-category{font-size:10px;color:var(--muted)}.editor-texture-search{width:100%;margin-bottom:5px;padding:4px 6px;border:1px solid rgba(203,170,108,.25);border-radius:4px;background:#141814e6;color:var(--text);font-family:inherit;font-size:11px}.editor-texture-tabs{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:5px}.editor-texture-tab{display:flex;gap:3px;padding:2px 4px;border:1px solid rgba(203,170,108,.2);border-radius:3px;background:#1e221ce6;color:var(--muted);font-family:inherit;font-size:9px;cursor:pointer}.editor-texture-tab span{opacity:.5}.editor-swatch-empty{grid-column:1 / -1;padding:8px 2px;font-size:10px;color:var(--muted)}.editor-texture-tab.active{border-color:var(--gold);background:#504422d9;color:#f2e6c8}.editor-texture-name{color:var(--gold);font-weight:400}.editor-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}.editor-swatch{padding:0;overflow:hidden;line-height:0}.editor-swatch img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.editor-swatch.active{box-shadow:inset 0 0 0 2px var(--gold)}.editor-palette-note{margin-top:5px;font-size:10px;line-height:1.35;color:var(--muted)}.editor-palette-note.over{color:#d98a6a}.editor-actions{display:flex;flex-direction:column;gap:4px}.editor-status{margin-top:8px;min-height:30px;font-size:11px;line-height:1.35;color:#cfa94e}.editor-help{margin-top:auto;padding-top:8px;font-size:10px;color:var(--muted)}.character-sheet-grade{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#8a6a22;margin-bottom:10px}.class-choice{border:1px solid rgba(138,106,34,.3);border-radius:8px;padding:10px 12px;margin-bottom:14px;background:var(--card-bg)}.class-choice-note{font-size:12px;color:var(--ink-secondary);margin:4px 0 10px;line-height:1.4}.class-choice-options{display:grid;gap:8px}.class-choice-option{display:flex;flex-direction:column;gap:2px;text-align:left;padding:8px 10px;border:1px solid var(--line);border-left-width:3px;border-radius:6px;background:#00000040;color:inherit;font:inherit;cursor:pointer}.class-choice-option:hover{background:#ffffff0f}.class-choice-option b{font-size:13px}.class-choice-option span{font-size:11px;opacity:.7;line-height:1.35}.sheet-tabs{display:flex;flex-wrap:wrap;gap:6px 4px;margin-bottom:10px}.sheet-tab{flex:1 1 auto;padding:5px 8px;white-space:nowrap;border:1px solid var(--window-line);border-radius:7px;background:#fffdf899;color:var(--ink-secondary);font-family:var(--display);font-size:16px;font-weight:600;font-variant:small-caps;letter-spacing:.06em;text-transform:none;cursor:pointer}.sheet-tab:hover{background:#fffdf8}.sheet-tab.is-active{border-color:var(--window-line-selected);background:var(--gold-button);color:#fffdf7;font-weight:700;box-shadow:inset 0 1px #fff6}.skill-panel{position:absolute;inset:0;z-index:2;overflow-y:auto;padding:20px 22px 18px;border:1px solid rgba(203,170,108,.5);border-radius:10px;background:var(--panel-modal-gradient);box-shadow:0 18px 44px #00000059;color:var(--ink)}.skill-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.skill-panel-title{font-family:var(--display);font-size:20px;letter-spacing:.04em;color:#8a6a22}.skill-panel-subtitle{margin-top:2px;font-size:12px;color:var(--ink-secondary)}.skill-panel-points{flex-shrink:0;font-size:13px;color:var(--ink-secondary)}.skill-panel-points b{color:#8a6a22;font-weight:600}.skill-panel-divider{margin:12px 0 14px;height:1px;background:#8a6a2247}.skill-page{display:grid;grid-template-columns:minmax(0,1fr) 308px;gap:18px;align-items:start}@media(max-width:900px){.skill-page{grid-template-columns:minmax(0,1fr)}}.skill-graph{position:relative;display:flex;align-items:flex-start;gap:46px;margin-top:14px;padding-bottom:6px;overflow-x:auto}.skill-graph.is-list{display:block;overflow-x:visible}.skill-graph.is-list .skill-tier{width:auto;margin-top:16px}.skill-graph.is-list .skill-links{display:none}.skill-tier{position:relative;z-index:1;width:232px;flex:0 0 auto}.skill-panel-aside{display:flex;align-items:center;gap:12px}.skill-view-toggle{display:flex;gap:4px;padding:3px;border:1px solid var(--window-line);border-radius:15px;background:var(--card-bg)}.skill-view-btn{padding:4px 13px;border:none;border-radius:12px;background:transparent;font:inherit;font-size:11.5px;color:var(--ink-secondary);cursor:pointer}.skill-view-btn.is-active{background:linear-gradient(180deg,#d8bc6a,#b08d2f);font-weight:700;color:#2b2211}.skill-links{position:absolute;top:0;left:0;z-index:0;pointer-events:none;overflow:visible}.skill-links path{fill:none;stroke:#8a6a2252;stroke-width:1.5}.skill-links path.is-met{stroke:#b08d2f;stroke-width:2}.skill-links marker path{fill:#8a6a2273;stroke:none}.skill-links text{font-size:9px;font-weight:700;letter-spacing:.06em;text-anchor:middle;fill:var(--ink-muted)}.skill-links text.is-met{fill:#8a6a1f}.skill-tier-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-label)}.skill-tier-state{font-weight:400;letter-spacing:.04em;text-transform:none;color:var(--ink-muted)}.skill-tier-state.is-open{color:#6f8f5a}.skill-tier-nodes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin-top:8px}.skill-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:1px solid rgba(138,106,34,.3);border-left:3px solid rgba(138,106,34,.45);border-radius:8px;background:var(--card-bg);font:inherit;text-align:left;color:var(--ink-body);cursor:pointer}.skill-row.is-learned{border-left-color:#b08d2f}.skill-row.is-ready{border-left-color:#d8bc6a;border-style:dashed;border-left-style:solid}.skill-row.is-locked{border-left-color:#8a6a2233;opacity:.62}.skill-row.is-picked{border-color:var(--window-line-selected);box-shadow:0 0 0 3px #b08d2f33}.skill-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.skill-row-meta{font-size:11px;color:var(--ink-muted)}.skill-row-bar{display:block;height:4px;border-radius:2px;background:#96742a29;overflow:hidden}.skill-row-bar>i{display:block;height:100%;border-radius:2px;background:linear-gradient(90deg,#b08d2f,#d8bc6a)}.skill-row-badge{flex-shrink:0;padding:3px 9px;border-radius:11px;background:#96742a24;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-secondary)}.skill-row.is-ready .skill-row-badge{background:linear-gradient(180deg,#d8bc6a,#b08d2f);color:#2b2211}.skill-detail{position:sticky;top:0;padding:14px 15px;border:1px solid var(--window-line-strong);border-radius:9px;background:var(--card-bg)}.skill-detail-blank{font-size:12px;line-height:1.5;color:var(--ink-muted)}.skill-detail-head{display:flex;align-items:center;gap:11px}.skill-detail-icon{width:44px;height:44px;flex-shrink:0;border:1px solid rgba(138,106,34,.35);border-radius:8px;background-size:cover}.skill-detail-name{font-family:var(--display);font-size:17px;font-variant:small-caps;letter-spacing:.04em;color:var(--ink)}.skill-detail-meta{font-size:11.5px;color:var(--gold-label)}.skill-detail-desc{margin-top:11px;font-size:12.5px;line-height:1.55;color:var(--ink-secondary)}.skill-detail-effect{margin-top:11px;padding:9px 11px;border-radius:7px;background:#96742a17;font-size:12px;line-height:1.6;color:var(--ink)}.skill-detail-terms{margin-top:12px;display:flex;flex-direction:column;gap:5px;font-size:11.5px;color:var(--ink-secondary)}.skill-detail-term{display:inline-block;min-width:62px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-label)}.skill-detail-controls{display:flex;align-items:center;gap:9px;margin-top:14px}.skill-learn-btn{flex:1;padding:9px 14px;border:1px solid var(--window-line-selected);border-radius:7px;background:linear-gradient(180deg,#d8bc6a,#b08d2f);font:inherit;font-size:13px;font-weight:700;color:#2b2211;cursor:pointer}.skill-learn-btn:disabled{border-color:var(--window-line);background:transparent;color:var(--ink-muted);cursor:default}.skill-legend{display:flex;gap:18px;margin-top:16px;font-size:11px;color:var(--ink-muted)}.skill-legend span{display:flex;align-items:center;gap:6px}.skill-legend i{width:12px;height:12px;border:1px solid rgba(138,106,34,.3);border-left:3px solid rgba(138,106,34,.2);border-radius:3px;background:var(--card-bg)}.skill-legend i.is-learned{border-left-color:#b08d2f}.skill-legend i.is-ready{border-left-color:#d8bc6a}.skill-row+.skill-row{margin-top:10px}.skill-row-icon{width:44px;height:44px;flex:0 0 auto;border-radius:8px;border:1px solid rgba(138,106,34,.35)}.skill-row-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.skill-row-name{font-family:var(--display);font-size:15px;letter-spacing:.03em;color:#8a6a22}.skill-row-description{font-size:11px;line-height:1.4;color:var(--ink-secondary)}.skill-row-requires{font-size:10px;line-height:1.4;color:#8a7a5c;font-style:italic}.skill-row-stats{font-size:11px;line-height:1.45;color:#7a5f2e;font-variant-numeric:tabular-nums}.skill-req-met{color:#5a7d4a}.skill-req-unmet{color:#a5473c}.tempo-row{display:flex;gap:7px;margin-top:6px;align-items:center}.tempo-row[hidden]{display:none}.skill-slot.is-branch:after{content:"";position:absolute;inset:auto 3px 2px;height:2px;border-radius:1px;background:var(--gold-label, #c9b27a);opacity:.75;pointer-events:none}.skill-slot.is-primed{box-shadow:inset 0 0 0 1px #7fb0e8d9}.class-choice-needs{display:block;margin-top:6px;font-size:11px;font-style:italic;line-height:1.45;color:var(--gold-label, #c9b27a)}.class-resource{display:flex;align-items:center;gap:7px;margin-top:5px;font-size:11px}.class-resource[hidden]{display:none}.class-resource-name{min-width:62px;font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--resource-color, #c9b27a)}.class-resource-track{position:relative;flex:1;height:6px;border-radius:3px;background:#141a18a6;border:1px solid rgba(255,255,255,.08);overflow:hidden}.class-resource-track[hidden]{display:none}.class-resource-fill{display:block;height:100%;width:0;border-radius:3px;background:var(--resource-color, #c9b27a);transition:width .12s ease}.class-resource-pips{display:flex;flex:1;gap:4px}.class-resource-pips[hidden]{display:none}.class-resource-pip{min-width:26px;padding:1px 4px;border-radius:3px;border:1px solid rgba(255,255,255,.1);background:#141a18a6;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:center;color:#ffffff40}.class-resource-pip[hidden]{display:none}.class-resource-pip.is-lit{border-color:var(--resource-color, #c9b27a);background:color-mix(in srgb,var(--resource-color, #c9b27a) 22%,transparent);color:var(--resource-color, #c9b27a)}.class-resource-value{min-width:44px;text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-muted, rgba(255, 255, 255, .55))}.class-resource.is-note .class-resource-name:after{content:" ↑"}.tempo-orb{position:relative;width:16px;height:16px;border-radius:50%;border:1px solid rgba(242,166,90,.45);background:#141a1899;transition:border-color .14s ease,box-shadow .14s ease}.tempo-orb-fill{position:absolute;inset:1px;border-radius:50%;background:conic-gradient(var(--tempo-fill, #f2a65a) 0deg,var(--tempo-fill, #f2a65a) 0deg,transparent 0deg);transition:background .14s ease}.tempo-orb[data-quarters="1"] .tempo-orb-fill{background:conic-gradient(var(--tempo-fill, #f2a65a) 90deg,transparent 90deg)}.tempo-orb[data-quarters="2"] .tempo-orb-fill{background:conic-gradient(var(--tempo-fill, #f2a65a) 180deg,transparent 180deg)}.tempo-orb[data-quarters="3"] .tempo-orb-fill{background:conic-gradient(var(--tempo-fill, #f2a65a) 270deg,transparent 270deg)}.tempo-orb[data-quarters="4"] .tempo-orb-fill{background:var(--tempo-fill, #f2a65a)}.tempo-orb.is-lit{box-shadow:0 0 6px #f2a65a80}.tempo-row.is-sheathed .tempo-orb{opacity:.35;border-color:#c9a64a33}.equip-detail{margin-top:12px;padding:13px 14px;border:1px solid var(--window-line-strong);border-radius:9px;background:var(--card-bg)}.equip-detail.is-blank{font-size:12px;line-height:1.5;color:var(--ink-muted)}.equip-detail-head{display:flex;align-items:center;gap:11px}.equip-detail-title{flex:1;min-width:0}.equip-detail-name{font-size:15px;font-weight:700;color:var(--ink)}.equip-detail-name b{color:#8a6a1f}.equip-detail-kind{margin-top:2px;font-size:11.5px;color:var(--gold-label)}.equip-unequip-btn{flex-shrink:0;align-self:center;padding:6px 14px;border:1px solid var(--window-line-strong);border-radius:7px;background:transparent;font:inherit;font-size:12px;color:var(--ink-secondary);cursor:pointer;transition:background .12s ease,color .12s ease}.equip-unequip-btn:hover{background:#96742a1f;color:var(--ink)}.equip-detail-stats{margin-top:11px;padding:8px 11px;border-radius:7px;background:#96742a17;font-size:12px;color:var(--ink)}.equip-detail-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px}.equip-detail-none{margin-top:6px;font-size:11.5px;color:var(--ink-muted)}.equip-sockets{display:flex;flex-direction:column;gap:7px;margin-top:8px}.equip-socket,.equip-socket-choice{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;border-radius:7px;font:inherit;font-size:12px;text-align:left;color:var(--ink)}.equip-socket.is-filled{border:1px solid var(--window-line-selected);background:#fff}.equip-socket.is-empty,.equip-socket-choice{border:1px dashed var(--window-line-strong);background:transparent;cursor:pointer}.equip-socket.is-empty:hover,.equip-socket-choice:hover{background:#96742a1a}.equip-socket-art{width:22px;height:22px;flex-shrink:0;border-radius:5px}.equip-socket-plus{width:22px;flex-shrink:0;text-align:center;color:var(--ink-muted)}.equip-socket-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equip-socket-picker{display:flex;flex-direction:column;gap:6px;margin-top:8px}.equip-refine-track{display:flex;gap:4px;margin-top:9px}.equip-refine-cell{flex:1;height:9px;border-radius:3px;background:#96742a29}.equip-refine-cell.is-deep{background:#8a6a1f}.equip-refine-cell.is-lit{background:#d8bc6a}.equip-refine-odds{margin-top:8px;font-size:11.5px;color:var(--ink-secondary)}.equip-refine-btn{margin-top:9px;padding:7px 18px;border:1px solid var(--window-line-selected);border-radius:7px;background:linear-gradient(180deg,#d8bc6a,#b08d2f);font:inherit;font-size:12px;font-weight:700;color:#2b2211;cursor:pointer}.equip-refine-btn:disabled{border-color:var(--window-line);background:transparent;color:var(--ink-muted);cursor:default}.equip-stats{padding:13px 14px;border:1px solid var(--window-line-strong);border-radius:9px;background:var(--card-bg)}.equip-stat-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:9px;font-size:12.5px;color:var(--ink-secondary)}.equip-stat-row b{font-family:var(--display);font-size:15px;color:var(--ink)}.inventory-bar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.inventory-filters{display:flex;flex-wrap:wrap;gap:6px}.inventory-bar.is-second{margin-top:-8px;flex-wrap:wrap}.inventory-bar.is-second[hidden]{display:none}.inventory-bar-gap{flex:1}.inventory-filter{padding:6px 13px;border:1px solid var(--window-line);border-radius:13px;background:var(--card-bg);font-size:12px;color:var(--ink-secondary);cursor:pointer}.inventory-filter:hover{color:var(--ink)}.inventory-filter.is-active{border-color:var(--window-line-selected);background:linear-gradient(180deg,#d8bc6a,#b08d2f);font-weight:700;color:#2b2211}.inventory-search{flex:1;min-width:0;padding:7px 12px;border:1px solid var(--window-line);border-radius:7px;background:var(--card-bg);font:inherit;font-size:12px;color:var(--ink)}.inventory-search::placeholder{color:var(--ink-muted)}.inventory-chip{display:flex;align-items:center;gap:6px;padding:6px 13px;border:1px solid var(--window-line);border-radius:13px;background:var(--card-bg);font-size:12px;color:var(--ink-secondary);white-space:nowrap}.inventory-chip b{color:var(--ink)}.inventory-chip.is-gold i{width:9px;height:9px;border-radius:50%;background:linear-gradient(180deg,#e3c877,#b08d2f)}.quest-card{margin-top:10px;padding:12px 14px;border:1px solid var(--window-line);border-radius:8px;background:var(--card-bg)}.quest-card:first-of-type{border-color:var(--window-line-selected)}.quest-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.quest-card-name{font-size:14px;font-weight:700;color:var(--ink)}.quest-card-giver{margin-top:2px;font-size:11.5px;color:var(--gold-label)}.quest-card-track{flex-shrink:0;padding:5px 11px;border-radius:13px;background:linear-gradient(180deg,#d8bc6a,#b08d2f);font-size:11px;font-weight:700;color:#2b2211;white-space:nowrap}.quest-card-desc{margin-top:8px;font-size:12.5px;line-height:1.5;color:var(--ink-secondary)}.quest-card-foot{display:flex;align-items:center;gap:12px;margin-top:12px}.quest-card-bar{flex:1;height:7px;border-radius:4px;background:#96742a2e;overflow:hidden}.quest-card-bar>span{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#b08d2f,#d8bc6a)}.quest-card-count{font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap}.quest-card-reward{font-size:11.5px;color:var(--ink-muted);white-space:nowrap}.quest-card.is-done{display:flex;align-items:center;gap:11px;border-color:var(--window-line);background:#96742a12}.quest-card.is-done .quest-card-name,.quest-card.is-done .quest-card-giver{color:var(--ink-muted)}.quest-tick{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:50%;background:linear-gradient(180deg,#d8bc6a,#b08d2f);font-size:12px;color:#2b2211}.quest-card.is-done .quest-card-main{flex:1}.quest-done-label{display:block;margin-top:22px}.quest-empty{font-size:12.5px;color:var(--ink-muted)}.equip-warning{grid-column:1 / -1;margin-bottom:12px;padding:10px 13px;border:1px solid rgba(178,90,74,.5);border-radius:8px;background:#d4938a24;font-size:12px;line-height:1.5;color:var(--ink)}.equip-warning b{color:#a1483c}.tempo-sheathed{font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--gold);white-space:nowrap}.tempo-sheathed[hidden]{display:none}.tempo-row[data-tier="0"]{--tempo-fill: #d98f4a}.tempo-row[data-tier="1"]{--tempo-fill: #f2a65a}.tempo-row[data-tier="2"]{--tempo-fill: #ffb347}.tempo-row[data-tier="3"]{--tempo-fill: #ffc95c}.tempo-row[data-tier="4"]{--tempo-fill: #ffd166}.tempo-row.is-peak .tempo-orb{border-color:#ffd166e6;box-shadow:0 0 10px #ffd166bf;animation:tempo-peak-pulse 1.6s ease-in-out infinite}.tempo-orb.just-gained{animation:tempo-gain .26s ease-out}.tempo-peak{font-size:9px;letter-spacing:.14em;color:#ffd166;text-shadow:0 0 6px rgba(255,209,102,.8);margin-left:2px}.tempo-peak[hidden]{display:none}@keyframes tempo-gain{0%{transform:scale(1)}45%{transform:scale(1.28)}to{transform:scale(1)}}@keyframes tempo-peak-pulse{0%,to{box-shadow:0 0 8px #ffd16699}50%{box-shadow:0 0 13px #ffd166f2}}.skill-row-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.skill-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(138,106,34,.45);border-radius:6px;background:var(--card-bg);color:var(--ink);font:inherit;cursor:pointer;transition:background .12s ease}.skill-btn:hover:not(:disabled){background:#fffdf8}.skill-btn:disabled{opacity:.35;cursor:default}.inventory-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.inventory-empty{padding:18px 4px;font-size:12px;color:var(--ink-secondary)}.inventory-item{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid rgba(138,106,34,.3);border-left:3px solid rgba(138,106,34,.45);border-radius:8px;background:var(--card-bg)}.inventory-swatch{width:22px;height:22px;flex:0 0 auto;border-radius:6px;border:1px solid rgba(138,106,34,.35)}.inventory-item-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.inventory-item-name{font-size:13px;color:var(--ink)}.inventory-item-note{font-size:10px;color:var(--ink-secondary)}.inventory-item-count{flex-shrink:0;font-size:13px;font-weight:600;color:#8a6a22}.inventory-use{width:auto;padding:0 8px;font-size:11px}.skill-rank{width:40px;text-align:center;font-size:14px;font-weight:600;color:#8a6a22}.nameplate-layer,.quest-guide-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.quest-guide-arrow{position:absolute;left:0;top:0;transform:translate(-9999px,-9999px);font-size:28px;line-height:1;color:#ffe066;text-shadow:0 0 8px rgba(255,224,102,.95),0 0 20px rgba(255,176,32,.8),0 2px 4px rgba(0,0,0,.85);animation:quest-guide-flow 1.1s ease-in-out infinite}@keyframes quest-guide-flow{0%,to{opacity:.4}50%{opacity:1}}.nameplate{position:absolute;left:0;top:0;transform:translate(-9999px,-9999px);display:flex;flex-direction:column;align-items:center;gap:1px;margin-left:-60px;width:120px;text-align:center;font-size:11px;line-height:1.2;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 2px rgba(0,0,0,.8);white-space:nowrap;transition:opacity .14s ease}.nameplate.is-behind-hud{opacity:0}.nameplate-name{color:#e8d9b5}.plate-level[data-threat=trivial]{color:#9a9a9a}.plate-level[data-threat=easy]{color:#8fd694}.plate-level[data-threat=tough]{color:#ffb454}.plate-level[data-threat=deadly]{color:#ff6f61;font-weight:700}.nameplate.is-elite .nameplate-name{color:#c9a6f2}.nameplate.is-boss .nameplate-name{color:#f2c14e;font-weight:700;letter-spacing:.04em}.nameplate.is-ally .nameplate-name{color:var(--team-ally-bright)}.nameplate.is-enemy .nameplate-name{color:var(--team-enemy-bright)}.nameplate.is-target .nameplate-name{color:#ffd166;font-weight:700}.nameplate.is-fallen .nameplate-name{color:#b9b09a;font-style:italic;font-weight:400}.nameplate.is-ally .nameplate-bar-fill,.nameplate.is-ally .nameplate-bar-fill.is-hurt,.nameplate.is-ally .nameplate-bar-fill.is-low{background:var(--team-ally)}.nameplate.is-enemy .nameplate-bar-fill,.nameplate.is-enemy .nameplate-bar-fill.is-hurt,.nameplate.is-enemy .nameplate-bar-fill.is-low{background:var(--team-enemy)}.nameplate-bar{position:relative;width:54px;height:4px;border:1px solid rgba(0,0,0,.75);border-radius:2px;background:#0c0a08bf;overflow:hidden;box-shadow:0 1px 2px #0009}.nameplate.is-target .nameplate-bar{width:72px;height:5px}.nameplate-bar-fill{height:100%;width:100%;background:#6fbf73;transition:width .12s linear}.nameplate-bar-fill.is-hurt{background:#d9a441}.nameplate-bar-fill.is-low{background:#c5636a}.nameplate-hp{color:#c5636a;font-size:10px}.editor-scenery-search{width:100%;margin-bottom:5px;padding:4px 6px;border:1px solid rgba(203,170,108,.25);border-radius:4px;background:#141814e6;color:var(--text);font-family:inherit;font-size:11px}.editor-scenery-list{display:grid;grid-template-columns:1fr 1fr;gap:4px}.editor-scenery-list .editor-asset span{color:#d98a6a}.editor-scenery-name{color:var(--gold);font-weight:400}.editor-scenery-note{margin-top:5px;font-size:10px;line-height:1.35;color:var(--muted)}.editor-scenery-note.over{color:#d98a6a}.map-editor-left{left:12px}.map-editor-right{right:12px}body.map-editor-open .map-editor-right{display:flex}.editor-dialog{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#060c0a8c}.editor-dialog[hidden]{display:none}.editor-dialog-card{width:min(22rem,calc(100vw - 2rem));display:flex;flex-direction:column;gap:.7rem;padding:1.1rem 1.2rem;border:1px solid rgba(203,170,108,.5);border-radius:.7rem;background:var(--panel-modal-gradient);box-shadow:0 1.4rem 3rem #00000080;color:var(--ink)}.editor-dialog-title{font-size:1rem;letter-spacing:.04em;text-transform:uppercase;color:#8a6a22}.editor-field{display:flex;flex-direction:column;gap:.3rem;flex:1;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--gold-deep)}.editor-field-row{display:flex;gap:.7rem}.editor-field-input{width:100%;padding:.4rem .55rem;border:1px solid var(--window-line);border-radius:.35rem;background:var(--card-bg);color:var(--ink);font:inherit;font-size:.9rem;text-transform:none;letter-spacing:normal}.editor-field-input:focus{outline:none;border-color:var(--window-line-selected)}.editor-dialog-hint{font-size:.72rem;color:var(--ink-secondary)}.editor-dialog-error{font-size:.76rem;color:#ffb4a2}.editor-dialog-error[hidden]{display:none}.editor-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.2rem}.editor-button{padding:.4rem .85rem;border:1px solid var(--window-line);border-radius:.35rem;background:var(--card-bg);color:var(--ink);font:inherit;font-size:.82rem;cursor:pointer}.editor-button:hover{border-color:var(--window-line-selected)}.editor-button.is-primary{border-color:var(--window-line-selected);background:linear-gradient(180deg,#d8bc6a,#b08d2f);color:#2b2211;font-weight:700}.editor-button.is-primary:hover{background:linear-gradient(180deg,#e3c877,#bd9835)}.cast-bar{position:absolute;top:0;left:0;width:8.5rem;margin-left:-4.25rem;pointer-events:none;z-index:12;display:flex;flex-direction:column;align-items:center;gap:.18rem;text-shadow:0 1px 2px rgba(0,0,0,.85)}.cast-bar-label{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#e6f2e8}.cast-bar-track{width:100%;height:.34rem;border:1px solid rgba(0,0,0,.55);border-radius:.2rem;background:#080e0bb8;overflow:hidden}.cast-bar-fill{height:100%;width:0;background:linear-gradient(90deg,#6fe89a,#b9f5cd)}.cast-bar--interrupted .cast-bar-label{color:#f2a6a6}.cast-bar--interrupted .cast-bar-fill{background:linear-gradient(90deg,#c94f4f,#e08a8a);animation:cast-bar-interrupted-fade .6s ease-out forwards}@keyframes cast-bar-interrupted-fade{0%{opacity:1}to{opacity:.15}}.editor-portal-target,.editor-npc-model,.editor-map-picker{width:100%;padding:.35rem .5rem;margin-bottom:.4rem;border:1px solid var(--window-line);border-radius:.35rem;background:var(--card-bg);color:var(--ink);font:inherit;font-size:.82rem}.editor-portal-target:focus,.editor-npc-model:focus,.editor-map-picker:focus{outline:none;border-color:var(--window-line-selected)}.npc-dialog{position:absolute;left:50%;bottom:8.5rem;transform:translate(-50%);z-index:30;pointer-events:none}.npc-dialog[hidden]{display:none}.npc-dialog-card{pointer-events:auto;width:min(30rem,calc(100vw - 3rem));display:flex;flex-direction:column;gap:.5rem;padding:.9rem 1.1rem;border:1px solid rgba(203,170,108,.5);border-radius:.6rem;background:var(--panel-modal-gradient);box-shadow:0 1rem 2.4rem #00000073;color:var(--ink)}.npc-dialog-speaker{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#8a6a22}.npc-dialog-body{font-size:.95rem;line-height:1.45}.npc-dialog-body.is-typing:after{content:"▌";opacity:.6;animation:npc-caret .9s steps(2) infinite}@keyframes npc-caret{to{opacity:0}}.npc-dialog-terms{display:flex;flex-direction:column;gap:.15rem;padding:.4rem .6rem;font-size:.84rem;line-height:1.35;border-left:3px solid #b08d2f;background:#b08d2f1a;border-radius:.25rem}.npc-dialog-terms[hidden]{display:none}.npc-dialog-choices{display:flex;flex-direction:column;gap:.35rem}.npc-dialog-choice{text-align:left;padding:.45rem .7rem;font-family:inherit;font-size:.88rem;color:var(--ink);background:var(--card-bg);border:1px solid var(--window-line);border-radius:.4rem;cursor:pointer}.npc-dialog-choice:hover{background:#fffdf8;border-color:var(--window-line-selected)}.npc-dialog-choices:has(.npc-dialog-warp){flex-direction:row;flex-wrap:wrap;max-height:14rem;overflow-y:auto}.npc-dialog-warp{flex:1 1 45%}.npc-dialog-warp:disabled{opacity:.45;cursor:not-allowed}.assessment-options{display:flex;flex-direction:column;gap:.4rem;margin-top:.75rem}.assessment-option{text-align:left}.npc-dialog-accept{border-color:var(--window-line-selected);background:linear-gradient(180deg,#d8bc6a,#b08d2f);color:#2b2211;font-weight:700}.npc-dialog-accept:hover{background:linear-gradient(180deg,#e3c877,#bd9835);border-color:var(--window-line-selected)}.npc-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}.shop-panel{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#060c0a6b}.shop-panel[hidden]{display:none}.shop-card{width:min(72rem,calc(100vw - 3rem));height:min(46rem,calc(100vh - 4rem));display:flex;flex-direction:column;padding:1.4rem 1.6rem 1.1rem;border:1px solid rgba(203,170,108,.5);border-radius:12px;background:var(--panel-modal-gradient);box-shadow:0 24px 60px #00000073;color:var(--ink)}.shop-header{display:flex;align-items:flex-start;gap:.5rem}.shop-heading{flex:1;min-width:0}.shop-title{font-family:var(--display);font-weight:600;font-size:24px;color:#8a6a22}.shop-subtitle{margin-top:2px;font-size:14px;color:var(--ink-secondary)}.shop-chip{display:flex;align-items:center;gap:6px;padding:6px 13px;border:1px solid var(--window-line);border-radius:13px;background:var(--card-bg);font-size:12px;color:var(--ink-secondary);white-space:nowrap}.shop-chip b{color:var(--ink)}.shop-chip.is-gold i{width:9px;height:9px;border-radius:50%;background:linear-gradient(180deg,#e3c877,#b08d2f)}.shop-close{width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid rgba(138,106,34,.4);border-radius:8px;background:var(--card-bg);color:var(--ink-secondary);font:inherit;font-size:18px;line-height:1;cursor:pointer}.shop-close:hover{background:#fffdf8}.shop-divider{height:1px;margin:.8rem 0 .75rem;background:#8a6a2247}.shop-tabs{display:flex;gap:6px;margin-bottom:10px}.shop-tab{flex:1;padding:5px 10px;border:1px solid var(--window-line);border-radius:7px;background:#fffdf899;color:var(--ink-secondary);font-family:var(--display);font-size:16px;font-weight:600;font-variant:small-caps;letter-spacing:.06em;cursor:pointer}.shop-tab:hover{background:#fffdf8}.shop-tab.is-active{border-color:var(--window-line-selected);background:var(--gold-button);color:#fffdf7;font-weight:700;box-shadow:inset 0 1px #fff6}.shop-bar{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}.shop-bar-row{display:flex;align-items:center;gap:8px}.shop-bar-gap{flex:1}.shop-bar-label{flex-shrink:0;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-label)}.shop-pills{display:flex;flex-wrap:wrap;gap:5px}.shop-pills.is-idle{opacity:.45}.shop-pill{padding:5px 12px;border:1px solid var(--window-line);border-radius:13px;background:var(--card-bg);font:inherit;font-size:12px;color:var(--ink-secondary);cursor:pointer}.shop-pill:hover{color:var(--ink)}.shop-pill.is-active{border-color:var(--window-line-selected);background:linear-gradient(180deg,#d8bc6a,#b08d2f);font-weight:700;color:#2b2211}.shop-search{flex:1;min-width:0;padding:7px 12px;border:1px solid var(--window-line);border-radius:7px;background:var(--card-bg);font:inherit;font-size:12px;color:var(--ink)}.shop-search::placeholder{color:var(--ink-muted)}.shop-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 23rem;gap:1.1rem;align-items:stretch}.shop-list{min-height:0;display:flex;flex-direction:column;gap:4px;overflow-y:auto;padding-right:6px}.shop-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:1px solid transparent;border-left:3px solid rgba(138,106,34,.4);border-radius:7px;background:var(--card-bg);color:inherit;font:inherit;text-align:left;cursor:pointer}.shop-row:hover{border-color:var(--window-line-strong)}.shop-row.is-picked{border-color:var(--window-line-selected);border-left-color:var(--window-line-selected);background:var(--card-selected)}.shop-row.is-worthless{opacity:.55}.shop-swatch{width:26px;height:26px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid rgba(138,106,34,.35);overflow:hidden}.shop-swatch.has-icon{background-color:transparent!important}.shop-swatch img,.shop-detail-art img{width:100%;height:100%;object-fit:contain}.shop-row-text{display:flex;flex:1;min-width:0;flex-direction:column;gap:1px}.shop-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--display);font-size:16px;font-variant:small-caps;letter-spacing:.03em;color:var(--ink)}.shop-row-kind{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;letter-spacing:.04em;color:var(--ink-muted)}.shop-row-gate{flex:0 0 auto;font-size:11px;letter-spacing:.04em;color:var(--loss)}.shop-row-price{flex:0 0 auto;min-width:4rem;text-align:right;font-size:13.5px;font-weight:600;color:#8a6a22}.shop-row-price.is-dear{font-weight:400;color:var(--loss)}.shop-row-count{flex:0 0 auto;padding:2px 7px;border-radius:4px;background:#96742a24;font-size:11px;color:var(--ink-secondary)}.shop-row-count.is-out{background:#a33a3a1f;color:var(--loss)}.shop-row.is-disabled{opacity:.5;border-left-color:#8a6a2238;cursor:default}.shop-empty{padding:1.2rem .2rem;font-size:13px;color:var(--ink-muted)}.shop-detail{min-height:0;display:flex;flex-direction:column;border:1px solid var(--window-line);border-radius:9px;background:var(--card-bg)}.shop-detail-scroll{flex:1;min-height:0;overflow-y:auto;padding:.95rem 1rem .3rem}.shop-detail-blank{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.9rem 1.6rem;text-align:center}.shop-detail-blank p{margin:.45rem 0 0;font-size:12.5px;line-height:1.5;color:var(--ink-muted)}.shop-detail-blank-title{font-family:var(--display);font-size:19px;font-variant:small-caps;letter-spacing:.04em;color:var(--ink-muted)}.shop-detail-blank-note{color:var(--gold-label)!important}.shop-detail-head{display:flex;align-items:flex-start;gap:11px}.shop-back{display:none;width:26px;height:26px;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid rgba(138,106,34,.4);border-radius:7px;background:var(--card-bg);color:var(--ink-secondary);font:inherit;font-size:16px;line-height:1;cursor:pointer}.shop-detail-art{width:46px;height:46px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid rgba(138,106,34,.35);overflow:hidden}.shop-detail-art.has-icon{background-color:transparent!important}.shop-detail-title{min-width:0;flex:1}.shop-detail-name{font-family:var(--display);font-size:20px;font-weight:600;font-variant:small-caps;letter-spacing:.03em;line-height:1.15;color:var(--ink)}.shop-detail-kind{margin-top:2px;font-size:12px;letter-spacing:.04em;color:var(--ink-secondary)}.shop-detail-gate{margin-top:3px;font-size:12px;color:var(--ink-muted)}.shop-detail-gate.is-blocked{color:var(--loss)}.shop-detail-rule{height:1px;margin:.75rem 0 .7rem;background:#8a6a2238}.shop-detail-label{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-label)}.shop-detail-spaced{margin-top:.9rem}.shop-detail-line{display:flex;align-items:baseline;gap:8px;margin-top:.9rem}.shop-detail-value{font-size:13px;color:var(--ink)}.shop-detail-hint{font-size:11.5px;color:var(--ink-muted)}.shop-detail-fine{margin:.5rem 0 0;font-size:11.5px;line-height:1.4;color:var(--ink-muted)}.shop-detail-note{margin:.75rem 0 0;font-size:12.5px;font-style:italic;line-height:1.45;color:var(--ink-secondary)}.shop-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:.4rem}.shop-stat-chip{padding:3px 9px;border-radius:5px;background:#96742a21;font-size:12.5px;color:var(--ink)}.shop-elements{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-top:.4rem}.shop-element{padding:5px 2px;border-radius:5px;border:1px solid rgba(150,116,42,.2);background:#96742a12;text-align:center;color:var(--ink-muted)}.shop-element.is-good{border-color:#3d7a3a73;background:#3d7a3a21;color:var(--gain)}.shop-element.is-bad{border-color:#a33a3a59;background:#a33a3a17;color:var(--loss)}.shop-element-name{display:block;font-size:9px;letter-spacing:.06em;text-transform:uppercase;opacity:.72}.shop-element-mult{display:block;margin-top:1px;font-size:12.5px;font-weight:700}.shop-resist{display:grid;grid-template-columns:3.6rem 1fr 5.4rem;align-items:center;gap:8px;margin-top:.4rem}.shop-resist-name{font-size:12px;color:var(--ink-body)}.shop-resist-track{height:7px;border-radius:3px;background:#96742a29;overflow:hidden}.shop-resist-track i{display:block;height:100%;background:linear-gradient(90deg,#d8bc6a,#b08d2f)}.shop-resist-text{text-align:right;font-size:11px;color:var(--ink-muted)}.shop-sockets{display:flex;gap:5px}.shop-sockets i{width:13px;height:13px;border:1px dashed var(--window-line-strong);border-radius:4px;transform:rotate(45deg)}.shop-compare{margin-top:.9rem;padding:.7rem .75rem;border:1px solid var(--window-line);border-left:3px solid var(--window-line-selected);border-radius:7px;background:var(--panel-modal-gradient)}.shop-compare-name{margin-top:.3rem;font-family:var(--display);font-size:16px;font-variant:small-caps;letter-spacing:.03em;color:var(--ink)}.shop-compare-name b{color:#8a6a22}.shop-compare-breakdown{margin-top:.45rem;font-size:11.5px;line-height:1.4;color:var(--ink-secondary)}.shop-refine-track{display:flex;gap:3px;margin-top:.35rem}.shop-refine-track i{flex:1;height:8px;border-radius:3px;background:#96742a29}.shop-refine-track i.is-deep{background:#8a6a1f}.shop-refine-track i.is-lit{background:#d8bc6a}.shop-delta{padding:3px 9px;border-radius:5px;font-size:12.5px;font-weight:600}.shop-delta.is-good{background:#3d7a3a24;color:var(--gain)}.shop-delta.is-bad{background:#a33a3a1f;color:var(--loss)}.shop-pay{display:flex;align-items:baseline;gap:8px;margin-top:.35rem}.shop-pay-value{font-size:22px;font-weight:700;color:#8a6a22}.shop-pay-note{font-size:12px;color:var(--ink-secondary)}.shop-commit{border-top:1px solid rgba(138,106,34,.28);padding:.75rem 1rem .8rem}.shop-qty{display:flex;align-items:center;gap:8px}.shop-qty-btn{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid rgba(138,106,34,.45);border-radius:6px;background:var(--card-bg);color:var(--ink);font:inherit;cursor:pointer}.shop-qty-btn.is-add{border-color:var(--window-line-selected);background:linear-gradient(180deg,#d8bc6a,#b08d2f);color:#2b2211;font-weight:700}.shop-qty-btn:disabled{opacity:.35;cursor:default}.shop-qty-value{width:28px;text-align:center;font-size:16px;font-weight:600;color:#8a6a22}.shop-qty-max{padding:5px 11px;border:1px solid var(--window-line);border-radius:6px;background:var(--card-bg);font:inherit;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-secondary);cursor:pointer}.shop-qty-note{margin-left:auto;font-size:11.5px;color:var(--ink-muted)}.shop-commit-btn{width:100%;margin-top:.65rem;padding:10px 18px;border:1px solid var(--window-line-selected);border-radius:8px;background:var(--gold-button);color:#fffdf7;font-family:var(--display);font-size:19px;font-variant:small-caps;font-weight:700;letter-spacing:.05em;box-shadow:inset 0 1px #fff6;cursor:pointer}.shop-commit-btn:disabled{border-color:var(--window-line);background:#fffdf899;color:var(--ink-disabled);box-shadow:none;cursor:default}.shop-commit-why{margin-top:.4rem;min-height:.95rem;text-align:center;font-size:12px;color:var(--ink-muted)}.shop-commit-why.is-bad{color:var(--loss)}.shop-commit-why.is-good{color:var(--gain)}.vending-row{display:grid;grid-template-columns:minmax(0,1fr) 6rem 7rem;align-items:center;gap:9px}.vending-number{width:100%;padding:6px 9px;border:1px solid var(--window-line);border-radius:6px;background:var(--card-bg);font:inherit;font-size:12.5px;text-align:right;color:var(--ink)}.vending-foot{display:flex;align-items:center;gap:10px;margin-top:.75rem;padding-top:.7rem;border-top:1px solid rgba(138,106,34,.28);font-size:12px;color:var(--ink-secondary)}.vending-foot b{color:var(--ink)}.vending-name{width:100%;margin-top:.35rem;padding:7px 12px;border:1px solid var(--window-line);border-radius:7px;background:var(--card-bg);font-family:var(--display);font-size:17px;font-variant:small-caps;letter-spacing:.03em;color:var(--ink)}@media(max-width:62rem){.shop-body{grid-template-columns:minmax(0,1fr)}.shop-card[data-view=detail] .shop-list,.shop-card:not([data-view=detail]) .shop-detail{display:none}.shop-back{display:flex}.shop-bar-row{flex-wrap:wrap}}@media(max-width:62rem){.vendor-panel .shop-list{display:flex!important;max-height:11rem}.vendor-panel .shop-detail{display:flex!important}}.equipment-doll{display:grid;grid-template-columns:158px minmax(150px,.9fr) 158px minmax(0,1.5fr) 232px;gap:12px;align-items:start;margin-bottom:.2rem}.equipment-rail{display:flex;flex-direction:column;gap:8px}.equipment-middle{min-width:0}@media(max-width:1240px){.equipment-doll{grid-template-columns:1fr 1fr}.equipment-doll>.equipment-portrait,.equipment-middle,.equip-stats{grid-column:1 / -1}}.equipment-doll>.equipment-portrait{position:relative;min-height:18rem;border:1px solid rgba(138,106,34,.3);border-radius:10px;background:#faf8f28c;overflow:hidden}.equipment-portrait canvas{position:absolute;inset:0;display:block;width:100%;height:100%;cursor:grab;touch-action:none;outline:none}.equipment-portrait canvas:active{cursor:grabbing}@media(max-width:820px){.equipment-doll{grid-template-columns:1fr}}.equip-cell{display:grid;grid-template-columns:1.9rem minmax(0,1fr);gap:0 .4rem;align-content:center;padding:.22rem .4rem;border:1px solid rgba(138,106,34,.3);border-radius:8px;background:var(--card-bg);font:inherit;font-size:.8rem;text-align:left;color:var(--ink-body);cursor:default;width:100%;min-width:0;min-height:4.3rem}button.equip-cell{cursor:pointer}button.equip-cell:hover{border-color:var(--window-line-strong)}.equip-cell.is-picked{border:2px solid var(--window-line-selected);box-shadow:0 0 0 3px #b08d2f33}.equip-cell .equip-name b{color:#8a6a1f}.equip-shot{flex:0 0 auto;width:2.4rem;height:2.4rem;border-radius:6px;border:1px solid rgba(138,106,34,.28);background-size:cover;background-position:center;display:block;overflow:hidden}.equip-shot img{width:100%;height:100%;object-fit:contain;display:block}.equip-cell .equip-shot{grid-row:span 2;align-self:center;width:1.9rem;height:1.9rem}.equip-cell .equip-slot{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:#5c4a24d9}.equip-cell .equip-name{font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equip-cell .equip-bonuses{grid-column:2;font-size:.68rem;color:#3a3427bf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.equip-cell .equip-pips{grid-column:1;grid-row:2;align-self:end;justify-self:center}.equip-cell .equip-remove{position:absolute;right:.35rem;top:.3rem;display:none;font-size:.65rem;padding:.1rem .4rem}.equip-cell{position:relative}.equip-cell:hover .equip-remove,.equip-cell:focus-within .equip-remove{display:inline-block}.equipment-bag{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.6rem,1fr));grid-auto-rows:min-content;gap:.3rem;align-content:start;min-height:0;overflow-y:auto;padding-right:.2rem}.equip-bag-title,.equip-bag-empty{grid-column:1 / -1}.equip-bag-title{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#5c4a24d9;padding:.1rem .2rem}.equip-bag-tile{position:relative;display:block;padding:.2rem;border:1px solid rgba(138,106,34,.28);border-radius:8px;background:var(--card-bg);cursor:pointer;line-height:0}.equip-bag-tile:hover{border-color:#8a6a22bf;background:#fffaecf2}.equip-bag-tile .equip-shot{width:100%;height:auto;aspect-ratio:1;border:0}.equip-bag-count{position:absolute;right:.15rem;bottom:.1rem;font-size:.6rem;line-height:1;padding:.05rem .2rem;border-radius:4px;background:#1c1a14b8;color:#f6efdd}.equip-bag-empty{font-size:.78rem;color:#3a342799;padding:.4rem .2rem}.equip-cell.is-mythical,.equip-bag-tile.is-mythical{border-color:#d6a83ee6;background:linear-gradient(180deg,#fff8e2f2,#f8e8bee6);box-shadow:0 0 0 1px #d6a83e59 inset}.equip-cell.is-mythical .equip-bonuses{color:#8a6a12;font-weight:600}.equip-cell.is-empty{border-style:dashed;background:transparent}.equip-cell.is-empty .equip-slot,.equip-cell.is-empty .equip-name{color:var(--ink-muted)}.equip-cell.is-empty .equip-name{font-weight:400;font-style:italic}.equip-shot.is-blank{border:1px dashed var(--window-line-strong);background:transparent}.equipment-block{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.4rem;margin-bottom:.2rem}.equip-row{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .6rem;padding:.45rem .6rem;border:1px solid rgba(138,106,34,.3);border-left:3px solid rgba(138,106,34,.45);border-radius:8px;background:var(--card-bg);font-size:.9rem;color:var(--ink-body)}.equip-row.is-empty{opacity:.55}.equip-slot{width:3.6rem;flex:0 0 auto;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#5c4a24d9}.equip-name{flex:1 1 8rem;min-width:0;display:flex;align-items:center;gap:.4rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.equip-dot{width:.6rem;height:.6rem;flex:0 0 auto;border-radius:50%;border:1px solid rgba(0,0,0,.25)}.equip-bonuses{font-size:.78rem;color:#6b5a2a}.equip-pips{display:flex;gap:.2rem}.equip-pip{width:.55rem;height:.55rem;border-radius:50%;border:1px solid rgba(138,106,34,.55);background:transparent}.equip-pip.is-filled{border-color:#3c301499}.party-member-where{flex-basis:100%;font-size:.72rem;opacity:.65;margin-top:.1rem}.record-unearned{opacity:.45}.card-album{margin-bottom:.6rem;padding:.5rem .6rem;border:1px solid rgba(138,106,34,.35);border-radius:6px}.card-album .equip-stat-row{align-items:center}.card-album-pips{display:flex;flex-wrap:wrap;gap:.2rem;margin:0 .5rem;flex:1}.floating-text-heavy{font-weight:700;text-shadow:0 2px 5px rgba(0,0,0,.9),0 0 12px rgba(255,214,132,.35)}.trade-page{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}@media(max-width:700px){.trade-page{grid-template-columns:minmax(0,1fr)}}.trade-list{display:flex;flex-direction:column;gap:4px;max-height:min(560px,66vh);overflow-y:auto;padding-right:4px}.trade-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:10px;width:100%;padding:9px 12px;border:1px solid transparent;border-left:3px solid var(--trade-color, var(--gold-primary));border-radius:7px;background:var(--card-bg);font:inherit;text-align:left;color:var(--ink-body);cursor:pointer}.trade-row:hover{border-color:var(--window-line-strong)}.trade-row.is-picked{border-color:var(--trade-color, var(--gold-primary));background:#96742a1c}.trade-row--mine .trade-row-name{color:var(--trade-color, var(--ink))}.trade-row--passed{opacity:.5}.trade-row-name{font-family:var(--display);font-size:15px;font-variant:small-caps;letter-spacing:.03em;color:var(--ink)}.trade-row-craft{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted)}.trade-row-stat{padding:1px 6px;border-radius:4px;background:#96742a24;font-size:10.5px;letter-spacing:.06em;color:var(--gold-label)}.trade-detail{border-left:3px solid var(--trade-color, var(--gold-primary))}.trade-detail-name{font-family:var(--display);font-size:18px;font-variant:small-caps;letter-spacing:.04em;color:var(--trade-color, var(--ink))}.trade-detail-meta{margin-top:1px;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold-label)}.trade-detail-desc{margin-top:10px;font-size:12.5px;line-height:1.55;color:var(--ink-secondary)}.trade-detail-block{margin-top:11px;padding:9px 11px;border-radius:7px;background:#96742a17;font-size:12px;line-height:1.5;color:var(--ink)}.trade-detail-label{display:block;margin-bottom:3px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-label)}.trade-detail-block p{margin:2px 0 0;color:var(--ink-secondary)}.trade-branch+.trade-branch{margin-top:8px}.trade-branch.is-taken{padding-left:7px;border-left:2px solid var(--trade-color, var(--gold-primary))}.trade-branch.is-rehearsing{padding-left:7px;border-left:2px dashed var(--trade-color, var(--gold-primary))}.trade-branch i.is-yours{color:var(--trade-color, var(--ink))}.trade-branch-cost{margin-top:3px!important;font-size:11px;font-style:italic;color:var(--ink-muted)}.trade-branch-actions{margin-top:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.trade-branch i{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.trade-node{margin-top:7px;padding-left:8px;border-left:2px solid rgba(138,106,34,.25);font-size:11.5px;line-height:1.45;opacity:.5}.trade-node.is-open{border-left-color:var(--trade-color, var(--gold-primary));opacity:1}.trade-node.is-branch{border-left-style:dashed}.trade-node i{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--gold-label)}.trade-node p{margin:1px 0 0;color:var(--ink-secondary)}.workshop-rows{display:flex;flex-direction:column;gap:6px;margin-top:7px}.workshop-row{padding:7px 9px;border-radius:4px;border-left:2px solid rgba(138,106,34,.25);background:#0000001f;opacity:.75}.workshop-row.is-open{border-left-color:var(--trade-color, var(--gold-primary));opacity:1}.workshop-row.is-locked{opacity:.45}.workshop-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.workshop-row-head b{font-size:12.5px;color:var(--ink)}.workshop-row-head .editor-button{flex-shrink:0;padding:2px 10px;font-size:11px}.workshop-gate{flex-shrink:0;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--gold-label)}.workshop-inputs{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:4px}.workshop-need{font-size:11px;color:var(--ink-secondary)}.workshop-need b{font-variant-numeric:tabular-nums;color:var(--ink)}.workshop-need.is-short,.workshop-need.is-short b{color:#c98b6b}.workshop-note{margin:4px 0 0;font-size:10.5px;font-style:italic;color:var(--ink-muted)}.trade-detail-practice{margin-top:11px;font-size:12px;font-style:italic;color:var(--ink-muted)}.trade-detail-foot{margin-top:12px}.trade-detail-earned{font-size:12.5px;font-weight:700;color:var(--trade-color, var(--ink))}.trade-detail-earned.is-passed{font-weight:400;font-style:italic;color:var(--ink-muted)}.element-block{margin-top:.2rem}.element-stance{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 12px}.element-stance-item{display:flex;flex-direction:column;gap:3px;padding:9px 11px;border:1px solid var(--window-line);border-radius:8px;background:var(--card-bg)}.element-stance-label{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-secondary)}.element-chip{font-size:15px;font-weight:700;color:var(--element-color, #2c2416);filter:brightness(.75) saturate(1.25)}.element-resists{display:flex;flex-direction:column;gap:.22rem}.element-resist-row{display:grid;grid-template-columns:4.2rem 1fr 2.4rem;align-items:center;gap:.5rem;opacity:.72}.element-resist-row--held{opacity:1}.element-resist-name{font-size:.78rem;color:var(--element-color, #2c2416);filter:brightness(.72) saturate(1.3)}.element-resist-track{height:.34rem;border-radius:.2rem;background:#2c241629;overflow:hidden}.element-resist-fill{display:block;height:100%;background:var(--element-color, #d9dee4)}.element-resist-value{font-size:.76rem;font-variant-numeric:tabular-nums;text-align:right;color:var(--ink)}.nameplate-title{display:flex;align-items:center;justify-content:center;gap:.28rem}.nameplate-effects{font-size:.58rem;letter-spacing:.04em;text-transform:uppercase;text-align:center;color:#ffd9a0;text-shadow:0 1px 3px rgba(0,0,0,.9)}.nameplate-element{padding:0 .28rem;border:1px solid currentColor;border-radius:.6rem;font-size:.58rem;flex:none;letter-spacing:.05em;text-transform:uppercase;line-height:1.35;text-shadow:0 1px 3px rgba(0,0,0,.9)}.target-frame{position:absolute;top:.9rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.22rem;min-width:13rem;padding:.45rem .9rem .55rem;border:1px solid rgba(232,217,181,.28);border-radius:.45rem;background:#0c0a08c7;box-shadow:0 2px 8px #00000073;pointer-events:none;z-index:14;text-align:center}.target-frame-title{display:flex;align-items:baseline;gap:.4rem}.target-frame-name{color:#ffd166;font-weight:700;font-size:.86rem;text-shadow:0 1px 3px rgba(0,0,0,.9)}.target-frame-bar{width:11rem;height:.42rem;border:1px solid rgba(0,0,0,.75);border-radius:.22rem;background:#0c0a08bf;overflow:hidden;box-shadow:0 1px 2px #0009}.target-frame-hp{color:#e8d9b5;font-size:.72rem}.target-frame-effects{color:#8fb4c7;font-size:.7rem;letter-spacing:.03em}.target-frame-rule{display:flex;flex-direction:column;align-items:center;gap:.05rem;padding:.18rem .55rem;border:1px solid #ffd166;border-radius:.4rem;background:#00000059}.target-frame-rule-title{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.target-frame-rule-line{font-size:.68rem;color:#e6f2e8}.target-frame-cast{display:flex;flex-direction:column;align-items:center;gap:.14rem;width:11rem}.target-frame-cast-label{font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:#e6f2e8}.tooltip{position:fixed;z-index:60;max-width:16rem;padding:.45rem .6rem;border:1px solid rgba(232,217,181,.3);border-radius:.35rem;background:#0e0c09f0;box-shadow:0 4px 12px #00000080;pointer-events:none;font-size:.74rem;line-height:1.45;color:#cfc4a6}.tooltip-title{color:#ffd166;font-weight:700;font-size:.8rem;margin-bottom:.15rem}.tooltip-good{color:#8fdf9a}.tooltip-bad{color:#e08a8a}.chat-panel{position:absolute;left:18px;bottom:96px;width:min(300px,40vw);display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--hud-panel);box-shadow:0 10px 26px #0006,inset 0 1px #ffffff0d;pointer-events:auto;z-index:15}.chat-tabs{display:flex;gap:6px}.chat-tab{padding:2px 10px;border:1px solid rgba(232,217,181,.2);border-radius:4px;background:#0c0a0880;color:#a99f86;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.chat-tab.is-active{color:#ffd166;border-color:#ffd1668c}.chat-entries{height:108px;overflow-y:auto;font-size:.76rem;line-height:1.45;display:flex;flex-direction:column}.chat-line{color:#d8cfb6;overflow-wrap:anywhere}.chat-line-system{font-style:italic}.chat-name{font-weight:700}.chat-log-category{font-weight:600}.chat-input{border:1px solid rgba(232,217,181,.25);border-radius:5px;background:#0a0907b3;color:#e8d9b5;font:inherit;font-size:.78rem;padding:4px 8px}.chat-input:focus{outline:none;border-color:#ffd16699}.duel-prompt{position:absolute;top:22%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:.9rem 1.4rem;border:1px solid rgba(255,209,102,.5);border-radius:.5rem;background:#0e0c09eb;box-shadow:0 8px 24px #0000008c;pointer-events:auto;z-index:30}.duel-prompt-text{color:#ffd166;font-weight:700;font-size:.9rem;text-shadow:0 1px 3px rgba(0,0,0,.9)}.duel-prompt-actions{display:flex;gap:.6rem}.duel-prompt-accept{border-color:var(--window-line-selected);background:linear-gradient(180deg,#d8bc6a,#b08d2f);color:#2b2211;font-weight:700}.duel-prompt-accept:hover{background:linear-gradient(180deg,#e3c877,#bd9835)}.context-menu{position:fixed;z-index:40;min-width:10rem;border:1px solid rgba(232,217,181,.3);border-radius:.4rem;background:#0e0c09f0;box-shadow:0 6px 18px #0000008c;pointer-events:auto;overflow:hidden}.context-menu-title{padding:.4rem .7rem .3rem;color:#ffd166;font-weight:700;font-size:.78rem;border-bottom:1px solid rgba(232,217,181,.18);text-shadow:0 1px 3px rgba(0,0,0,.9)}.context-menu-items{display:flex;flex-direction:column;padding:.25rem 0}.context-menu-item{padding:.3rem .7rem;border:none;background:none;color:#d8cfb6;font:inherit;font-size:.78rem;text-align:left;cursor:pointer}.context-menu-item:hover{background:#ffd16624;color:#ffd166}.hud-movable{pointer-events:auto}.hud-movable.is-hidden{display:none!important}.hud-movable.is-dragging{opacity:.9;cursor:grabbing;z-index:50}.hud-panel-close{position:absolute;top:2px;right:4px;width:18px;height:18px;padding:0;border:none;border-radius:3px;background:transparent;color:#a99f86;font-size:15px;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s ease;z-index:2}.hud-movable:hover>.hud-panel-close{opacity:1}.hud-panel-close:hover{background:#c5636a47;color:#ffd166}.onboarding-backdrop{position:fixed;inset:0;z-index:47;display:flex;align-items:center;justify-content:center;padding:24px;background:#14120c80;backdrop-filter:blur(2px)}.onboarding-backdrop[hidden]{display:none}.onboarding-card{width:min(560px,100%);max-height:calc(100vh - 48px);overflow-y:auto;padding:26px 30px 22px;border:1px solid rgba(203,170,108,.5);border-radius:10px;background:linear-gradient(180deg,#faf8f2f7,#eee9def7);box-shadow:0 24px 60px #00000073;color:#3a3226}.onboarding-speaker{font-size:19px;letter-spacing:.02em;color:#8a6a2f}.onboarding-title{margin-top:2px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#7a6540}.onboarding-divider{height:1px;margin:14px 0 16px;background:linear-gradient(90deg,#cbaa6c99,#cbaa6c00)}.onboarding-body p{margin:0 0 10px;font-size:13.5px;line-height:1.55}.onboarding-system{color:#5d6b7a;font-style:italic}.onboarding-recommendation{margin:14px 0;padding:10px 14px;border:1px solid rgba(203,170,108,.5);border-radius:6px;background:#cbaa6c1f;color:#4a3c1c;font-size:20px;font-weight:700;letter-spacing:.08em;text-align:center}.onboarding-oracle{padding-left:10px;border-left:2px solid rgba(203,170,108,.55);color:#6b5528;font-style:italic}.onboarding-items{margin:0 0 12px;padding:12px 14px;list-style:none;border:1px solid rgba(203,170,108,.35);border-radius:6px;background:#cbaa6c17;font-size:13px;line-height:1.9}.onboarding-item-name{padding-left:12px;border-left:3px solid var(--item-color, #cbaa6c);color:#4a4133}.onboarding-weapons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 12px}.onboarding-weapon{display:block;padding:10px 12px;border:1px solid rgba(203,170,108,.45);border-radius:6px;background:#fffdf7cc;text-align:left;cursor:pointer;font:inherit;transition:border-color .12s,background .12s}.onboarding-weapon:hover{border-color:#a07e3ae6;background:#cbaa6c29}.onboarding-weapon-name{display:block;font-size:13.5px;color:#8a6a2f}.onboarding-weapon-note{display:block;margin-top:3px;font-size:11.5px;line-height:1.4;color:#6a6152}.onboarding-loadout{margin:0 0 4px;font-size:13px}.onboarding-loadout>div{display:flex;gap:10px;padding:4px 0;border-bottom:1px solid rgba(203,170,108,.25)}.onboarding-loadout dt{width:90px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7a6540}.onboarding-loadout dd{margin:0;color:#4a4133}.onboarding-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.onboarding-button{padding:9px 18px;border:1px solid rgba(203,170,108,.6);border-radius:6px;background:transparent;color:#6b5528;cursor:pointer;font:inherit;font-size:13px}.onboarding-button.is-primary{border-color:#a07e3ae6;background:linear-gradient(180deg,#d8b46a,#b8913f);color:#2f2712}.inventory-chip.is-heavy b{color:var(--warn, #c98b6b)}.inventory-chip.is-overloaded b{color:var(--danger, #b4483c);font-weight:700}.inventory-use.is-discard{border-color:#b4483c59;color:#b4483cd9}.inventory-use.is-discard:hover{border-color:#b4483ccc;background:#b4483c1f;color:#b4483c}.low-hp-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 52%,rgba(140,12,12,.55) 86%,rgba(96,4,4,.85) 100%);opacity:0;transition:opacity .35s ease;z-index:5}.low-hp-vignette.is-bleeding{animation:low-hp-pulse 1.6s ease-in-out infinite}@keyframes low-hp-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.45)}}.bar-fill.is-critical{animation:hp-critical-pulse 1.1s ease-in-out infinite}@keyframes hp-critical-pulse{0%,to{filter:brightness(1) saturate(1)}50%{filter:brightness(1.6) saturate(1.4)}}.duel-banner{position:absolute;top:18%;left:50%;transform:translate(-50%);color:#ffd166;font-size:1.6rem;font-weight:800;letter-spacing:.08em;text-shadow:0 2px 8px rgba(0,0,0,.9);pointer-events:none;z-index:32}.duel-banner.is-fading{animation:duel-banner-in 2.6s ease forwards}@keyframes duel-banner-in{0%{opacity:0;transform:translate(-50%) scale(1.35)}12%{opacity:1;transform:translate(-50%) scale(1)}78%{opacity:1}to{opacity:0}}.duel-frame[hidden],.duel-result[hidden]{display:none}.duel-frame{position:absolute;top:4.6rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:11rem;padding:.35rem .8rem .45rem;border:1px solid rgba(255,209,102,.45);border-radius:.45rem;background:#0e0c09e0;pointer-events:none;z-index:20}.duel-frame-name{color:#ffd166;font-weight:700;font-size:.82rem;text-shadow:0 1px 3px rgba(0,0,0,.9)}.duel-frame-bar{width:100%;height:.42rem;border-radius:.21rem;background:#ffffff1f;overflow:hidden}.duel-result{position:absolute;top:22%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:.9rem 1.6rem 1rem;border:1px solid rgba(255,209,102,.5);border-radius:.5rem;background:#0e0c09eb;box-shadow:0 8px 24px #0000008c;pointer-events:auto;z-index:31}.duel-result-title{font-size:1.3rem;font-weight:800;letter-spacing:.12em;color:#ffd166;text-shadow:0 2px 6px rgba(0,0,0,.9)}.duel-result-title[data-result=lost]{color:#e08a8a}.duel-result-title[data-result=abandoned]{color:#8fb4c7}.duel-result-record{color:#cfc4a8;font-size:.8rem}.aram-bar[hidden],.aram-banner[hidden],.aram-warning[hidden],.aram-result[hidden]{display:none}.aram-bar{position:absolute;top:.55rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.7rem;padding:.32rem .85rem;border:1px solid rgba(232,217,181,.28);border-radius:.45rem;background:#0e0c09e0;pointer-events:none;z-index:18}.aram-side{display:flex;align-items:center;gap:.4rem}.aram-nexus-bar{width:7.5rem;height:.5rem;border-radius:.25rem;background:#ffffff1f;overflow:hidden}.aram-nexus-fill{height:100%;border-radius:inherit;transition:width .25s ease}.aram-side.is-blue .aram-nexus-fill{background:var(--side-blue)}.aram-side.is-red .aram-nexus-fill{background:var(--side-red)}.aram-side.is-red .aram-nexus-bar{transform:scaleX(-1)}.aram-pips{font-size:.7rem;letter-spacing:.12em;color:#cfc4a8}.aram-kills{min-width:1.4rem;text-align:center;font-weight:800;font-size:.95rem;color:#f3ead3;text-shadow:0 1px 3px rgba(0,0,0,.9)}.aram-clock{min-width:6.5rem;text-align:center;font-size:.72rem;color:#cfc4a8}.aram-class-chip{pointer-events:auto;cursor:pointer;padding:.16rem .5rem;border:1px solid rgba(232,217,181,.3);border-radius:.3rem;background:#e8d9b514;font-family:inherit;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#cfc4a8}.aram-class-chip:hover{border-color:#e8d9b599;background:#e8d9b529;color:#f3ead3}.aram-banner,.aram-warning{position:absolute;left:50%;transform:translate(-50%);font-weight:800;letter-spacing:.1em;text-shadow:0 2px 8px rgba(0,0,0,.9);pointer-events:none;z-index:32}.aram-banner{top:18%;font-size:1.5rem;color:#9fd0ff}.aram-warning{top:26%;font-size:1.05rem;color:#ff6a5c}.aram-banner.is-live{animation:duel-banner-in 2.6s ease forwards}.aram-warning.is-live{animation:aram-warning-pulse 2.2s ease forwards}@keyframes aram-warning-pulse{0%{opacity:0}15%,45%,75%{opacity:1}30%,60%{opacity:.35}to{opacity:0}}.aram-result{position:absolute;top:22%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:15rem;padding:.9rem 1.6rem 1rem;border:1px solid rgba(255,209,102,.5);border-radius:.5rem;background:#0e0c09eb;box-shadow:0 8px 24px #0000008c;pointer-events:auto;z-index:31}.aram-result-title{font-size:1.3rem;font-weight:800;letter-spacing:.12em;color:#ffd166;text-shadow:0 2px 6px rgba(0,0,0,.9)}.aram-result-title[data-result=lost]{color:#e08a8a}.aram-result-banner{font-size:.78rem;font-weight:700;letter-spacing:.14em}.aram-result-banner[data-winner=blue]{color:var(--side-blue)}.aram-result-banner[data-winner=red]{color:var(--side-red)}.aram-result-lines{display:flex;flex-direction:column;gap:.2rem;width:100%}.aram-result-line{display:flex;justify-content:space-between;gap:1.4rem;font-size:.82rem;color:#e8dcc0}.aram-result-line[data-team=blue]>span:first-child{color:var(--side-blue)}.aram-result-line[data-team=red]>span:first-child{color:var(--side-red)}.aram-result-reset{font-size:.75rem;color:#cfc4a8;min-height:1em}.world-map-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:.4rem;max-width:min(86vw,76rem);max-height:82vh;padding:.7rem .9rem .9rem;border:1px solid rgba(232,217,181,.32);border-radius:.55rem;background:#0e0c09f0;box-shadow:0 10px 30px #0009;pointer-events:auto;z-index:26;overflow:auto}.world-map-panel[hidden]{display:none}.world-map-title{font-weight:800;letter-spacing:.1em;color:#ffd166;text-shadow:0 1px 4px rgba(0,0,0,.9)}.world-map-bar{display:flex;align-items:center;gap:.5rem}.world-map-region{display:flex;flex-direction:column;line-height:1.2;margin-right:auto}.world-map-region b{font-size:13px;color:#e8dcc0;letter-spacing:.04em}.world-map-region i{font-style:normal;font-size:10.5px;color:#b7ab8f}.world-map-step,.world-map-view{flex-shrink:0;padding:2px 9px;border-radius:4px;border:1px solid rgba(232,217,181,.28);background:#14110cb3;color:#e8dcc0;font-size:11px;cursor:pointer}.world-map-step:disabled{opacity:.3;cursor:default}.world-map-step:hover:not(:disabled),.world-map-view:hover{border-color:#ffd166b3}.world-map-view[hidden]{display:none}.world-map-painting{position:relative;overflow:auto;max-height:68vh}.world-map-painting[hidden]{display:none}.world-map-painting-image{display:block;width:100%;height:auto;border-radius:6px}.world-map-pin{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;padding:0;border-radius:50%;border:2px solid rgba(255,209,102,.9);background:#14110c8c;cursor:pointer;transition:transform .12s ease}.world-map-pin:hover{transform:scale(1.25)}.world-map-pin.is-here{border-color:#ffd166;background:#ffd166;box-shadow:0 0 0 4px #ffd16640}.world-map-canvas[hidden]{display:none}.world-map-canvas{display:block;max-width:100%}.minimap-world-button{margin-top:.25rem;align-self:center;padding:.14rem .55rem;border:1px solid rgba(232,217,181,.35);border-radius:.3rem;background:#0e0c09d9;color:#cfc4a8;font-size:.68rem;font-family:inherit;cursor:pointer;pointer-events:auto}.minimap-world-button:hover{color:#ffd166;border-color:#ffd16680}.tower-bar[hidden],.tower-banner[hidden]{display:none}.tower-bar{position:absolute;top:.55rem;left:50%;transform:translate(-50%);display:flex;align-items:baseline;gap:.55rem;padding:.32rem .95rem;border:1px solid rgba(232,217,181,.28);border-radius:.45rem;background:#0e0c09e0;pointer-events:none;z-index:18}.tower-bar[data-boss=yes]{border-color:#ffd1668c;box-shadow:0 0 14px #ffd16629}.tower-floor{font-weight:800;font-size:1.05rem;letter-spacing:.04em;color:#f3ead3;text-shadow:0 1px 3px rgba(0,0,0,.9)}.tower-through{font-size:.72rem;color:#9a917c}.tower-drain{align-self:center;width:8rem;height:.5rem;border-radius:.25rem;background:#ffffff1f;overflow:hidden}.tower-drain-fill{height:100%;border-radius:inherit;background:#c98a4b;transition:width .25s ease}.tower-bar[data-boss=yes] .tower-drain-fill{background:#ffd166}.tower-status{min-width:8.5rem;font-size:.72rem;color:#cfc4a8}.tower-banner{position:absolute;top:18%;left:50%;transform:translate(-50%);font-weight:800;font-size:1.5rem;letter-spacing:.1em;color:#e8cfa0;text-shadow:0 2px 8px rgba(0,0,0,.9);pointer-events:none;white-space:nowrap;z-index:32}.tower-banner[data-boss=yes]{color:#ffd166;font-size:1.25rem}.tower-banner.is-live{animation:duel-banner-in 2.6s ease forwards}.editor-stamp[hidden],.editor-stamp-steps-field[hidden]{display:none}.editor-stamp{display:flex;flex-direction:column;gap:.4rem;margin-top:.35rem;padding-top:.45rem;border-top:1px solid rgba(201,166,74,.22)}.editor-stamp-readout{padding:.35rem .5rem;border-radius:.35rem;background:#14120cbf;font-size:.74rem;letter-spacing:.02em;color:var(--muted)}.editor-stamp-readout[data-grade=walkable]{color:#9be6b4}.editor-stamp-readout[data-grade=rocky]{color:#e8cf8a}.editor-stamp-readout[data-grade=cliff]{color:#e89a8a}.nameplate-shield-fill{position:absolute;left:0;top:0;height:100%;border-radius:inherit;background:#7db3e8bf;pointer-events:none}.debug-quest-row{display:flex;align-items:center;gap:.35rem;font-size:.72rem}.arrowcraft-rows .trade-row{display:flex;flex-direction:column;align-items:stretch;gap:6px}.arrowcraft-rows .trade-row-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px}.arrowcraft-rows .trade-row-foot{display:flex;align-items:center;gap:8px;min-width:0}.arrowcraft-rows .trade-row-practice{flex:1;min-width:0}.arrowcraft-scrap{flex:1;min-width:0;background:var(--card-bg);color:inherit;border:1px solid var(--window-line);border-radius:.3rem;padding:.2rem;font:inherit}.debug-quest-row select{flex:1;min-width:0;background:var(--card-bg);color:inherit;border:1px solid var(--window-line);border-radius:.3rem;padding:.2rem}.shell-screen{position:fixed;inset:0;z-index:46;display:flex;padding:24px;overflow-y:auto;color:var(--text);opacity:1;visibility:visible;transition:opacity .42s ease,visibility .42s ease}.shell-screen[hidden]{display:flex;opacity:0;visibility:hidden;pointer-events:none}.shell-screen:before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,#050b0957,#050b09e6),radial-gradient(circle at 50% 50%,rgba(115,177,189,.1),transparent 50%),url(/branding/loading-art.png) center center / cover no-repeat;filter:saturate(1.05);transform:scale(1.55);transform-origin:center 82%}.shell-screen:after{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 50% 20%,rgba(255,242,192,.22),transparent 30%),linear-gradient(180deg,#0207060f,#0207068f)}.shell-inner{position:relative;display:grid;justify-items:center;gap:18px;width:min(920px,100%);margin:auto}.shell-logo{width:min(420px,72vw);height:auto;filter:drop-shadow(0 10px 26px rgba(0,0,0,.55))}.shell-card.is-wide .shell-logo,.shell-inner.is-wide .shell-logo{width:min(320px,56vw)}@media(max-height:920px){.shell-inner.is-wide{gap:12px}.shell-card.is-wide .shell-logo,.shell-inner.is-wide .shell-logo{width:min(240px,44vw)}}.shell-inner.is-wide.is-new-bodies{height:min(940px,calc(100vh - 48px));grid-template-rows:auto minmax(0,1fr);align-content:start}.shell-card{width:min(420px,92vw);padding:22px 26px 24px;border:1px solid rgba(223,201,128,.28);border-radius:18px;background:linear-gradient(180deg,#15211c9e,#080d0acc),#0000004d;box-shadow:0 24px 44px #00000059;backdrop-filter:blur(10px);text-align:center}.shell-card.is-parchment{width:min(880px,94vw);display:flex;flex-direction:column;min-height:0;max-height:100%;padding:26px 30px 22px;border:1px solid rgba(203,170,108,.5);border-radius:12px;background:linear-gradient(180deg,#faf8f2f7,#eee9def7);box-shadow:0 24px 60px #00000073;backdrop-filter:none;color:var(--ink);text-align:left}.shell-eyebrow{margin-bottom:10px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#e8d9abd1}.shell-card.is-parchment .shell-eyebrow{color:var(--gold-label)}.shell-title{font-family:var(--display);font-weight:700;font-size:26px;letter-spacing:.06em;font-variant:small-caps;color:var(--gold)}.shell-card.is-parchment .shell-title{color:#8a6a22}.shell-divider{margin:14px 0 16px;height:1px;background:#8a6a2247}.shell-heading{font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:.03em;color:var(--ink)}.shell-heading.is-unnamed,.slot-card-title.is-unnamed{font-style:italic;opacity:.75}.shell-blurb{margin-top:6px;font-size:12px;line-height:1.6;color:#f3edddd1}.shell-card.is-parchment .shell-blurb{color:var(--ink-secondary)}.shell-form{display:grid;gap:12px;margin-top:18px;text-align:left}.shell-field{display:grid;gap:5px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#e8d9abb8}.shell-card.is-parchment .shell-field{color:var(--gold-label)}.shell-field input{padding:9px 11px;border:1px solid rgba(203,170,108,.34);border-radius:6px;background:#060c0a99;color:var(--text);font:inherit;font-size:15px;letter-spacing:.02em;text-transform:none;transition:border-color .14s ease,box-shadow .14s ease}.shell-card.is-parchment .shell-field input{border-color:#8a6a2273;background:var(--card-bg);color:var(--ink)}.shell-field input:focus{outline:none;border-color:#b28c30;box-shadow:0 0 0 2px #b28c3038}.shell-checkbox{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;color:#e8d9abc7;text-transform:none;letter-spacing:normal;cursor:pointer}.shell-card.is-parchment .shell-checkbox{color:var(--ink)}.shell-checkbox input{margin-top:2px;width:15px;height:15px;accent-color:#b28c30;cursor:pointer;flex:none}.shell-checkbox a{color:#d9be7c;text-decoration:underline;text-underline-offset:2px}.shell-card.is-parchment .shell-checkbox a{color:#8a6a22}.shell-button{padding:9px 18px;border:1px solid #b28c30;border-radius:6px;background:var(--gold-button);color:#2b2416;font:inherit;font-size:13px;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:filter .12s ease,transform .12s ease}.shell-button:hover:not(:disabled){filter:brightness(1.07)}.shell-button:active:not(:disabled){transform:translateY(1px)}.shell-button:disabled{opacity:.55;cursor:default}.shell-button.is-quiet{border-color:#8a6a2259;background:transparent;color:#e8d9abdb;font-weight:400}.shell-card.is-parchment .shell-button.is-quiet,.shell-confirm-card .shell-button.is-quiet{border-color:#8a6a2266;color:#7a6540}.shell-error,.shell-notice{padding:8px 10px;border-radius:6px;font-size:12px;line-height:1.5}.shell-error{border:1px solid rgba(163,58,58,.4);background:#a33a3a29;color:#e9b9b9}.shell-notice{border:1px solid rgba(203,170,108,.4);background:#cbaa6c24;color:#efdcae}.shell-card.is-parchment .shell-error{background:#a33a3a1a;color:#8c3535}.shell-card.is-parchment .shell-notice{background:#cbaa6c29;color:#7a6120}.shell-links{display:flex;gap:16px;justify-content:center;margin-top:14px}.shell-link{border:none;background:transparent;font:inherit;font-size:11px;color:#e8d9aba8;text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color .12s ease}.shell-card.is-parchment .shell-link{color:var(--ink-muted)}.shell-link:hover{color:var(--gold)}.shell-card.is-parchment .shell-link:hover{color:var(--ink)}.shell-choices{display:flex;gap:10px;justify-content:center;margin-top:16px}.select-body{display:flex;gap:22px;align-items:flex-start}.is-new-bodies .select-body{align-items:stretch;flex:1 1 auto;min-height:0}.slot-grid{display:grid;gap:8px;flex:0 0 44%;max-height:58vh;overflow-y:auto;padding-right:4px}.is-new-bodies .slot-grid{max-height:none;align-content:start}.slot-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;width:100%;padding:9px 12px;border:1px solid var(--window-line);border-left:3px solid var(--slot-color, rgba(138, 106, 34, .4));border-radius:8px;background:var(--card-bg);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform .12s ease,background .12s ease,box-shadow .12s ease}.slot-card:hover{transform:translate(2px);background:#fffdf8}.slot-card.is-selected{background:var(--card-selected);box-shadow:0 4px 14px #5a461e2e}.slot-card.is-empty{border-left-color:#8a6a2240;background:#fffdf780}.slot-card.is-locked{border-left-color:#8a6a2229;background:#f0ece280;opacity:.6;cursor:default}.slot-card.is-locked:hover{transform:none}.slot-card-title{font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:.02em;color:var(--slot-color, var(--ink))}.slot-card.is-empty .slot-card-title,.slot-card.is-locked .slot-card-title{color:var(--ink-muted)}.slot-card-subtitle{margin-top:1px;font-size:11px;color:var(--ink-secondary)}.slot-card-level{display:grid;place-items:center;min-width:30px;height:30px;padding:0 6px;border:1px solid rgba(138,106,34,.3);border-radius:999px;background:#cbaa6c29;font-family:var(--display);font-size:14px;font-weight:700;color:#8a6a22}.select-detail{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;min-height:0;overflow:hidden;text-align:center}.select-preview{position:relative;width:100%;aspect-ratio:3 / 4;max-height:42vh;border:1px solid rgba(138,106,34,.25);border-radius:8px;background:radial-gradient(ellipse at 50% 82%,rgba(203,170,108,.26),transparent 62%),linear-gradient(180deg,#fffdf8,#efe9dc);overflow:hidden}.select-preview canvas{display:block;width:100%;height:100%}.shell-confirm{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:#14120c80;backdrop-filter:blur(2px)}.shell-confirm-card{width:min(400px,92vw);padding:22px 24px 20px;border:1px solid rgba(203,170,108,.5);border-radius:10px;background:linear-gradient(180deg,#faf8f2fa,#eee9defa);box-shadow:0 24px 60px #00000073;color:var(--ink);text-align:left}.mfa-qr{width:180px;margin:10px auto;padding:8px;background:#fff;border-radius:6px}.mfa-qr svg{display:block;width:100%;height:auto}.shell-confirm-title{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:.03em;color:#8c3535}.shell-confirm-body{margin-top:8px;font-size:12px;line-height:1.6;color:var(--ink-secondary)}.shell-confirm-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.shell-button.is-danger{border-color:#8c3535;background:linear-gradient(180deg,#b34a4a,#8c3535);color:#fdf3f3}.loading-veil{position:fixed;inset:0;z-index:47;display:grid;place-items:center;padding:24px;overflow:hidden;background:#08120e;color:var(--text);opacity:1;visibility:visible;transition:opacity .55s ease,visibility .55s ease}.loading-veil[hidden]{display:grid;opacity:0;visibility:hidden;pointer-events:none}.loading-veil:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#050b096b,#050b09eb),url(/branding/loading-art.png) center center / cover no-repeat;transform:scale(1.02)}.loading-veil-card{position:relative;width:min(460px,100%);padding:18px 22px 20px;border:1px solid rgba(223,201,128,.28);border-radius:18px;background:linear-gradient(180deg,#15211c99,#080d0ac7),#0000004d;box-shadow:0 24px 44px #0000004d;backdrop-filter:blur(10px);text-align:center}.loading-veil-title{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:.06em;font-variant:small-caps;color:#fff2cb}.loading-veil-bar{position:relative;height:6px;margin-top:14px;overflow:hidden;border-radius:999px;background:#cbaa6c2e}.loading-veil-bar span{position:absolute;inset:0;width:42%;border-radius:inherit;background:linear-gradient(90deg,#6cbed0f0,#f2da93f0);box-shadow:0 0 12px #79c4d15c,0 0 22px #e7d39a33;animation:loading-sweep 1.8s ease-in-out infinite}.plate-points{margin-left:6px;flex:none;white-space:nowrap;padding:1px 7px;border:1px solid rgba(203,170,108,.55);border-radius:999px;background:#cbaa6c2e;color:var(--gold);font:inherit;font-size:10px;letter-spacing:.04em;cursor:pointer;transition:background .12s ease,color .12s ease}.plate-points:hover{background:#cbaa6c52;color:#fff2cb}.death-overlay-toll{margin-top:6px;font-size:13px;line-height:1.5;color:var(--ink-body)}.death-overlay-comfort{margin-top:4px;font-size:11px;color:var(--ink-secondary)}@media(max-height:620px){.death-overlay-comfort{display:none}}.chat-time{margin-right:5px;font-size:10px;font-variant-numeric:tabular-nums;color:#efe6cd61}.chat-line-emote{font-style:italic;color:#cbb6e0}.boot-guard{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#050b09db,#050b09f7),url(/branding/loading-art.png) center center / cover no-repeat;color:var(--text)}.boot-guard-card{width:min(460px,92vw);padding:26px;border:1px solid rgba(223,201,128,.28);border-radius:18px;background:linear-gradient(180deg,#15211cb8,#080d0adb),#0000004d;box-shadow:0 24px 44px #0006;backdrop-filter:blur(10px);text-align:center}.boot-guard-logo{width:min(260px,70%);height:auto;margin-bottom:14px}.boot-guard-title{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:.06em;font-variant:small-caps;color:#fff2cb}.boot-guard-body{margin-top:10px;font-size:13px;line-height:1.65;color:#f3eddddb}.boot-guard-detail{margin:14px 0 0;padding:8px 10px;border-radius:6px;overflow-x:auto;background:#0006;font-size:11px;text-align:left;white-space:pre-wrap;color:#e9b9b9}.level-banner{position:absolute;top:27%;left:50%;transform:translate(-50%);text-align:center;pointer-events:none;z-index:32}.level-banner-headline{color:#ffd166;font-size:1.7rem;font-weight:800;letter-spacing:.08em;text-shadow:0 2px 8px rgba(0,0,0,.9)}.level-banner-detail{margin-top:.25rem;color:#e6edf3;font-size:.95rem;font-weight:600;letter-spacing:.03em;text-shadow:0 2px 6px rgba(0,0,0,.9)}.level-banner[data-kind=job] .level-banner-headline{color:#8ecae6}.level-banner.is-live{animation:level-banner-in 3.2s ease forwards}@keyframes level-banner-in{0%{opacity:0;transform:translate(-50%) translateY(12px) scale(1.25)}10%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}80%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-10px) scale(1)}}.level-banner.is-still.is-live{animation:level-banner-fade 3.2s ease forwards}@keyframes level-banner-fade{0%{opacity:0}6%{opacity:1}88%{opacity:1}to{opacity:0}}.moment-toasts{position:absolute;top:46%;right:calc(46px + min(330px,32vw));display:flex;flex-direction:column;align-items:flex-end;gap:6px;pointer-events:none;z-index:31}.moment-toast{--moment-accent: #c9b8ff;min-width:190px;max-width:280px;padding:7px 12px 8px;border-right:3px solid var(--moment-accent);border-radius:6px;background:linear-gradient(to left,#12141ce0,#12141c9e);box-shadow:0 4px 14px #00000059;text-align:right;animation:moment-toast-in 3.8s ease forwards}.moment-toast-headline{color:var(--moment-accent);font-size:.98rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 2px 6px rgba(0,0,0,.8)}.moment-toast-detail{margin-top:1px;color:#e6edf3;font-size:.84rem;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.8)}@keyframes moment-toast-in{0%{opacity:0;transform:translate(24px)}8%{opacity:1;transform:translate(0)}86%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(0)}}.moment-toast.has-image{display:flex;align-items:center;justify-content:flex-end;gap:10px}.moment-toast-image{flex:none;width:42px;height:42px;border:2px solid var(--moment-accent);border-radius:50%;background:#f4efe4;object-fit:cover}.moment-toast.is-still{animation:level-banner-fade 3.8s ease forwards}.monster-book{max-height:min(600px,68vh);overflow-y:auto;padding-right:4px}.book-summary{margin-bottom:8px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#b9a06a}.book-regions{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.book-region{padding:4px 10px;border:1px solid rgba(138,106,34,.35);border-radius:999px;background:var(--card-bg);color:var(--ink-body);font:inherit;font-size:.8rem;cursor:pointer}.book-region span{margin-left:4px;color:#9a8455;font-variant-numeric:tabular-nums}.book-region:hover{border-color:var(--window-line-strong)}.book-region.is-active{border-color:var(--gold-primary);background:#96742a29;color:var(--ink);font-weight:700}.book-region.is-unvisited{opacity:.55}.book-region.is-complete:after{content:" ★";color:#c9a227}.book-region-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(138,106,34,.25)}.book-region-name{font-family:var(--display);font-size:1.2rem;font-weight:600;color:#8a6a22}.book-region-band,.book-region-count{font-size:.82rem;color:var(--ink-body)}.book-region-done{margin-left:auto;padding:2px 8px;border-radius:999px;background:#c9a2272e;color:#8a6a22;font-size:.78rem;font-weight:700}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.book-card{display:flex;flex-direction:column;align-items:center;padding:8px 8px 10px;border:1px solid rgba(138,106,34,.28);border-radius:8px;background:var(--card-bg);text-align:center}.book-card.is-studied{border-color:#40966e8c}.book-card.is-mastered{border-color:#c9a227cc;box-shadow:inset 0 0 0 1px #c9a22759}.book-portrait{position:relative;width:84px;height:84px;margin-bottom:4px}.book-portrait-img{width:100%;height:100%;object-fit:contain}.book-card.is-unmet .book-portrait-img{filter:grayscale(1) brightness(.45) blur(2.5px);opacity:.8}.book-glyph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff8,transparent 60%),var(--book-element, #d9dee4);color:#281e0abf;font-family:var(--display);font-size:2rem;font-weight:700}.book-card.is-unmet .book-glyph{filter:grayscale(1) brightness(.55)}.book-star{position:absolute;right:-2px;top:-4px;color:#c9a227;font-size:1.2rem;text-shadow:0 1px 2px rgba(0,0,0,.35)}.book-name{color:var(--ink);font-size:.9rem;font-weight:700;line-height:1.2}.book-card.is-unmet .book-name{color:#9a8455;letter-spacing:.2em}.book-meta{margin-top:1px;color:#9a8455;font-size:.74rem;text-transform:capitalize}.book-bar{width:100%;height:5px;margin-top:6px;overflow:hidden;border-radius:3px;background:#8a6a222e}.book-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(to right,#9b7fe0,#c9b8ff)}.book-card.is-studied .book-bar i{background:linear-gradient(to right,#3f9a74,#9be7c4)}.book-card.is-mastered .book-bar i{background:linear-gradient(to right,#b08a1e,#ffd166)}.book-tier{margin-top:3px;color:var(--ink-body);font-size:.74rem;font-variant-numeric:tabular-nums}.book-facts{margin-top:5px;color:var(--ink-body);font-size:.74rem}.book-facts span{font-weight:700;text-transform:capitalize;text-shadow:0 0 1px rgba(0,0,0,.4)}.book-drops{width:100%;margin-top:5px;padding-top:4px;border-top:1px dashed rgba(138,106,34,.25)}.book-drop{display:flex;justify-content:space-between;gap:6px;color:var(--ink-body);font-size:.72rem;line-height:1.35;text-align:left}.book-drop b{color:#8a6a22;font-weight:600;font-variant-numeric:tabular-nums}.book-drop.is-none{justify-content:center;color:#9a8455}.book-card-slot{margin-top:5px;padding:2px 6px;border-radius:4px;background:#8a6a221a;color:#9a8455;font-size:.7rem}.book-card-slot.is-found{background:#c9a22733;color:#8a6a22;font-weight:700}.target-frame-tame{display:block;width:100%;margin-top:5px;padding:4px 8px;border:1px solid rgba(255,179,209,.35);border-radius:5px;background:#2818228c;color:#d9b8c8;font:inherit;font-size:.78rem;text-align:center;cursor:default;pointer-events:auto}.target-frame-tame.is-ready{border-color:#ffb3d1;background:linear-gradient(to bottom,#ff96c457,#a03c6e66);color:#fff2f8;font-weight:700;cursor:pointer}.target-frame-tame.is-ready:hover{background:linear-gradient(to bottom,#ffaad280,#b4467d8c)}.book-lure{width:100%;margin-top:6px;padding:5px 6px 6px;border-radius:6px;background:#ff96c41f;border:1px solid rgba(214,120,165,.35)}.book-lure.is-hint,.book-lure.is-owned{color:#9a6a82;font-size:.72rem;font-style:italic}.book-lure.is-owned{font-style:normal;font-weight:700;color:#b0507e}.book-lure-title{color:#8a3f64;font-size:.74rem;font-weight:700}.book-lure-pet{color:#b0507e;font-size:.7rem;font-style:italic}.companion-pet-portrait{border-radius:50%;object-fit:cover}.book-lure-inputs{margin-top:2px;color:var(--ink-body);font-size:.7rem;line-height:1.3}.book-lure-inputs .is-met{color:#2f7a55;font-weight:700}.book-lure-make{margin-top:5px;padding:3px 10px;border:1px solid #c56b98;border-radius:999px;background:linear-gradient(to bottom,#ffd6e8,#f3a9cb);color:#5a2140;font:inherit;font-size:.74rem;font-weight:700;cursor:pointer}.book-lure-make:disabled{opacity:.45;cursor:default}.companions{max-height:min(600px,68vh);overflow-y:auto}.companion-empty{padding:10px 14px;border:1px dashed rgba(138,106,34,.35);border-radius:8px;color:var(--ink-body)}.companion-empty-title{margin-bottom:6px;font-family:var(--display);font-size:1.1rem;color:#8a6a22}.companion-steps{margin:0 0 8px 18px;padding:0;font-size:.86rem;line-height:1.5}.companion-empty-note{font-size:.8rem;font-style:italic;color:#9a8455}.companion-list{display:flex;flex-direction:column;gap:8px}.companion-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 12px;border:1px solid rgba(138,106,34,.28);border-left:4px solid rgba(214,120,165,.5);border-radius:8px;background:var(--card-bg)}.companion-row.is-out{border-left-color:#e06aa3;background:#ff96c41a}.companion-row.tier-loyal{border-color:#c9a227b3}.companion-portrait{width:72px;height:72px;margin:0}.companion-title{display:flex;align-items:baseline;gap:8px}.companion-name{color:var(--ink);font-size:1rem;font-weight:700}.companion-link{padding:0;border:0;background:none;color:#9a6a82;font:inherit;font-size:.74rem;text-decoration:underline;cursor:pointer}.companion-rename input{width:10rem;padding:2px 6px;border:1px solid rgba(138,106,34,.5);border-radius:4px;font:inherit}.companion-rename button,.companion-actions button{padding:4px 10px;border:1px solid rgba(138,106,34,.45);border-radius:6px;background:var(--card-bg);color:var(--ink);font:inherit;font-size:.8rem;cursor:pointer}.companion-actions{display:flex;flex-direction:column;gap:5px}.companion-actions button:disabled{opacity:.45;cursor:default}.companion-species{color:#9a8455;font-size:.78rem}.companion-bar{max-width:300px}.companion-bar i{background:linear-gradient(to right,#e06aa3,#ffb3d1)}.companion-row.tier-loyal .companion-bar i{background:linear-gradient(to right,#b08a1e,#ffd166)}.companion-bond{margin-top:3px;color:var(--ink-body);font-size:.78rem;font-variant-numeric:tabular-nums}.companion-perk{margin-top:2px;color:#9a8455;font-size:.74rem;font-style:italic}.companion-perk.is-on{color:#2f7a55;font-style:normal;font-weight:600}.evolution-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:8px}.evolution-card{--evolution-color: #cfa94e;padding:8px 10px;border:1px solid var(--evolution-color);border-top-width:3px;border-radius:7px;background:color-mix(in srgb,var(--evolution-color) 9%,transparent)}.evolution-card-name{color:var(--evolution-color);font-family:var(--display);font-size:1.05rem;font-weight:700;text-shadow:0 1px 0 rgba(0,0,0,.25)}.evolution-card-role{margin-bottom:4px;font-size:.74rem;font-style:italic;opacity:.85}.evolution-card-line{margin-bottom:5px;font-size:.78rem;line-height:1.35}.evolution-card-fact{font-size:.74rem;line-height:1.4}.evolution-card-fact span{display:inline-block;min-width:4.4rem;opacity:.65;text-transform:uppercase;letter-spacing:.06em;font-size:.66rem}.evolution-card-needs,.class-choice-demand{display:block;margin-top:5px;padding:3px 6px;border-radius:4px;background:#d6963c24;font-size:.72rem;font-style:italic}.evolution-climb{margin-top:8px}.evolution-climb-label{font-size:.74rem;opacity:.8}.evolution-climb-track{height:5px;margin-top:3px;overflow:hidden;border-radius:3px;background:#8a6a222e}.evolution-climb-track i{display:block;height:100%;background:linear-gradient(to right,#b08a1e,#ffd166)}.future-self{margin:10px 0 12px}.companion-collection-head{margin:14px 0 8px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#b9a06a}.companion-collection{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.companion-wanted{display:flex;flex-direction:column;align-items:center;padding:6px;border:1px dashed rgba(138,106,34,.35);border-radius:8px;text-align:center}.companion-wanted-portrait{width:64px;height:64px;margin:0 0 3px}.companion-wanted .book-portrait-img{filter:grayscale(1) brightness(.45) blur(2.5px);opacity:.8}.companion-wanted.is-met .book-portrait-img{filter:grayscale(.85) opacity(.75)}.companion-wanted-name{color:var(--ink);font-size:.8rem;font-weight:700}.companion-wanted-line{color:#9a8455;font-size:.7rem;line-height:1.3}#app>*:not(.game-canvas):not(.nameplate-layer):not(.quest-guide-layer):not(.subtitle-layer):not(.map-transition){zoom:var(--ui-scale, 1)}.hud-root>.floating-layer,.hud-root>.path-layer{zoom:calc(1 / var(--ui-scale, 1))}.tooltip{zoom:var(--ui-scale, 1)}.party-panel{pointer-events:none}.party-invite{position:absolute;top:34%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:.9rem 1.4rem;border:1px solid rgba(143,180,199,.5);border-radius:.5rem;background:#0e0c09eb;box-shadow:0 8px 24px #0000008c;pointer-events:auto;z-index:30}.party-invite-text{color:#8fb4c7;font-weight:700;letter-spacing:.02em}.party-invite-actions{display:flex;gap:.5rem}.duel-prompt-actions .skill-btn,.party-invite-actions .skill-btn{width:auto;height:auto;padding:.3rem .9rem;white-space:nowrap}.party-roster{position:absolute;top:8.5rem;left:1rem;min-width:11rem;padding:.5rem .6rem;border:1px solid var(--hud-line-soft);border-radius:var(--hud-radius);background:var(--hud-panel-soft);backdrop-filter:var(--hud-blur);pointer-events:auto;z-index:12}.party-roster-title{color:#8fb4c7;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.35rem}.party-member{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.25rem}.party-member-name{flex:1;color:#e6edf3;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.party-member-bar{width:3.5rem;height:.35rem;border-radius:.2rem;background:#00000080;overflow:hidden}.party-member-bar i{display:block;height:100%;background:linear-gradient(90deg,#c0392b,#e05c4a)}.party-member-bars{display:flex;flex-direction:column;gap:.12rem}.party-member-bar.is-sp{height:.22rem}.party-member-bar.is-sp i{background:linear-gradient(90deg,#2f6f9f,#4d9bd0)}.party-member-level{min-width:1.6rem;color:#8a949e;font-size:.72rem;text-align:right}.party-member-crown{color:#cfa94e;font-size:.75rem}.party-kick,.party-promote{width:1.1rem;height:1.1rem;padding:0;border:1px solid transparent;border-radius:.2rem;background:transparent;color:#6f7883;font-family:inherit;font-size:.75rem;line-height:1;cursor:pointer}.party-kick:hover{color:#e08a8a;border-color:#e08a8a80}.party-promote:hover{color:#cfa94e;border-color:#cfa94e80}.party-member.is-not-sharing .party-member-name,.party-member.is-not-sharing .party-member-level{opacity:.5}.party-member.is-offline .party-member-name,.party-member.is-offline .party-member-level{opacity:.38;font-style:italic}.party-member.is-offline .party-member-bar{opacity:.35}.party-member.is-fallen .party-member-name{font-style:italic;opacity:.7}.party-member-where.is-fallen{color:#e8a0a0;opacity:.9}.party-share-rule{margin-top:.3rem;padding-top:.3rem;border-top:1px solid var(--hud-line-soft);color:#8fb4c7;font-size:.68rem;line-height:1.25}.party-roster-actions{display:flex;gap:.3rem}.party-leave{width:100%;margin-top:.35rem;padding:.2rem;border:1px solid var(--hud-line-soft);border-radius:.25rem;background:transparent;color:#8a949e;font-family:inherit;font-size:.7rem;cursor:pointer}.party-leave:hover{color:#e6edf3;border-color:var(--hud-line)}.party-disband:hover{color:#e08a8a;border-color:#e08a8a80}.settings-binding{min-width:5rem;padding:.25rem .6rem;border:1px solid var(--window-line-strong);border-radius:.3rem;background:var(--card-bg);box-shadow:0 2px 0 var(--window-line-strong);color:inherit;font-family:inherit;font-size:.9rem;font-weight:700;cursor:pointer}.settings-binding:hover{border-color:var(--window-line-selected)}.settings-binding.is-capturing{border-color:#8a6a1f;background:var(--card-selected);box-shadow:none;transform:translateY(2px);font-weight:600;animation:settings-binding-wait 1.1s ease-in-out infinite}@keyframes settings-binding-wait{0%,to{opacity:1}50%{opacity:.6}}.record-section-title{margin:.9rem 0 .35rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#b9a06a}.record-row{display:flex;justify-content:space-between;gap:1rem;padding:.3rem .2rem;border-bottom:1px solid rgba(138,106,34,.18);font-size:.85rem}.record-label{color:#cfd8cf}.record-value{color:#e8d9b5;font-variant-numeric:tabular-nums}.record-value.is-up{color:#9fd8a8}.record-value.is-down{color:#e89a8a}.record-empty{padding:.4rem .2rem;color:#8a949e;font-style:italic;font-size:.82rem}.subtitle-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:40}.subtitle-band{position:absolute;left:50%;transform:translate(-50%);max-width:min(880px,78vw);padding:10px 18px;border-radius:6px;text-align:center;text-wrap:balance;animation:subtitle-in .14s ease-out}.subtitle-dialogue{bottom:calc(8.5rem + var(--subtitle-lift, 0px));background:#080a0ec2;color:#f2efe6;font-size:21px;line-height:1.36;text-shadow:0 1px 3px rgba(0,0,0,.9)}.subtitle-speaker{display:block;margin-bottom:2px;color:#ffd166;font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.subtitle-system{top:34%;padding:14px 26px;border:1px solid rgba(143,169,214,.4);background:#0a101acc;color:#cfdcf2;font-size:23px;line-height:1.34;letter-spacing:.02em;text-shadow:0 0 14px rgba(143,169,214,.45)}@keyframes subtitle-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(prefers-reduced-motion:reduce){.subtitle-band{animation:none}}.character-creation-group{display:flex;flex-direction:column;gap:8px}.creation-group-title{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#4a3a20b3}.character-swatch-row{display:flex;flex-wrap:wrap;gap:8px}.character-swatch{display:flex;align-items:center;gap:7px;padding:5px 10px 5px 6px;border:1px solid rgba(138,106,34,.3);border-radius:999px;background:var(--card-bg);color:var(--ink);font-family:inherit;font-size:12px;cursor:pointer}.character-swatch.active{border-color:#b28c30;background:#fffdf8;box-shadow:0 0 0 2px #b28c3038}.character-swatch-chip{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.18)}.character-slider{display:grid;grid-template-columns:64px 1fr 44px;align-items:center;gap:10px;font-size:12px;color:var(--ink)}.character-slider output{text-align:right;font-variant-numeric:tabular-nums;color:#4a3a20bf}.character-slider.is-off{opacity:.45}.shell-swatches{display:flex;flex-wrap:wrap;gap:9px}.shell-swatch{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid rgba(138,106,34,.4);border-radius:50%;background:var(--card-bg);cursor:pointer;transition:box-shadow .12s ease,transform .12s ease}.shell-swatch:hover{transform:translateY(-1px)}.shell-swatch.is-on{border-color:#b28c30;box-shadow:0 0 0 2px #b28c3059,0 3px 8px #5a461e33}.shell-swatch-chip{width:26px;height:26px;border-radius:50%;border:1px solid rgba(0,0,0,.18)}.shell-card.is-parchment.is-creating{width:min(1120px,96vw)}.select-body.is-creating .slot-grid{display:none}.select-detail.is-creating{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:24px;align-items:stretch;overflow:hidden;text-align:left}.select-detail.is-creating .select-preview{width:100%;height:100%;max-height:none;aspect-ratio:auto}.create-pane{display:flex;flex:1 1 auto;flex-direction:column;gap:14px;width:100%;height:100%;min-height:0;overflow-y:auto;padding:16px 16px 18px;border:1px solid rgba(138,106,34,.25);border-radius:10px;background:#fffdf780;text-align:left}.create-intro{text-align:center}.create-intro .shell-blurb{margin-top:4px;font-size:12px}.create-section{padding:12px 14px 14px;border:1px solid rgba(138,106,34,.2);border-radius:8px;background:#fffdf799}.create-pick-label{margin-top:9px;font-size:12px;color:var(--ink-secondary)}.create-section-title{margin-bottom:9px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-label)}.create-section-hint{margin-top:9px;font-size:11px;line-height:1.5;color:var(--ink-muted)}.create-actions{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:2px}.create-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.create-choice{padding:10px 12px;border:1px solid rgba(138,106,34,.35);border-radius:8px;background:var(--card-bg);color:var(--ink-muted);font:inherit;font-size:13px;font-weight:600;letter-spacing:.03em;cursor:pointer;transition:background .12s ease,color .12s ease,box-shadow .12s ease}.create-choice:hover{background:#fffdf8;color:var(--ink)}.create-choice.is-on{border-color:#b28c30;background:var(--gold-button);color:#2b2416;box-shadow:0 0 0 2px #b28c3038}.shell-proportions{display:flex;flex-direction:column;gap:7px}.shell-slider{display:grid;grid-template-columns:60px 1fr 40px;align-items:center;gap:10px;font-size:12px;color:var(--ink)}.shell-slider-name{color:var(--ink-secondary)}.shell-slider input[type=range]{width:100%;accent-color:#b28c30;cursor:pointer}.shell-slider output{text-align:right;font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink-muted)}:root{color-scheme:light;--ws-display: "Cinzel", Georgia, serif;--ws-body: "Alegreya Sans", system-ui, sans-serif;--ws-mono: ui-monospace, "SF Mono", Menlo, monospace;--ws-paper: #f3ecdb;--ws-card: #fffdf7;--ws-field: #ffffff;--ws-track: #e6dcc4;--ws-sunk: #efe8d6;--ws-ink: #2b2416;--ws-ink-soft: #4a4232;--ws-ink-2: #6b6047;--ws-ink-muted: #6f6551;--ws-ink-off: #7d7259;--ws-gold-bright: #e3c877;--ws-gold: #c9a64a;--ws-gold-mid: #b08d2f;--ws-gold-deep: #7d5f1a;--ws-gold-press: #6b4f12;--ws-rule: rgba(150, 116, 42, .3);--ws-rule-strong: rgba(150, 116, 42, .45);--ws-wash: rgba(201, 166, 74, .13);--ws-button: linear-gradient(180deg, #e3c060, #ac8828);--ws-bar: #2b2416;--ws-on-bar: #ded4b8;--ws-bar-dim: #a89468;--ws-well: #17120b;--ws-well-lit: radial-gradient(ellipse at 50% 38%, #3a3122 0%, #1a1610 60%, #100d08 100%);--ws-done: #2e7d74;--ws-done-ink: #2a7169;--ws-doing: #b08d2f;--ws-short: #a33a3a;--ws-hp: linear-gradient(180deg, #d4606f, #b8434f);--ws-sp: linear-gradient(180deg, #6f9fc4, #4d7ea6);--bench-bg: var(--ws-paper);--bench-panel: var(--ws-paper);--bench-line: var(--ws-rule);--bench-text: var(--ws-ink);--bench-dim: var(--ws-ink-2);--bench-accent: var(--ws-gold-deep);--bench-good: var(--ws-done);--bench-warn: var(--ws-doing);--bench-bad: var(--ws-short)}.ws-paper,body.ws-page{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.47 0 0 0 0 0.36 0 0 0 0 0.16 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}html,body{margin:0;height:100%;background:var(--ws-paper);color:var(--ws-ink);font-family:var(--ws-body)}*{box-sizing:border-box}a{color:var(--ws-gold-deep)}a:hover{color:var(--ws-gold-mid)}body:has(>.ws-bar){display:flex;flex-direction:column}body:has(>.ws-bar)>#app{flex:1;min-height:0}.ws-bar{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:1.5rem;height:48px;padding:0 1rem 0 .75rem;background:var(--ws-bar);border-bottom:2px solid var(--ws-gold)}.ws-bar-left,.ws-bar-right{display:flex;align-items:center;gap:.65rem;min-width:0}.ws-bar-home{display:flex;align-items:center;gap:.45rem;padding:.3rem .6rem .3rem .45rem;border:1px solid rgba(168,148,104,.45);border-radius:.3rem;color:var(--ws-on-bar);font-size:.82rem;text-decoration:none;white-space:nowrap}.ws-bar-home:hover{color:var(--ws-gold-bright);border-color:#e3c87799}.ws-bar-sep{width:1px;height:20px;background:#c9a64a59}.ws-bar-name{font-family:var(--ws-display);font-size:1rem;font-weight:700;letter-spacing:.14em;color:var(--ws-gold-bright);text-transform:uppercase;white-space:nowrap}.ws-bar-subject,.ws-bar-writes{font-family:var(--ws-mono);font-size:.69rem;letter-spacing:.06em;color:var(--ws-bar-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-bar-writes{max-width:22rem}.ws-stamp{display:flex;align-items:center;gap:.45rem;padding:.18rem .55rem;border:1.5px solid rgba(111,191,180,.45);border-radius:.2rem;font-family:var(--ws-mono);font-size:.66rem;letter-spacing:.1em;color:#6fbfb4;white-space:nowrap}.ws-stamp:before{content:"";width:6px;height:6px;border-radius:50%;background:currentcolor}.ws-stamp.dirty{border-color:#e3c87780;color:var(--ws-gold-bright)}.ws-stamp.bad{border-color:#e08a8280;color:#e08a82}.bench-panel{background:var(--ws-paper);border-color:var(--ws-rule-strong)}.bench-panel h1{font-family:var(--ws-display);color:var(--ws-ink)}.bench-group{padding:.8rem .85rem;background:var(--ws-card);border:1px solid var(--ws-rule);border-radius:.45rem;box-shadow:0 1px 6px #2b24160d}.bench-group>h2,.bench-group>h3{font-family:var(--ws-display);font-weight:700;letter-spacing:.2em;color:var(--ws-gold-deep);border-bottom:none}.bench-field>label{color:var(--ws-ink-2)}.bench-field>input[type=text],.bench-field>input[type=number],.bench-field>input[type=search],.bench-field>input[type=password],.bench-field>select,.bench-field>textarea,input[type=text],input[type=number],input[type=search],input[type=password],select,textarea,.bench-json{background:var(--ws-field);border:1px solid var(--ws-rule-strong);border-radius:.3rem;color:var(--ws-ink);font-family:var(--ws-body)}textarea.bench-json,.bench-json{font-family:var(--ws-mono)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ws-gold-mid);box-shadow:0 0 0 3px #c9a64a40}::placeholder{color:var(--ws-ink-off)}input[type=range],input[type=checkbox],input[type=radio]{accent-color:var(--ws-gold-mid)}.bench-buttons>button,button{padding:.35rem .7rem;border:1px solid var(--ws-rule-strong);border-radius:.3rem;background:var(--ws-card);color:var(--ws-ink-soft);font-family:var(--ws-body);font-size:.8rem;cursor:pointer}.bench-buttons>button:hover,button:hover{border-color:var(--ws-gold-mid);background:var(--ws-wash);color:var(--ws-ink)}.bench-buttons>button.primary,button.primary{border-color:#ffebb480;background:var(--ws-button);color:#241c0a;font-weight:700;box-shadow:inset 0 1px #fff4c899}.bench-buttons>button.active,button.active{border-color:var(--ws-gold-mid);background:#c9a64a38;color:var(--ws-gold-press);font-weight:700}button:disabled,button[disabled]{border-color:#96742a33;background:var(--ws-sunk);color:var(--ws-ink-off);cursor:not-allowed;box-shadow:none}.bench-note{padding:.5rem .65rem;border:1px solid var(--ws-rule);border-left:3px solid var(--ws-gold);border-radius:.3rem;background:var(--ws-wash);color:var(--ws-ink-soft)}.bench-note.good{border-color:#2e7d7466;border-left-color:var(--ws-done);background:#2e7d7417}.bench-note.warn{border-color:#b08d2f80;border-left-color:var(--ws-doing);background:#b08d2f1c}.bench-note.bad{border-color:#a33a3a6b;border-left-color:var(--ws-short);background:#a33a3a14}.bench-help{color:var(--ws-ink-muted)}.ws-rail{height:5px;border-radius:3px;background:var(--ws-track);box-shadow:inset 0 1px 2px #2b241633;overflow:hidden}.ws-rail>span{display:block;height:100%;background:var(--ws-gold-mid)}.ws-well,.bench-stage,.studio-stage{background:var(--ws-well-lit)}body:has(>.ws-bar)>#app{background:none}html,body{overflow:hidden}#app{position:relative;display:grid;grid-template-columns:300px 1fr 360px;grid-template-rows:1fr 180px;grid-template-areas:"left stage right" "left timeline right";height:100%}.bench-stage{grid-area:stage;position:relative;min-width:0;min-height:0;overflow:hidden}.bench-stage>.game-canvas{width:100%;height:100%;display:block;outline:none}.bench-panel{overflow-y:auto;padding:.8rem;background:var(--bench-panel);border-right:1px solid var(--bench-line);display:flex;flex-direction:column;gap:.9rem}.bench-left{grid-area:left}.bench-right{grid-area:right;border-right:none;border-left:1px solid var(--bench-line)}.bench-panel h1{margin:0;font-size:1rem;letter-spacing:.08em;color:var(--bench-accent);text-transform:uppercase}.bench-group{display:flex;flex-direction:column;gap:.45rem}.bench-group>h2{margin:0;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--bench-dim);border-bottom:1px solid var(--bench-line);padding-bottom:.25rem}.bench-field{display:flex;align-items:center;gap:.5rem;font-size:.78rem}.bench-field>label{flex:0 0 8.5rem;color:var(--bench-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bench-field>input[type=range]{flex:1;min-width:0;accent-color:var(--bench-accent)}.bench-field>input[type=number],.bench-field>select,.bench-field>input[type=text]{width:5.2rem;padding:.25rem .4rem;border:1px solid var(--bench-line);border-radius:.3rem;background:var(--ws-field);color:var(--bench-text);font:inherit;font-size:.78rem}.bench-field>select{width:auto;flex:1}.bench-field.dirty>label:after{content:" ●";color:var(--bench-accent)}.bench-buttons{display:flex;flex-wrap:wrap;gap:.4rem}.bench-buttons>button,.bench-actions>button{padding:.4rem .7rem;border:1px solid var(--bench-line);border-radius:.35rem;background:var(--ws-card);color:var(--bench-text);font:inherit;font-size:.78rem;cursor:pointer}.bench-buttons>button:hover,.bench-actions>button:hover{border-color:var(--bench-accent);color:var(--bench-accent)}.bench-buttons>button.active{border-color:var(--bench-accent);color:var(--bench-accent);background:var(--ws-wash)}.bench-buttons>button.primary,.bench-actions>button.primary{border-color:var(--ws-gold-mid);color:var(--bench-accent);font-weight:600}.cue-hear{flex:0 0 auto;padding:.2rem .5rem;border:1px solid var(--bench-line);border-radius:.3rem;background:var(--ws-card);color:var(--bench-text);font:inherit;font-size:.78rem;cursor:pointer}.cue-hear:hover{border-color:var(--bench-accent);color:var(--bench-accent)}.bench-note{margin:0;font-size:.74rem;color:var(--bench-dim);white-space:pre-wrap}.bench-note.good{color:var(--bench-good)}.bench-note.bad{color:var(--bench-bad)}.bench-json{width:100%;min-height:11rem;resize:vertical;padding:.5rem;border:1px solid var(--bench-line);border-radius:.35rem;background:var(--ws-card);color:var(--bench-text);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.72rem;line-height:1.45;tab-size:2;box-sizing:border-box}.bench-json.invalid{border-color:var(--bench-bad)}.bench-timeline{grid-area:timeline;display:flex;flex-direction:column;background:var(--bench-panel);border-top:1px solid var(--bench-line);min-height:0}.bench-timeline-head{display:flex;align-items:center;gap:.8rem;padding:.35rem .8rem;border-bottom:1px solid var(--bench-line);font-size:.72rem;color:var(--bench-dim)}.bench-timeline-head .bench-meter{margin-left:auto;display:flex;gap:1.1rem}.bench-meter span b{color:var(--bench-text);font-weight:600}.bench-events{flex:1;overflow-y:auto;margin:0;padding:.3rem .8rem;list-style:none;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.72rem;line-height:1.6}.bench-events>li{display:flex;gap:.7rem;white-space:nowrap}.bench-events .at{color:var(--bench-dim);flex:0 0 4.5rem;text-align:right}.bench-events .windup{color:var(--bench-warn)}.bench-events .fired{color:var(--bench-bad)}.bench-events .interrupted{color:var(--bench-dim);text-decoration:line-through}.bench-events .died{color:var(--bench-good)}.bench-events .engaged,.bench-events .disengaged{color:var(--bench-dim);font-style:italic}.bench-bars{display:flex;flex-direction:column;gap:.3rem;font-size:.72rem}.bench-bar{display:flex;align-items:center;gap:.5rem}.bench-bar>label{flex:0 0 8.5rem;color:var(--bench-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bench-bar-track{flex:1;height:.5rem;border-radius:.25rem;background:var(--ws-track);overflow:hidden}.bench-bar-fill{height:100%;border-radius:inherit;background:var(--bench-accent);transition:width .12s linear}.bench-bar-fill.sp{background:#4d7ea6}.bench-ttk{font-size:.74rem;line-height:1.5}.bench-ttk table{width:100%;border-collapse:collapse}.bench-ttk td,.bench-ttk th{padding:.15rem .3rem;text-align:right;font-weight:400;color:var(--bench-text)}.bench-ttk th{color:var(--bench-dim);text-align:left;font-size:.7rem}.bench-ttk .cost-good{color:var(--bench-good)}.bench-ttk .cost-warn{color:var(--bench-warn)}.bench-ttk .cost-bad{color:var(--bench-bad)}.bench-help{margin-top:auto;font-size:.68rem;line-height:1.5;color:var(--bench-dim)}.bench-empty{display:flex;align-items:center;gap:.5rem;padding:.6rem;border:1px dashed var(--bench-line);border-radius:.4rem;font-size:.76rem;color:var(--bench-dim)}.bench-card{border:1px solid var(--bench-line);border-radius:.4rem;margin-bottom:.5rem;background:var(--ws-card)}.bench-card.selected{border-color:var(--bench-accent);box-shadow:0 0 8px #c9a64a40}.bench-card.dirty .bench-card-head input{color:var(--bench-accent)}.bench-card-head{display:flex;align-items:center;gap:.4rem;padding:.35rem .45rem;border-bottom:1px solid var(--bench-line);cursor:pointer}.bench-card-head input{flex:1;min-width:0;border:none;background:transparent;color:var(--bench-text);font:inherit;font-size:.82rem;font-weight:600}.bench-card-tools{display:flex;align-items:center;gap:.25rem}.bench-card-tools a{color:var(--bench-accent);font-size:.7rem;text-decoration:none;margin-right:.3rem}.bench-card-tools button{padding:.1rem .35rem;border:1px solid var(--bench-line);border-radius:.25rem;background:transparent;color:var(--bench-dim);cursor:pointer;font-size:.7rem}.bench-card-tools button:hover{color:var(--bench-accent);border-color:var(--bench-accent)}.bench-card-body{padding:.4rem .45rem;display:flex;flex-direction:column;gap:.35rem}.bench-card-body .bench-field>label{flex:0 0 6.5rem;font-size:.7rem}.bench-card-body select{flex:1;min-width:0;width:auto}.bench-card-body input[type=number]{width:4rem}.bench-card-flags label{display:flex;align-items:center;gap:.2rem;color:var(--bench-dim);font-size:.72rem;flex:0 0 auto}.bench-card-extras{min-height:5rem;margin-top:.3rem}.pose-track{display:flex;flex-direction:column;gap:2px;margin:.4rem 0}.pose-row{display:flex;align-items:center;gap:.4rem;font-size:.72rem}.pose-row-name{flex:0 0 7.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.75}.pose-row-lane{position:relative;flex:1 1 auto;height:14px;border-radius:3px;background:var(--ws-track)}.pose-key{position:absolute;top:3px;width:6px;height:8px;margin-left:-3px;border-radius:2px;background:var(--ws-gold-mid)}.pose-key.is-at{background:var(--ws-gold-bright);box-shadow:0 0 0 2px #c9a64a73}.pose-playhead{position:absolute;top:-2px;width:1px;height:18px;background:var(--ws-ink)}.posing .hud-root,.posing .nameplate-layer,.posing .target-frame,.posing .cast-bar,.posing .combat-log-panel,.posing .map-editor,.posing .editor-dialog,.posing .debug-panel,.posing .bench-timeline{display:none!important}.posing{background:var(--ws-well)!important;background-image:none!important}#app.posing{grid-template-rows:1fr 0}.posing .bench-stage,.posing .game-canvas{background:var(--ws-well)}#app{position:relative;display:block;height:100%;overflow:hidden;--ep-ink: #f6eddf;--ep-dim: #b5a894;--ep-faint: #7d7263;--ep-ember: #ff7a3c;--ep-gold: #ffd27a;--ep-gold-deep: #c98a2c;--ep-accord: #7fe3ff;--ep-hp: #ff4d5e;--ep-sp: #5b8cff;--ep-glass: linear-gradient(180deg, rgba(30, 22, 18, .82), rgba(14, 10, 9, .78));--ep-line: rgba(255, 210, 122, .2);--ep-line-strong: rgba(255, 210, 122, .45);--ep-shadow: 0 10px 30px rgba(0, 0, 0, .45)}#app>.bench-stage{position:absolute;inset:0}#app .hud-top .hud-panel,#app .status-strip,#app .gold-pill,#app .potion-row,#app .binding-hint,#app .plate-points,#app .level-banner,#app .death-overlay,#app .nameplate-name,#app .nameplate-title,#app .nameplate-element,#app .nameplate-hp,#app .character-sheet-backdrop,#app .controls-backdrop,#app .context-menu,body.ep-playing .ws-bar{display:none!important}.ep-layer{position:absolute;inset:0;pointer-events:none;z-index:40;font-family:Alegreya Sans,system-ui,sans-serif;color:var(--ep-ink)}.ep-layer[hidden]{display:none}.ep-xp{position:absolute;top:0;left:0;right:0;height:10px}.ep-xp-track{position:absolute;inset:0;background:#040a0ebf;border-bottom:1px solid rgba(127,227,255,.25)}.ep-xp-track>i{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,#2a9fd0,var(--ep-accord) 85%,#e6fbff);box-shadow:0 0 14px #7fe3ffcc;transition:width .14s linear}.ep-xp-level{position:absolute;top:4px;left:16px;display:flex;align-items:baseline;gap:4px;padding:3px 12px 4px;border-radius:0 0 10px 10px;background:linear-gradient(180deg,#0f2a36,#0a1a22);border:1px solid rgba(127,227,255,.45);border-top:none;box-shadow:0 6px 16px #0006,0 0 18px #7fe3ff2e}.ep-xp-level small{font-size:.62rem;letter-spacing:.18em;color:var(--ep-accord)}.ep-xp-level b{font-family:Cinzel,serif;font-size:1.15rem;line-height:1}.ep-top{position:absolute;top:18px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;width:min(560px,calc(100% - 480px));min-width:240px}.ep-clock-plate{padding:4px 26px 6px;border-radius:999px;background:var(--ep-glass);border:1px solid var(--ep-line);box-shadow:var(--ep-shadow);text-align:center}.ep-clock{font-family:Cinzel,serif;font-weight:800;font-size:1.9rem;line-height:1.05;letter-spacing:.06em;background:linear-gradient(180deg,#fff6e2,var(--ep-gold));-webkit-background-clip:text;background-clip:text;color:transparent}.ep-clock.overtime{background:linear-gradient(180deg,#ffd0b0,var(--ep-ember));-webkit-background-clip:text;background-clip:text}.ep-clock-note{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ep-dim)}.ep-boss{width:100%;animation:ep-drop-in .42s cubic-bezier(.2,.9,.3,1.2)}.ep-boss[hidden]{display:none}.ep-boss-name{font-family:Cinzel,serif;font-weight:700;font-size:.95rem;letter-spacing:.08em;text-align:center;color:var(--ep-gold);text-shadow:0 2px 8px rgba(0,0,0,.9);margin-bottom:4px}.ep-boss-track{position:relative;height:14px;border-radius:3px;background:#140404d9;border:1px solid rgba(255,122,60,.55);box-shadow:0 0 20px #ff502840;overflow:hidden}.ep-boss-track>i{position:absolute;inset:0 auto 0 0;background:linear-gradient(180deg,#ff9a5c,#c2261d);transition:width .16s ease-out}.ep-score{position:absolute;top:20px;right:20px;text-align:right;text-shadow:0 2px 10px rgba(0,0,0,.85)}.ep-score-label{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ep-dim)}.ep-score-value{font-family:Cinzel,serif;font-weight:800;font-size:1.8rem;line-height:1;color:var(--ep-ink);font-variant-numeric:tabular-nums}.ep-score-row{margin-top:4px;font-size:.8rem;color:var(--ep-dim)}.ep-score-row b{color:var(--ep-ink);font-weight:700}.ep-score-row span{margin:0 4px;color:var(--ep-faint)}.ep-teach{position:absolute;top:96px;right:20px;max-width:260px;padding:7px 11px;border:1px solid var(--ep-line);border-radius:7px;background:#0a080eb8;font-size:.78rem;line-height:1.35;color:var(--ep-dim);text-align:right;text-shadow:0 2px 10px rgba(0,0,0,.85);pointer-events:none;animation:ep-teach-in .5s ease-out both}.ep-teach b{color:var(--ep-ink);font-weight:700}.ep-teach[hidden]{display:none}@keyframes ep-teach-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.ep-build{position:absolute;top:44px;left:16px;width:210px;display:flex;flex-direction:column;gap:8px}.ep-weapon{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;border-radius:10px;background:var(--ep-glass);border:1px solid var(--ep-line);box-shadow:var(--ep-shadow)}.ep-weapon b{display:block;font-family:Cinzel,serif;font-size:.78rem;letter-spacing:.02em;color:var(--ep-gold)}.ep-weapon-icon{width:38px;height:38px;border-radius:8px;overflow:hidden;border:1px solid var(--ep-line-strong);flex:none}.ep-weapon-icon img,.ep-chip img{width:100%;height:100%;object-fit:cover;display:block}.ep-skillcount{display:block;margin-top:3px;font-size:.68rem;color:var(--ep-dim)}.ep-pips{display:inline-flex;gap:3px;margin-top:4px}.ep-pips i{width:12px;height:4px;border-radius:2px;background:#ffffff24}.ep-pips i.on{background:var(--ep-gold);box-shadow:0 0 6px #ffd27ab3}.ep-chips{display:flex;flex-wrap:wrap;gap:5px}.ep-chip{position:relative;width:32px;height:32px;border-radius:7px;overflow:hidden;border:1px solid var(--ep-line-strong);box-shadow:0 3px 10px #0006;pointer-events:auto}.ep-chip em{position:absolute;right:1px;bottom:0;font-style:normal;font-size:.66rem;font-weight:700;color:#fff;text-shadow:0 0 3px #000,0 0 3px #000}.ep-chip.big{width:48px;height:48px;border-radius:10px}.ep-chip.big em{font-size:.8rem;right:3px}.ep-terms{display:flex;flex-direction:column;gap:1px;font-size:.7rem;color:var(--ep-gold)}.ep-terms span{display:flex;justify-content:space-between;gap:8px}.ep-terms em{font-style:normal;font-variant-numeric:tabular-nums;color:var(--ep-dim)}.ep-terms .soon{color:#ff9d90;animation:ep-pulse-text .8s ease-in-out infinite}.ep-card p.term{font-size:.78rem;letter-spacing:.06em;color:var(--ep-gold)}.ep-mods{display:flex;flex-direction:column;gap:1px;font-size:.72rem;color:var(--ep-accord);text-shadow:0 1px 6px rgba(0,0,0,.9)}.ep-mods:empty{display:none}.ep-vitals{position:absolute;bottom:88px;left:50%;transform:translate(-50%);width:min(440px,calc(100% - 32px));display:flex;flex-direction:column;gap:4px}.ep-bar{position:relative;border-radius:4px;background:#080606c7;border:1px solid rgba(255,255,255,.12);box-shadow:0 4px 14px #00000073;overflow:hidden}.ep-bar>i{position:absolute;inset:0 auto 0 0;transition:width .12s ease-out}.ep-bar>span{position:relative;display:block;text-align:center;font-size:.7rem;font-weight:700;letter-spacing:.04em;line-height:1;text-shadow:0 0 4px #000,0 0 2px #000;font-variant-numeric:tabular-nums}.ep-hp{height:18px}.ep-hp>span{padding-top:3px}.ep-hp>i{background:linear-gradient(180deg,#ff8a93,var(--ep-hp) 55%,#b3202f)}.ep-hp.low{border-color:#ff4d5ecc;animation:ep-pulse .8s ease-in-out infinite}.ep-sp{height:11px}.ep-sp>span{font-size:.58rem;padding-top:1px}.ep-sp>i{background:linear-gradient(180deg,#9ab8ff,var(--ep-sp) 60%,#2f4fb8)}.ep-overclock{display:flex;align-items:center;gap:8px;align-self:center;padding:2px 12px;border-radius:999px;background:#281a06d9;border:1px solid rgba(255,210,122,.7);box-shadow:0 0 18px #ffbe5073;font-family:Cinzel,serif;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ep-gold)}.ep-overclock[hidden]{display:none}.ep-overclock-track{position:relative;width:90px;height:4px;border-radius:2px;background:#ffffff26;overflow:hidden}.ep-overclock-track>i{position:absolute;inset:0 auto 0 0;background:var(--ep-gold)}.ep-buffs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.ep-buffs:empty{display:none}.ep-buff{--c: var(--ep-gold);display:flex;align-items:center;gap:8px;padding:2px 10px;border-radius:999px;background:#0c0a08db;border:1px solid color-mix(in srgb,var(--c) 70%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--c) 40%,transparent);font-family:Cinzel,serif;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c);animation:ep-drop-in .24s ease-out}.ep-buff-track{position:relative;width:60px;height:4px;border-radius:2px;background:#ffffff26;overflow:hidden}.ep-buff-track>i{position:absolute;inset:0 auto 0 0;background:var(--c)}.buff-hyperthread{--c: #ffa347}.buff-fast-track{--c: #6dff9a}.buff-firewall{--c: #e2eaff}.ep-event{width:100%;text-align:center;animation:ep-drop-in .3s ease-out}.ep-event[hidden]{display:none}.ep-event b{font-family:Cinzel,serif;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ep-ember);text-shadow:0 2px 8px rgba(0,0,0,.9)}.ep-event.pending b{color:var(--ep-gold);animation:ep-pulse-text .9s ease-in-out infinite}.ep-event-track{position:relative;height:4px;margin-top:3px;border-radius:2px;background:#0009;overflow:hidden}.ep-event-track>i{position:absolute;inset:0 auto 0 0;background:var(--ep-ember)}.ep-streak{margin-top:4px;font-family:Cinzel,serif;font-size:.9rem;font-weight:700;color:var(--ep-gold);text-shadow:0 0 10px rgba(255,190,90,.6);animation:ep-drop-in .2s ease-out}.ep-streak[hidden]{display:none}.ep-dodge{align-self:center;display:flex;align-items:center;gap:6px;padding:1px 10px;border-radius:999px;background:#0a0c12cc;border:1px solid rgba(180,200,255,.25);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ep-faint)}.ep-dodge.ready{border-color:#b4d2ffbf;color:#cfe2ff;box-shadow:0 0 14px #78aaff4d}.ep-notices{position:absolute;top:128px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px}.ep-notice{position:relative;padding:3px 34px;font-family:Cinzel,serif;font-weight:700;font-size:1rem;letter-spacing:.04em;white-space:nowrap;text-shadow:0 2px 10px rgba(0,0,0,.95);background:linear-gradient(90deg,transparent,rgba(12,8,6,.75) 20%,rgba(12,8,6,.75) 80%,transparent);animation:ep-notice 2.8s ease forwards}.ep-notice.boss{font-size:1.35rem;color:var(--ep-ember)}.ep-notice.elite{color:var(--ep-gold)}.ep-notice.level{color:var(--ep-accord)}.ep-overlay{position:absolute;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:22px;padding:32px 16px 40px;overscroll-behavior:contain;font-family:Alegreya Sans,system-ui,sans-serif;color:var(--ep-ink);overflow-y:auto;background:radial-gradient(ellipse 70% 55% at 50% 45%,#28120859,#060302e0 75%),linear-gradient(180deg,#00000059,#0009);backdrop-filter:blur(3px) saturate(.85)}.ep-overlay[hidden]{display:none}.ep-choice{backdrop-filter:blur(2px);background:radial-gradient(ellipse at center,#0a121873,#030508d1)}.ep-dead{background:radial-gradient(ellipse at center,#3006068c,#080202eb)}.ep-pause{background:radial-gradient(ellipse at center,#0e121a80,#030408db)}.ep-workshop{position:absolute;top:18px;left:20px;font-size:.8rem;color:var(--ep-dim);text-decoration:none}.ep-workshop:hover{color:var(--ep-gold)}.ep-title-block{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;animation:ep-drop-in .6s cubic-bezier(.2,.9,.3,1.1)}.ep-studio{font-size:.74rem;letter-spacing:.42em;text-transform:uppercase;color:var(--ep-dim)}.ep-studio.danger{color:#ff6b5e}.ep-logo{margin:0;font-family:Cinzel,serif;font-weight:800;font-size:clamp(2.6rem,7vw,5.2rem);line-height:.95;letter-spacing:.08em;background:linear-gradient(180deg,#fffaf0 10%,var(--ep-gold) 55%,var(--ep-gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 22px rgba(255,170,60,.28))}.ep-logo-sub{display:flex;align-items:center;gap:14px;font-family:Cinzel,serif;font-weight:700;font-size:clamp(.8rem,1.6vw,1.1rem);letter-spacing:.5em;text-transform:uppercase;color:var(--ep-ember)}.ep-logo-sub span{width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--ep-ember))}.ep-logo-sub span:last-child{transform:scaleX(-1)}.ep-class-row,.ep-card-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;max-width:1040px}.ep-class,.ep-card{all:unset;box-sizing:border-box;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;cursor:pointer;border-radius:14px;background:linear-gradient(180deg,rgba(255,220,160,.06),transparent 40%),linear-gradient(180deg,#2a1e17,#150f0c);border:1px solid var(--ep-line);box-shadow:var(--ep-shadow),inset 0 1px #ffffff0d;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;animation:ep-rise .46s cubic-bezier(.2,.9,.3,1.15) both;animation-delay:calc(var(--i, 0) * 70ms + .12s)}.ep-card{width:240px;min-height:300px;padding:20px 18px 18px}.ep-class:hover,.ep-class:focus-visible,.ep-card:hover,.ep-card:focus-visible{transform:translateY(-6px);border-color:var(--ep-gold);box-shadow:0 18px 40px #0000008c,0 0 32px #ffbe5a33}.ep-key{position:absolute;top:10px;left:10px;min-width:20px;padding:1px 5px;border-radius:5px;border:1px solid var(--ep-line-strong);border-bottom-width:2px;font-size:.72rem;font-weight:700;color:var(--ep-dim)}.ep-medallion,.ep-card-icon{border-radius:50%;padding:3px;background:conic-gradient(from 210deg,var(--ep-gold-deep),var(--ep-gold),#fff3cf,var(--ep-gold),var(--ep-gold-deep));box-shadow:0 0 26px #ffbe5a4d}.ep-medallion{width:92px;height:92px;margin-bottom:4px}.ep-card-icon{width:76px;height:76px;margin:4px 0}.ep-medallion img,.ep-card-icon img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;background:#0e0a08}.ep-class h3,.ep-card h3{margin:0;font-family:Cinzel,serif;font-weight:700;font-size:1.3rem;color:var(--ep-ink)}.ep-card h3{font-size:1.08rem}.ep-tag{padding:1px 10px;border-radius:999px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ep-ember);border:1px solid rgba(255,122,60,.4)}.ep-weapon-name{font-family:Cinzel,serif;font-size:.85rem;color:var(--ep-gold)}.ep-class p,.ep-card p{margin:2px 0 0;font-size:.9rem;line-height:1.35;color:var(--ep-dim)}.ep-card p.gain{color:var(--ep-ink)}.ep-card p.cost{margin-top:auto;padding-top:8px;width:100%;border-top:1px dashed rgba(255,120,110,.35);color:#ff9d90;font-size:.85rem}.ep-class.locked{cursor:default;border-style:dashed;opacity:.85}.ep-class.locked:hover{transform:none;box-shadow:var(--ep-shadow);border-color:var(--ep-line)}.ep-class.locked .ep-medallion{filter:grayscale(.7) brightness(.7);box-shadow:none}.ep-unlock-button{all:unset;cursor:pointer;margin-top:8px;padding:6px 14px;border-radius:999px;font-family:Cinzel,serif;font-size:.78rem;font-weight:700;letter-spacing:.04em;color:#1b0c05;background:linear-gradient(180deg,#ffe4a3,var(--ep-gold) 60%,var(--ep-gold-deep));box-shadow:0 4px 16px #ffbe504d}.ep-unlock-button:hover:not([disabled]){filter:brightness(1.08)}.ep-unlock-button.short,.ep-unlock-button[disabled]{cursor:default;color:var(--ep-dim);background:#ffffff0f;border:1px solid var(--ep-line);box-shadow:none}.ep-tokens.big{font-family:Cinzel,serif;font-size:1.05rem;animation:ep-rise .5s ease both;animation-delay:.28s}.ep-card-tier{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ep-dim)}.ep-card.tier-weapon{border-color:#ffd27a8c;background:radial-gradient(ellipse at 50% 0%,rgba(255,200,100,.18),transparent 60%),linear-gradient(180deg,#2e2114,#150f0a)}.ep-card.tier-weapon .ep-card-tier{color:var(--ep-gold)}.ep-card.tier-class{border-color:#ff7a3c73}.ep-card.tier-class .ep-card-tier{color:var(--ep-ember)}.ep-card.tier-class .ep-card-icon{background:conic-gradient(from 210deg,#8a2e12,var(--ep-ember),#ffd2b8,var(--ep-ember),#8a2e12)}.ep-card.tier-fusion{border-color:#ff7a3ce6;background:radial-gradient(ellipse at 50% 0%,rgba(255,140,60,.3),transparent 60%),linear-gradient(180deg,#3a1c10,#170b07);box-shadow:0 0 44px #ff782859,var(--ep-shadow)}.ep-card.tier-fusion .ep-card-tier{color:#ffb27a}.ep-card.tier-fusion .ep-card-icon{background:conic-gradient(from 210deg,#ff5a1f,#ffd27a,#fff6e2,#ffd27a,#ff5a1f);box-shadow:0 0 34px #ff963c99}.ep-card.tier-rare{border-color:#7fe3ffb3;background:radial-gradient(ellipse at 50% 0%,rgba(90,200,255,.2),transparent 60%),linear-gradient(180deg,#13252e,#0a1318)}.ep-card.tier-rare .ep-card-tier{color:var(--ep-accord)}.ep-card.tier-rare .ep-card-icon{background:conic-gradient(from 210deg,#1c6c8c,var(--ep-accord),#e8fbff,var(--ep-accord),#1c6c8c);box-shadow:0 0 26px #7fe3ff73}.ep-card.tier-general .ep-card-icon{background:conic-gradient(from 210deg,#4b5a66,#b9c7d2,#f3f7fa,#b9c7d2,#4b5a66);box-shadow:0 0 20px #96bedc33}.ep-choice-head{text-align:center;animation:ep-drop-in .38s ease-out}.ep-choice-head .ep-studio{color:var(--ep-accord)}.ep-choice-head h2{margin:4px 0 0;font-family:Cinzel,serif;font-weight:800;font-size:clamp(1.6rem,3.6vw,2.5rem);letter-spacing:.04em}kbd{display:inline-block;padding:0 6px;border-radius:4px;border:1px solid rgba(255,255,255,.25);border-bottom-width:2px;font-family:inherit;font-size:.75rem;color:var(--ep-ink)}.dot{display:inline-block;width:9px;height:9px;margin-right:2px;border-radius:50%;vertical-align:middle}.dot.hp{background:var(--ep-hp);box-shadow:0 0 6px var(--ep-hp)}.dot.sp{background:var(--ep-sp);box-shadow:0 0 6px var(--ep-sp)}.dot.oc{background:var(--ep-gold);box-shadow:0 0 6px var(--ep-gold)}.ep-death-title{margin:0;font-family:Cinzel,serif;font-weight:800;font-size:clamp(2rem,5vw,3.6rem);letter-spacing:.03em}.ep-death-sub{color:var(--ep-dim);letter-spacing:.1em}.ep-final{text-align:center;animation:ep-rise .5s ease both;animation-delay:.15s}.ep-final-label{font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;color:var(--ep-accord)}.ep-final-score{font-family:Cinzel,serif;font-weight:800;font-size:clamp(2.6rem,7vw,4.6rem);line-height:1;background:linear-gradient(180deg,#fffaf0,var(--ep-gold));-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}.ep-post{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;animation:ep-rise .5s ease both;animation-delay:.24s}.ep-post div{min-width:118px;padding:10px 14px;border-radius:10px;background:var(--ep-glass);border:1px solid var(--ep-line);text-align:center}.ep-post b{display:block;font-family:Cinzel,serif;font-size:1.3rem;color:var(--ep-ink)}.ep-post span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ep-dim)}.ep-chips.wide{justify-content:center;gap:8px;max-width:640px;animation:ep-rise .5s ease both;animation-delay:.32s}.ep-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;animation:ep-rise .5s ease both;animation-delay:.4s}.ep-button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:10px;padding:11px 26px;border-radius:999px;font-family:Cinzel,serif;font-weight:700;letter-spacing:.04em;border:1px solid var(--ep-line-strong);color:var(--ep-gold);background:#140e0ab3;transition:transform .14s ease,filter .14s ease}.ep-button.primary{background:linear-gradient(180deg,#ffab6b,var(--ep-ember) 55%,#c24a18);border-color:#ffb27a;color:#1b0c05;box-shadow:0 8px 26px #ff6e2859}.ep-button.primary kbd{color:#1b0c05;border-color:#1b0c0566}.ep-button:hover,.ep-button:focus-visible{transform:translateY(-2px);filter:brightness(1.1)}@keyframes ep-rise{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}@keyframes ep-drop-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes ep-notice{0%{opacity:0;transform:scale(.94)}10%{opacity:1;transform:none}80%{opacity:1}to{opacity:0}}@keyframes ep-pulse{50%{box-shadow:0 0 22px #ff3c50b3}}@keyframes ep-pulse-text{50%{opacity:.45}}.ep-unlock.on{opacity:1;border-color:var(--ep-line-strong);background:#261c10b3}.ep-unlock.on span{color:var(--ep-accord)}.ep-fused{font-family:Cinzel,serif;font-size:1.1rem;letter-spacing:.06em;color:#ffb27a;text-shadow:0 0 18px rgba(255,140,60,.5)}.ep-earned{font-family:Cinzel,serif;letter-spacing:.08em;color:var(--ep-gold)}@media(max-width:760px){.ep-build,.ep-score-row{display:none}.ep-top{width:calc(100% - 140px)}.ep-card{min-height:0}}@media(prefers-reduced-motion:reduce){.ep-class,.ep-card,.ep-title-block,.ep-final,.ep-post,.ep-actions,.ep-notice{animation:none}}.ep-wallet-chip{position:absolute;top:14px;right:20px;display:flex;align-items:center;gap:8px;padding:7px 14px 7px 10px;border-radius:999px;border:1px solid var(--ep-line-strong);background:#120c09d9}.ep-wallet-chip i{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff4cf,var(--ep-gold) 45%,var(--ep-gold-deep));box-shadow:0 0 10px #ffd27a8c}.ep-wallet-chip b{font-family:Cinzel,serif;font-size:1.05rem;color:var(--ep-gold);font-variant-numeric:tabular-nums}.ep-menu{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;width:min(1080px,100%)}.ep-panel{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;background:linear-gradient(180deg,#2a1e16c7,#100b09e0);border:1px solid var(--ep-line-strong);box-shadow:0 10px 30px #00000073}.ep-panel h2{margin:0;display:flex;align-items:center;gap:12px;font-family:Cinzel,serif;font-size:.8rem;font-weight:700;letter-spacing:.36em;text-transform:uppercase;color:var(--ep-ember)}.ep-panel h2:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--ep-line-strong),transparent)}.ep-pick-list,.ep-perk-list{display:flex;flex-direction:column;gap:6px}.ep-pick{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px 12px 8px 40px;border-radius:12px;border:1px solid transparent;background:#ffffff08;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease}.ep-pick:hover,.ep-pick:focus-visible{background:#ffd27a14;transform:translate(3px);outline:none}.ep-pick.selected{border-color:var(--ep-gold);background:linear-gradient(90deg,#ffd27a29,#ffd27a0a);box-shadow:inset 0 0 0 1px #ffd27a38,0 0 26px #ffaa3c24}.ep-pick.locked .ep-pick-info,.ep-pick.locked .ep-pick-icon{opacity:.55}.ep-pick .ep-key{top:50%;left:12px;transform:translateY(-50%)}.ep-pick-icon{width:52px;height:52px;border-radius:50%;border:2px solid var(--ep-line-strong);box-shadow:0 0 14px #00000080;object-fit:cover}.ep-pick.selected .ep-pick-icon{border-color:var(--ep-gold);box-shadow:0 0 16px #ffd27a73}.ep-pick-info{display:flex;flex-direction:column;gap:1px;min-width:0}.ep-pick-info b{font-family:Cinzel,serif;font-size:1.05rem;color:var(--ep-ink)}.ep-pick-info span{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ep-ember)}.ep-pick-info em{font-style:normal;font-size:.8rem;color:var(--ep-dim)}.ep-pick-state{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ep-gold);white-space:nowrap;font-variant-numeric:tabular-nums}.ep-pick-state.locked{color:var(--ep-dim)}.ep-pick-state.locked:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:currentColor;vertical-align:1px}.ep-perk{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;border:1px solid transparent;background:#ffffff08}.ep-perk.on{border-color:var(--ep-line-strong);background:#ffd27a14}.ep-perk-info{display:flex;flex-direction:column;gap:2px}.ep-perk-info b{font-family:Cinzel,serif;font-size:.95rem;color:var(--ep-ink)}.ep-perk-info small{font-size:.8rem;color:var(--ep-dim)}.ep-menu-blurb{margin:2px 4px 0;font-size:.86rem;line-height:1.35;color:var(--ep-dim);min-height:2.7em}.ep-menu-foot{width:min(1080px,100%);display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px}.ep-menu-keys{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.74rem;color:var(--ep-dim)}.ep-go{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:320px;padding:13px 34px;border-radius:12px;cursor:pointer;background:linear-gradient(180deg,#ffe4a8,var(--ep-gold) 55%,var(--ep-gold-deep));color:#1b120b;box-shadow:0 8px 26px #ffaa3c52,inset 0 1px #ffffff80;font-family:Cinzel,serif;font-weight:800;font-size:1.35rem;letter-spacing:.2em;text-transform:uppercase;transition:transform .14s ease,box-shadow .14s ease}.ep-go small{font-weight:600;font-size:.68rem;letter-spacing:.1em;text-transform:none;opacity:.78}.ep-go:hover:not([disabled]),.ep-go:focus-visible:not([disabled]){transform:translateY(-2px);box-shadow:0 12px 30px #ffaa3c73,inset 0 1px #ffffff80}.ep-go[disabled]{cursor:default;filter:saturate(.2) brightness(.7)}a.ep-button{text-decoration:none}.ep-exit{color:var(--ep-dim)}.ep-exit:hover{color:var(--ep-ink)}@media(max-width:860px){.ep-menu,.ep-menu-foot{grid-template-columns:1fr}.ep-go{width:100%}.ep-menu-keys{display:none}.ep-menu-foot{position:sticky;bottom:0;padding:10px 0 8px;background:linear-gradient(180deg,transparent,rgba(10,7,5,.92) 30%)}.ep-logo-sub{letter-spacing:.22em}.ep-wallet-chip{top:10px;right:12px}}
