:root{color-scheme:light;--paper: #f3ead6;--paper-2: #ebdfc4;--paper-3: #e2d3b2;--card: rgba(255, 251, 240, .62);--card-solid: #f8f1e1;--ink: #2b2520;--ink-2: #4a4038;--muted: #7a6c5d;--line: rgba(43, 37, 32, .2);--line-strong: rgba(43, 37, 32, .45);--cinnabar: #9a3b2e;--cinnabar-2: #b4513f;--cinnabar-bg: rgba(154, 59, 46, .08);--moss: #4f6b3a;--radius: 4px;--radius-s: 3px;--font: "PingFang SC", "Songti SC", serif;--font-serif: "Songti SC", "STSong", "PingFang SC", serif;--tab-h: 56px;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--page-w: 480px;--gutter: 16px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font);font-size:15px;line-height:1.6;color:var(--ink);background-color:var(--paper);background-image:radial-gradient(ellipse at 50% -10%,#fffaecd9,#fffaec00 60%),radial-gradient(ellipse at 50% 120%,#a080501f,#a0805000 55%);background-attachment:fixed;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:rgba(154,59,46,.12)}a{color:var(--cinnabar);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--font-serif);font-weight:600;margin:0;line-height:1.35}p{margin:.35em 0}ul,ol{margin:0;padding:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--cinnabar);outline-offset:2px}code{font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;background:#2b25200f;padding:0 4px;border-radius:var(--radius-s);word-break:break-all}.app{min-height:100vh;overflow-x:clip}.page{width:100%;max-width:var(--page-w);margin:0 auto;padding:calc(var(--safe-t) + 12px) var(--gutter) 24px}.app.with-tabs .page{padding-bottom:calc(var(--tab-h) + var(--safe-b) + 28px)}.app.guest .page{padding-bottom:calc(96px + var(--safe-b))}.row{display:flex;flex-direction:row}.column{display:flex;flex-direction:column}.row.center,.center{align-items:center}.between{justify-content:space-between}.end{justify-content:flex-end}.center-row{justify-content:center}.wrap{flex-wrap:wrap}.gap{gap:12px}.gap-s{gap:8px}.gap-xs{gap:4px}.grow{flex:1 1 0}.min0{min-width:0}.stack{display:flex;flex-direction:column;gap:12px}.stack-s{display:flex;flex-direction:column;gap:8px}.center-text{text-align:center}.pad{padding:24px 0}.nowrap{white-space:nowrap}.tap{display:inline-flex;align-items:center;min-height:44px}.net-banner{margin:0 0 10px;padding:6px 12px;font-size:13px;color:var(--cinnabar);border:1px dashed rgba(154,59,46,.5);border-radius:var(--radius);background:var(--cinnabar-bg)}.net-fail{margin-top:40px;display:flex;flex-direction:column;align-items:center;gap:12px}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--muted)}.small{font-size:13px;line-height:1.55}.big{font-size:18px;font-family:var(--font-serif);font-weight:600}.cinnabar,.warn{color:var(--cinnabar)}.empty{padding:16px 0;text-align:center}.form-hint{font-size:13px;color:var(--muted);margin:4px 0 0}.form-hint.warn{color:var(--cinnabar)}.form-error{color:var(--cinnabar);font-size:14px;margin:8px 0}.notice{font-size:12px;color:var(--muted);text-align:center;margin:16px 0 0}.page-head{margin:4px 0 12px}.page-title{font-size:22px;letter-spacing:.04em;overflow-wrap:anywhere}.page-sub{margin-top:4px}.section{margin:20px 0 8px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.section-title{font-size:16px;display:flex;align-items:center;gap:8px}.section-title:before{content:"";width:4px;height:1em;background:var(--cinnabar);border-radius:1px;flex:none}.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px;color:inherit;overflow-wrap:anywhere}a.card:hover{text-decoration:none;border-color:var(--line-strong)}.empty-card{text-align:center}.empty-card p{margin-bottom:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--ink);font-size:15px;line-height:1.25;text-align:center;cursor:pointer;text-decoration:none;-webkit-user-select:none;user-select:none;transition:background-color .15s,border-color .15s,opacity .15s}.btn:hover{text-decoration:none;background:#2b25200d}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.42;cursor:not-allowed;transform:none}.btn-primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.btn-primary:hover{background:#3d342d}.btn-accent{background:var(--cinnabar);border-color:var(--cinnabar);color:#fbf4e6}.btn-accent:hover{background:var(--cinnabar-2)}.btn-ghost{border-color:transparent;color:var(--ink-2)}.btn-danger{border-color:var(--cinnabar);color:var(--cinnabar)}.btn-danger:hover{background:var(--cinnabar-bg)}.btn-sm{padding:0 10px;font-size:14px}.btn.block,.block{display:flex;width:100%}.chip{display:inline-flex;align-items:center;font-size:12px;line-height:1.5;padding:0 7px;border:1px solid var(--line);border-radius:var(--radius-s);color:var(--ink-2);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.chip-muted{color:var(--muted);border-style:dashed}.chip-cinnabar{color:var(--cinnabar);border-color:#9a3b2e80;background:var(--cinnabar-bg)}.chip-ink{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chip-live{background:var(--cinnabar);border-color:var(--cinnabar);color:#fbf4e6;letter-spacing:.15em}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--cinnabar)}.dot-abs{position:absolute;top:2px;right:2px}.form{display:flex;flex-direction:column;gap:12px}.field{display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}.field>span,.field>legend{font-size:14px;color:var(--ink-2);padding:0;margin-bottom:4px}.input{width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius);background:#fffcf4d9;font-size:16px}.input:focus{outline:none;border-color:var(--cinnabar);box-shadow:0 0 0 2px var(--cinnabar-bg)}.textarea{resize:vertical;min-height:84px;line-height:1.6}.code-input{letter-spacing:.3em}.radio{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 12px;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;font-size:14px;background:#fffcf480}.radio input{accent-color:var(--cinnabar);margin:0;flex:none}.radio.on{border-color:var(--cinnabar);background:var(--cinnabar-bg)}.radio.disabled{opacity:.5;cursor:not-allowed}.radio.block{display:flex;width:100%;margin-bottom:6px}.name-form{display:flex;flex-wrap:wrap;gap:8px;width:100%}.name-form .input{flex:1 1 160px}.name-form .form-hint{flex-basis:100%}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:center;background:#f3ead6f7;border-top:1px solid var(--line);padding-bottom:var(--safe-b);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tab{position:relative;flex:1 1 0;max-width:calc(var(--page-w) / 4);min-height:var(--tab-h);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:15px;letter-spacing:.1em}.tab:hover{text-decoration:none;color:var(--ink)}.tab.active{color:var(--ink);font-weight:600}.tab.active:after{content:"";position:absolute;bottom:8px;left:50%;width:18px;height:2px;margin-left:-9px;background:var(--cinnabar)}.tab-dot{position:absolute;top:12px;right:calc(50% - 26px)}.guest-footer{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px var(--gutter) calc(10px + var(--safe-b));background:#f3ead6f7;border-top:1px solid var(--line)}.guest-footer .small{max-width:240px;min-width:0}.guest-footer .btn{flex:none;white-space:nowrap}.sheet-backdrop,.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#2b252061;display:flex;align-items:flex-end;justify-content:center;animation:fade-in .18s ease-out}.sheet{width:100%;max-width:var(--page-w);max-height:90vh;overflow-y:auto;overscroll-behavior:contain;background:var(--paper);border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;padding:4px var(--gutter) calc(20px + var(--safe-b));animation:slide-up .22s ease-out}.sheet-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;background:var(--paper);border-bottom:1px solid var(--line);margin-bottom:12px;z-index:1}.sheet-head h3{font-size:17px}.modal-backdrop{align-items:center;padding:var(--gutter)}.modal{width:100%;max-width:400px;background:var(--card-solid);animation:pop-in .18s ease-out}.modal-title{font-size:17px;margin-bottom:6px}.modal-body{white-space:pre-line;color:var(--ink-2);margin-bottom:14px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#f3ead6fa;overflow-y:auto;overscroll-behavior:contain;animation:fade-in .2s ease-out}.overlay-inner{width:100%;max-width:var(--page-w);margin:0 auto;padding:calc(var(--safe-t) + 16px) var(--gutter) calc(24px + var(--safe-b));display:flex;flex-direction:column;gap:10px}.overlay-title{font-size:17px;min-width:0;overflow-wrap:anywhere}.reveal{align-items:center;text-align:center;padding-top:calc(var(--safe-t) + 40px)}.reveal-sprite{margin:8px auto}.reveal-name{font-size:24px}.reveal-flavor{font-family:var(--font-serif);font-size:16px;margin:10px 0 16px;max-width:360px}.toasts{position:fixed;left:0;right:0;bottom:calc(var(--tab-h) + var(--safe-b) + 12px);z-index:90;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;padding:0 var(--gutter)}.toast{pointer-events:auto;max-width:min(440px,100%);min-height:44px;padding:10px 16px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--ink);color:var(--paper);font-size:14px;text-align:left;cursor:pointer;box-shadow:0 4px 16px #2b25202e;animation:slide-up .2s ease-out}.toast-error{background:var(--cinnabar);border-color:var(--cinnabar)}.app.guest~.toasts{bottom:calc(92px + var(--safe-b))}.inbox-stack{position:fixed;top:calc(var(--safe-t) + 8px);left:0;right:0;z-index:60;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 12px;pointer-events:none}.inbox-card{pointer-events:auto;width:100%;max-width:calc(var(--page-w) - 16px);background:var(--card-solid);border:1px solid var(--line-strong);border-left:4px solid var(--ink);border-radius:var(--radius);box-shadow:0 6px 22px #2b25202e;overflow:hidden}.inbox-card.chronicle{border-left-color:var(--cinnabar)}.slide-down{animation:slide-down .28s ease-out}.inbox-top{display:flex;align-items:flex-start}.inbox-main{display:block;flex:1 1 0;min-width:0;text-align:left;background:transparent;border:0;padding:8px 4px 8px 12px;cursor:pointer}.inbox-close{flex:none;width:44px;height:44px;border:0;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}.inbox-close:hover{color:var(--ink)}.inbox-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}.inbox-chips{display:flex;margin-top:4px}.inbox-kind{font-family:var(--font-serif);font-weight:600;font-size:14px}.inbox-meta{font-size:12px;color:var(--muted)}.inbox-text{display:block;font-family:var(--font-serif);font-size:15px;line-height:1.55;margin-top:2px;overflow-wrap:anywhere}.inbox-card:not(.chronicle) .inbox-text{font-size:14px}.inbox-foot{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px;padding:0 10px 10px}.inbox-more{margin-right:auto;color:var(--muted);padding-left:2px}.inbox-foot.column{display:block;padding:0 12px 10px}.inbox-list{list-style:none;display:flex;flex-direction:column;gap:6px}.inbox-row{display:flex;flex-direction:column;width:100%;min-height:44px;text-align:left;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);cursor:pointer}.inbox-row.unread{border-left:3px solid var(--cinnabar)}.inbox-row-head{display:flex;justify-content:space-between;gap:8px}.inbox-row-text{font-size:14px;overflow-wrap:anywhere}.season-banner{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;background:var(--card);margin-bottom:12px}.season-banner.stalled{border-style:dashed}.season-banner.compact{padding:8px 12px}.season-day{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;min-width:0}.day-num{font-family:var(--font-serif);font-size:18px;font-weight:600}.day-of{font-size:13px;color:var(--muted);font-weight:400}.phase{color:var(--cinnabar);font-size:14px;letter-spacing:.1em}.season-clock{flex:none;text-align:right}.clock{font-family:SF Mono,Menlo,Consolas,monospace;font-size:17px;font-variant-numeric:tabular-nums}.clock.soon{color:var(--cinnabar)}.clock-word{color:var(--muted);font-size:14px;border:1px solid var(--line);border-radius:var(--radius-s);padding:0 8px}.season-note{font-size:14px;color:var(--ink-2);margin:4px 0 0}.purse{font-size:13px;color:var(--ink-2);white-space:nowrap}.yard-actions{display:flex;gap:8px;margin-bottom:8px}.my-fight{display:flex;align-items:center;gap:8px;min-height:44px}.countdown{font-variant-numeric:tabular-nums;font-size:13px;color:var(--ink-2);white-space:nowrap}.countdown.locked{color:var(--cinnabar)}.winter-card{text-align:center;margin-bottom:12px}.winter-card .btn{margin-top:10px}.cricket-card{padding:10px}.cricket-card.dead{opacity:.85;filter:grayscale(.35)}.cricket-card-main{display:flex;gap:10px;align-items:center;color:inherit}.cricket-card-main:hover{text-decoration:none}.sprite-box{position:relative;flex:none;border:1px solid var(--line);border-radius:var(--radius);background:#e2d3b259;line-height:0}.sprite{display:block;max-width:100%}.cricket-name{font-family:var(--font-serif);font-size:17px;overflow-wrap:anywhere}.cage-line{font-family:var(--font-serif);color:var(--ink-2);font-size:14px;margin:2px 0 6px}.cricket-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.catch-card .btn{margin-top:8px}.listing{display:flex;flex-direction:column;gap:8px}.price{color:var(--cinnabar);font-weight:600;white-space:nowrap}.bashi-speech{font-family:var(--font-serif);font-size:14px;color:var(--ink-2);border-left:2px solid var(--line-strong);padding-left:8px;margin:2px 0}.hero{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 12px}.hero-sprite{line-height:0}.hero-name{display:flex;align-items:baseline;gap:8px}.hero-name h2{font-size:24px}.hero-name-form{width:100%;display:flex;justify-content:center;margin-top:8px}.facts{margin:0;display:flex;flex-direction:column;gap:8px}.facts>div{display:grid;grid-template-columns:5.2em 1fr;gap:8px;align-items:baseline}.facts dt{color:var(--muted);font-size:13px}.facts dd{margin:0;min-width:0;overflow-wrap:anywhere}.habits{list-style:none;display:flex;flex-direction:column;gap:4px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.action-grid .btn:last-child:nth-child(odd){grid-column:span 2}.danger-zone{display:flex;align-items:center;gap:10px;margin:28px 0 8px;padding-top:12px;border-top:1px dashed var(--line)}.bashi{margin:20px 0 8px;display:flex;flex-direction:column;gap:8px}.bashi-look{border-top:1px dashed var(--line);padding-top:8px}.grades{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0}.grade{border:1px solid var(--line);border-radius:var(--radius-s);text-align:center;padding:4px 0}.grade dt{font-size:12px;color:var(--muted)}.grade dd{margin:0;font-family:var(--font-serif);font-size:16px;font-weight:600}.scroll-wrap{margin:20px 0 8px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(to right,#7a544029,#7a544000 10px),linear-gradient(to left,#7a544029,#7a544000 10px),#f7efdc}.scroll-toggle{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;background:transparent;border:0;border-bottom:1px solid var(--line);cursor:pointer}.scroll-title{font-family:var(--font-serif);font-weight:600;font-size:16px;letter-spacing:.2em}.scroll-preview{display:flex;flex-direction:column;width:100%;text-align:left;padding:8px 14px 12px;background:transparent;border:0;cursor:pointer}.scroll-preview-text{font-family:var(--font-serif);font-size:15px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.scroll{list-style:none;padding:4px 14px 12px}.scroll-entry{padding:10px 0;border-bottom:1px dashed var(--line)}.scroll-entry:last-child{border-bottom:0}.scroll-meta{font-size:12px;color:var(--cinnabar)}.scroll-text{font-family:var(--font-serif);font-size:15px;line-height:1.75;margin:4px 0;overflow-wrap:anywhere}.epitaph-form{display:flex;flex-direction:column;gap:8px;margin-top:10px}.epitaph-view{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.epitaph-text{font-family:var(--font-serif);font-size:16px;line-height:1.8;padding:8px 12px;border-left:3px solid var(--cinnabar);background:#9a3b2e0a;margin:8px 0 0;overflow-wrap:anywhere}.arena-note{margin:-4px 0 4px}.post-card{position:relative;display:flex;flex-direction:column;gap:8px}.post-card.grudge{border-color:#9a3b2e8c;background:linear-gradient(#9a3b2e0d,#9a3b2e05),var(--card)}.post-card.mine{border-style:dashed}.corner-badge{position:absolute;top:-1px;right:-1px;background:var(--cinnabar);color:#fbf4e6;font-size:12px;letter-spacing:.1em;padding:2px 10px;border-radius:0 var(--radius) 0 var(--radius)}.post-name{font-family:var(--font-serif);font-size:16px;padding-right:44px;display:block;overflow-wrap:anywhere}.post-note{font-family:var(--font-serif);color:var(--ink-2);font-size:14px}.grudge-note{color:var(--cinnabar);font-size:14px}.post-brief{margin-bottom:12px}.fight-card{display:flex;flex-direction:column;gap:8px}.fight-card.mine{border-left:3px solid var(--ink)}.fight-card.recent{padding:8px 12px}.versus{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;color:inherit}.versus:hover{text-decoration:none}.vs{font-family:var(--font-serif);font-size:18px;color:var(--cinnabar);padding:0 4px}.side-block{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;gap:1px}.side-name{font-family:var(--font-serif);overflow-wrap:anywhere}.predict-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.predict-cell{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;text-align:center}.predict-cell .btn{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;line-height:42px}.predict-cell.picked{color:var(--cinnabar)}.board{list-style:none;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.board-row{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 12px;border-bottom:1px solid var(--line)}.board-row:last-child{border-bottom:0}.board-row.me{background:var(--cinnabar-bg)}.board-rank{width:1.6em;font-family:var(--font-serif);font-weight:600;color:var(--muted);flex:none}.board-name{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:6px}.board-fame{font-variant-numeric:tabular-nums;font-weight:600}.fight-page .page-head{margin-bottom:10px}.versus-full{display:grid;grid-template-columns:1fr auto 1fr;gap:4px;align-items:start}.big-vs{align-self:center;font-size:22px}.fighter{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;min-width:0;padding:8px 4px;border:1px solid transparent;border-radius:var(--radius)}.fighter.compact{padding:4px}.fighter.winner{border-color:#9a3b2e80;background:var(--cinnabar-bg)}.fighter.loser{opacity:.7}.fighter-name{font-family:var(--font-serif);font-size:16px;overflow-wrap:anywhere}.fighter-link{color:inherit}.fighter-chips{justify-content:center;margin-top:4px}.fighter-quote{font-family:var(--font-serif);font-size:13px;color:var(--ink-2);margin-top:6px}.countdown-card{text-align:center;margin:12px 0}.countdown-card.locked{border-color:#9a3b2e8c}.big-clock{font-family:SF Mono,Menlo,Consolas,monospace;font-size:40px;line-height:1.2;font-variant-numeric:tabular-nums;margin:4px 0}.seal{display:inline-block;font-family:var(--font-serif);font-weight:600;letter-spacing:.3em;color:var(--cinnabar);border:2px solid var(--cinnabar);border-radius:var(--radius-s);padding:2px 10px 2px 14px;transform:rotate(-2deg)}.predict-card{display:flex;flex-direction:column;gap:8px}.player{display:flex;flex-direction:column;gap:6px}.fight-canvas{display:block;width:100%;max-width:100%;height:auto;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius)}.text-stage{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);padding:12px;text-align:center}.text-stage-names{font-family:var(--font-serif);font-size:17px;font-weight:600;overflow-wrap:anywhere}.subtitle{min-height:3.4em;font-family:var(--font-serif);font-size:17px;line-height:1.6;text-align:center;padding:6px 4px;margin:0;overflow-wrap:anywhere}.player-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin-top:4px}.result-card{margin-top:12px;display:flex;flex-direction:column;gap:10px;border-color:var(--line-strong)}.result-head{display:flex;align-items:center;gap:10px}.result-title{font-family:var(--font-serif);font-size:22px;margin:0;overflow-wrap:anywhere}.result-loser{font-size:17px;color:var(--muted)}.result-chronicle{border-top:1px dashed var(--line);padding-top:8px;display:flex;flex-direction:column;gap:8px}.result-entry-name{font-family:var(--font-serif);font-weight:600}.first-name{border:1px dashed var(--cinnabar);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:8px}.result-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.next-hint{margin-top:12px}.next-card{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}.seed-box{margin:20px 0 8px;font-size:13px;color:var(--ink-2)}.seed-box summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--muted)}.hash{display:block;margin-top:4px}.share-preview{display:flex;justify-content:center;align-items:center;min-height:160px;margin-bottom:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);padding:8px}.share-preview img{display:block;max-width:100%;max-height:46vh;height:auto;border-radius:var(--radius-s)}.share-link{word-break:break-all;text-align:center;-webkit-user-select:all;user-select:all}.spar-end{text-align:center;display:flex;flex-direction:column;gap:8px}.spar-line{font-family:var(--font-serif);font-size:16px}.winter{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--gutter);background:var(--paper);color:var(--ink);transition:background-color 2.4s ease,color 2.4s ease;text-align:center}.winter.dark{background:#1d1915;color:#e9dfc8}.winter-skip{position:absolute;top:calc(var(--safe-t) + 12px);right:12px;color:inherit}.winter-hush{font-family:var(--font-serif);font-size:18px;letter-spacing:.3em;color:var(--muted)}.winter-title h1{font-size:56px;letter-spacing:.4em;padding-left:.4em;font-family:var(--font-serif)}.winter-title p{font-family:var(--font-serif);font-size:17px;letter-spacing:.15em;opacity:.85}.winter-cricket{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:360px}.winter-sprite{width:220px;height:220px;max-width:70vw;max-height:70vw;filter:sepia(.25) brightness(.92)}.winter-cricket h2{font-size:26px;letter-spacing:.1em}.winter-record{font-size:13px;opacity:.7}.winter-last{font-family:var(--font-serif);font-size:16px;line-height:1.8;opacity:.92}.summary{display:flex;flex-direction:column;gap:10px}.summary-nums{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.summary-nums strong{display:block;font-family:var(--font-serif);font-size:26px}.summary-nums span{font-size:13px;color:var(--muted)}.last-words{list-style:none;display:flex;flex-direction:column;gap:6px;font-family:var(--font-serif);font-size:14px}.farewell{display:flex;flex-direction:column}.farewell .scroll-wrap{margin:12px 0 0}.farewell-name{font-family:var(--font-serif);font-size:18px;font-weight:600;color:inherit}.hall-pick{display:flex;flex-direction:column;gap:8px}.hall-entry{display:flex;flex-direction:column;gap:4px}.hall-name{font-family:var(--font-serif);font-size:18px;font-weight:600;color:inherit}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.table{width:100%;border-collapse:collapse;font-size:14px;background:var(--card);border:1px solid var(--line)}.table caption{text-align:left;font-family:var(--font-serif);font-weight:600;padding:4px 0}.table th,.table td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.table th{font-weight:500;color:var(--ink-2)}.table thead th{font-size:13px;color:var(--muted)}.table td{font-variant-numeric:tabular-nums}.table-wrap{max-width:100%;overflow-x:auto}.statement{padding-left:1.2em;display:flex;flex-direction:column;gap:6px;font-size:14px}.me-card{margin-bottom:12px}.me-name{font-family:var(--font-serif);font-size:18px}.code-inline{font-family:SF Mono,Menlo,Consolas,monospace;letter-spacing:.2em;color:var(--cinnabar)}.link-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.link-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:6px 12px;color:var(--ink);border-bottom:1px solid var(--line)}.link-row:last-child{border-bottom:0}.link-row:hover{text-decoration:none;background:#2b252008}.howto{padding-left:1.2em;display:flex;flex-direction:column;gap:6px;font-size:14px;margin-bottom:8px}.login-page{min-height:100vh;max-width:420px;margin:0 auto;padding:calc(var(--safe-t) + 48px) var(--gutter) calc(24px + var(--safe-b));display:flex;flex-direction:column;justify-content:center}.login-card{display:flex;flex-direction:column;gap:10px;padding:24px 20px}.login-title{font-size:34px;letter-spacing:.3em;text-align:center;padding-left:.3em}.login-sub{text-align:center;margin-bottom:8px}.code-big{font-family:SF Mono,Menlo,Consolas,monospace;font-size:44px;letter-spacing:.35em;text-align:center;color:var(--cinnabar);border:1px dashed var(--cinnabar);border-radius:var(--radius);padding:8px 0 8px .35em;margin:8px 0}.login-links{margin-top:8px;font-size:14px}.admin-page{padding-bottom:calc(40px + var(--safe-b))}.admin-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pending-box{margin-top:12px;padding:10px;border:1px dashed var(--cinnabar);border-radius:var(--radius)}.config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-top:12px}.config-field{display:flex;flex-direction:column;gap:2px;min-width:0}.config-field.check{flex-direction:row;align-items:center;gap:8px;min-height:44px;grid-column:1 / -1}.config-field.check input{width:20px;height:20px;accent-color:var(--cinnabar)}.input-num{min-width:0}.config-submit{grid-column:1 / -1}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;background:var(--card)}.metric-label{font-size:13px;color:var(--muted)}.metric strong{font-family:var(--font-serif);font-size:24px;line-height:1.2}.fade-in{animation:fade-in .6s ease-out both}.pop-in{animation:pop-in .45s cubic-bezier(.2,1.4,.4,1) both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes slide-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-down{0%{transform:translateY(-24px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (min-width: 720px){body{font-size:16px}.page{padding-top:24px}}
