:root{color-scheme:dark;--bg:#121619;--surface:#1c2226;--gold:#dec38a;--muted:#a6adae;--line:#363c3d;--text:#ece7dc;background:var(--bg);color:var(--text);font-synthesis:none;font-family:system-ui,-apple-system,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}p{line-height:1.8}small,.muted{color:var(--muted)}.skip{z-index:50;background:var(--surface);padding:16px;position:absolute;top:-100px;left:12px}.skip:focus{top:12px}.site-header{white-space:nowrap;border-bottom:1px solid #2c3235;align-items:center;gap:18px;height:64px;padding:0 max(20px,50vw - 620px);display:flex}.wordmark{color:var(--gold);letter-spacing:-1px;font-size:27px;font-weight:800}.wordmark span{margin-left:3px;font-size:17px}.header-title{color:#b7babc;font-size:14px}.dev-label{color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:3px 6px;font-size:11px}.site-header nav{gap:24px;margin-left:auto;font-size:14px;display:flex}.site-header nav a:hover{color:var(--gold)}.page{max-width:940px;margin:auto}.page-wide{max-width:1280px}.site-footer{color:var(--muted);padding:40px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:10px;font-size:12px;line-height:1.6;display:flex}.site-footer small{font-size:11px}.button{min-height:44px;color:var(--gold);text-align:center;background:#252a2c;border:1px solid #645839;border-radius:6px;justify-content:center;align-items:center;padding:9px 16px;line-height:1.4;display:inline-flex}.button.primary{color:#171d20;background:#d3b677;border-color:#d3b677;font-weight:600}.button.danger{color:#f0b1a4;border-color:#8a5c50}.button:hover{filter:brightness(1.12)}.notice{color:#d4cbb6;background:#202725;border-left:2px solid #bfa367;margin:16px 0;padding:12px 14px;font-size:13px;line-height:1.7}.status-page{max-width:640px;min-height:55vh;margin:auto;padding:48px 24px}.status-page h1{color:var(--gold)}.status-page .state{color:var(--muted);margin:20px 0}dialog{color:var(--text);background:#1b2226;border:1px solid #746447;border-radius:14px;width:min(540px,100% - 32px);max-height:85dvh;padding:24px;overflow:auto}dialog::backdrop{background:#000b}dialog h2{font-size:22px;font-weight:600}dialog .dialog-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}dialog .dialog-heading h2{margin:0}dialog .close{color:#d3c6aa;flex-shrink:0;width:44px;height:44px;font-size:26px}.dialog-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.dialog-actions .button{flex:1}dialog textarea{color:#eee7d9;resize:vertical;overflow-wrap:anywhere;word-break:break-all;background:#101619;border:1px solid #5a605a;border-radius:6px;width:100%;height:154px;padding:12px;font-size:13px;line-height:1.6}dialog p{font-size:14px}.error{color:#efb5a5;font-size:13px;line-height:1.7}@media (width<=700px){.site-header{gap:12px;height:54px;padding:0 16px}.header-title{font-size:13px}.site-header nav{gap:14px}.dev-label{display:none}.wordmark{font-size:23px}.wordmark span{font-size:14px}dialog{width:100%;max-width:100%;max-height:85dvh;padding:20px 18px calc(20px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;margin:auto 0 0}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media (width<=700px){.legacy-page .filter-row>.tabs{width:auto;margin:0}.legacy-page .filter-row>.button{margin-left:auto}.legacy-page .filter-row>small{order:3;width:100%}.legacy-page .filter-row{row-gap:10px}}.module-page{min-height:60vh;padding:30px 24px}.module-page h1{color:var(--gold);margin-bottom:12px;font-size:28px}.eyebrow{color:var(--muted);letter-spacing:1px;margin-bottom:8px;font-size:12px}.module-page h2{color:#dfd1b1;font-size:20px}.module-page h3{font-size:16px}.module-page p{font-size:14px}.filter-row{flex-wrap:wrap;align-items:center;gap:16px;margin:20px 0;display:flex}.filter-row>input{flex:1;min-width:140px}.filter-row input{color:var(--text);background:#1c2327;border:1px solid #505952;border-radius:6px;min-height:44px;padding:10px 12px}.filter-row label{font-size:13px}.filter-row label input{width:88px;margin-left:8px}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin:12px 0;display:flex}.tabs button{min-height:44px;color:var(--muted);border-bottom:2px solid #0000;padding:10px 16px}.tabs button[aria-pressed=true]{color:var(--gold);border-color:var(--gold);background:#d4b5770a}.race-layout{grid-template-columns:minmax(230px,1fr) minmax(0,2fr);align-items:start;gap:28px;margin-top:22px;display:grid}.race-list{flex-direction:column;display:flex}.race-choice{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:76px;padding:12px 8px;display:flex}.race-choice[aria-pressed=true]{border-left:2px solid var(--gold);background:#d1b37a12}.race-choice img{object-fit:cover;border-radius:4px;width:42px;height:42px}.race-choice>span:first-of-type{flex:1}.race-choice small{margin-top:4px;font-size:11px;display:block}.detail-surface{background:#1a2124;border:1px solid #343d3b;border-radius:8px;padding:22px;scroll-margin-top:20px}.detail-surface h2 small{margin-left:12px;font-size:13px;font-weight:400}.ability-row{border-top:1px solid var(--line);gap:12px;padding:20px 0;display:flex}.ability-row img,.unknown-icon{flex-shrink:0;width:40px;height:40px}.ability-row h3,.ability-row p{margin:0 0 8px}.ability-row small{font-size:12px;display:block}.unknown-icon{color:var(--gold);background:#343b3a;place-items:center;display:grid}.selection-hint{color:var(--muted);text-align:center;padding:60px 20px}.guide-section{border-top:1px solid #6a5b3e;margin-top:30px;padding-top:24px}.guide-section li{margin-bottom:10px;font-size:14px;line-height:1.9}.related-links{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.related-links .button{font-size:13px}.module-note{margin-top:24px;font-size:12px!important}.dungeon-list{gap:14px;display:grid}.dungeon-banner{background:#192323;border-radius:7px;align-items:center;height:130px;min-height:115px;display:flex;position:relative;overflow:hidden}.dungeon-banner img{object-fit:cover;width:100%;height:100%;position:absolute}.dungeon-banner:after{content:"";background:linear-gradient(90deg,#050a0be6,#0000 80%);position:absolute;inset:0}.dungeon-banner>div,.dungeon-banner>b{z-index:1;margin:0 22px;position:relative}.dungeon-banner>div{flex:1}.dungeon-banner h2{color:#fff;text-shadow:0 2px 4px #000;margin:0 0 7px;font-size:23px}.dungeon-banner span{color:#d2d4cb;font-size:12px}.dungeon-banner>b{white-space:nowrap;background:#10171ee8;border:1px solid #a8976c;border-radius:20px;padding:8px 13px;font-size:14px}.detail-banner{height:200px;margin-top:20px}.detail-banner h1{color:#f1e0b5}.back-link{color:var(--gold);font-size:14px}.facts{grid-template-columns:140px 1fr;gap:14px;font-size:14px;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}.travel-row{border-bottom:1px solid var(--line);padding:14px 0}.travel-row h3{margin-bottom:8px}.travel-row p{color:#d8c08e;margin:0 0 7px}.travel-row small{line-height:1.7}.legacy-summary{border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:18px 0;display:flex}.legacy-summary strong{color:var(--gold);font-size:40px;line-height:1}.legacy-summary small{margin-top:8px;font-size:12px;display:block}.legacy-summary>span{margin-right:auto;font-size:14px}.legacy-trees{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px;display:grid}.legacy-trees>section{background:radial-gradient(at top,#33392b,#182023 80%);border:1px solid #40483d;border-radius:8px;padding:18px}.legacy-node{border-top:1px solid #40453a;align-items:center;gap:18px;padding:9px 0;display:flex}.legacy-node>button{touch-action:pan-y;flex-shrink:0;width:66px;height:66px;padding:7px;position:relative}.legacy-node img{border:2px solid #81927c;border-radius:4px;width:48px;height:48px}.legacy-node .learned img{border-color:var(--gold)}.legacy-node b{background:#10181d;border:1px solid #61705b;padding:1px 5px;font-size:12px;position:absolute;bottom:0;right:0}.legacy-node>span{font-size:14px}.legacy-tabs{display:none}.saved-legacy{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:15px 0;display:flex}.saved-legacy b{margin-right:auto}.feedback{min-height:24px;color:var(--gold);font-size:13px}.article-body a{color:var(--gold);text-decoration:underline}.article-meta{color:var(--muted);font-size:12px;line-height:1.8}.article-body h2{margin-top:28px}.article-body ul{line-height:1.9}.news-filters{border-bottom:1px solid var(--line);gap:16px;padding:10px 0;display:flex}.news-filters button{color:var(--muted);border-bottom:2px solid #0000;padding:8px 0;font-size:13px}.news-filters button[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}.article[hidden]{display:none}@media (width<=700px){.module-page{padding:20px 16px}.module-page h1{font-size:24px}.race-layout{grid-template-columns:1fr;gap:18px}.race-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.race-choice{gap:8px;min-height:72px;padding:8px 4px;font-size:14px}.race-choice img{width:34px;height:34px}.race-choice small{font-size:10px}.race-choice>span:last-child{display:none}.detail-surface{padding:16px}.selection-hint{padding:15px}.filter-row{gap:8px}.filter-row>.tabs{width:100%}.tabs button{padding:10px 13px;font-size:13px}.dungeon-banner{height:92px;min-height:92px}.dungeon-banner>div{margin:0 12px}.dungeon-banner h2{font-size:18px}.dungeon-banner>b{margin:0 12px 0 4px;padding:6px 9px;font-size:11px}.detail-banner{height:150px}.facts{grid-template-columns:100px 1fr;gap:16px 8px}.legacy-summary{gap:12px}.legacy-summary strong{font-size:34px}.legacy-summary>span{font-size:12px}.legacy-summary .button{padding:8px;font-size:12px}.legacy-summary small{font-size:10px}.legacy-tabs{display:flex}.legacy-trees{margin-top:16px;display:block}.legacy-trees>section{display:none}.legacy-trees>section.current{display:block}.legacy-trees h2{display:none}.legacy-trees>section{padding:10px 16px}.legacy-node{padding:8px 0}.legacy-node:first-of-type{border-top:0}.news-filters{gap:13px}.news-filters button{font-size:12px}}
