:root{--bg0: #0a0c11;--bg1: #10131b;--bg2: #161a25;--bg3: #1d2230;--ink: #e9e4d6;--muted: #a49d8c;--faint: #6d6a5e;--gold: #e2b95c;--gold-bright: #f7dd9a;--gold-dim: rgba(226, 185, 92, .35);--gold-faint: rgba(226, 185, 92, .14);--teal: #58c9b9;--ember: #e0704a;--violet: #a58cf0;--leaf: #8fbf6a;--steel: #7fa8c9;--line: rgba(226, 185, 92, .16);--panel: rgba(16, 19, 27, .92);--radius: 10px;--shadow: 0 12px 40px rgba(0, 0, 0, .55), 0 2px 10px rgba(0, 0, 0, .4);--font-display: "Cinzel", "Times New Roman", serif;--font-body: "Alegreya Sans", "Segoe UI", sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg0);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.45;overflow:hidden}::selection{background:var(--gold-dim);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#e2b95c2e;border-radius:6px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:#e2b95c59;background-clip:content-box}#app{display:flex;flex-direction:column;height:100vh}header{position:relative;z-index:30;display:flex;align-items:center;gap:14px;padding:10px 18px;background:linear-gradient(180deg,#161a25f7,#0d0f16f7);border-bottom:1px solid var(--line);box-shadow:0 4px 24px #00000073}.brand{display:flex;flex-direction:column;line-height:1.1;-webkit-user-select:none;user-select:none}.brand .title{font-family:var(--font-display);font-weight:900;font-size:19px;letter-spacing:.09em;color:var(--gold-bright);text-shadow:0 0 18px rgba(226,185,92,.35),0 1px 0 rgba(0,0,0,.8);white-space:nowrap}.brand .subtitle{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);margin-top:2px;white-space:nowrap}.brand .dbcounts{margin-top:5px;font-size:10.5px;letter-spacing:.06em;color:var(--faint);white-space:nowrap}.brand .dbcounts b{color:var(--muted);font-weight:700}.divider-v{width:1px;height:30px;background:var(--line)}.header-center{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:18px;flex:1 1 auto;min-width:0}.search-wrap{position:relative;flex:0 1 480px;width:480px;min-width:170px;max-width:480px}#search{width:100%;padding:9px 34px 9px 38px;background:var(--bg1);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-family:var(--font-body);font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}#search:focus{border-color:var(--gold-dim);box-shadow:0 0 0 3px var(--gold-faint),0 0 20px #e2b95c14}#search::placeholder{color:var(--faint)}#search.arming{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-faint),0 0 22px #e2b95c2e;animation:armpulse 1.6s ease-in-out infinite}#search.arming::placeholder{color:var(--gold)}@keyframes armpulse{0%,to{box-shadow:0 0 0 3px var(--gold-faint),0 0 14px #e2b95c1a}50%{box-shadow:0 0 0 4px var(--gold-faint),0 0 26px #e2b95c42}}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none;font-size:14px}#searchClear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--faint);cursor:pointer;font-size:15px;padding:4px 6px;border-radius:6px;display:none}#searchClear:hover{color:var(--ink);background:var(--bg3)}.suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--gold-dim);border-radius:10px;box-shadow:var(--shadow);max-height:420px;overflow-y:auto;display:none;z-index:100}.suggestions.open{display:block}.sug-item{display:flex;align-items:center;gap:10px;padding:7px 12px;cursor:pointer;border-left:2px solid transparent}.sug-item:hover,.sug-item.active{background:var(--gold-faint);border-left-color:var(--gold)}.sug-item img{width:26px;height:26px;object-fit:contain;flex:none}.sug-item .sug-ico{width:26px;height:26px;flex:none;display:grid;place-items:center;font-size:12px;color:var(--faint)}.sug-name{flex:1;min-width:0}.sug-name .n{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sug-name .t{font-size:11px;color:var(--faint);text-transform:capitalize}.sug-item mark{background:none;color:var(--gold-bright);font-weight:700}.sug-own{flex:none;width:26px;height:26px;padding:0;border-radius:6px;display:grid;place-items:center;line-height:1;background:none;border:1px solid transparent;color:var(--faint);font-size:15px;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.sug-own:hover{color:var(--gold-bright);border-color:var(--gold-dim);background:var(--bg1)}.sug-own.on{color:var(--gold-bright)}.sug-own.on:hover{border-color:var(--gold-dim);background:var(--bg1)}.filters{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;background:var(--bg1);border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .18s var(--ease-out)}.chip:hover{border-color:var(--gold-dim);color:var(--ink)}.chip.on{background:var(--gold-faint);border-color:var(--gold-dim);color:var(--gold-bright);box-shadow:inset 0 0 12px #e2b95c0f}.chip .dot{width:8px;height:8px;border-radius:50%;background:currentColor}#resetFilters{margin-left:4px}#ownedCount{margin-left:auto;font-size:11px;color:var(--muted);font-weight:700;padding:0 7px;border:1px solid var(--line);border-radius:999px;line-height:16px;flex:none}#ownedCount.has{color:var(--bg0);border-color:var(--gold-dim);background:var(--gold)}.fac-link{cursor:pointer}.fac-link:hover{text-decoration:underline}.layout-meta{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:11px;color:var(--faint);line-height:1.35;white-space:nowrap}.layout-meta b{color:var(--muted);font-weight:700}.layout-meta .algo{color:var(--gold);letter-spacing:.04em}.layout-meta .ago{opacity:.7}.layout-meta label{display:inline-flex;align-items:center;gap:5px;cursor:pointer;-webkit-user-select:none;user-select:none}.layout-meta label.off{opacity:.4;cursor:default}#densWrap{display:flex;align-items:center;gap:5px;white-space:nowrap}#densWrap.off{opacity:.4}#densWrap.off input[type=range]{pointer-events:none}#densSlider{width:92px;height:3px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:linear-gradient(90deg,var(--gold-dim),var(--gold));border-radius:2px;outline:none;cursor:pointer}#densSlider::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:11px;height:11px;border-radius:50%;background:var(--gold-bright);border:1px solid #6b5320;box-shadow:0 0 5px #e2b95c80;cursor:grab}#densSlider:active::-webkit-slider-thumb{cursor:grabbing}#densVal{min-width:34px;color:var(--muted);font-size:10px}#densSave,#densShare,#densClear{background:none;border:1px solid transparent;border-radius:4px;color:var(--muted);cursor:pointer;font-size:10px;padding:1px 4px;line-height:1.2}#densSave:hover,#densShare:hover{color:var(--gold-bright);border-color:var(--gold-dim)}#densClear:hover{color:#e88;border-color:#c85a5a66}.layout-meta input[type=checkbox]{accent-color:var(--gold);cursor:pointer;margin:0}#layoutInd{display:none;position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:30;align-items:center;gap:7px;padding:5px 12px;border:1px solid var(--gold-dim);border-radius:999px;background:#e2b95c14;color:var(--gold-bright);font-size:11.5px;font-weight:700;letter-spacing:.03em;white-space:nowrap}#layoutInd.on{display:inline-flex}#layoutInd .spin{width:11px;height:11px;border:2px solid rgba(226,185,92,.25);border-top-color:var(--gold-bright);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#layoutIndBar{display:none;width:90px;height:5px;border-radius:3px;background:#e2b95c2e;overflow:hidden}#layoutIndBar.on{display:block}#layoutIndBarFill{height:100%;width:100%;border-radius:3px;background:var(--gold-bright);transform:scaleX(0);transform-origin:left center;transition:transform .18s linear}#stage{position:relative;flex:1;min-height:0;background:radial-gradient(1200px 800px at 50% 42%,#10141d 0%,var(--bg0) 62%)}#cy{position:absolute;top:0;right:0;bottom:0;left:0}#stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(600px 300px at 80% 0%,rgba(226,185,92,.045),transparent 60%),radial-gradient(500px 320px at 12% 100%,rgba(88,201,185,.035),transparent 60%)}.zoomctl{position:absolute;left:16px;bottom:16px;z-index:20;display:flex;flex-direction:column;gap:6px}.zoomctl button{width:36px;height:36px;border-radius:8px;background:var(--panel);border:1px solid var(--line);color:var(--muted);font-size:16px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .15s}.zoomctl button:hover{color:var(--gold-bright);border-color:var(--gold-dim)}.legend{position:absolute;left:16px;top:14px;z-index:20;display:flex;flex-direction:column;gap:5px;padding:10px 14px;background:var(--panel);border:1px solid var(--line);border-radius:10px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:11.5px;color:var(--muted);-webkit-user-select:none;user-select:none}.legend .lg-legal{margin-top:6px;padding-top:8px;border-top:1px solid var(--line);color:var(--faint);font-size:10px;line-height:1.45;max-width:190px}.legend .lg-legal a{color:var(--gold);text-decoration:none}.legend .lg-legal a:hover{color:var(--gold-bright)}.w-legal{margin-top:14px;font-size:10.5px;color:var(--faint);max-width:420px;line-height:1.5}.legend .lg-title{font-size:10px;letter-spacing:.18em;color:var(--faint);margin-bottom:2px}.legend .lg-row{display:flex;align-items:center;gap:8px;cursor:pointer;padding:1px 2px;border-radius:4px}.legend .lg-row.lg-static{cursor:default}.legend .lg-hint{font-size:9px;color:var(--faint);margin-top:-3px}.legend .lg-title.lg-sec{margin-top:7px}.legend .lg-swatch.line{border-radius:2px;height:4px;width:14px}.legend .lg-row.lg-line span:last-child{letter-spacing:.02em}.legend .lg-row.lg-action{color:var(--gold-bright);font-weight:700}.legend .lg-row.lg-action .lg-swatch{border-radius:50%;width:8px;height:8px}.chip.retired{display:none}.retired,.filters{display:none!important}.settings-wrap{position:relative}#settingsBtn{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--bg1);color:var(--muted);font-size:16px;cursor:pointer;transition:all .15s}#settingsBtn:hover,#settingsBtn[aria-expanded=true]{border-color:var(--gold-dim);color:var(--gold-bright);box-shadow:0 0 12px #e2b95c2e}#legendBtn{display:none;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--bg1);color:var(--muted);font-size:15px;cursor:pointer;transition:all .15s}#legendBtn:hover,#legendBtn[aria-expanded=true]{border-color:var(--gold-dim);color:var(--gold-bright);box-shadow:0 0 12px #e2b95c2e}@media(max-width:720px){#legendBtn{display:block}.legend.open{display:flex;left:10px;right:10px;width:auto;top:10px;max-height:calc(100% - 20px);overflow-y:auto;z-index:45}}#settingsPanel{position:fixed;inset:auto;margin:0;position-anchor:--settings-btn;min-width:295px;max-width:min(330px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--gold-dim);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#settingsBtn{anchor-name:--settings-btn}@supports (anchor-name: --a){#settingsPanel{position-area:block-end span-inline-end;margin-top:8px;position-try-fallbacks:flip-block,flip-inline}}#settingsPanel .s-title{font-family:var(--font-display);font-size:11px;letter-spacing:.12em;color:var(--gold);margin-bottom:8px}#settingsPanel .s-group{font-family:var(--font-display);font-size:9.5px;letter-spacing:.14em;color:var(--faint);margin:10px 0 2px}#settingsPanel .s-group:first-of-type{margin-top:0}#settingsPanel .s-sep{border-top:1px solid var(--line);margin:10px -14px}#settingsPanel select{width:100%;background:var(--bg1);border:1px solid var(--line);border-radius:8px;color:var(--muted);font-family:var(--font-body);font-size:12.5px;font-weight:700;padding:7px 8px;cursor:pointer;outline:none;margin:2px 0 4px}#settingsPanel select:hover,#settingsPanel select:focus{border-color:var(--gold-dim);color:var(--ink)}#settingsPanel option{background:var(--bg1);color:var(--ink)}#settingsPanel label{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--ink);padding:6px 0;cursor:pointer}#settingsPanel label.off{opacity:.4}#settingsPanel input[type=checkbox]{margin-top:2px;accent-color:var(--gold);flex:none}#settingsPanel #densWrap{margin:2px 0 4px;font-size:12.5px;color:var(--muted);cursor:default}#settingsPanel #densSlider{width:78px}#settingsPanel .s-note{font-size:10.5px;letter-spacing:.05em;color:var(--faint);margin:4px 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#settingsPanel .s-save{display:flex;gap:6px;margin:2px 0 4px}#settingsPanel .s-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;background:var(--bg1);border:1px solid var(--line);border-radius:8px;color:var(--muted);font-family:var(--font-body);font-size:12px;font-weight:700;padding:6px 8px;cursor:pointer;transition:all .15s;white-space:nowrap}#settingsPanel .s-btn:hover{border-color:var(--gold-dim);color:var(--ink)}#settingsPanel .s-btn.gold{color:var(--gold-bright);border-color:var(--gold-dim)}#settingsPanel .s-btn.gold:hover{background:#e2b95c1f;border-color:var(--gold)}#settingsPanel .s-btn.danger:hover{color:#e88;border-color:#c85a5a66}#settingsPanel #recalcBtn{width:100%;margin-top:2px}.char-wrap{position:relative}#charBtn{height:34px;min-width:34px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;background:var(--bg1);border:1px solid var(--line);border-radius:8px;color:var(--muted);font-family:var(--font-body);font-size:12.5px;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap;max-width:190px}#charBtn:hover,#charBtn[aria-expanded=true]{border-color:var(--gold-dim);color:var(--gold-bright);box-shadow:0 0 12px #e2b95c2e}#charBtn .cb-rune{font-size:14px}#charBtn .cb-name{overflow:hidden;text-overflow:ellipsis}#charBtn .cb-lv{color:var(--gold-bright);font-variant-numeric:tabular-nums;border-left:1px solid var(--line);padding-left:6px}@media(max-width:860px){#charBtn{max-width:34px;padding:0;justify-content:center}#charBtn .cb-name,#charBtn .cb-lv{display:none}}#charPanel{position:fixed;inset:auto;margin:0;position-anchor:--char-btn;min-width:275px;max-width:min(345px,calc(100vw - 32px));max-height:min(72vh,620px);overflow-y:auto;overscroll-behavior:contain;background:var(--panel);border:1px solid var(--gold-dim);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#charBtn{anchor-name:--char-btn}@supports (anchor-name: --a){#charPanel{position-area:block-end span-inline-end;margin-top:8px;position-try-fallbacks:flip-block,flip-inline}}#charPanel .s-title{font-family:var(--font-display);font-size:11px;letter-spacing:.12em;color:var(--gold);margin-bottom:8px}#charPanel .s-group{font-family:var(--font-display);font-size:9.5px;letter-spacing:.14em;color:var(--faint);margin:10px 0 4px}#charPanel .s-sep{border-top:1px solid var(--line);margin:10px -14px}#charPanel .s-note{font-size:10.5px;color:var(--faint);margin-top:8px;line-height:1.4}#charPanel .s-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;background:var(--bg1);border:1px solid var(--line);border-radius:8px;color:var(--muted);font-family:var(--font-body);font-size:12px;font-weight:700;padding:6px 8px;cursor:pointer;transition:all .15s;white-space:nowrap}#charPanel .s-btn:hover{border-color:var(--gold-dim);color:var(--ink)}#charPanel .s-btn.gold{color:var(--gold-bright);border-color:var(--gold-dim)}#charPanel .s-btn.gold:hover{background:#e2b95c1f;border-color:var(--gold)}#charPanel .s-btn.danger{width:100%}#charPanel .s-btn.danger:hover{color:#e88;border-color:#c85a5a66}#charPanel .s-btn:disabled{opacity:.45;cursor:default}.char-active{display:flex;align-items:center;gap:8px;margin-bottom:8px}.char-active input{flex:1;min-width:0;background:var(--bg1);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-family:var(--font-body);font-size:13px;font-weight:700;padding:6px 8px;outline:none}.char-active input:focus{border-color:var(--gold-dim)}.char-active input:disabled{opacity:.5}.char-badge{flex:none;font-size:11px;color:var(--gold-bright);font-weight:700}.char-list{display:flex;flex-direction:column;gap:4px}.char-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:var(--bg1);border:1px solid var(--line);border-radius:8px;color:var(--muted);font-family:var(--font-body);font-size:12.5px;padding:6px 9px;cursor:pointer;transition:all .15s}.char-row:hover{border-color:var(--gold-dim);color:var(--ink)}.char-row.active{border-color:var(--gold-dim);color:var(--ink);background:#e2b95c14}.char-row .cr-name{flex:1;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.char-row .cr-lv{color:var(--gold-bright);font-variant-numeric:tabular-nums}.char-empty{color:var(--faint);font-size:12px;padding:2px 0}.char-skills{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}.char-skill{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px;color:var(--muted)}.char-skill input{width:52px;background:var(--bg1);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-family:var(--font-body);font-size:12px;padding:3px 6px;outline:none;text-align:right}.char-skill input:focus{border-color:var(--gold-dim)}.char-total{margin-top:8px;font-size:12.5px;color:var(--muted)}.char-total b{color:var(--gold-bright);font-variant-numeric:tabular-nums}.char-new{display:flex;gap:6px;margin:2px 0 4px}.char-new input{flex:1;min-width:0;background:var(--bg1);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-family:var(--font-body);font-size:12.5px;padding:6px 8px;outline:none}.char-new input:focus{border-color:var(--gold-dim)}.char-adopt{display:flex;gap:7px;align-items:flex-start;font-size:11.5px;color:var(--muted);line-height:1.4;margin:4px 0 8px;cursor:pointer}.char-adopt input{margin-top:2px;accent-color:var(--gold);flex:none}.char-level-row{display:flex;align-items:center;gap:9px}.char-level-row input{width:72px;background:var(--bg1);border:1px solid var(--line);border-radius:8px;color:var(--gold-bright);font-family:var(--font-body);font-size:14px;font-weight:700;padding:6px 8px;outline:none;text-align:right}.char-level-row input:focus{border-color:var(--gold-dim)}.char-level-hint{font-size:11.5px;color:var(--faint)}.char-inline-total{font-size:10.5px;letter-spacing:.08em;color:var(--gold);font-weight:700}#charModal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:220;display:grid;place-items:center;background:#05060ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#charModal[hidden]{display:none}.char-card{width:min(440px,calc(100vw - 36px));background:var(--panel);border:1px solid var(--gold-dim);border-radius:16px;padding:24px 26px 20px;box-shadow:0 18px 70px #0009;text-align:center}.char-card .h-rune{color:var(--gold);font-size:22px;margin-bottom:4px}.char-card h2{margin:0 0 8px;font-family:var(--font-display),serif;font-size:19px;letter-spacing:.2em;color:var(--gold-bright);font-weight:700}.char-card .h-tag{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 16px}.char-card .h-tag b{color:var(--ink)}.char-card>input{width:100%;background:var(--bg1);border:1px solid var(--line);border-radius:9px;color:var(--ink);font-family:var(--font-body);font-size:14px;font-weight:700;padding:10px 12px;outline:none;text-align:center;margin-bottom:10px}.char-card>input:focus{border-color:var(--gold-dim)}.char-modal-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.char-modal-actions .btn{flex:none;width:100%}.char-skip{background:none;border:none;color:var(--faint);font-family:var(--font-body);font-size:12px;padding:4px;cursor:pointer}.char-skip:hover{color:var(--muted);text-decoration:underline}.toast-undo{pointer-events:auto;margin-left:12px;background:none;border:1px solid var(--gold-dim);border-radius:6px;color:var(--gold-bright);font-family:var(--font-body);font-weight:700;font-size:12px;padding:2px 10px;cursor:pointer;transition:all .15s}.toast-undo:hover{background:#e2b95c26;border-color:var(--gold)}.lg-check{width:14px;text-align:center;color:var(--gold);flex:none}.lg-badge{margin-left:auto;min-width:20px;text-align:center;font-size:11px;font-weight:700;color:var(--bg0);background:var(--muted);border-radius:9px;padding:1px 6px}.lg-badge.has{background:var(--gold)}.lg-row.attention .lg-check{animation:lgPulse 1.2s ease-in-out infinite}@keyframes lgPulse{0%,to{opacity:1}50%{opacity:.35}}.lg-hint.left{text-align:left;margin:2px 0 6px}.legend .lg-row:hover{color:var(--ink)}.legend .lg-row.off{opacity:.35}.lg-only{font-size:9px;font-weight:700;letter-spacing:.05em;color:var(--faint);border:1px solid var(--line);border-radius:4px;padding:0 4px;line-height:1.5;flex:none;cursor:pointer;opacity:0;transition:opacity .15s}.legend .lg-row:hover .lg-only{opacity:1}.lg-only:hover{color:var(--gold-bright);border-color:var(--gold-dim)}.legend .lg-swatch{width:10px;height:10px;border-radius:3px;flex:none}.breadcrumb{position:absolute;top:14px;right:16px;z-index:25;display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--panel);border:1px solid var(--line);border-radius:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12.5px;color:var(--muted);max-width:44vw;overflow:hidden;transition:opacity .25s}.breadcrumb.hidden{display:none}.breadcrumb a{color:var(--gold);text-decoration:none;cursor:pointer}.breadcrumb a:hover{color:var(--gold-bright);text-decoration:underline}.pathbar{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:26;display:flex;align-items:center;gap:8px;padding:7px 14px;background:var(--panel);border:1px solid var(--gold-dim);border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--gold-bright);font-size:12.5px;font-weight:700;letter-spacing:.02em;box-shadow:0 0 18px #e2b95c2e;max-width:60vw;white-space:nowrap;overflow:hidden;animation:pathbar-pulse 1.6s ease-in-out infinite}.pathbar.hidden{display:none}.pathbar .pb-rune{font-size:15px}.pathbar #pathbarText{overflow:hidden;text-overflow:ellipsis}.pathbar .p-clear{font-size:10.5px;padding:2px 8px}@keyframes pathbar-pulse{0%,to{box-shadow:0 0 12px #e2b95c24}50%{box-shadow:0 0 22px #e2b95c52}}body.path-result .pathbar{animation:none;border-color:var(--line);color:var(--ink);box-shadow:none}.breadcrumb .sep{color:var(--faint)}#veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(800px 500px at 50% 40%,#141926 0%,var(--bg0) 70%);transition:opacity .5s ease,visibility .5s}#veil.hidden{opacity:0;visibility:hidden;pointer-events:none}.veil-rune{font-family:var(--font-display);font-weight:900;font-size:44px;color:var(--gold);text-shadow:0 0 30px rgba(226,185,92,.5);animation:runepulse 2s ease-in-out infinite}@keyframes runepulse{0%,to{opacity:.55;transform:scale(.97)}50%{opacity:1;transform:scale(1.02)}}.veil-text{font-family:var(--font-display);letter-spacing:.3em;font-size:12px;color:var(--muted);text-transform:uppercase}.veil-sub{font-size:12px;color:var(--faint)}#panel{position:absolute;top:14px;right:16px;z-index:40;width:380px;max-width:calc(100vw - 32px);max-height:calc(100% - 28px);display:flex;flex-direction:column;background:linear-gradient(165deg,#181c28f7,#0e1018f7);border:1px solid var(--gold-dim);border-radius:14px;box-shadow:var(--shadow),0 0 60px #e2b95c0f inset;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;transform:translate(24px);pointer-events:none;transition:opacity .28s var(--ease-out),transform .28s var(--ease-out)}#panel.open{opacity:1;transform:translate(0);pointer-events:auto}#panel.owned{border-color:var(--gold);box-shadow:var(--shadow),0 0 0 1px var(--gold-dim),0 0 46px #e2b95c24 inset}.panel-head{display:flex;align-items:center;gap:13px;padding:15px 16px 13px;border-bottom:1px solid var(--line)}.panel-head .p-icon{width:52px;height:52px;flex:none;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#e2b95c1f,#00000040);border:1px solid var(--line);border-radius:11px}.panel-head .p-icon img{width:40px;height:40px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}.panel-head .p-icon .p-glyph{width:100%;height:100%;font-size:22px;color:var(--gold);opacity:.85}.p-titlebox{flex:1;min-width:0}.p-title-row{display:flex;align-items:flex-start;gap:7px}.p-title{font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--gold-bright);line-height:1.15;text-shadow:0 0 14px rgba(226,185,92,.25)}.p-edit{flex:none;margin-top:1px;padding:2px 5px;font:inherit;font-size:12px;line-height:1.3;color:var(--gold);background:#00000047;border:1px solid var(--line);border-radius:7px;cursor:pointer;opacity:.7}.p-edit:hover{opacity:1;color:var(--gold-bright);border-color:var(--gold)}.p-edit:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.p-edit.on{opacity:1;color:var(--gold-bright);border-color:var(--gold);background:#e2b95c2e}.p-own{font-size:14px}.p-own[hidden]{display:none}.p-type{margin-top:3px;display:inline-block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:2px 8px;border:1px solid var(--line);border-radius:999px;background:#00000040}#panelClose{flex:none;width:30px;height:30px;border-radius:8px;background:none;border:1px solid transparent;color:var(--faint);font-size:16px;cursor:pointer}#panelClose:hover{color:var(--ink);border-color:var(--line);background:var(--bg2)}.panel-body{overflow-y:auto;padding:14px 16px 18px;overscroll-behavior:contain}.panel-body::-webkit-scrollbar{width:8px}.p-section{margin-bottom:15px}.p-section:last-child{margin-bottom:0}.p-label{font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:7px;display:flex;align-items:center;gap:8px}.p-label:after{content:"";flex:1;height:1px;background:var(--line)}.p-label .p-clear{background:none;border:1px solid var(--line);border-radius:6px;color:var(--muted);font:inherit;font-size:9.5px;padding:2px 7px;cursor:pointer;letter-spacing:.08em}.p-label .p-clear:hover{color:var(--ink);border-color:var(--gold-dim)}.p-label.sub{margin:9px 0 5px}.p-label.sub:after{background:none}.p-section.plan{background:linear-gradient(160deg,#e2b95c0e,#e2b95c04 55%);border:1px solid rgba(226,185,92,.22);border-radius:10px;padding:11px 12px 12px}.p-section.plan.owned-mode{border-color:#58c9b959;background:linear-gradient(160deg,#58c9b90f,#58c9b904 55%)}.p-section.plan.owned-mode .p-label{color:var(--teal)}.mat.owned{opacity:.75;border-color:#58c9b966!important}.mat.owned:before{content:"✓ ";color:var(--teal);font-weight:800}#search.arming.owned-mode-pulse{animation-name:armpulse-teal}@keyframes armpulse-teal{0%,to{box-shadow:0 0 0 3px #58c9b924,0 0 14px #58c9b91a}50%{box-shadow:0 0 0 4px #58c9b92e,0 0 26px #58c9b947}}body.path-arming-owned #search.arming{border-color:var(--teal);animation-name:armpulse-teal}body.path-arming-owned #search.arming::placeholder{color:var(--teal)}.p-section.plan .p-label{color:var(--gold)}.p-label .p-clear.gold{color:var(--gold);border-color:#e2b95c59}.p-label .p-clear.gold:hover{color:var(--gold-bright);border-color:var(--gold)}.path-step{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:8px;cursor:pointer;font-size:12.5px;color:var(--ink)}.path-step:hover{background:#e2b95c14}.path-step .pn{width:16px;height:16px;border-radius:50%;flex:0 0 auto;background:#e2b95c29;color:var(--gold-bright);font-size:9.5px;font-weight:800;display:grid;place-items:center}.path-step img{width:18px;height:18px}.path-step .ptx{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-step .q{color:var(--gold);font-weight:700}.path-step .arr{color:var(--faint)}.path-step .pstep-fac{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);border:1px solid rgba(255,255,255,.09);border-radius:5px;padding:1px 5px}.p-hint{margin-top:6px;font-size:11px;color:var(--faint);font-style:italic}body.path-arming #cy,body.path-arming .panel{cursor:crosshair}body.path-arming #panelBody{pointer-events:none}.p-desc{color:var(--muted);font-size:13.5px;line-height:1.5;font-style:italic}.p-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.p-stat{background:#00000038;border:1px solid rgba(255,255,255,.05);border-radius:8px;padding:7px 9px}.p-stat .v{font-weight:800;font-size:14px;color:var(--ink)}.p-stat .k{font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.08em;margin-top:1px}.recipe{background:#00000038;border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:9px}.recipe:last-child{margin-bottom:0}.recipe.deprecated{opacity:.45}.recipe-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.recipe-facility{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);display:inline-flex;align-items:center;gap:5px}.recipe-skill{margin-left:auto;font-size:11px;color:var(--gold);font-weight:700;display:inline-flex;align-items:center;gap:4px}.recipe-skill img{width:14px;height:14px}.xp-zero{opacity:.55;font-size:11px}.recipe-mats{display:flex;flex-wrap:wrap;gap:6px}.mat{display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 4px;background:var(--bg2);border:1px solid rgba(255,255,255,.07);border-radius:999px;font-size:12.5px;cursor:pointer;transition:border-color .15s,background .15s}.mat:hover{border-color:var(--gold-dim);background:var(--bg3)}.mat img{width:20px;height:20px;object-fit:contain}.mat .q{color:var(--gold);font-weight:800;font-size:12px}.mat .mn{max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipe-out{margin-top:8px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.08);font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}.recipe-out img{width:20px;height:20px}.recipe-out b{color:var(--ink)}.wp-progress{display:flex;align-items:center;gap:6px;margin-top:5px;padding:4px 8px;background:var(--bg2);border:1px solid rgba(255,255,255,.07);border-radius:8px;font-size:11.5px;color:var(--muted)}.wp-progress .wp-count b{color:var(--gold-bright);font-weight:800}.wp-progress .wp-replans{color:var(--faint)}.wp-progress .p-clear{font-size:10.5px;padding:1px 6px}.wp-list{display:flex;flex-direction:column;gap:4px;margin-top:6px}.wp-step{display:flex;align-items:center;gap:7px;padding:4px 8px 4px 6px;background:var(--bg2);border:1px solid rgba(255,255,255,.07);border-radius:8px;font-size:12.5px}.wp-step img{width:20px;height:20px;object-fit:contain;flex:0 0 auto}.wp-box{width:15px;height:15px;flex:0 0 auto;border:1.5px solid var(--gold-dim);border-radius:4px;cursor:pointer;transition:background .15s,border-color .15s}.wp-box:hover{border-color:var(--gold);background:#e2b95c26}.wp-verb{color:var(--faint);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;width:44px;flex:0 0 auto}.wp-qty{color:var(--gold);font-weight:800;font-size:12px;flex:0 0 auto}.wp-step .mn{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.wp-step .mn:hover{color:var(--gold-bright)}.wp-fac{color:var(--faint);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:right}.recipe-notes{font-size:11.5px;color:var(--faint);margin-top:6px;font-style:italic}.recipe-variant{font-size:10.5px;color:var(--faint);letter-spacing:.08em;text-transform:uppercase}.recipe-unlock{font-size:11px;color:var(--gold);display:inline-flex;align-items:center;gap:5px}.recipe-unlock img{width:16px;height:16px;object-fit:contain}.recipe-unlock:hover{color:var(--gold-bright)}.recipe-unlock.needs{color:var(--ember)}.recipe-unlock.needs:after{content:"✗";font-weight:800}.p-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.p-actions-iso #isoDepth{flex:0 0 auto;width:74px}.p-actions-iso #isoDir{flex:0 0 auto;width:104px}.p-actions-iso .btn{flex:1 1 96px}.btn{flex:1 1 auto;padding:8px 10px;text-align:center;white-space:nowrap;background:var(--bg2);border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:12.5px;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:all .15s}.btn:hover{color:var(--gold-bright);border-color:var(--gold-dim);background:var(--bg3)}.btn.primary{background:linear-gradient(180deg,#e2b95c33,#e2b95c14);border-color:var(--gold-dim);color:var(--gold-bright)}.btn.primary:hover{background:linear-gradient(180deg,#e2b95c4d,#e2b95c1f)}.own-star{flex:none;margin-left:auto;width:20px;height:20px;padding:0;display:grid;place-items:center;line-height:1;font-size:13px;background:none;border:1px solid transparent;border-radius:6px;color:var(--faint);cursor:pointer;transition:color .15s,background .15s,border-color .15s}.own-star:hover{color:var(--gold-bright);border-color:var(--gold-dim);background:var(--bg1)}.own-star.on{color:var(--gold-bright)}.found-row.owned .fr,.used-row.owned .un{color:var(--teal)}.used-row{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:7px;cursor:pointer}.used-row:hover{background:var(--gold-faint)}.used-row img{width:22px;height:22px;object-fit:contain}.used-row .un{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.used-row .uq{color:var(--faint);font-size:11.5px}.used-row .uout{color:var(--gold);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}.found-row{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:7px}.found-row.fi-jump{cursor:pointer}.found-row.fi-jump:hover{background:var(--gold-faint)}.found-row img{width:18px;height:18px;object-fit:contain;flex:none}.found-row .fi-pin{color:var(--faint);width:18px;flex:none;text-align:center}.found-row .fr{flex:0 1 118px;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.found-row .fw{flex:1;min-width:0;color:var(--muted);font-size:12px}.found-row .fi-way b.fi-tool{color:var(--gold);font-weight:600}.found-row .fi-or{color:var(--faint)}.p-glyph{display:grid;place-items:center;flex:none;color:var(--muted)}.found-row .p-glyph{width:18px;height:18px;font-size:13px}.used-row .p-glyph{width:22px;height:22px;font-size:14px}.mat .p-glyph,.wp-step .p-glyph{width:20px;height:20px;font-size:12px}.recipe-unlock .p-glyph{width:16px;height:16px;font-size:11px;color:inherit}.unlock-row{display:flex;gap:10px;align-items:baseline;padding:3px 0;font-size:13px}.unlock-row .lvl{flex:none;min-width:34px;text-align:center;font-family:var(--font-display);font-weight:700;font-size:12px;color:var(--gold);background:#0000004d;border:1px solid var(--line);border-radius:6px;padding:1px 0}.unlock-row .utx{color:var(--muted)}.unlock-row.met .lvl{border-color:var(--teal);color:var(--teal)}.unlock-row.met .utx{color:var(--ink)}.gate-ok{margin-left:auto;color:var(--teal);font-size:12px;font-weight:700}.gate-miss{margin-left:auto;color:var(--ember);font-size:12px;font-weight:700}.p-section.next-unlock{border-color:#58c9b959;background:linear-gradient(160deg,#58c9b912,#58c9b904 55%)}.p-section.next-unlock .p-label{color:var(--teal)}.p-section.next-unlock .nu-lv{color:var(--teal);font-size:12px;font-weight:700}.spell-row{display:flex;align-items:center;gap:10px;padding:5px 6px;border-radius:8px;cursor:pointer}.spell-row:hover{background:var(--gold-faint)}.spell-row img{width:28px;height:28px}.spell-row .sn{font-weight:500}.spell-row .sd{font-size:11px;color:var(--faint)}#welcome{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:15;width:min(560px,calc(100vw - 40px));text-align:center;padding:34px 38px;background:linear-gradient(170deg,#161a25e6,#0d0f16e6);border:1px solid var(--gold-dim);border-radius:16px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .4s,visibility .4s;max-height:calc(100vh - 32px);overflow-y:auto;overscroll-behavior:contain}#welcome.hidden{opacity:0;visibility:hidden}#welcome .w-rune{font-family:var(--font-display);font-size:40px;font-weight:900;color:var(--gold);text-shadow:0 0 26px rgba(226,185,92,.45)}#welcome h1{font-family:var(--font-display);font-weight:900;margin:10px 0 6px;font-size:26px;letter-spacing:.08em;color:var(--gold-bright)}#welcome p{color:var(--muted);font-size:14px;margin:6px 0 18px;line-height:1.55}#welcome .w-keys{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}#welcome kbd{font-family:var(--font-body);font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:3px 9px;background:#0000004d}#welcome .w-stats{display:flex;gap:22px;justify-content:center;margin-top:16px;font-size:12px;color:var(--faint)}#welcome .w-stats b{color:var(--gold);font-family:var(--font-display);font-size:15px;display:block}#welcome .w-note{margin-top:16px;padding:10px 15px 11px;text-align:left;border:1px solid var(--gold-dim);border-radius:8px;background:#e2b95c12;font-size:12.5px;color:var(--muted);line-height:1.5}#welcome .w-note .w-cta-label{font-family:var(--font-display);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:3px}#welcome .w-note b{color:var(--ink)}#welcome .w-help{display:block;margin-top:9px;padding:5px 12px;border-radius:8px;cursor:pointer;border:1px solid var(--gold-dim);background:#0000004d;color:var(--gold-bright);font-family:inherit;font-size:12px;font-weight:700}#welcome .w-help:hover{border-color:var(--gold);background:#e2b95c24}#welcome .w-contribute{margin-top:16px;padding:10px 16px 11px;background:var(--gold);border:1px solid var(--gold-bright);border-radius:8px;box-shadow:0 0 20px #e2b95c47;font-size:12.5px;color:var(--bg0);line-height:1.5}#welcome .w-contribute .w-cta-label{font-family:var(--font-display);font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:2px}#welcome .w-contribute b{color:var(--bg0)}#welcome .w-contribute a{color:var(--bg0);font-weight:700;text-decoration:underline;text-underline-offset:2px}#welcome .w-contribute a:hover{text-decoration-thickness:2px}#toast{position:absolute;bottom:22px;left:50%;transform:translate(-50%) translateY(8px);background:var(--panel);border:1px solid var(--gold-dim);color:var(--ink);padding:9px 18px;border-radius:10px;font-size:13px;opacity:0;transition:all .25s;pointer-events:none;z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#toast.show{opacity:1;transform:translate(-50%) translateY(0)}#updateBanner{position:fixed;left:50%;bottom:18px;transform:translate(-50%) translateY(10px);display:flex;align-items:center;gap:12px;max-width:min(560px,calc(100vw - 28px));padding:9px 10px 9px 15px;background:var(--panel);border:1px solid var(--gold-dim);border-radius:12px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);font-size:13px;opacity:0;transition:opacity .25s var(--ease-out),transform .25s var(--ease-out);z-index:90}#updateBanner[hidden]{display:none}#updateBanner.show{opacity:1;transform:translate(-50%) translateY(0)}#updateBanner .ub-rune{flex:none;color:var(--gold-bright);font-size:15px}#updateBanner .ub-text{flex:1 1 auto;min-width:0}#updateBanner .ub-reload{flex:none;padding:7px 15px;border-radius:8px;cursor:pointer;border:1px solid var(--gold);background:var(--gold);color:var(--bg0);font-family:var(--font-body);font-size:12.5px;font-weight:700}#updateBanner .ub-reload:hover{background:var(--gold-bright);border-color:var(--gold-bright)}#updateBanner .ub-dismiss{flex:none;width:26px;height:26px;border-radius:7px;cursor:pointer;border:1px solid var(--line);background:none;color:var(--muted);font-size:12px}#updateBanner .ub-dismiss:hover{color:var(--ink);border-color:var(--gold-dim)}body.has-update #toast{bottom:74px}.header-right{display:flex;align-items:center;gap:8px;flex:0 0 auto}#helpBtn{flex:0 0 auto;width:30px;height:30px;margin-left:0;border-radius:50%;border:1px solid var(--line);background:var(--bg1);color:var(--gold);font:800 15px/1 var(--font-display),serif;cursor:pointer;transition:border-color .15s,color .15s,box-shadow .15s}#helpBtn:hover{border-color:var(--gold);color:var(--gold-bright);box-shadow:0 0 12px #e2b95c2e}#helpModal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;background:#05060ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#helpModal[hidden]{display:none}.help-card{position:relative;width:min(880px,calc(100vw - 40px));max-height:calc(100vh - 60px);overflow-y:auto;overscroll-behavior:contain;background:var(--panel);border:1px solid var(--gold-dim);border-radius:16px;padding:26px 30px 22px;box-shadow:0 18px 70px #0009}.help-card #helpClose{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:none;color:var(--muted);font-size:13px;cursor:pointer}.help-card #helpClose:hover{color:var(--ink);border-color:var(--gold-dim)}.help-card .h-rune{text-align:center;color:var(--gold);font-size:22px;margin-bottom:4px}.help-card h2{margin:0 0 6px;text-align:center;font-family:var(--font-display),serif;font-size:21px;letter-spacing:.22em;color:var(--gold-bright);font-weight:700}.help-card .h-tag{text-align:center;color:var(--muted);font-size:13.5px;margin:0 auto 18px;max-width:560px;line-height:1.5}.h-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px 26px}@media(max-width:720px){.h-cols{grid-template-columns:1fr}}.h-col h3{margin:0 0 5px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.h-col h3:not(:first-child){margin-top:13px}.h-col p{margin:0 0 8px;color:var(--muted);font-size:12.8px;line-height:1.55}.h-col b{color:var(--ink)}.help-card kbd{display:inline-block;padding:1px 7px;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;background:var(--bg2);color:var(--ink);font-size:11.5px;font-family:inherit}.help-card .h-note{margin:0 0 18px;padding:11px 15px 12px;border:1px solid var(--gold-dim);border-radius:12px;background:#e2b95c12}.help-card .h-note p{margin:0;color:var(--muted);font-size:12.8px;line-height:1.55}.help-card .h-note b{color:var(--gold-bright)}.help-card .h-legal{margin-top:18px;padding-top:12px;border-top:1px solid var(--line);text-align:center;color:var(--faint);font-size:10.5px;line-height:1.5}.help-card a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-dim)}.help-card a:hover{color:var(--gold-bright);border-bottom-color:var(--gold)}#cleanupModal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:220;display:grid;place-items:center;background:#05060ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#cleanupModal[hidden]{display:none}.cleanup-card{width:min(560px,calc(100vw - 40px))}.cleanup-card #cleanupClose{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:none;color:var(--muted);font-size:13px;cursor:pointer}.cleanup-card #cleanupClose:hover{color:var(--ink);border-color:var(--gold-dim)}.cleanup-card .char-modal-actions{margin-top:14px}.cleanup-list{max-height:34vh;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:var(--bg1)}.cleanup-list:empty{display:none}.edit-form .p-label{color:var(--gold)}.pe-flag{margin-left:8px;padding:1px 7px;border-radius:999px;background:#e2b95c29;border:1px solid var(--gold-dim);color:var(--gold-bright);font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.pe-count{margin-left:6px;color:var(--gold-bright);font-weight:800}.pe-count:empty{display:none}.pe-field{display:flex;flex-direction:column;gap:3px;margin:8px 0}.pe-field>span{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.pe-field small{color:var(--faint);text-transform:none;letter-spacing:0}.pe-field input,.pe-field textarea,.pe-field select{width:100%;background:var(--bg1);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-family:var(--font-body);font-size:12.5px;padding:7px 9px;outline:none}.pe-field input:focus,.pe-field textarea:focus,.pe-field select:focus{border-color:var(--gold-dim)}.pe-field textarea{resize:vertical;line-height:1.45}.pe-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pe-id{margin-top:6px}.pe-id code{color:var(--gold);font-size:11px}.btn.danger{color:#e08a6a;border-color:#c96a4a66}.btn.danger:hover{color:#ffb193;border-color:#c96a4a;background:var(--bg3)}.btn:disabled{opacity:.45;cursor:default}.btn:disabled:hover{color:var(--muted);border-color:var(--line);background:var(--bg2)}#editsModal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:210;display:grid;place-items:center;background:#05060ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#editsModal[hidden]{display:none}.edits-card{width:min(620px,calc(100vw - 40px))}.edits-card #editsClose{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:none;color:var(--muted);font-size:13px;cursor:pointer}.edits-card #editsClose:hover{color:var(--ink);border-color:var(--gold-dim)}.edits-card .char-modal-actions{margin-top:10px}.edits-guide{margin:12px 0 0;padding:9px 11px;border:1px solid var(--gold-dim);border-radius:9px;background:#e2b95c12;color:var(--muted);font-size:12.5px;line-height:1.5}.edits-guide b{color:var(--ink)}.edits-guide p{margin:0 0 8px}.edits-guide p:last-child{margin-bottom:0}#dataGuideModal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:215;display:grid;place-items:center;background:#05060ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#dataGuideModal[hidden]{display:none}.guide-card{width:min(720px,calc(100vw - 40px))}.guide-card #guideClose{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:none;color:var(--muted);font-size:13px;cursor:pointer}.guide-card #guideClose:hover{color:var(--ink);border-color:var(--gold-dim)}.guide-block h3{margin:0 0 5px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.guide-block p{margin:0;color:var(--muted);font-size:12.8px;line-height:1.55}.guide-block b{color:var(--ink)}.guide-block+.guide-block,.guide-block+.guide-steps{margin-top:16px}.guide-steps{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:10px}.guide-steps li{border:1px solid var(--line);border-left:2px solid var(--gold-dim);border-radius:10px;padding:10px 13px 9px;background:var(--bg1)}.guide-steps h4{margin:0 0 4px;font-family:var(--font-display),serif;font-size:12px;letter-spacing:.1em;color:var(--gold-bright)}.guide-steps p{margin:0 0 8px;color:var(--muted);font-size:12.8px;line-height:1.55}.guide-steps p:last-child{margin-bottom:0}.guide-steps b{color:var(--ink)}.guide-actions{display:flex;gap:8px}.h-col .guide-actions{margin:0}@media(max-width:560px){.guide-actions{flex-direction:column}}.guide-steps .guide-actions{margin:4px 0 0}.help-card a.btn{border:1px solid var(--line);color:var(--muted);text-decoration:none}.help-card a.btn:hover,.help-card a.btn.primary{border-color:var(--gold-dim);color:var(--gold-bright)}.edits-list{max-height:46vh;overflow-y:auto;overscroll-behavior:contain;margin:0 0 12px}.edits-empty{color:var(--faint);font-size:13px;text-align:center;padding:22px 10px;border:1px dashed var(--line);border-radius:10px}.edits-note{margin-bottom:10px;padding:9px 11px;border-radius:9px;font-size:12.5px;line-height:1.5;color:#b8e0c6;background:#58c9b91f;border:1px solid rgba(88,201,185,.35)}.edits-node{border:1px solid var(--line);border-radius:10px;padding:9px 11px;margin-bottom:8px;background:var(--bg1);text-align:left}.edits-node.merged{border-color:#e2b95c4d}.edits-node-head{display:flex;align-items:center;gap:8px;margin-bottom:5px}.edits-node-head .en-name{font-weight:800;color:var(--ink);font-size:13px}.ed-revert{margin-left:auto;background:none;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-family:var(--font-body);font-size:10.5px;padding:2px 8px;cursor:pointer}.ed-revert:hover{color:var(--gold-bright);border-color:var(--gold-dim)}.edit-diff{display:flex;align-items:baseline;gap:7px;font-size:12px;padding:2px 0}.edit-diff .ed-field{flex:0 0 74px;color:var(--faint);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.edit-diff .ed-from{color:var(--muted);text-decoration:line-through;text-decoration-color:#c96a4a99}.edit-diff .ed-arrow{color:var(--gold)}.edit-diff .ed-to{color:var(--gold-bright);font-weight:700}.link-add{display:flex;gap:6px;margin-top:8px;align-items:center}.link-add select,.link-add input{background:var(--bg1);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-family:var(--font-body);font-size:12px;padding:7px 8px;outline:none}.link-add select{flex:0 0 auto}.link-add input{flex:1;min-width:0}.link-add select:focus,.link-add input:focus{border-color:var(--gold-dim)}.link-add .btn{flex:0 0 auto;padding:7px 10px}.link-jump{cursor:pointer}.link-jump:hover{text-decoration:underline}.driver-popover{background:var(--bg2);color:var(--ink);border:1px solid var(--gold-dim);border-radius:12px;box-shadow:var(--shadow);padding:16px 18px;max-width:340px;font-family:var(--font-body),sans-serif}.driver-popover-title{font-family:var(--font-display),serif;font-size:14.5px;letter-spacing:.08em;color:var(--gold-bright);padding-right:26px}.driver-popover-description{font-size:13px;line-height:1.55;color:var(--muted)}.driver-popover-description b,.driver-popover-description kbd{color:var(--ink);font-family:inherit}.driver-popover-description kbd{display:inline-block;padding:0 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;background:var(--bg3);font-size:11.5px}.driver-popover-close-btn{color:var(--faint)}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:var(--ink)}.driver-popover-progress-text{color:var(--faint);font-variant-numeric:tabular-nums}.driver-popover-footer button{background:var(--bg3);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12px;cursor:pointer;text-shadow:none}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background:var(--bg2);border-color:var(--gold-dim)}.driver-popover-footer button:last-child{background:var(--gold);border-color:var(--gold);color:var(--bg0);font-weight:700}.driver-popover-footer button:last-child:hover,.driver-popover-footer button:last-child:focus{background:var(--gold-bright);border-color:var(--gold-bright)}.h-tours,.h-links{margin-top:20px;padding:14px 16px;border:1px solid var(--gold-faint);border-radius:12px;background:var(--gold-faint)}.h-links p{margin:0 0 8px;color:var(--muted);font-size:12.8px;line-height:1.55}.h-links b{color:var(--ink)}.h-links .h-tour-sub{margin-bottom:10px}.h-links p:last-child{margin-bottom:0}.h-tour-title{font-family:var(--font-display),serif;font-size:11.5px;font-weight:700;letter-spacing:.2em;color:var(--gold);margin-bottom:4px}.h-tour-sub{margin:0 0 10px;color:var(--muted);font-size:12px;line-height:1.5}.h-tour-list{display:flex;flex-wrap:wrap;gap:8px}.h-tour{padding:6px 13px;border-radius:8px;cursor:pointer;border:1px solid var(--line);background:var(--bg2);color:var(--ink);font-family:inherit;font-size:12.5px;font-weight:600}.h-tour:hover{border-color:var(--gold-dim);color:var(--gold-bright)}.h-tour.gold{background:var(--gold);border-color:var(--gold);color:var(--bg0);font-weight:700}.h-tour.gold:hover{background:var(--gold-bright);border-color:var(--gold-bright);color:var(--bg0)}#minimap{position:absolute;right:16px;bottom:16px;z-index:20;width:170px;height:120px;border:1px solid var(--line);border-radius:10px;background:#0a0c11b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#minimap .mm-viewport{position:absolute;border:1px solid var(--gold-dim);background:#e2b95c0f;pointer-events:none}#minimap canvas{width:100%;height:100%;border-radius:9px}@media(max-width:980px){.brand .subtitle,.divider-v,.layout-meta{display:none}.header-center{order:3;width:100%}.search-wrap{flex:1 1 auto;width:auto;max-width:none}}@media(max-width:720px){header{padding:8px 10px;gap:8px;flex-wrap:wrap}.brand .title{font-size:15px}.filters{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}#panel{width:calc(100vw - 20px);right:10px;top:10px;max-height:calc(100% - 20px)}.breadcrumb{top:auto;bottom:14px;right:10px;max-width:70vw}#minimap,.legend{display:none}}
