:root{--bg:#12100e;--panel:#1b1815;--panel-edge:#2c2723;--ink:#ece7e0;--ink-dim:#a49c92;--ink-faint:#6f675e;--accent:#c9a227;--warn:#b5643c;--radius:8px}*{box-sizing:border-box}body,html{overflow-x:clip}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit}.shell{max-width:62rem;margin:0 auto;padding:0 1.5rem 5rem}.nav{display:flex;gap:.25rem;align-items:baseline;border-bottom:1px solid var(--panel-edge);margin-bottom:2rem;padding:1.25rem 0 0;flex-wrap:wrap}.nav-brand{font-weight:600;letter-spacing:.01em;margin-right:1.25rem}.nav-link{padding:.5rem .85rem;border-radius:var(--radius) var(--radius) 0 0;text-decoration:none;color:var(--ink-dim);font-size:.9rem}.nav-link:hover{color:var(--ink);background:var(--panel)}h1{font-size:1.35rem;margin:0 0 .4rem}h1,h2{font-weight:600}h2{font-size:1rem;margin:2rem 0 .75rem}.lede{margin:0 0 2rem;max-width:46rem;font-size:.93rem}.lede,.muted{color:var(--ink-dim)}.faint{color:var(--ink-faint);font-size:.85rem}.card{background:var(--panel);border:1px solid var(--panel-edge);border-radius:var(--radius);padding:1.1rem 1.25rem;margin-bottom:.9rem}.card-head{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;flex-wrap:wrap}.card-body{margin:.6rem 0 0}.card-foot{margin-top:.85rem;padding-top:.7rem;border-top:1px solid var(--panel-edge);display:flex;gap:1rem;align-items:baseline;flex-wrap:wrap;font-size:.85rem}.tag{display:inline-block;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .5rem;border-radius:4px;border:1px solid var(--panel-edge);color:var(--ink-dim);white-space:nowrap}.tag-unscored{border-color:var(--warn);color:var(--warn)}.tag-level{border-color:var(--ink-faint);color:var(--ink)}.notice{border:1px dashed var(--panel-edge);border-radius:var(--radius);padding:1.5rem;color:var(--ink-dim)}.notice strong{color:var(--ink);font-weight:600}.notice code{background:var(--bg);padding:.1rem .35rem;border-radius:3px;font-size:.85em}.demo-shell{max-width:74rem;margin:0 auto;padding:1.5rem 1.5rem 6rem}.demo-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(17rem,.9fr);grid-gap:2rem;gap:2rem;min-height:32rem;align-items:center;padding:2rem 0 3.5rem;border-bottom:1px solid var(--panel-edge)}.kicker{margin:0 0 .8rem;color:var(--accent);font-size:.7rem;font-weight:700;letter-spacing:.14em}.hero-copy h1{max-width:12ch;margin:0;color:var(--ink);font-size:clamp(2.8rem,7vw,6.2rem);line-height:.94;letter-spacing:-.04em;font-weight:650}.hero-lede{max-width:34rem;margin:1.5rem 0 0;color:var(--ink-dim);font-size:1.05rem}.hero-value{max-width:30rem;margin:1.1rem 0 0;color:var(--ink);font-size:1.2rem;line-height:1.45;font-weight:560}.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}.button{display:inline-flex;align-items:center;min-height:2.8rem;padding:.55rem 1rem;border:1px solid var(--panel-edge);border-radius:999px;color:var(--ink);text-decoration:none;font-size:.88rem}.button.primary{border-color:var(--accent);color:var(--accent)}.button:focus-visible,.button:hover{border-color:var(--ink)}.mascot-stage{position:relative;display:grid;justify-items:center;align-content:center;min-height:28rem;overflow:hidden}.mascot-orbit{position:absolute;width:20rem;height:20rem;border:1px solid rgba(201,162,39,.25);border-radius:50%;box-shadow:0 0 0 2.5rem rgba(201,162,39,.035),0 0 0 5.5rem rgba(201,162,39,.02)}.hero-mascot{position:relative;z-index:1;width:min(20rem,82vw);height:auto;mix-blend-mode:screen}.mascot-caption{position:relative;z-index:2;display:flex;gap:.45rem;align-items:center;color:var(--ink-faint);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.status-dot{width:.42rem;height:.42rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 .2rem rgba(201,162,39,.14)}.mascot-message{max-width:20rem;margin:.85rem 0 0;color:var(--ink-dim);text-align:center;font-size:.92rem}.demo-flow{display:grid;grid-template-columns:minmax(14rem,.7fr) minmax(0,1.3fr);grid-gap:2rem;gap:2rem;padding:1.4rem 0;border-bottom:1px solid var(--panel-edge)}.flow-intro{display:grid;align-content:center;grid-gap:.45rem;gap:.45rem}.flow-label{color:var(--accent);font-size:.66rem;font-weight:700;letter-spacing:.14em}.flow-intro strong{color:var(--ink);font-size:1rem;font-weight:560}.flow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.flow-step{display:grid;grid-template-columns:auto 1fr;grid-column-gap:.55rem;column-gap:.55rem;align-items:baseline;padding-left:.8rem;border-left:1px solid var(--panel-edge)}.flow-step>span{color:var(--accent);font-size:.7rem;letter-spacing:.08em}.flow-step strong{color:var(--ink);font-size:.92rem}.flow-step p{grid-column:2;margin:.3rem 0 0;color:var(--ink-dim);font-size:.78rem;line-height:1.45}.mascot-controls{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;padding:1rem 0;border-bottom:1px solid var(--panel-edge)}.control-label,.control-note{color:var(--ink-faint);font-size:.75rem;letter-spacing:.05em}.control-label{margin-right:.35rem;color:var(--ink-dim)}.control-note{margin-left:auto}.state-button{padding:.38rem .65rem;border:1px solid var(--panel-edge);border-radius:999px;background:transparent;color:var(--ink-dim);font:inherit;font-size:.78rem;cursor:pointer}.state-button.active,.state-button:focus-visible,.state-button:hover{border-color:var(--accent);color:var(--accent)}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;margin:2.5rem 0 4rem;background:var(--panel-edge);border:1px solid var(--panel-edge)}.metric-intro{display:none}.metric-strip>div{display:grid;grid-gap:.25rem;gap:.25rem;min-height:6.5rem;align-content:center;padding:1rem;background:var(--bg)}.metric-value{color:var(--accent);font-size:2rem;line-height:1;font-weight:600}.metric-label{color:var(--ink-faint);font-size:.75rem}.dashboard-section{margin-top:4rem;scroll-margin-top:2rem}.section-heading{display:flex;justify-content:space-between;gap:2rem;align-items:flex-end;margin-bottom:1.25rem}.section-heading h2{margin:0;color:var(--ink);font-size:clamp(1.5rem,3vw,2.25rem);letter-spacing:-.03em}.section-note{color:var(--ink-faint);font-size:.78rem}.discovery-grid,.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.discovery-card,.reference-card{position:relative;min-width:0;padding:1.35rem;border:1px solid var(--panel-edge);border-radius:var(--radius);background:var(--panel)}.discovery-card{min-height:15rem;display:flex;flex-direction:column}.discovery-card.accent-gold{border-top:2px solid var(--accent)}.discovery-card.accent-lavender{border-top:2px solid #9a8fc5}.card-action-row,.card-topline,.reference-footer,.reference-source{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.card-topline,.reference-source{color:var(--ink-faint);font-size:.7rem;letter-spacing:.1em}.signal-mark{color:var(--accent);font-size:1.2rem}.discovery-card h3,.reference-card h3{margin:2.6rem 0 .7rem;color:var(--ink);font-size:1.25rem;line-height:1.2}.reference-card h3{margin-top:1.1rem}.discovery-card p,.reference-card p{margin:0;color:var(--ink-dim);font-size:.9rem}.card-action-row{margin-top:auto;padding-top:1.2rem;border-top:1px solid var(--panel-edge)}.card-action-row a,.reference-footer a,.text-link{color:var(--accent);font-size:.8rem;text-decoration:none}.state-pill{padding:.22rem .45rem;border:1px solid var(--panel-edge);border-radius:999px;color:var(--ink-faint);font-size:.68rem}.state-pill.available{border-color:rgba(201,162,39,.65);color:var(--accent)}.source-icon{display:inline-grid;width:1.4rem;height:1.4rem;place-items:center;border-radius:4px;background:#e9e4dc;color:#12100e;font-size:.8rem;font-weight:700}.reference-footer{margin-top:1.2rem;padding-top:.8rem;border-top:1px solid var(--panel-edge);color:var(--ink-faint);font-size:.72rem}.boundary-note{margin:1rem 0 0;color:var(--ink-faint);font-size:.78rem}@media (max-width:48rem){.demo-shell{padding-inline:1rem}.demo-hero{grid-template-columns:1fr;min-height:auto;padding-top:1rem}.hero-copy h1{font-size:clamp(2.6rem,14vw,4.8rem)}.hero-value{font-size:1.05rem}.mascot-stage{min-height:20rem;order:-1}.mascot-orbit{width:15rem;height:15rem}.hero-mascot{width:15rem}.control-note{width:100%;margin:.3rem 0 0}.metric-strip{grid-template-columns:repeat(2,1fr);margin-bottom:3rem}.demo-flow{grid-template-columns:1fr;gap:1rem}.flow-steps{gap:.55rem}.discovery-grid,.reference-grid{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column;gap:.5rem}}@media (min-width:49rem){.metric-strip{grid-template-columns:1.3fr repeat(4,1fr)}.metric-intro{display:grid;align-content:center;grid-gap:.3rem;gap:.3rem;padding:1rem;background:var(--panel);color:var(--ink-faint);font-size:.72rem}}@media (prefers-reduced-motion:reduce){.hero-mascot{content:url(/characters/liukanshan/idle.gif)}}.notice-with-character{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:1.25rem;gap:1.25rem;align-items:center}.notice-with-character p:first-child{margin-top:0}.notice-with-character p:last-child{margin-bottom:0}.liukanshan-character{display:block;flex:none;line-height:0}.liukanshan-character-small{width:4.5rem}.liukanshan-character-medium{width:7.5rem}.liukanshan-character-large{width:10rem}.liukanshan-character img{display:block;width:100%;height:auto;object-fit:contain}@media (max-width:34rem){.notice-with-character{grid-template-columns:1fr}.liukanshan-character-medium{width:6rem}}@media (prefers-reduced-motion:reduce){.liukanshan-character{display:none}}fieldset{border:1px solid var(--panel-edge);border-radius:var(--radius);padding:1rem 1.25rem 1.25rem;margin:0 0 1.25rem}legend{padding:0 .4rem;font-size:.85rem;color:var(--ink-dim)}label{display:block;margin:.55rem 0;font-size:.9rem}label input[type=checkbox],label input[type=radio]{margin-right:.5rem}select,textarea{width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--panel-edge);border-radius:var(--radius);padding:.6rem .7rem;font:inherit;font-size:.9rem}textarea{min-height:7rem;resize:vertical}button{background:var(--panel);color:var(--ink);border:1px solid var(--panel-edge);border-radius:var(--radius);padding:.5rem .9rem;font:inherit;font-size:.88rem;cursor:pointer}button:hover{border-color:var(--ink-faint)}button.primary{border-color:var(--accent);color:var(--accent)}.button-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.hint{color:var(--ink-faint);font-size:.82rem;margin:.35rem 0 0}