:root{color-scheme:dark;--bg:#0b151c;--panel:#13232c;--line:#2c4048;--text:#e4e9e5;--muted:#91a6ad;--gold:#d9ba7d;--green:#87c7b5;--red:#ec9e97}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'Microsoft YaHei',system-ui,sans-serif;font-size:14px;line-height:1.65}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{transition:background .16s,transform .16s}button:hover:not(:disabled){filter:brightness(1.14)}.ambient{position:fixed;z-index:-1;inset:0;background:radial-gradient(ellipse at 80% 15%,#254e4b55,transparent 50%),radial-gradient(ellipse at 0 80%,#3c3f3d44,transparent 55%);pointer-events:none}header{max-width:1240px;margin:auto;padding:25px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{background:none;border:0;display:flex;gap:12px;align-items:center;font-family:Georgia,'SimSun',serif;font-size:23px;letter-spacing:2px;text-align:left}.brand i{color:var(--gold);font-style:normal}.brand small{display:block;font:9px system-ui;letter-spacing:3px;color:var(--muted);margin-top:2px}.seal{border:1px solid var(--gold);color:var(--gold);font-size:25px;width:44px;height:44px;display:grid;place-items:center;transform:rotate(-5deg)}nav{display:flex;gap:20px}nav button,.text-button{background:none;border:0;color:var(--muted);padding:8px 0}main{max-width:1176px;margin:38px auto 50px;min-height:70vh}footer{max-width:1176px;margin:0 auto 25px;display:flex;justify-content:space-between;font-size:11px;color:#75909a;gap:20px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--gold);margin:0 0 14px}.muted{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'SimSun',serif;font-weight:500}h1{font-size:68px;letter-spacing:6px;line-height:1.25;margin-bottom:24px}h2{font-size:30px;line-height:1.4;margin-bottom:16px}h3{font-size:22px}button.primary,.primary{background:var(--gold);color:#18252a;border:1px solid var(--gold);padding:13px 25px;border-radius:5px;font-weight:bold}.secondary{background:#ffffff05;border:1px solid var(--line);padding:12px 20px;border-radius:5px}.full{width:100%}.home{border:1px solid var(--line);background:linear-gradient(120deg,#172a32,#0d1b22);border-radius:10px;overflow:hidden}.hero{position:relative;padding:62px 54px 45px;min-height:440px;display:grid;grid-template-columns:1.2fr 1fr;gap:30px}.hero p.lede{max-width:460px;line-height:2;color:var(--muted);font-size:15px}.orbit-wrap{display:grid;place-items:center;position:relative;min-height:300px}.orbit{position:relative;width:280px;height:280px;display:grid;place-items:center;border:1px solid #bda77d66;border-radius:50%;box-shadow:0 0 80px #78bca610,inset 0 0 80px #78bca610}.orbit::before,.orbit::after{content:'';position:absolute;inset:23px;border:1px dashed #8ab7ae66;border-radius:50%;transform:rotate(25deg)}.orbit::after{inset:-23px;border:1px solid #d9ba7d22}.orbit span{font-family:'SimSun',serif;font-size:105px;color:var(--gold);text-shadow:0 0 50px #e2bb7c33}.orbit .orb-label{position:absolute;font-size:10px;letter-spacing:4px;color:var(--muted);bottom:46px;font-family:system-ui}.hero-form{display:flex;gap:10px;margin-top:25px;flex-wrap:wrap}input{min-width:0;background:#08141b;color:var(--text);border:1px solid #41565b;border-radius:5px;padding:12px 14px;width:165px}input::placeholder{color:#7b939b}.home-details{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);background:#ffffff02}.home-details>div{padding:25px 32px;border-right:1px solid var(--line)}.home-details strong{display:block;font:24px Georgia;color:var(--gold);margin-bottom:4px}.home-details small{color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:center;margin:27px 0 15px}.section-title h3{margin:0}.records{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.record,.panel{border:1px solid var(--line);border-radius:8px;background:#13232cb3;padding:23px}.record small{color:var(--muted)}.record b{display:block;color:var(--gold);margin:7px 0}.journey-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.journey-heading h2{margin:0;font-size:26px}.status-dot{color:var(--green);font-size:12px}.layout{display:grid;grid-template-columns:255px minmax(0,1fr) 245px;gap:20px;align-items:start}.identity{text-align:center;padding-top:25px}.mini-orbit{width:92px;height:92px;margin:auto auto 16px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 25px #d9ba7d12;color:var(--gold);font-size:43px;font-family:'SimSun',serif}.identity h3{margin-bottom:5px}.tag{display:inline-block;border:1px solid #66877c66;background:#79ab8d0c;border-radius:3px;color:var(--green);font-size:10px;padding:2px 7px;margin-right:5px}.identity p{font-size:12px;color:var(--muted);margin:15px 0}.rule{border:0;border-top:1px solid var(--line);margin:21px 0}.metric-head{display:flex;justify-content:space-between;font-size:12px;margin-bottom:6px}.metric-head b{color:var(--text)}.bar{height:5px;border-radius:3px;background:#07171f;overflow:hidden;margin-bottom:15px}.bar>span{display:block;height:100%;background:var(--green)}.bar.gold>span{background:var(--gold)}.bar.red>span{background:var(--red)}.attributes{display:grid;grid-template-columns:1fr 1fr;gap:14px 10px;font-size:12px}.attributes span{color:var(--muted)}.attributes b{display:block;font-size:20px;font-weight:500;color:#d5e2df}.rings{display:flex;flex-wrap:wrap;gap:9px;margin-top:13px}.ring{border:2px solid var(--ring);width:17px;height:17px;border-radius:50%;box-shadow:0 0 8px color-mix(in srgb,var(--ring) 25%,transparent)}.ring.empty{border:1px dashed #4d626a;box-shadow:none}.ring-legend{font-size:10px;color:var(--muted);margin-top:10px}.event-card{padding:29px 30px;border:1px solid var(--line);border-radius:9px;background:linear-gradient(150deg,#192c35,#112029);min-height:440px}.event-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-bottom:25px}.event-meta b{font-weight:400;color:var(--gold)}.scene{font-size:15px;line-height:2.05;color:#bdcdd0;margin-bottom:26px;min-height:88px}.choices{display:grid;gap:11px}.choice{display:flex;gap:13px;text-align:left;background:#081a2280;border:1px solid #39505a;border-radius:6px;width:100%;padding:15px}.choice:hover:not(:disabled){background:#233b43;border-color:#a4bba477}.choice-index{color:var(--gold);font:13px Georgia;padding-top:3px;min-width:18px}.choice-body{flex:1}.choice strong{display:block;font-size:13px;font-weight:500;line-height:1.7;margin-bottom:6px}.choice small{display:block;color:var(--muted);font-size:10px;line-height:1.8}.choice .danger{color:var(--red)}.event-footer{font-size:11px;color:var(--muted);margin-top:23px;border-top:1px solid var(--line);padding-top:14px}.side-title{font-size:13px;color:var(--gold);letter-spacing:1px;font-family:inherit;margin-bottom:15px}.timeline{display:grid;gap:0}.timeline-item{padding:0 0 18px 16px;border-left:1px solid #3c5358;position:relative}.timeline-item::before{content:'';position:absolute;left:-4px;top:6px;width:7px;height:7px;border-radius:50%;background:var(--green)}.timeline-item small{font-size:9px;color:var(--muted)}.timeline-item b{display:block;font-size:12px;font-weight:500;margin:3px 0}.timeline-item p{font-size:10px;color:var(--muted);margin:0;line-height:1.8}.method{display:block;width:100%;text-align:left;background:none;border:1px solid var(--line);border-radius:4px;padding:10px;margin:7px 0;font-size:12px}.method.active{border-color:var(--gold);background:#d9ba7d0c}.method small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.rate{font-size:22px;color:var(--gold);font-family:Georgia}.requirements{list-style:none;padding:0;font-size:11px;color:var(--muted)}.requirements li{margin:8px 0}.requirements .ok{color:var(--green)}.result-symbol{color:var(--gold);font-size:35px;margin-bottom:10px}.delta-list{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.delta{font-size:11px;padding:4px 9px;background:#79c2aa10;border:1px solid #79c2aa33;color:var(--green);border-radius:4px}.delta.negative{background:#d78c8010;border-color:#d78c8033;color:var(--red)}.end-card{max-width:760px;margin:auto;text-align:center;padding:45px}.end-card h1{font-size:39px;letter-spacing:2px}.end-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0}.end-stats b{display:block;color:var(--gold);font-size:25px}.end-stats small{color:var(--muted)}.end-card .requirements{text-align:left;display:inline-block}dialog{width:min(850px,calc(100% - 30px));max-height:85vh;overflow:auto;background:#13232c;border:1px solid #526468;border-radius:10px;padding:30px;color:var(--text)}dialog::backdrop{background:#030b12bd;backdrop-filter:blur(5px)}.codex-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin:25px 0}.codex-item{border:1px solid var(--line);padding:18px;border-radius:6px}.codex-item h3{font-size:19px;margin:0 0 6px}.codex-item p{font-size:12px;color:var(--muted);margin:10px 0}.codex-item small{font-size:11px;color:var(--gold)}.help-text{color:#b9cace;line-height:2}.help-text h3{color:var(--gold);font-size:20px;margin-top:20px}.empty-state{border:1px dashed var(--line);padding:23px;color:var(--muted);text-align:center;border-radius:8px;grid-column:1/-1}.awakening{max-width:740px;margin:auto;text-align:center;padding:38px}.awakening .orbit{width:180px;height:180px;margin:35px auto}.awakening .orbit span{font-size:72px}.awakening .orbit .orb-label{font-size:9px;bottom:25px}.awake-description{max-width:440px;margin:20px auto;color:var(--muted)}.action-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.minor-note{font-size:11px;color:var(--muted);margin-top:15px}.profile-level{padding:12px 20px;border:1px solid var(--line);border-radius:6px;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:12px;margin-bottom:20px}.profile-level b{color:var(--gold)}@media(max-width:1150px){main,footer{margin-left:25px;margin-right:25px}.layout{grid-template-columns:230px minmax(0,1fr)}.right-sidebar{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:20px}.hero{padding:45px 35px}h1{font-size:54px}}@media(max-width:700px){header{padding:19px 16px}.brand{font-size:18px;gap:9px}.brand small{font-size:8px;letter-spacing:1.6px}.seal{width:34px;height:36px;font-size:22px}nav{gap:12px}nav button{font-size:11px}main{margin:23px 14px 35px}footer{margin:15px;flex-direction:column;gap:5px}.hero{padding:33px 25px;grid-template-columns:1fr;gap:12px}.hero .orbit-wrap{display:none}h1{font-size:48px}.home-details>div{padding:17px 12px}.home-details strong{font-size:20px}.home-details small{font-size:10px}.records{grid-template-columns:1fr}.layout{grid-template-columns:1fr}.identity{display:grid;grid-template-columns:80px 1fr;text-align:left;gap:0 15px;padding:20px}.identity .mini-orbit{grid-row:1/4;width:70px;height:70px;font-size:34px;margin:0}.identity h3{font-size:21px}.identity .identity-desc{display:none}.identity .details{grid-column:1/-1;margin-top:18px}.attributes{grid-template-columns:repeat(4,1fr)}.right-sidebar{grid-template-columns:1fr}.event-card{padding:24px 20px}.journey-heading h2{font-size:23px}.status-dot{font-size:10px}.codex-grid{grid-template-columns:1fr}.end-card{padding:30px 18px}.end-card h1{font-size:30px}.awakening{padding:28px 20px}dialog{padding:23px}.profile-level{font-size:10px}.hero-form input{flex:1}.hero-form .primary{flex:1}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.build-panel{text-align:left;margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.build-panel h3{font-size:18px}.build-panel details{font-size:12px;border-bottom:1px solid var(--line);padding:10px 0}.build-panel summary{cursor:pointer;color:var(--gold)}.build-panel .tag{margin-bottom:5px}dialog:has(.era-curtain){width:100vw;max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0;background:radial-gradient(ellipse at 50% 75%,#274c4866,transparent 65%),#07141bf5;padding:5vw;animation:era-in .45s ease-out}.era-curtain{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;min-height:75dvh;width:100%;border:0;background:transparent;padding:25px;color:var(--text)}.era-curtain h1{font-size:clamp(28px,5vw,64px);color:var(--gold);max-width:900px}.era-curtain h3{letter-spacing:5px;font-size:18px}.era-curtain p{line-height:2.7;font-family:SimSun,serif;color:#b5c8c3;margin:25px 0}.era-curtain small{color:var(--muted)}@keyframes era-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){dialog:has(.era-curtain){animation:none}}
.codex-tools{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 10px}.codex-tools input{flex:1;min-width:150px}.codex-tools select{background:#08141b;color:var(--text);border:1px solid #41565b;border-radius:5px;padding:10px 13px;max-width:100%}.codex-item h3{margin-top:8px}.soul-note{border-top:1px solid var(--line);margin-top:13px;padding-top:10px;color:var(--muted);font-size:11px}.soul-note summary{cursor:pointer}.soul-note p{font-size:11px;line-height:1.8}
@media(max-width:700px){.identity .identity-desc{display:block;grid-column:2;margin:4px 0 0;font-size:11px}.event-card{scroll-margin-top:15px}}
.proc-list{display:grid;gap:8px;margin:18px 0;padding:15px;border:1px solid #d9ba7d77;border-radius:6px;background:#d9ba7d0d;color:#f0d99c;font-size:13px}.crystal-reward{margin:25px 0;padding:20px;border:1px solid #9fb4f3;color:#c6d6ff;border-radius:8px;background:linear-gradient(100deg,#152637,#292846);font-size:18px}.ascended::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:1000;background:radial-gradient(ellipse at center,#fff1bd99,#e6b74044 45%,transparent 80%);animation:divine-light 2.2s ease-out forwards}.ascended .end-card h1{color:#f7d58b;text-shadow:0 0 35px #ddae5966}@keyframes divine-light{0%{opacity:0}25%{opacity:1}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.ascended::before{display:none}}.awakening .choices{text-align:left;max-height:65vh;overflow:auto}.profile-level button{padding:0 5px;color:var(--gold)}
