:root{--bg:#fafaf7;--fg:#141414;--muted:#8a8a85;--line:#e4e4de;--card:#fff;--accent:#141414;--accent-fg:#fafaf7;--low:#c8412b;--summary:#f1f0ea;--blue:#2f6fd1;--gold:#b8860b;--gold-bg:#fbf3dc}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111;--fg:#ececea;--muted:#7d7d78;--line:#2a2a28;--card:#191918;--accent:#ececea;--accent-fg:#111;--low:#ff7a5c;--summary:#1d1d1b;--blue:#6aa2ff;--gold:#e8b84a;--gold-bg:#2a2416}}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--fg)}body{word-break:keep-all;-webkit-font-smoothing:antialiased;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:16px;line-height:1.6}button{font:inherit;color:inherit;cursor:pointer}.screen{max-width:480px;min-height:100dvh;margin:0 auto;padding:48px 16px 40px}.eyebrow{color:var(--muted);letter-spacing:.02em;font-size:13px}h1{letter-spacing:-.02em;margin:8px 0 16px;font-size:34px;line-height:1.25}h2{color:var(--muted);margin-bottom:10px;font-size:14px;font-weight:600}.lead{margin-bottom:32px;font-size:17px}.foot{color:var(--muted);margin-top:48px;font-size:12px}.hint{color:var(--muted);margin:20px 0 24px;font-size:14px}button.primary,.actions button,.choice button{border:1px solid var(--line);background:var(--card);text-align:left;border-radius:12px;width:100%;padding:15px 16px;transition:transform 80ms;display:block}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);text-align:center;font-weight:700}button:active{transform:scale(.98)}.intro{flex-direction:column;justify-content:center;display:flex}.intro h1{font-size:42px}.records{margin-top:40px}.records li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;list-style:none;display:flex}.records li span:last-child{color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:16px 0;padding:4px 18px}.card .row{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:13px 0;display:flex}.card .row:last-child{border-bottom:0}.card dt{color:var(--muted);flex:none}.card dd{text-align:right;font-weight:600}.reveal{animation:.45s both reveal}@keyframes reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.play{padding-top:0}.stage{z-index:2;background:var(--bg);padding-top:10px;position:sticky;top:0}.status{background:var(--bg);border-bottom:1px solid var(--line);padding:10px 0}.when{align-items:baseline;gap:10px;display:flex}.when strong{font-size:22px}.when span{color:var(--muted);font-size:13px}.speed{border:1px solid var(--line);background:var(--card);letter-spacing:-2px;border-radius:999px;margin-left:auto;padding:2px 12px;font-size:12px}.gauges{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px;display:grid}.gauge{grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:6px;font-size:12px;display:grid}.gauge .label{color:var(--muted)}.gauge .val{text-align:right;font-weight:600}.gauge .bar{background:var(--line);border-radius:2px;grid-area:2/1/auto/3;height:4px;margin-top:3px;overflow:hidden}.gauge .bar i{background:var(--fg);height:100%;transition:width .4s;display:block}.gauge.low .bar i,.gauge.low .val{color:var(--low);background-color:#0000}.gauge.low .bar i{background:var(--low)}.log{padding-top:12px;list-style:none}.line{grid-template-columns:84px 1fr;gap:8px;padding:7px 0;font-size:15px;display:grid}.line time{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px;font-size:13px}.line.summary{background:var(--summary);border-radius:10px;margin:6px -10px;padding:9px 10px;font-size:14px}.picked{color:var(--muted);margin-top:2px;font-size:14px;display:block}.choice{border:1px solid var(--fg);background:var(--card);border-radius:16px;margin-top:16px;padding:18px 16px}.choice p{margin-bottom:14px;font-weight:600}.choice button{background:var(--bg);margin-top:8px}.spacer{height:40px}.end h1{font-size:38px}.stat{color:var(--muted);border-left:2px solid var(--line);margin:20px 0;padding-left:12px;font-size:14px}.missed{margin-top:32px}.missed-item{border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}.missed-item time{color:var(--muted);font-size:12px}.grey{color:var(--muted);border:1px dashed var(--line);border-radius:10px;margin-top:6px;padding:8px 12px;display:block}.actions{gap:10px;margin-top:32px;display:grid}.share-msg{color:var(--muted);word-break:break-all;text-align:center;font-size:13px}.scene{border:1px solid var(--line);background:#efe6d8;border-radius:12px;width:100%;height:auto;display:block}.owner-bob{animation:1.2s steps(2,end) infinite bob}@keyframes bob{50%{transform:translateY(-1px)}}.walker{animation:7s linear infinite walk}@keyframes walk{0%{transform:translate(-16px)}35%{transform:translate(84px)}55%{transform:translate(84px)}90%{transform:translate(-16px)}to{transform:translate(-16px)}}.walk-frames{transform-box:fill-box;transform-origin:50%;animation:7s step-end infinite turn;animation-delay:inherit}@keyframes turn{0%{transform:scaleX(1)}55%{transform:scaleX(-1)}90%{transform:scaleX(1)}}.walker .frame-a{animation:.5s step-end infinite frameA}.walker .frame-b{animation:.5s step-end infinite frameB}@keyframes frameA{0%{opacity:1}50%{opacity:0}}@keyframes frameB{0%{opacity:0}50%{opacity:1}}.bubble{animation:.6s steps(2,end) infinite hop}@keyframes hop{50%{transform:translateY(-1px)}}.glow{animation:1.6s steps(2,end) infinite glow}@keyframes glow{50%{opacity:.75}}@media (prefers-reduced-motion:reduce){.walker,.walk-frames,.owner-bob,.bubble,.glow,.walker .frame-a,.walker .frame-b{animation:none}}.modes{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.modes button{text-align:left;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:12px}.modes button.on{border-color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg)}.modes strong{font-size:15px;display:block}.modes span{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.4;display:block}.license{border-style:dashed}.story p{margin:0 0 8px;font-size:15px}.skip{color:var(--muted);background:0 0;border:0;margin:8px auto 0;padding:10px;font-size:13px;display:block}.react-good{animation:.3s steps(2,end) 3 hopUp}@keyframes hopUp{50%{transform:translateY(-3px)}}.react-bad{animation:none;transform:translateY(2px)}.status .when{flex-wrap:wrap;row-gap:2px}.badge{color:#fff;background:var(--low);border-radius:999px;padding:1px 8px;font-size:11px}.gauge .val em{margin-left:3px;font-size:10px;font-style:normal}.gauge .val em.down{color:var(--low)}.gauge .val em.up{color:#3c8d5a}.gauge{grid-template-rows:auto auto}.gauge .label,.gauge .val{grid-row:1}.log{padding-top:6px}.line{border-bottom:1px solid var(--line);grid-template-columns:78px 1fr;padding:9px 0}.line>div>p{margin:0}.line.current>div>p{font-size:17px;font-weight:600}.line:not(.current){color:color-mix(in srgb, var(--fg) 78%, var(--bg))}.flash{animation:.45s cubic-bezier(.2,.8,.2,1) both lineIn;overflow:hidden}@keyframes flash{0%{opacity:0;background:#4fb3b338;transform:translateY(-6px)}to{opacity:1;background:0 0;transform:none}}.outcome{margin-top:3px;font-size:14px;display:block}.outcome b{color:#fff;border-radius:4px;margin-right:4px;padding:1px 5px;font-size:11px;font-weight:700}.outcome.ok b{background:#3c8d5a}.outcome.ng b{background:var(--low)}.chips{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.chips i{border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:12px;font-style:normal}.chips i.down{color:var(--low);border-color:color-mix(in srgb, var(--low) 40%, transparent)}.chips i.up{color:#3c8d5a;border-color:#3c8d5a66}.more{border:1px dashed var(--line);width:100%;color:var(--muted);background:0 0;border-radius:10px;margin-top:10px;padding:12px;font-size:13px;display:block}.play .spacer{height:84px}.playbar{z-index:3;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg) 92%, transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;gap:6px;display:flex;position:fixed;bottom:0;left:0;right:0}.playbar button{border:1px solid var(--line);background:var(--card);border-radius:10px;min-width:44px;min-height:44px;padding:0 10px;font-size:13px}.playbar button.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.speeds{gap:2px;display:flex}.speeds button{min-width:38px;padding:0 6px}.sheet-wrap{z-index:4;background:#00000047;justify-content:center;align-items:flex-end;animation:.2s both fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}}.sheet{background:var(--card);width:100%;max-width:480px;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;animation:.22s ease-out both rise}@keyframes rise{0%{transform:translateY(24px)}}.sheet-date{color:var(--muted);font-size:12px}.sheet-text{margin:4px 0 14px;font-size:17px;font-weight:600}.sheet button{text-align:left;border:1px solid var(--line);background:var(--bg);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:48px;margin-top:8px;padding:12px 14px;display:flex}.sheet button small{color:var(--muted);white-space:nowrap;font-size:12px}.percentile{align-items:center;gap:14px;margin:8px 0 4px;display:flex}.percentile p{margin:0;font-size:15px}.waffle{flex:none;width:72px;height:72px}.waffle rect{fill:var(--line)}.waffle rect.on{fill:var(--fg)}@media (prefers-reduced-motion:reduce){.flash,.react-good,.sheet,.sheet-wrap{animation:none}}.line.month{color:var(--muted);border-bottom:0;padding:4px 0;font-size:13px}.line.month>div>p{font-size:13px}.line.month.current>div>p{color:var(--fg);font-size:14px;font-weight:500}.line.month time{font-size:12px}.stat-line{color:var(--muted);border-left:2px solid #4fb3b3;margin-top:4px;padding-left:8px;font-size:12px;display:block}.stat-line em{opacity:.8;font-style:normal}.line.stat>div>p{color:#2f8f8f;font-weight:600}.basis{margin:2px 2px 12px;font-size:13px;line-height:1.5}.basis em{color:var(--muted);font-size:11px;font-style:normal;display:block}.badge-basis{color:#fff;background:#2f8f8f;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.badge-basis.estimate{background:#b07a2a}.steam rect{animation:2.4s linear infinite steam}@keyframes steam{0%{opacity:0;transform:translateY(0)}20%{opacity:.8}to{opacity:0;transform:translateY(-10px)}}.pole{animation:1.2s steps(4,end) infinite pole}@keyframes pole{to{transform:translateY(-4px)}}.spin{transform-box:fill-box;transform-origin:50%;animation:1.4s steps(8,end) infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.blink{animation:1s step-end infinite blink}@keyframes blink{50%{opacity:.15}}.neon{animation:3s step-end infinite neon}@keyframes neon{0%,46%,50%,to{opacity:1}47%,49%{opacity:.3}}.sway{transform-box:fill-box;transform-origin:top;animation:2s ease-in-out infinite sway}@keyframes sway{50%{transform:rotate(6deg)}}.lift{animation:1.6s steps(2,end) infinite lift}@keyframes lift{50%{transform:translateY(-5px)}}.roll{animation:3s ease-in-out infinite alternate roll}@keyframes roll{to{transform:translate(26px)}}.pass{animation:9s linear infinite pass}@keyframes pass{0%{transform:translate(-40px)}to{transform:translate(200px)}}.pass.back{animation-name:passBack;animation-duration:12s}@keyframes passBack{0%{transform:translate(200px)}to{transform:translate(-60px)}}.cloud{animation:40s linear infinite cloud}@keyframes cloud{0%{transform:translate(-50px)}to{transform:translate(180px)}}.dance{animation:.5s steps(2,end) infinite hop}@media (prefers-reduced-motion:reduce){.steam rect,.pole,.spin,.blink,.neon,.sway,.lift,.roll,.pass,.cloud,.dance{animation:none}}.weather rect{animation:3.2s linear infinite fall}.weather.rain rect{animation-duration:.7s}.weather.leaf rect{animation-name:drift;animation-duration:4.5s}@keyframes fall{0%{transform:translateY(-20px)}to{transform:translateY(80px)}}@keyframes drift{0%{transform:translate(-6px,-20px)}to{transform:translate(14px,80px)}}@media (prefers-reduced-motion:reduce){.weather rect{animation:none}}.gallery{max-width:1100px;margin:0 auto;padding:24px 16px}.gallery-row{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-bottom:18px;display:grid}.gallery figure{margin:0}.gallery figcaption{color:var(--muted);text-align:center;font-size:12px}.gallery h2 small{color:var(--muted);font-size:12px;font-weight:400}.traits h3{color:var(--muted);margin:14px 0 6px;font-size:13px;font-weight:600}.trait-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.trait-card{text-align:left;border:1.5px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;gap:3px;min-height:92px;padding:10px;display:flex}.trait-card .trait-top{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.trait-card b{font-size:15px}.trait-card i{color:#555;background:#e4e4de;border-radius:999px;padding:0 6px;font-size:11px;font-style:normal}.trait-card.rare i{color:#fff;background:#2f8f8f}.trait-card.epic i{color:#fff;background:#c9962b}.trait-card.epic{border-color:#c9962b}.trait-card .pro{color:#3c8d5a;font-size:12px}.trait-card .con{color:var(--low);font-size:12px}.trait-card small{color:var(--muted);font-size:11px}.trait-card.on{border-color:var(--fg);box-shadow:inset 0 0 0 1.5px var(--fg)}.trait-card.neg{border-style:dashed}.trait-card.fate{opacity:1;cursor:default;grid-column:1/-1}.traits .primary{margin-top:14px}.traits .primary:disabled{opacity:.45}.traits-line{font-size:14px;font-weight:600}.trait-badge{color:#c9962b;margin:0 4px;font-size:11px;font-weight:700}@keyframes lineIn{0%{opacity:0;background:#4fb3b338;max-height:0;padding-top:0;padding-bottom:0;transform:translateY(14px)}60%{opacity:1}to{opacity:1;background:0 0;max-height:320px;transform:none}}@media (prefers-reduced-motion:reduce){.flash{animation:none}}.playbar .pace{color:var(--muted);white-space:nowrap;font-size:12px}.line time .report{color:var(--muted);opacity:.45;cursor:pointer;background:0 0;border:0;margin-left:4px;padding:2px 6px;font-size:12px;display:inline-block}.line time .report:hover,.line time .report:focus-visible{opacity:1}.toast{background:var(--fg);color:var(--bg);z-index:30;border-radius:10px;max-width:calc(100% - 32px);padding:10px 14px;font-size:13px;position:fixed;bottom:88px;left:50%;transform:translate(-50%)}.line.milestone>div>p,.line.achievement>div>p{color:#a8761c;font-weight:700}.line.achievement{background:#c9962b1a;border-radius:8px}.updates{margin-top:18px;font-size:13px}.updates .link{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:4px 0}.updates .update{margin:8px 0}.updates ul{color:var(--muted);margin:4px 0 0 18px;padding:0}.status .level{color:var(--muted);justify-content:space-between;align-items:baseline;gap:8px;margin:2px 0 6px;font-size:12px;display:flex}.status .level b{color:#a8761c}.status .level em{color:var(--fg);font-style:normal;font-weight:700}.title-badge{color:#7a5614;background:#c9962b29;border-radius:999px;margin:8px 0 0;padding:6px 12px;font-size:14px;display:inline-block}.achievements ul{margin:6px 0;padding:0;list-style:none}.achievements li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:6px 0;font-size:14px;display:flex}.achievements li span{color:var(--muted);font-size:13px}.achievements li em{color:#a8761c;margin-left:auto;font-size:12px;font-style:normal}.share-card{margin:14px 0 4px}.twins ul{margin:6px 0;padding:0;list-style:none}.twins li{border-bottom:1px solid var(--line);padding:7px 0;font-size:14px}.twins li b{width:26px;color:var(--muted);display:inline-block}.twins li.me{font-weight:700}.twins li.me b{color:#a8761c}.twins li em{color:#a8761c;font-size:13px;font-style:normal}.levels-note{color:var(--muted);margin:14px 0 10px;font-size:13px}.act-shake{animation:.35s steps(2,end) infinite actShake}@keyframes actShake{50%{transform:translate(1px)}}.act-sway{transform-origin:7px 18px;animation:1.2s ease-in-out infinite actSway}@keyframes actSway{25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}.act-bow{animation:1.6s ease-in-out infinite actBow}@keyframes actBow{50%{transform:translateY(1px)}}.act-hop{animation:.5s ease-in-out infinite actHop}@keyframes actHop{50%{transform:translateY(-2px)}}.act-look{transform-origin:7px 9px;animation:2s step-end infinite actLook}@keyframes actLook{50%{transform:scaleX(-1)}}.act-peek{animation:2.4s ease-in-out infinite actPeek}@keyframes actPeek{0%,to{transform:translate(4px)}50%{transform:translate(0)}}.pop{animation:1.4s ease-out both popUp}@keyframes popUp{0%{opacity:0;transform:translateY(4px)}15%{opacity:1}to{opacity:0;transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){.act-shake,.act-sway,.act-bow,.act-hop,.act-look,.act-peek{animation:none}}.hero{border-radius:16px;width:100%;margin:0 0 14px;overflow:hidden;box-shadow:0 6px 18px #0000001f}.hero svg{width:100%;height:auto;image-rendering:pixelated;display:block}.hero-sky{fill:#9fd3f2;animation:24s linear infinite heroSky}@keyframes heroSky{0%{fill:#f6c9a8}20%{fill:#9fd3f2}55%{fill:#9fd3f2}70%{fill:#f0a77a}80%{fill:#3a4a7a}92%{fill:#1f2a4a}to{fill:#f6c9a8}}.hero-stars{opacity:0;animation:24s linear infinite heroStars}@keyframes heroStars{0%,72%{opacity:0}82%,95%{opacity:1}to{opacity:0}}.hero-sun{animation:24s linear infinite heroSun}@keyframes heroSun{0%{transform:translate(-110px,30px)}40%{transform:translate(-40px,-4px)}70%{transform:translate(10px,40px)}71%,to{transform:translate(10px,80px)}}.hero-city{animation:24s linear infinite heroCity}@keyframes heroCity{0%,70%{filter:none}82%,95%{filter:brightness(.45)}to{filter:none}}.hero-win{fill:#8a96a3;animation:24s step-end infinite heroWin}@keyframes heroWin{0%,76%{fill:#8a96a3}78%,96%{fill:#ffd166}to{fill:#8a96a3}}.hero-sign{animation:24s linear infinite heroSign}@keyframes heroSign{0%,74%{filter:none}80%,95%{filter:brightness(1.25)drop-shadow(0 0 2px #ffd166)}to{filter:none}}.hero-sign-text{transform-box:fill-box;transform-origin:50%;animation:.4s ease-out heroFlip}@keyframes heroFlip{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.hero-shutter{animation:10s ease-in-out infinite heroShutter}@keyframes heroShutter{0%,8%{transform:translateY(0)}22%,80%{transform:translateY(-36px)}92%,to{transform:translateY(0)}}.hero-walker{animation:12s linear infinite heroWalk}.hero-walker.rev{animation-name:heroWalkRev}.hero-walker.rev .walker{transform-box:fill-box;transform-origin:50%;transform:scaleX(-1)}@keyframes heroWalk{0%{transform:translate(-16px)}to{transform:translate(170px)}}@keyframes heroWalkRev{0%{transform:translate(170px)}to{transform:translate(-16px)}}.hero-walker .walker{animation:none}.hero-owner{animation:.9s ease-in-out infinite actHop}@media (prefers-reduced-motion:reduce){.hero-sky,.hero-stars,.hero-sun,.hero-city,.hero-win,.hero-sign,.hero-sign-text,.hero-shutter,.hero-walker,.hero-owner{animation:none}.hero-shutter{transform:translateY(-36px)}}@media (width<=400px){.playbar{flex-wrap:wrap;justify-content:center;row-gap:6px}.playbar .pace{display:none}.playbar button{padding:0 8px}}.sheet-back{z-index:40;background:#00000059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.report-sheet{background:var(--card);width:100%;max-width:480px;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.report-line{color:var(--muted);max-height:4.5em;margin:0 0 10px;font-size:13px;overflow:hidden}.report-kinds{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.report-kinds button{border:1px solid var(--line);background:var(--bg);border-radius:999px;min-height:36px;padding:6px 10px;font-size:13px}.report-kinds button.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.report-sheet textarea{border:1px solid var(--line);width:100%;min-height:70px;font:inherit;box-sizing:border-box;border-radius:10px;padding:10px;font-size:14px}.report-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.report-actions button{border:1px solid var(--line);background:var(--bg);border-radius:10px;min-height:44px;padding:0 16px}.review{margin:18px 0}.review .stars button{color:#d6d0c2;background:0 0;border:0;min-width:40px;min-height:40px;padding:4px;font-size:24px}.review .stars button.on{color:#e8b02a}.review input{box-sizing:border-box;border:1px solid var(--line);width:100%;font:inherit;border-radius:10px;margin:6px 0;padding:10px}.review>button{border:1px solid var(--line);background:var(--card);border-radius:10px;min-height:44px;padding:0 16px}.review-done{color:var(--muted);font-size:14px}.admin{max-width:760px}.admin-help{color:var(--muted);font-size:13px}.admin-tabs,.admin-bar{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0;display:flex}.admin-tabs button,.admin-bar button{border:1px solid var(--line);background:var(--card);border-radius:8px;min-height:36px;padding:0 10px;font-size:13px}.admin-tabs button.on{background:var(--fg);color:var(--bg)}.admin-list{padding:0;list-style:none}.admin-list li{border-bottom:1px solid var(--line);padding:10px 0;font-size:14px}.admin-list li.suspect{background:#d9452b14}.admin-line{color:var(--muted);margin:4px 0 0 24px;font-size:13px}.admin-meta{color:var(--muted);margin:4px 0 0 24px;font-size:12px}.admin-flag{color:#c0392b;margin:4px 0 0 24px;font-size:12px;font-weight:700}.admin input[type=password]{border:1px solid var(--line);border-radius:10px;width:100%;max-width:320px;margin:8px 0;padding:10px}.home{max-width:480px;margin:0 auto;padding:32px 16px 40px}.home h2{font-size:14px}.home .card{padding:14px 18px}.home-hero{margin-bottom:8px}.signature{margin:6px 0 12px;font-size:clamp(28px,6vw,40px);line-height:1.25}.hint-small{color:var(--muted);text-align:center;margin-top:8px;font-size:12px}.home-now .counter{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;column-gap:12px;padding:8px 0;display:grid}.home-now .counter:last-child{border-bottom:0}.counter-label{font-size:14px}.counter-num{font-variant-numeric:tabular-nums;text-align:right;font-size:22px}.counter-src{color:var(--muted);grid-column:1/3;font-size:11px}.counter-src a,.stat-src a{color:inherit}.profile-head{align-items:center;gap:14px;display:flex}.profile-head strong{font-size:17px;display:block}.profile-last{color:var(--muted);font-size:13px;display:block}.portrait{border:1px solid var(--line);width:72px;height:72px;image-rendering:pixelated;background:#efe6d8;border-radius:14px;flex:none;padding:4px}.profile-grid{grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:12px;display:grid}.profile-grid dt{color:var(--muted);font-size:12px}.profile-grid dd{font-variant-numeric:tabular-nums;text-align:left;font-weight:700}.profile-grid small{color:var(--muted);font-size:12px;font-weight:400;display:block}.home-stats{margin:16px 0}.stat-strip{scroll-snap-type:x mandatory;grid-auto-columns:46%;grid-auto-flow:column;gap:10px;padding-bottom:6px;display:grid;overflow-x:auto}.stat-card{scroll-snap-align:start;background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:2px;padding:12px;display:flex}.stat-label{color:var(--muted);font-size:12px}.stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:24px}.stat-note{font-size:12px}.stat-src{color:var(--muted);margin-top:auto;font-size:11px}.home-top>div+div{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.rank{counter-reset:r;list-style:none}.rank li{counter-increment:r;justify-content:space-between;gap:10px;padding:5px 0;font-size:14px;display:flex}.rank li span:before{content:counter(r) ". ";color:var(--muted)}.rank li b{font-variant-numeric:tabular-nums;font-weight:600}.codex-row{grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:6px 0;font-size:14px;display:grid}.codex-bar{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.codex-bar i{background:var(--fg);height:100%;display:block}.codex-row b{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.home .records{margin-top:16px}.hero-fall rect{animation:6s linear infinite heroFall}@keyframes heroFall{0%{transform:translate(0)}to{transform:translate(-12px,84px)}}@media (prefers-reduced-motion:reduce){.hero-fall rect{opacity:0;animation:none}}@media (width>=600px){.stat-strip{grid-template-columns:1fr 1fr;grid-auto-flow:row;overflow:visible}}@media (width>=900px){.home{grid-template-columns:380px 1fr;align-items:start;gap:28px;max-width:1040px;padding-top:40px;display:grid}.home-left{position:sticky;top:24px}.stat-strip{grid-template-columns:repeat(3,1fr)}}@media (width>=1200px){.home{grid-template-columns:400px 1fr;max-width:1240px}.home-right{grid-template-columns:1fr 1fr;align-items:start;column-gap:20px;display:grid}.home-right>.home-stats,.home-right>.foot,.home-right>.updates{grid-column:1/3}}.panel{display:none}@media (width>=900px){.play-wrap{grid-template-columns:280px minmax(0,560px) 260px;justify-content:center;align-items:start;gap:24px;display:grid}.play-wrap .screen.play{width:100%;max-width:560px;margin:0}.panel{max-height:100dvh;padding-top:16px;padding-bottom:96px;display:block;position:sticky;top:16px;overflow-y:auto}}.owner-panel{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:16px;padding:16px}.owner-panel .portrait{width:112px;height:112px;margin:0 auto 8px;display:block}.op-year{font-size:18px;font-weight:800}.op-since{color:var(--muted);font-size:12px}.owner-panel h3{margin:6px 0 2px;font-size:16px}.op-who{color:var(--muted);font-size:13px}.op-list{text-align:left;margin-top:12px;font-size:13px}.op-list>div{border-top:1px solid var(--line);grid-template-columns:64px 1fr;gap:8px;padding:5px 0;display:grid}.op-list dt{color:var(--muted)}.op-chips{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px;display:flex}.op-chips span{border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:11px}.op-chips .warn{color:var(--low);border-color:var(--low)}.side-panel section{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-bottom:12px;padding:14px 16px}.side-panel h3{color:var(--muted);font-size:13px;font-weight:600}.sp-big{font-variant-numeric:tabular-nums;font-size:30px;font-weight:800}.sp-type{margin-top:2px;font-size:20px;font-weight:800}.sp-note{color:var(--muted);margin-top:2px;font-size:12px}.sp-list{margin-top:6px;font-size:13px;list-style:none}.sp-list li{border-top:1px solid var(--line);padding:4px 0}.owner-type{border:1px dashed var(--line);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:2px;margin:14px 0;padding:12px;display:flex}.owner-type span{color:var(--muted);font-size:12px}.owner-type strong{font-size:20px}.owner-type em{color:var(--muted);font-size:13px;font-style:normal}.profile-type{color:var(--muted);font-size:12px;display:block}.feed{list-style:none}.feed li{border-bottom:1px solid var(--line);grid-template-columns:24px 1fr auto;align-items:start;gap:8px;padding:9px 0;font-size:13px;display:grid}.feed li:last-child{border-bottom:0}.feed b{font-size:14px;display:block}.feed span{color:var(--muted)}.feed-icon{font-size:16px;line-height:1.4}.feed-side{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;font-size:12px;display:flex}.feed-side a{color:var(--fg)}.home-shutters .link{color:var(--muted);background:0 0;border:0;padding:6px 0 0;font-size:13px}.share-toggle{color:var(--muted);align-items:flex-start;gap:8px;margin-top:18px;font-size:12px;display:flex}.share-toggle input{margin-top:3px}.rank-line{text-align:center;margin:-4px 0 14px;font-size:14px}.play-wrap .screen.end{width:100%;max-width:560px;margin:0}.tabs{gap:6px;margin:4px 0 8px;display:flex;overflow-x:auto}.tabs button{border:1px solid var(--line);background:var(--bg);border-radius:999px;flex:none;padding:4px 10px;font-size:12px}.tabs button.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}.hall-list{list-style:none}.hall-list li{border-bottom:1px solid var(--line);grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:7px 0;font-size:13px;display:grid}.hall-rank{font-variant-numeric:tabular-nums;color:var(--muted)}.hall-who{font-size:14px;font-weight:600;display:block}.hall-what{color:var(--muted)}.hall-go{color:var(--fg);white-space:nowrap;font-size:12px}.hall-me{margin-top:8px;font-size:14px;font-weight:700}.hall-me small{color:var(--muted);font-weight:400}.home-daily p{margin-bottom:8px;font-size:14px}.home-daily button{border:1px solid var(--fg);background:var(--card);border-radius:12px;width:100%;min-height:44px;font-weight:700}.week-banner{background:var(--summary);border-radius:12px;margin:12px 0;padding:10px 14px;font-size:13px}.codex-global{border-top:1px solid var(--line);color:var(--muted);margin-top:10px;padding-top:8px;font-size:13px}.challenge{gap:8px;margin:24px 0;display:grid}.challenge button{border:1px solid var(--fg);background:var(--card);border-radius:12px;min-height:44px;font-weight:700}.challenge-vs{text-align:center;background:var(--summary);border-radius:12px;padding:10px;font-size:15px}.extra-cards{margin:20px 0}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px;font-size:13px}.move-records{margin:12px 0;font-size:13px}.move-records .link{color:var(--muted);background:0 0;border:0;padding:4px 0}.move-records div{gap:8px;margin-top:6px;display:grid}.move-records div button{border:1px solid var(--line);background:var(--card);border-radius:10px;min-height:40px}.move-records textarea{width:100%;font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);word-break:break-all;border-radius:10px;padding:8px;font-size:12px}.tail{color:#a8761c;margin-bottom:2px;font-size:12px;display:block}.gauge.pb-gray .bar i{background:var(--muted)}.gauge.pb-blue .bar i{background:var(--blue)}.gauge.pb-blue .val{color:var(--blue)}.gauge.pb-gold .bar i{background:var(--gold)}.gauge.pb-gold .val{color:var(--gold)}.money-line{color:var(--muted);font-variant-numeric:tabular-nums;grid-column:1/-1;margin-top:4px;font-size:12px}.line.gold{background:var(--gold-bg);border-radius:6px}.line.gold p{color:var(--gold);font-weight:700}.line.gold p:before{content:"💰 "}.card .row.sub{padding:8px 0 8px 12px;font-size:14px}.card .row small{color:var(--muted)}.pb-gold-text{color:var(--gold)}.pb-note{color:var(--muted);padding-top:8px;font-size:12px}.pb-curve{width:100%;height:auto;margin:4px 0;display:block}.pb-curve .pb-path{fill:none;stroke:var(--blue);stroke-width:2px}.pb-curve .pb-line{stroke:var(--gold);stroke-dasharray:4 3}.pb-curve .pb-avg{stroke:var(--muted);stroke-dasharray:2 3}.gauges.with-pb{grid-template-columns:repeat(2,1fr)}.gauges.with-pb .gauge.pb-gray,.gauges.with-pb .gauge.pb-blue,.gauges.with-pb .gauge.pb-gold{grid-column:1/-1;font-size:13px}.gauges.with-pb .gauge.pb-gray .bar,.gauges.with-pb .gauge.pb-blue .bar,.gauges.with-pb .gauge.pb-gold .bar{border-radius:3px;height:6px}.end .epitaph{color:var(--muted);font-variant-numeric:tabular-nums;margin:-4px 0 14px;font-size:14px}.story{margin:4px 0 20px}.story p{word-break:keep-all;margin:0 0 8px;line-height:1.7}.story p.wit{color:var(--muted);font-style:italic}.key-numbers{grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0 10px;display:grid}.key-numbers div{background:var(--card);border:1px solid var(--line);border-radius:10px;min-width:0;padding:10px}.key-numbers dt{color:var(--muted);font-size:12px}.key-numbers dd{overflow-wrap:anywhere;font-size:16px;font-weight:800}.rare-line{color:var(--gold);margin:4px 0;font-size:13px}.card-preview{margin:8px 0 24px}.card-preview .size-tabs button.on{background:var(--fg);color:var(--bg)}.card-preview .preview{justify-content:center;margin:10px 0;display:flex}.card-preview .preview img{border:1px solid var(--line);border-radius:8px;width:100%;max-width:420px;height:auto;box-shadow:0 6px 20px #00000014}.card-preview .preview.story img{max-width:300px}.card-preview .share-buttons{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.card-preview .share-buttons button{border:1px solid var(--fg);color:var(--fg);cursor:pointer;background:0 0;border-radius:10px;padding:12px 8px;font-size:15px}.card-preview .share-buttons button.primary{background:var(--fg);color:var(--bg)}.card-preview .share-buttons button:disabled{opacity:.4;cursor:default}
