@font-face{font-family:Huninn;src:url(/fonts/huninn.woff) format("woff");font-display:swap}:root{--font-display: "Huninn", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif;--ink: #16202e;--ink-soft: #5b6573;--paper: #f4f1ea;--card: #ffffff;--navy: #0f1b2d;--gold: #e9b949;--line: #e2ddd2;--muted: #e7e2d6;--muted-strong: #e2ddd2;--hi-bg: #fff6dc;--hi-strong: #ffe7a3;--hi-ink: #9a5b00;--good: #1d6b35;--good-bg: #dcf1e2;--bad: #8c2428;--bad-bg: #fbe0de;font-family:Noto Sans TC,PingFang TC,Heiti TC,Microsoft JhengHei,system-ui,sans-serif;color:var(--ink);background:var(--paper);-webkit-text-size-adjust:100%}*{box-sizing:border-box}html,body{overflow-x:clip}body{margin:0;min-height:100dvh;background:var(--paper)}img{display:block}button{font:inherit;color:inherit}.app{max-width:480px;margin:0 auto;padding-bottom:calc(32px + env(safe-area-inset-bottom))}.hero{position:relative;display:flex;flex-direction:column;align-items:center;padding:calc(28px + env(safe-area-inset-top)) 20px 32px;text-align:center;color:#fff;background:linear-gradient(180deg,#0f1b2d8c,#0f1b2deb),url(/assets/scenes/stadium-atmosphere.webp) center / cover;border-radius:0 0 24px 24px}.hero-logo{width:168px;height:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}.hero-title{margin:12px 0 4px;font-size:26px;letter-spacing:.08em}.hero-tagline{margin:0;font-size:15px;opacity:.88}.hero-status{margin-top:16px;padding:6px 14px;font-size:13px;font-weight:600;color:var(--navy);background:var(--gold);border-radius:999px}.content{padding:24px 16px 0}.section-title{margin:0 0 12px;font-size:18px}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.team-card{display:flex;flex-direction:column;align-items:center;width:100%;min-height:148px;padding:14px 10px 12px;text-align:center;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--team-color);border-radius:14px;cursor:pointer;transition:transform .12s ease}.team-card:active{transform:scale(.97)}.team-card img{width:56px;height:56px}.team-name{margin-top:8px;font-size:16px;font-weight:700}.team-slogan{margin-top:4px;font-size:12px;line-height:1.4;color:var(--ink-soft)}.sheet-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:#0f1b2d8c}.sheet{width:100%;max-width:480px;max-height:90dvh;overflow-y:auto;padding:20px 20px calc(20px + env(safe-area-inset-bottom));text-align:center;background:var(--card);border-top:6px solid var(--team-color);border-radius:20px 20px 0 0}.sheet-logo{width:200px;height:200px;margin:0 auto}.sheet-name{margin:8px 0 0;font-size:24px}.sheet-english{margin:2px 0 0;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.sheet-slogan{margin:12px 0 0;font-size:16px;font-weight:600}.sheet-description{margin:12px 0 0;font-size:15px;line-height:1.7;text-align:left}.sheet-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 0}.sheet-facts div{padding:10px 6px;background:var(--paper);border-radius:10px}.sheet-facts dt{font-size:12px;color:var(--ink-soft)}.sheet-facts dd{margin:4px 0 0;font-size:14px;font-weight:600}.sheet-close{width:100%;margin-top:18px;padding:12px;font-weight:600;color:#fff;background:var(--navy);border:0;border-radius:12px;cursor:pointer}.account-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;margin:14px 0 0;font-size:14px}.account-muted{opacity:.7}.account-email{max-width:100%;overflow-wrap:anywhere;opacity:.92}.account-button{min-width:96px;padding:9px 20px;font-weight:700;color:var(--navy);background:var(--card);border:0;border-radius:999px;cursor:pointer}.account-button-ghost{min-width:0;padding:6px 14px;font-weight:600;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.6)}.login-sheet{--team-color: var(--gold)}.login-form{display:flex;flex-direction:column;gap:12px;margin-top:12px}.login-hint{margin:0;font-size:15px;line-height:1.6;text-align:left;color:var(--ink-soft)}.login-input{width:100%;padding:14px;font-size:17px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:12px}.login-code{font-size:24px;letter-spacing:.3em;text-align:center}.login-form .sheet-close{margin-top:0}.login-form .sheet-close:disabled{opacity:.6}.login-links{display:flex;justify-content:space-between}.link-button{padding:6px 2px;font-size:14px;color:var(--ink-soft);text-decoration:underline;background:none;border:0;cursor:pointer}.login-error{margin:12px 0 0;padding:10px 12px;font-size:14px;color:var(--bad);background:var(--bad-bg);border-radius:10px;text-align:left}.demo-entry{display:flex;flex-direction:column;gap:4px;width:100%;margin-bottom:24px;padding:16px 18px;text-align:left;color:#fff;background:linear-gradient(135deg,var(--navy),#24406b);border:0;border-radius:14px;cursor:pointer}.demo-entry strong{font-size:17px}.demo-entry span{font-size:13px;opacity:.8}.demo-top{display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 16px 6px}.demo-back{font-size:15px;text-decoration:none;color:var(--ink)}.demo-tag{font-size:12px;color:var(--ink-soft)}.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:6px 16px 0;padding:16px 10px;color:#fff;background:var(--navy);border-radius:16px}.team-score{display:grid;justify-items:center;gap:4px;opacity:.72}.team-score.win{opacity:1}.team-score img{width:52px;height:52px;padding:4px;background:var(--card);border-radius:50%}.team-score-name{font-size:15px;font-weight:700}.team-score-name small{margin-right:4px;font-size:11px;font-weight:400;opacity:.7}.team-score-runs{font-size:40px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.scoreboard-mid{display:grid;justify-items:center;gap:2px;font-size:12px}.scoreboard-final{padding:3px 10px;font-weight:700;color:var(--navy);background:var(--gold);border-radius:999px}.scoreboard-innings{opacity:.7}.linescore{margin:10px 16px 0;overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:12px}.linescore table,.box table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.linescore th,.linescore td{min-width:24px;padding:7px 4px;text-align:center}.linescore th[scope=row]{padding-left:10px;text-align:left;white-space:nowrap}.linescore .total{font-weight:700;background:var(--paper)}.demo-actions{display:grid;gap:6px;margin:12px 16px 0}.demo-actions .sheet-close{margin-top:0}.demo-seed{font-size:12px;color:var(--ink-soft);text-align:center}.demo-tabs{position:sticky;top:0;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);margin:16px 16px 0;padding:4px;background:var(--muted);border-radius:12px}.demo-tab{padding:9px 4px;font-size:14px;font-weight:600;color:var(--ink-soft);background:none;border:0;border-radius:9px;cursor:pointer}.demo-tab.active{color:var(--ink);background:var(--card);box-shadow:0 1px 3px #0000001f}.demo-content{padding-top:14px}.half-inning{margin-bottom:14px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--team-color);border-radius:12px}.half-inning h3{margin:0;padding:10px 12px 6px;font-size:14px}.half-inning>ol{margin:0;padding:0 0 6px;list-style:none}.play{border-top:1px solid var(--line)}.play.scored{background:var(--hi-bg)}.play.big{background:var(--hi-strong)}.play summary{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:9px 12px;font-size:14px;list-style:none;cursor:pointer}.play summary::-webkit-details-marker{display:none}.play-batter{font-weight:700}.play-result{flex:1 1 auto}.play-pitches{display:flex;flex-wrap:wrap;gap:2px;width:100%}.chip{display:inline-grid;place-items:center;width:20px;height:20px;font-size:11px;font-style:normal;border-radius:50%}.chip.ball{color:var(--good);background:var(--good-bg)}.chip.strike{color:var(--bad);background:var(--bad-bg)}.chip.foul{color:var(--hi-ink);background:var(--hi-bg)}.chip.play{color:#fff;background:var(--navy)}.play-runs{width:100%;font-size:13px;font-weight:700;color:var(--hi-ink)}.play-trigger{font-size:.75rem;font-weight:700;color:var(--accent)}.play-outs{font-size:12px;color:var(--ink-soft)}.play-note{padding:8px 12px;font-size:13px;color:var(--ink-soft);border-top:1px solid var(--line)}.play-detail{padding:0 12px 10px 24px;font-size:13px;color:var(--ink-soft)}.play-detail p{margin:4px 0}.play-detail ol{margin:4px 0;padding-left:18px}.box{margin-bottom:16px;overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:12px}.box h3{margin:0;padding:10px 12px 4px;font-size:15px}.box th,.box td{padding:6px 4px;text-align:center;white-space:nowrap}.box th{font-size:11px;font-weight:600;color:var(--ink-soft)}.box .left{padding-left:12px;text-align:left}.box tbody tr:nth-child(odd){background:var(--muted)}.box small{color:var(--ink-soft)}.broadcast{padding:0 12px}.scorebug{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:10px 12px;color:#fff;background:var(--navy);border-radius:14px}.scorebug-teams{display:grid;gap:4px}.bug-team{display:flex;align-items:center;gap:8px;padding:2px 6px 2px 2px;border-left:4px solid transparent;border-radius:6px}.bug-team.batting{background:#ffffff1a;border-left-color:var(--gold)}.bug-team img{width:28px;height:28px;padding:2px;background:var(--card);border-radius:50%}.bug-name{flex:1;font-size:15px;font-weight:700}.bug-score{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}.bug-state{display:grid;grid-template-columns:auto auto;align-items:center;justify-items:center;gap:2px 8px}.bug-inning{font-size:16px;font-weight:800}.bug-count{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.bug-outs{display:flex;gap:4px}.bug-outs i{width:10px;height:10px;border:2px solid rgba(255,255,255,.6);border-radius:50%}.bug-outs i.on{background:var(--gold);border-color:var(--gold)}.mini-diamond{width:34px;height:25px}.mini-diamond rect{fill:none;stroke:#ffffffb3;stroke-width:1.5}.mini-diamond rect.on{fill:var(--gold);stroke:var(--gold)}.bug-line{grid-column:1 / -1;display:grid;grid-template-columns:30px repeat(var(--innings, 9),minmax(0,1fr)) 28px;align-items:center;justify-items:center;row-gap:2px;padding-top:6px;font-size:11px;border-top:1px solid rgba(255,255,255,.15);font-variant-numeric:tabular-nums}.bug-line b{font-weight:400;opacity:.55}.bug-line em{min-height:15px;font-style:normal;font-weight:700}.bug-line-team{justify-self:start;font-weight:700}.stage{position:relative;margin-top:10px;overflow:hidden;background:#2f6b3c;border-radius:14px}.field{display:block;width:100%;height:auto}.field .grass{fill:#3f8a4e;stroke:#e9e2cf;stroke-width:2}.field .dirt{fill:#b98a5a}.field .infield{fill:#4a9a5a;stroke:#f4efe2;stroke-width:1.5}.field .base{fill:#fff}.field .ball{fill:#fff;stroke:#c33;stroke-width:.8}.field .ball-shadow{fill:#00000059}.banner{position:absolute;right:10px;bottom:10px;left:10px;padding:10px 12px;font-size:15px;font-weight:700;text-align:center;color:#fff;background:#0f1b2de0;border-left:5px solid var(--team-color);border-radius:10px;animation:banner-in .25s ease-out}.banner.score{color:var(--navy);background:#e9b949f2}.banner.big{font-size:16px;color:var(--navy);background:#ffd666f7;animation:banner-pop .5s 1.3s ease-out both}@keyframes banner-in{0%{opacity:0;transform:translateY(8px)}}@keyframes banner-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}}.matchup{display:grid;grid-template-columns:1fr 112px 1fr;align-items:center;gap:8px;margin-top:10px}.matchup-side{display:grid;gap:2px;min-width:0}.matchup-side.right{text-align:right}.matchup-side small{font-size:11px;color:var(--ink-soft)}.matchup-side strong{font-size:16px;overflow-wrap:anywhere}.pitch-count{font-size:12px;color:var(--ink-soft)}.zone{width:112px;height:112px;background:var(--card);border:1px solid var(--line);border-radius:10px}.zone-box{fill:#f6f2e8;stroke:var(--ink);stroke-width:1.5}.zone-grid{stroke:#c8c0ae;stroke-width:.8;fill:none}.zone-pitch circle{stroke:#fff;stroke-width:1.6}.zone-pitch text{font-size:8px;font-weight:700;text-anchor:middle;fill:#fff}.zone-pitch.ball circle{fill:#2e8b57}.zone-pitch.strike circle{fill:#c0392b}.zone-pitch.foul circle{fill:#c98a12}.zone-pitch.play circle{fill:var(--navy)}.zone-pitch{opacity:.55}.zone-pitch.latest{opacity:1;transform-box:fill-box;transform-origin:center;animation:pitch-in .3s ease-out}@keyframes pitch-in{0%{transform:scale(2.2);opacity:0}}.last-pitch{min-height:20px;margin:8px 0 0;font-size:13px;text-align:center;color:var(--ink-soft)}.controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.control,.speed button{padding:11px 8px;font-size:14px;font-weight:600;background:var(--card);border:1px solid var(--line);border-radius:10px;cursor:pointer}.control.main{color:#fff;background:var(--navy);border-color:var(--navy)}.control.ghost{grid-column:1 / -1;color:var(--ink-soft);background:none}.speed{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.speed button{padding:11px 0}.speed button.active{color:var(--navy);background:var(--gold);border-color:var(--gold)}.half-log{margin:14px 0 24px;background:var(--card);border:1px solid var(--line);border-radius:12px}.half-log h3{margin:0;padding:10px 12px 4px;font-size:14px}.half-log ol{margin:0;padding:0 12px 8px;list-style:none}.half-log li{padding:6px 0;font-size:14px;border-top:1px solid var(--line)}.log-runs{font-weight:700;color:var(--hi-ink)}.creation-entry{background:linear-gradient(135deg,#8c2428,#c2593a)}.creation{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.creation-top{display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 16px 6px}.creation-progress{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;margin:4px 16px 0}.creation-progress i{height:5px;background:var(--line);border-radius:3px}.creation-progress i.done{background:var(--team-color);opacity:.55}.creation-progress i.now{background:var(--team-color)}.creation-title{display:flex;align-items:baseline;gap:8px;margin:14px 16px 6px;font-size:22px}.creation-title small{font-size:13px;font-weight:600;color:var(--ink-soft)}.creation-body{padding:0 16px}.creation-nav{position:fixed;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 2fr;gap:8px;max-width:480px;margin:0 auto;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--paper) 96%,transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.creation-nav .control:disabled{opacity:.5}.creation-nav .control.main:disabled{color:var(--ink-soft);background:var(--muted-strong);border-color:var(--muted-strong);opacity:1;font-size:13px}.creation .control.main{background:var(--team-color);border-color:var(--team-color)}.choice{display:grid;gap:2px;justify-items:center;padding:12px 8px;font-size:14px;text-align:center;background:var(--card);border:2px solid var(--line);border-radius:12px;cursor:pointer}.choice small{font-size:11px;color:var(--ink-soft)}.choice.selected{border-color:var(--team-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--team-color) 25%,transparent)}.field-label{margin:18px 0 8px;font-size:14px;font-weight:700}.field-label small{font-weight:400;color:var(--ink-soft)}.note{margin:10px 0 0;font-size:13px;line-height:1.6;color:var(--ink-soft)}.stack,.grid-2,.grid-3,.grid-4,.grid-5{display:grid;gap:8px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-5{grid-template-columns:repeat(5,1fr)}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.role-card{padding:10px 10px 14px;gap:6px}.role-card img{width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:top;border-radius:8px;background:var(--paper)}.role-card strong{font-size:18px}.role-card span{font-size:12px;line-height:1.5;color:var(--ink-soft)}.name-row{display:grid;grid-template-columns:1fr auto;gap:8px}.team-pick{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.team-choice img{width:44px;height:44px}.team-choice strong{margin-top:4px}.route-card,.trait-card{justify-items:start;gap:6px;padding:14px;text-align:left}.route-head{display:flex;justify-content:space-between;width:100%}.route-head strong{font-size:17px}.route-head span{font-size:13px;color:var(--ink-soft)}.route-tags{display:flex;gap:6px}.route-tags span{padding:2px 8px;font-size:12px;background:var(--paper);border-radius:999px}.route-card p{margin:0;font-size:13px;line-height:1.6;color:var(--ink-soft)}.trait-card strong{font-size:16px}.trait-card span{font-size:13px;color:var(--ink-soft)}.template-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.template-chip{display:flex;flex:0 0 auto;gap:4px;padding:9px 12px;white-space:nowrap}.points{margin-top:12px;padding:10px 12px;font-size:14px;background:var(--hi-bg);border-radius:10px}.points.ok{background:var(--good-bg)}.points strong{font-size:18px}.points small{color:var(--ink-soft)}.stat-list{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none}.stat-head{display:flex;align-items:baseline;gap:8px}.stat-head small{font-size:12px;color:var(--ink-soft)}.stat-ctrl{display:grid;grid-template-columns:40px 1fr 56px 40px;align-items:center;gap:8px;margin-top:4px}.stat-ctrl button{height:40px;font-size:20px;font-weight:700;background:var(--card);border:1px solid var(--line);border-radius:10px;cursor:pointer}.stat-ctrl button:disabled{opacity:.35}.stat-bar{height:10px;overflow:hidden;background:var(--line);border-radius:5px}.stat-bar i{display:block;height:100%;background:var(--team-color);border-radius:5px;transition:width .15s}.stat-value{font-size:20px;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}.stat-value em{display:block;font-size:11px;font-style:normal;color:var(--ink-soft)}.projection{margin-top:16px;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:12px}.projection h3{margin:0 0 8px;font-size:14px}.projection dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}.projection dt{font-size:12px;color:var(--ink-soft)}.projection dd{margin:2px 0 0;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}.projection em{font-size:12px;font-style:normal;font-weight:600}.projection em.up{color:var(--good)}.projection em.down{color:var(--bad)}.look-preview{display:grid;justify-items:center;gap:4px;margin-top:4px;padding:10px 0 6px;background:linear-gradient(180deg,color-mix(in srgb,var(--team-color) 18%,#fff),var(--card));border-radius:14px}.face-choice{padding:6px 2px 8px}.hair-choice{padding:10px 2px;font-size:12px}.swatches{display:flex;gap:12px}.swatch{width:40px;height:40px;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 1px var(--line);cursor:pointer}.swatch.on{box-shadow:0 0 0 3px var(--team-color)}.motto-choice{justify-items:start;padding:12px 14px;text-align:left}.rookie-wrap{display:grid;gap:14px;margin-top:6px}.rookie-card{position:relative;display:grid;justify-items:center;padding:14px 14px 16px;overflow:hidden;color:#fff;background:radial-gradient(120% 70% at 50% 25%,rgba(255,255,255,.28),transparent 60%),linear-gradient(160deg,var(--team-color),color-mix(in srgb,var(--team-color) 55%,#000));border:4px solid var(--team-accent);border-radius:20px;box-shadow:0 10px 28px #00000040}.rookie-top{display:flex;justify-content:space-between;align-items:center;width:100%}.rookie-top img{padding:3px;background:var(--card);border-radius:50%}.rookie-badge{padding:4px 10px;font-size:12px;font-weight:800;letter-spacing:.15em;color:var(--navy);background:var(--gold);border-radius:6px}.rookie-avatar{margin-top:-8px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.3))}.rookie-name{display:grid;justify-items:center;margin-top:-4px;padding:8px 14px;width:100%;text-align:center;background:#00000059;border-radius:12px}.rookie-name strong{font-size:24px;letter-spacing:.08em}.rookie-name span{font-size:13px;opacity:.9}.rookie-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;width:100%;margin:10px 0 0;padding:0;list-style:none}.rookie-stats li{display:grid;justify-items:center;padding:6px 0;background:#ffffff24;border-radius:8px}.rookie-stats small{font-size:11px;opacity:.85}.rookie-stats b{font-size:18px}.rookie-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px}.rookie-meta span{padding:3px 9px;font-size:12px;background:#ffffff2e;border-radius:999px}.rookie-motto{margin:12px 0 0;font-size:15px;font-weight:700}.rookie-story{padding:14px;background:var(--card);border:1px solid var(--line);border-radius:14px}.rookie-story h3{margin:0 0 6px;font-size:15px}.rookie-story p{margin:6px 0 0;font-size:14px;line-height:1.8}.creation{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 16%,var(--paper)) 0,var(--paper) 220px);min-height:100dvh}.creation .choice{box-shadow:0 1px 2px #0f1b2d0f;transition:transform .1s ease,border-color .15s}.creation .choice:active{transform:scale(.97)}.note.top{margin:0 0 10px}.note.center{text-align:center}.team-choice.any .any-mark{display:grid;place-items:center;width:44px;height:44px;font-size:22px;font-weight:800;color:#fff;background:var(--ink-soft);border-radius:50%}.look-stage{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin:0 -16px;padding:10px 16px;background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.look-actions{display:grid;gap:8px}.look-actions .control{padding:10px 6px;font-size:13px}.look-tabs{position:sticky;top:228px;z-index:2;display:grid;grid-template-columns:repeat(6,1fr);margin:0 -16px;padding:6px 12px;background:var(--paper);border-bottom:1px solid var(--line)}.look-tabs button{padding:8px 0;font-size:14px;font-weight:600;color:var(--ink-soft);background:none;border:0;border-bottom:3px solid transparent;cursor:pointer}.look-tabs button.active{color:var(--ink);border-bottom-color:var(--team-color)}.look-panel{padding-top:12px}.thumb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.thumb{padding:4px 2px 6px;gap:2px}.thumb canvas{border-radius:8px;background:var(--muted)}.thumb small{display:flex;align-items:center;gap:4px;font-size:11px;line-height:1.3}.thumb.locked{opacity:.55}.thumb.none{align-content:center;min-height:92px}.none-mark{display:grid;place-items:center;width:68px;height:68px;font-size:15px;color:var(--ink-soft);background:var(--muted);border-radius:8px}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 1px #0003}.acc-group{margin-bottom:14px}.acc-title{margin:0 0 6px;font-size:13px;font-weight:700}.thumb-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.thumb-row .thumb{flex:0 0 84px}.avatar-frame{position:relative;aspect-ratio:4 / 5}.avatar-frame-inner{position:absolute;inset:5% 6% 11%;display:grid;place-items:end center}.avatar-frame.frame-007 .avatar-frame-inner{inset:0}.avatar-frame-inner canvas{width:100%!important;height:auto!important}.frame-art{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.thumb .avatar-frame{width:68px}.draft-stage{display:grid;justify-items:center;gap:10px;min-height:420px;margin-top:8px;padding:24px 16px;color:#fff;text-align:center;background:radial-gradient(90% 60% at 50% 0%,rgba(255,255,255,.18),transparent 70%),linear-gradient(180deg,#1b2a44,#0b1220);border-radius:20px}.draft-stage.reveal{background:radial-gradient(90% 60% at 50% 35%,rgba(255,255,255,.35),transparent 70%),linear-gradient(180deg,var(--team-color),color-mix(in srgb,var(--team-color) 45%,#000))}.draft-title{margin:0;font-size:14px;font-weight:700;letter-spacing:.3em;color:var(--gold)}.draft-text{margin:0;font-size:16px}.draft-go{margin-top:40px;padding:14px 40px;font-size:17px;background:var(--gold)!important;border-color:var(--gold)!important;color:var(--navy)!important}.draft-calling{display:grid;gap:20px;margin-top:30px}.draft-spinner{display:grid;grid-template-columns:repeat(4,56px);gap:10px}.draft-spinner img{width:56px;height:56px;padding:4px;background:var(--card);border-radius:50%;animation:draft-blink 1.1s infinite}.draft-spinner img:nth-child(2n){animation-delay:.25s}.draft-spinner img:nth-child(3n){animation-delay:.55s}@keyframes draft-blink{50%{opacity:.25;transform:scale(.9)}}.draft-reveal{display:grid;justify-items:center;gap:6px;animation:banner-pop .7s ease-out}.draft-round{margin:0;padding:4px 14px;font-size:14px;font-weight:700;color:var(--navy);background:var(--gold);border-radius:999px}.draft-logo{width:170px;height:170px;padding:10px;background:var(--card);border-radius:50%;box-shadow:0 0 0 6px var(--team-accent),0 12px 30px #00000059}.draft-team{margin:4px 0 0;font-size:28px;font-weight:800;letter-spacing:.1em}.draft-stage .note{color:#fffc}.offer-card{grid-template-columns:auto 1fr;justify-items:start;align-items:center;gap:12px;padding:14px;text-align:left}.offer-card div{display:grid;gap:2px}.offer-card strong{font-size:17px}.offer-card span{font-size:13px}.rookie-card .avatar-frame{margin-top:6px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.35))}.draft-stage{align-content:start}.draft-go{justify-self:center;width:auto;margin-top:48px}.projection{position:sticky;top:0;z-index:2;margin-top:12px;padding:8px 10px;box-shadow:0 4px 12px #0f1b2d14}.projection h3{margin:0 0 4px;font-size:12px;color:var(--ink-soft)}.projection dl{grid-template-columns:repeat(5,1fr);gap:4px}.projection dt{font-size:11px}.projection dd{display:grid;font-size:16px;line-height:1.2}.projection em{font-size:11px}.proj-extra{margin:4px 0 0;font-size:12px;color:var(--ink-soft)}.venue-toggle{display:inline-flex;margin-top:8px;padding:3px;background:#0000004d;border-radius:999px}.venue-toggle button{padding:5px 14px;font-size:12px;font-weight:700;color:#fffc;background:none;border:0;border-radius:999px;cursor:pointer}.venue-toggle button.on{color:var(--navy);background:var(--card)}.look-stage{background:radial-gradient(70% 90% at 22% 50%,rgba(31,58,100,.12),transparent 70%),color-mix(in srgb,var(--paper) 94%,transparent)}.avatar-frame.painted{container-type:inline-size}.avatar-frame.painted .frame-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.painted-avatar{position:absolute;inset:0}.painted-avatar canvas{width:100%!important;height:auto!important}.frame-banner{position:absolute;left:0;right:0;transform:translateY(-50%);font-family:"Noto Serif TC",Songti TC,Georgia,serif;font-weight:900;letter-spacing:.08em;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.7);pointer-events:none}h1,h2,h3,.hero-title,.section-title,.creation-title,.sheet-name,.team-name,.rookie-name strong,.rookie-badge,.draft-title,.draft-team,.draft-round,.demo-entry strong,.role-card strong,.route-head strong,.trait-card strong,.team-choice strong,.offer-card strong,.points strong,.stat-value,.rookie-stats b,.team-score-runs,.bug-score,.banner,.frame-banner-text,.control.main{font-family:var(--font-display)}.frame-banner-text{font-family:"Huninn",var(--font-display)}.my-player{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;width:100%;margin-bottom:18px;padding:12px 16px 12px 10px;text-align:left;color:#fff;background:radial-gradient(80% 120% at 0% 50%,rgba(255,255,255,.18),transparent 60%),linear-gradient(135deg,var(--team-color),color-mix(in srgb,var(--team-color) 55%,#000));border:0;border-radius:16px;cursor:pointer}.my-player-info{display:grid;gap:2px}.my-player-info small{font-size:12px;opacity:.75}.my-player-info strong{font-family:var(--font-display);font-size:22px;letter-spacing:.05em}.my-player-info span{font-size:13px;opacity:.9}.my-player-info em{margin-top:4px;font-size:13px;font-style:normal;color:var(--gold)}.login-notice{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-bottom:10px;padding:10px 12px;font-size:13px;background:var(--hi-bg);border-radius:12px}.login-notice p{margin:0}.creation-nav .control.main.full{grid-column:1 / -1}.today-entry{display:flex;align-items:center;justify-content:space-between;width:100%;margin:-6px 0 18px;padding:14px 16px;text-align:left;background:var(--card);border:2px solid var(--gold);border-radius:14px;cursor:pointer}.today-entry div{display:grid;gap:2px}.today-entry strong{font-family:var(--font-display);font-size:18px}.today-entry span{font-size:13px;color:var(--ink-soft)}.today-dots,.ap{display:flex;gap:6px;align-items:center}.today-dots i,.ap i{width:14px;height:14px;border:2px solid var(--gold);border-radius:50%}.today-dots i.on,.ap i.on{background:var(--gold)}.today-strip{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;margin:4px 16px 0;padding:10px 14px 10px 8px;color:#fff;background:linear-gradient(135deg,var(--team-color),color-mix(in srgb,var(--team-color) 55%,#000));border-radius:16px}.today-strip canvas{border-radius:50%;background:#ffffff26}.today-status{display:grid;gap:6px}.today-status strong{font-family:var(--font-display);font-size:20px}.cond{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:12px}.cond i{height:8px;overflow:hidden;background:#ffffff40;border-radius:4px}.cond b{display:block;height:100%;border-radius:4px;background:#7ddc8a;transition:width .4s}.cond.ok b{background:#f2c94c}.cond.tired b{background:#ff7b6b}.cond em{font-style:normal;font-weight:700}.ap span{margin-right:2px;font-size:12px}.today-result{margin:10px 16px 0;padding:12px;font-family:var(--font-display);font-size:18px;text-align:center;color:var(--navy);background:linear-gradient(90deg,#ffe08a,#ffd54a);border-radius:12px;animation:banner-pop .45s ease-out}.goal-card{display:grid;gap:8px;margin-bottom:12px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:14px}.goal-card.done{background:var(--hi-bg)}.goal-card h3{display:grid;gap:2px;margin:0;font-family:var(--font-display);font-size:18px}.goal-card h3 small{font-family:inherit;font-size:13px;font-weight:500;color:var(--ink-soft)}.goal-card .note{margin:0}.goal-line{margin:0;font-weight:700}.goal-kind{padding:0 6px;font-size:11px;color:var(--hi-ink);background:var(--hi-bg);border-radius:4px}.goal-badges{display:flex;flex-wrap:wrap;gap:4px}.goal-badges b{padding:1px 8px;font-size:12px;color:var(--hi-ink);background:var(--hi-bg);border-radius:999px}.event-card{overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 12px #0f1b2d14}.event-scene{position:relative;height:150px;background:var(--scene) center / cover no-repeat,linear-gradient(135deg,var(--team-color),color-mix(in srgb,var(--team-color) 55%,#0f1b2d))}.event-speaker{position:absolute;bottom:-18px;left:14px;display:flex;gap:8px;align-items:flex-end;font-size:13px;font-weight:700;color:var(--ink)}.event-speaker>span{display:grid;line-height:1.2;padding:3px 10px;background:var(--card);border-radius:10px;box-shadow:0 1px 4px #00000026}.event-speaker>span small{font-size:11px;font-weight:500;color:var(--ink-soft)}.event-speaker b{display:grid;place-items:center;width:52px;height:52px;font-family:var(--font-display);font-size:22px;color:#fff;background:var(--team-color);border:3px solid var(--card);border-radius:50%;box-shadow:0 2px 6px #0003}.event-speaker.has-figure{bottom:0;left:4px;gap:2px}.event-speaker.has-figure>span{margin-bottom:10px}.event-speaker b.event-figure{display:block;width:auto;height:auto;background:none;border:0;border-radius:0;box-shadow:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.event-speaker b.event-figure canvas{display:block}.event-body{display:grid;gap:8px;padding:26px 14px 14px}.event-kicker{margin:0;font-size:12px;letter-spacing:.08em;color:var(--ink-soft)}.event-body h3{margin:0;font-family:var(--font-display);font-size:19px}.event-text{margin:0;line-height:1.6}.event-options{display:grid;gap:8px;margin:0;padding:0;list-style:none}.event-options button{display:grid;gap:2px;width:100%;padding:10px 12px;text-align:left;font:inherit;color:var(--ink);cursor:pointer;background:var(--paper);border:1px solid var(--line);border-radius:10px}.event-options button:hover:not(:disabled),.event-options button:focus-visible{border-color:var(--team-color);outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--team-color) 35%,transparent)}.event-options button.dice{background:var(--hi-bg)}.event-option-label{font-weight:700}.event-options small{color:var(--ink-soft)}.event-note{margin:0;font-size:12px;color:var(--ink-soft)}.event-result{display:grid;gap:4px;padding:10px 12px;background:var(--paper);border-radius:10px}.event-result p{margin:0}.event-result .won{font-weight:700;color:var(--good)}.event-result .lost{color:var(--ink-soft)}.event-effect{font-weight:700}.event-result.rolling{display:flex;gap:8px;align-items:center;font-weight:700}.event-die{display:inline-block;font-size:22px;animation:event-roll .3s linear infinite}@keyframes event-roll{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.event-die{animation:none}}.today-h{margin:20px 0 10px;font-size:18px}.today-done,.today-next{padding:14px;font-size:14px;line-height:1.6;background:var(--card);border:1px solid var(--line);border-radius:12px}.train-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.train-card{display:grid;justify-items:start;gap:2px;padding:12px;text-align:left;background:var(--card);border:2px solid var(--line);border-radius:14px;cursor:pointer}.train-card.on{border-color:var(--team-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--team-color) 25%,transparent)}.train-icon{font-size:22px}.train-card strong{font-family:var(--font-display);font-size:16px}.train-card small{font-size:12px;line-height:1.4;color:var(--ink-soft)}.train-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.train-tags em{padding:1px 7px;font-size:11px;font-style:normal;font-weight:700;border-radius:999px}.train-tags .gp{color:var(--hi-ink);background:var(--hi-bg)}.train-tags .up{color:var(--good);background:var(--good-bg)}.train-tags .down{color:var(--bad);background:var(--bad-bg)}.train-tags .risk{color:#fff;background:var(--bad)}.ability-list{display:grid;gap:6px;margin:12px 0 0;padding:0;list-style:none}.ability{display:grid;grid-template-columns:56px 40px 1fr 56px;align-items:center;gap:8px;width:100%;padding:10px 12px;text-align:left;background:var(--card);border:2px solid var(--line);border-radius:12px;cursor:pointer}.ability.on{border-color:var(--team-color)}.ab-name{font-weight:700}.ab-value{font-family:var(--font-display);font-size:20px}.ab-gp{display:grid;gap:2px}.ab-gp i{height:6px;overflow:hidden;background:var(--line);border-radius:3px}.ab-gp b{display:block;height:100%;background:var(--gold)}.ab-gp small{font-size:11px;color:var(--ink-soft)}.ab-preview{font-size:13px;font-weight:700;text-align:right;color:var(--good)}.today-go{width:100%;margin-top:12px;padding:14px;font-size:16px}.today .control.main{color:#fff;background:var(--team-color);border-color:var(--team-color)}.today .control.main:disabled{color:var(--ink-soft);background:var(--muted-strong);border-color:var(--muted-strong)}.today-log{margin:12px 0 0;padding:10px 14px;font-size:13px;list-style:none;background:var(--card);border-radius:12px}.today-log li+li{margin-top:6px}.today-log b{color:var(--good)}.seg{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:4px 10px;margin-bottom:12px}.seg-label{font-weight:700}.seg-row{display:grid;grid-template-columns:repeat(3,1fr);padding:3px;background:var(--muted);border-radius:10px}.seg-row button{padding:9px 0;font-weight:600;color:var(--ink-soft);background:none;border:0;border-radius:8px;cursor:pointer}.seg-row button.on{color:#fff;background:var(--team-color)}.seg-hint{grid-column:2;font-size:12px;color:var(--ink-soft)}.banner.mine{color:var(--navy);background:#fffffff5;border-left-color:#f2b632;box-shadow:0 0 0 3px #f2b632}.matchup-side.me strong{color:var(--hi-ink)}.matchup-side.me strong:before{content:"⭐ "}.play.mine summary .play-batter,tr.mine td:first-child{color:var(--hi-ink)}.play.mine{box-shadow:inset 4px 0 #f2b632}tr.mine{background:var(--hi-bg)}.bench-note{flex-basis:100%;margin:0 0 6px;padding:10px 12px;font-size:14px;background:var(--hi-bg);border-radius:10px}.next-game{display:grid;grid-template-columns:48px 1fr;gap:10px 12px;align-items:center;padding:14px;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--opp-color);border-radius:12px}.next-game strong{display:block;font-size:16px}.next-game small{color:var(--ink-soft, #5b6575)}.next-game .control,.next-game .note{grid-column:1 / -1;margin:0}.retire-open{display:block;margin:28px auto 8px;font-size:14px;color:var(--ink-soft)}.retire{margin:24px 0 8px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:12px}.retire h2{margin:0 0 8px;font-size:17px}.retire ul{margin:0 0 12px;padding-left:18px;font-size:14px;line-height:1.7}.retire label{display:grid;gap:6px;font-size:14px}.retire input{padding:10px 12px;font:inherit;font-size:16px;border:1px solid var(--line);border-radius:10px}.retire-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.control.danger{color:#fff;background:#b3261e;border-color:#b3261e}.control.danger:disabled{opacity:.4}.growth-card{flex-basis:100%;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:12px}.growth-card h3{margin:0 0 6px;font-size:16px}.growth-card ul{margin:0;padding:0;list-style:none;font-size:14px;line-height:1.8}.growth-levels{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}.growth-levels b{padding:3px 10px;font-size:15px;color:var(--navy);background:var(--hi-strong);border-radius:999px;animation:banner-pop .5s ease-out}.cond-effect{display:block;margin-top:2px;font-size:12px;opacity:.85}.sore-badge{display:inline-block;margin-top:4px;padding:2px 8px;font-size:12px;font-weight:700;color:var(--bad);background:var(--bad-bg);border:1px dashed var(--bad);border-radius:999px}.fans-badge{display:grid;gap:2px;margin-top:6px;font-size:13px}.fans-count small{margin-left:4px;color:var(--ink-soft)}.fans-heat{display:flex;gap:6px;align-items:center}.fans-heat i{flex:0 1 90px;height:6px;overflow:hidden;background:var(--muted);border-radius:999px}.fans-heat i b{display:block;height:100%;background:var(--gold)}.fans-heat em{font-style:normal;color:var(--ink-soft)}.fans-awards{font-size:12px;color:var(--ink-soft)}.fans-title{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.fans-title small{color:var(--ink-soft)}.fan-badge-chip{padding:1px 8px;font-size:12px;color:var(--hi-ink);background:var(--hi-bg);border-radius:999px}.fan-board{padding:8px 12px;background:var(--card);border:1px solid var(--line);border-radius:12px}.fan-scope{display:inline-flex;margin-bottom:6px;padding:3px;background:var(--muted);border-radius:999px}.fan-scope button{padding:4px 12px;font-size:12px;font-weight:700;color:var(--ink-soft);background:none;border:0;border-radius:999px;cursor:pointer}.fan-scope button.on{color:var(--ink);background:var(--card)}.fan-rank{margin:0;padding-left:22px}.fan-rank li{padding:3px 0}.fan-rank li>*{vertical-align:middle}.fan-rank li.mine{font-weight:700}.fan-rank-num{float:right;font-variant-numeric:tabular-nums}.fan-king.mine{font-weight:700}.form-badge{margin-top:6px;padding:4px 8px;font-size:13px;background:var(--muted);border-radius:8px}.form-badge .form-tier{font-weight:700}.form-badge small{display:block;color:var(--ink-soft)}.form-badge.hot,.form-badge.up{color:var(--hi-ink);background:var(--hi-bg)}.form-badge.down,.form-badge.cold{color:var(--bad);background:var(--bad-bg)}.form-icon{font-size:12px}.form-icon.up,.form-icon.hot{color:var(--hi-ink)}.form-icon.down,.form-icon.cold{color:var(--bad)}.hot-players{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.hot-list{padding:8px 12px;background:var(--card);border:1px solid var(--line);border-radius:12px}.hot-list h3{margin:0 0 4px;font-size:14px}.hot-list ol{margin:0;padding-left:20px}.hot-list li{padding:3px 0}.hot-list li.mine{font-weight:700}.hot-name small{margin-left:6px;color:var(--ink-soft)}.hot-name .hot-human{padding:0 4px;color:var(--hi-ink);background:var(--hi-bg);border-radius:4px}.hot-line{display:block;color:var(--ink-soft)}.lineup-status-wrap{grid-column:1 / -1}.lineup-status{margin:0;padding:8px 10px;font-size:14px;font-weight:700;background:var(--muted);border-radius:10px}.lineup-status.start{color:var(--navy);background:var(--hi-bg)}.lineup-preview{margin-top:6px;font-size:13px}.lineup-preview summary{color:var(--ink-soft);cursor:pointer}.lineup-preview ol{margin:6px 0;padding-left:22px;line-height:1.7}.lineup-preview small{color:var(--ink-soft)}.lineup-preview p{margin:0}.lineup-preview .mine{font-weight:700;color:var(--hi-ink)}.next-game>.lineup-status{grid-column:1 / -1}.ap em{margin-left:4px;font-size:13px;font-style:normal;opacity:.85}.today-explain{display:grid;gap:6px;margin:0 0 12px;padding:10px 12px;font-size:13px;line-height:1.6;background:var(--hi-bg);border:1px dashed var(--line);border-radius:12px}.today-explain div{display:grid;grid-template-columns:6.5em 1fr;gap:8px}.today-explain dt{font-weight:700}.today-explain dd{margin:0;color:var(--ink-soft)}.lineup-status.rest{color:var(--bad);background:var(--bad-bg)}.skip-day{display:grid;gap:4px;margin:12px 0 0;padding:10px 12px;border:1px dashed var(--line);border-radius:12px}.skip-day small{font-size:12px;color:var(--ink-soft)}.watch-choose{display:grid;gap:10px;margin:12px 16px}.watch-choose h2{margin:8px 0 0;font-size:20px;text-align:center}.watch-choose>p{margin:0 0 6px;font-size:14px;color:var(--ink-soft);text-align:center}.watch-option{display:grid;gap:4px;padding:14px 16px;font:inherit;text-align:left;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:14px;cursor:pointer}.watch-option strong{font-size:18px}.watch-option span{font-size:13px;color:var(--ink-soft)}.watch-option:first-of-type{border:2px solid var(--gold);background:var(--hi-bg)}.highlight-tag{margin:6px 16px 0;padding:4px 10px;font-size:13px;font-weight:700;color:var(--navy);text-align:center;background:var(--hi-strong);border-radius:999px}.season-tabs{position:static;margin-bottom:12px}.season-empty{padding:18px;font-size:14px;line-height:1.6;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:12px}.stat-bigs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.stat-big{display:grid;gap:2px;padding:12px;text-align:center;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--team-color);border-radius:12px}.stat-big span{font-size:13px;color:var(--ink-soft)}.stat-big strong{font-family:var(--font-display);font-size:30px;line-height:1.1}.stat-big small{font-size:11px;color:var(--ink-soft)}.season-mound{margin:10px 0 0;padding:10px 14px;font-size:14px;background:var(--hi-bg);color:var(--ink);border:1px dashed var(--hi-ink);border-radius:12px}.season-mound b{color:var(--hi-ink);margin-right:4px}.stat-table{width:100%;margin-top:12px;font-size:14px;border-collapse:collapse;background:var(--card);border-radius:12px;overflow:hidden}.stat-table th,.stat-table td{padding:8px 14px;border-bottom:1px solid var(--line)}.stat-table th{font-weight:400;text-align:left;color:var(--ink-soft)}.stat-table td{font-weight:700;text-align:right}.game-log{display:grid;gap:6px;margin:0;padding:0;list-style:none}.game-log button{display:grid;grid-template-columns:30px 32px 1fr auto;gap:10px;align-items:center;width:100%;padding:10px 12px;font:inherit;text-align:left;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:12px;cursor:pointer}.gl-result{display:grid;place-items:center;width:30px;height:30px;font-weight:700;color:#fff;background:#8a8f99;border-radius:50%}.gl-result.W{background:#c0392b}.gl-result.L{background:#2c3e50}.gl-main{display:grid}.gl-main small{font-size:12px;color:var(--ink-soft)}.gl-gp{font-size:12px;font-style:normal;font-weight:700;color:var(--hi-ink);background:var(--hi-strong);padding:2px 8px;border-radius:999px}.standings{width:100%;font-size:13px;border-collapse:collapse;background:var(--card);border-radius:12px;overflow:hidden}.standings th,.standings td{padding:8px 4px;text-align:center;border-bottom:1px solid var(--line)}.standings th{font-weight:400;color:var(--ink-soft)}.standings .left{text-align:left}.st-team{display:inline-flex;gap:6px;align-items:center;font-weight:700}.standings tr.mine{background:var(--hi-bg)}.standings caption{caption-side:bottom;padding:8px;font-size:12px;color:var(--ink-soft)}.shell{min-height:100dvh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:20;display:flex;gap:10px;align-items:center;height:52px;padding:0 14px;background:var(--topbar-bg);color:var(--topbar-ink);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.topbar-brand{display:flex;gap:8px;align-items:center;margin-right:auto;font-family:var(--font-display);font-size:17px}.topbar-account{height:32px;padding:0 12px;font-size:14px;color:var(--accent-ink);background:var(--accent);border:0;border-radius:999px;cursor:pointer}.topbar-account.ghost{color:var(--ink-soft);background:transparent;border:1px solid var(--line)}.topbar-account.muted{display:inline-grid;place-items:center;color:var(--ink-soft);background:none}.shell-main{max-width:560px;margin:0 auto}.tabbar{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--tab-bg);border-top:1px solid var(--line)}.tabbar button{display:grid;gap:2px;justify-items:center;padding:6px 0;font-size:12px;color:var(--ink-soft);background:none;border:0;border-radius:12px;cursor:pointer}.tabbar button.on{color:var(--accent-strong)}.tabbar button:focus-visible,.today-cta:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.tab-page{padding:16px}.tab-page .section-title,.home .section-title{display:flex;gap:8px;align-items:baseline;margin:22px 0 10px;font-size:19px}.section-title small{font-size:13px;font-weight:400;color:var(--ink-soft)}.tab-page .rookie-card{margin-top:4px}.home{padding:0 16px 16px}.home-hero{position:relative;display:grid;grid-template-columns:156px 1fr;gap:8px;align-items:center;margin:0 -16px;padding:18px 16px 30px;isolation:isolate}.hh-scene{position:absolute;inset:0;z-index:-1}.hh-avatar{position:relative}.hh-name{margin:0;font-family:var(--font-display);font-size:28px;line-height:1.2}.hh-team{margin:4px 0 0;font-size:13px}.hh-meters{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.hh-meter{display:inline-flex;gap:4px;align-items:baseline;padding:4px 10px;font-size:13px;white-space:nowrap;border-radius:999px}.hh-meter small{font-size:12px;opacity:.8}.hh-meter b{font-family:var(--font-display);font-size:18px}.hh-warn{margin:8px 0 0;font-size:12px}.today-cta{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:4px;padding:16px 18px;font-family:var(--font-display);color:var(--accent-ink);background:var(--accent);border:0;border-radius:18px;cursor:pointer}.tc-main{font-size:19px}.tc-sub{font-size:14px;opacity:.92}.ghost-cta{display:block;width:100%;margin-top:10px;padding:14px;font-size:15px;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:14px;cursor:pointer}.home-last{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;width:100%;margin-top:14px;padding:12px 14px;text-align:left;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:14px;cursor:pointer}.hl-main{display:grid}.hl-main small{font-size:12px;color:var(--ink-soft)}.hl-main strong{font-size:15px}.welcome-hero{grid-template-columns:1fr;justify-items:center;padding:26px 16px 34px;text-align:center}.welcome-title{margin:8px 0 0;font-family:var(--font-display);font-size:28px}.welcome-tagline{margin:6px 0 0;font-size:14px}.welcome-phase{margin:18px 0 0;font-size:12px;color:var(--ink-soft);text-align:center}.welcome .today-cta{margin-top:0}:root{--paper: #f2f6fa;--card: #ffffff;--ink: #1c2b40;--ink-soft: #5d6f86;--line: #dbe5ef;--muted: #e7eef5;--muted-strong: #d6e1ec;--navy: #14304f;--gold: #ffb23e;--accent: #3d8fdc;--accent-strong: #2a74bd;--accent-ink: #ffffff;--stamp: #c8372d;--grass: #3e8e4a;--sky-shade: rgba(20, 60, 120, .5);--topbar-bg: rgba(255, 255, 255, .86);--topbar-ink: var(--ink);--tab-bg: #ffffff}.home-hero{min-height:300px;color:#fff}.home-hero .hh-scene{background:linear-gradient(90deg,rgba(20,60,120,0) 25%,var(--sky-shade) 100%),var(--park-art, url(/assets/scenes/stadium-atmosphere.webp)) center 30% / cover}.home-hero:after{position:absolute;right:0;bottom:-1px;left:0;height:30px;content:"";background:var(--paper);border-radius:50% 50% 0 0/30px 30px 0 0}.hh-name,.hh-team,.hh-warn,.welcome-title,.welcome-tagline{text-shadow:0 2px 8px rgba(10,40,90,.6)}.hh-meter{color:var(--ink);background:#ffffffeb}.hh-meter.cond-good b{color:#2e8b57}.hh-meter.cond-bad b{color:#c0392b}.today-cta{box-shadow:0 6px 16px #3d8fdc59}.home .section-title,.tab-page .section-title{padding-left:10px;border-left:5px solid var(--grass)}.next-game{position:relative;grid-template-columns:48px 1fr auto;border:0;border-top:6px solid color-mix(in srgb,var(--opp-color) 70%,transparent);border-radius:10px;box-shadow:0 4px 12px #22324a1f;background:radial-gradient(circle at 0 50%,var(--paper) 9px,transparent 10px),radial-gradient(circle at 100% 50%,var(--paper) 9px,transparent 10px),var(--card)}.next-game>:not(img):not(div):not(.ng-stub){grid-column:1 / -1}.ng-stub{display:grid;grid-column:3;grid-row:1;justify-items:center;align-self:stretch;margin:-14px -14px 0 0;padding:10px 14px 8px 16px;font-size:11px;color:var(--ink-soft);border-left:3px dotted var(--line)}.ng-stub strong{font-family:var(--font-display);font-size:24px;line-height:1.1;color:var(--ink)}.next-game .lineup-status,.next-game .lineup-status.rest{justify-self:center;padding:8px 14px;color:var(--stamp);background:transparent;border:3px solid var(--stamp);border-radius:14px;transform:rotate(-4deg);font-family:var(--font-display)}.next-game .lineup-status.start{border-style:double;border-width:5px}.control.main,.next-game .control.main,.creation .control.main,.today .control.main,.sheet-close{color:#fff;background:var(--accent);border-color:var(--accent)}.today-strip{background:linear-gradient(90deg,#143c78e0,#143c789e),var(--park-art, url(/assets/scenes/stadium-atmosphere.webp)) center 40% / cover;border-top:5px solid var(--team-color);box-shadow:0 6px 16px #143c7840}.report .scoreboard,.demo .scoreboard{color:var(--ink);background:radial-gradient(circle at 0 50%,var(--paper) 10px,transparent 11px),radial-gradient(circle at 100% 50%,var(--paper) 10px,transparent 11px),var(--card);border-top:6px solid var(--accent);border-radius:12px;box-shadow:0 4px 12px #22324a1f}.scoreboard-final{padding:6px 12px;font-family:var(--font-display);font-size:14px;color:var(--stamp);background:transparent;border:3px double var(--stamp);border-width:5px;border-radius:12px;transform:rotate(-5deg)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 65%,transparent);outline-offset:1px}@media(prefers-reduced-motion:reduce){.next-game .lineup-status,.scoreboard-final{transform:none}}.choice{position:relative;transition:border-color .15s,background-color .15s,transform .1s}.choice:active{transform:scale(.98)}.choice.selected{background:color-mix(in srgb,var(--team-color) 9%,var(--card));border-color:var(--team-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--team-color) 22%,transparent)}.choice.selected:after{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;width:22px;height:22px;font-size:13px;font-weight:700;color:#fff;content:"✓";background:var(--team-color);border:2px solid var(--card);border-radius:50%}.choice.dim{opacity:.45}.creation-title{align-items:center}.cr-me{display:inline-flex;gap:6px;align-items:center;max-width:52%;margin-left:auto;padding:3px 8px 3px 3px;font-family:inherit;font-size:13px;background:var(--card);border:1px solid var(--line);border-radius:999px;box-shadow:0 2px 6px #22324a14}.cr-me canvas{flex:0 0 auto;border-radius:50%;background:var(--muted)}.cr-me-text{display:grid;min-width:0;line-height:1.15}.cr-me-text b{overflow:hidden;font-size:13px;white-space:nowrap;text-overflow:ellipsis}.cr-me-text small{font-size:11px;font-weight:400;color:var(--ink-soft)}.pos-field{position:relative;aspect-ratio:300 / 240;margin:0 -4px}.pos-field svg{position:absolute;inset:0;width:100%;height:100%}.pf-grass{fill:#6fbf73}.pf-dirt{fill:#d9a066}.pf-infield{fill:#6fbf73}.pf-line{fill:none;stroke:#fff;stroke-width:2;opacity:.8}.pf-mound{fill:#d9a066;stroke:#fff;stroke-width:1.5}.pos-dot{position:absolute;width:58px;padding:4px 2px 5px;gap:0;line-height:1.1;background:#fffffff0;border-width:2px;border-radius:12px;box-shadow:0 3px 8px #143c1e40;transform:translate(-50%,-50%)}.pos-dot:active{transform:translate(-50%,-50%) scale(.96)}.pos-dot strong{font-family:var(--font-display);font-size:17px}.pos-dot small{font-size:10px}.pos-dot.selected{color:#fff;background:var(--team-color)}.pos-dot.selected small{color:#ffffffd9}.pos-C{left:50%;top:93%}.pos-1B{left:69%;top:68%}.pos-2B{left:61%;top:48%}.pos-SS{left:39%;top:48%}.pos-3B{left:31%;top:68%}.pos-LF{left:21%;top:32%}.pos-CF{left:50%;top:19%}.pos-RF{left:79%;top:32%}.pf-base{fill:#fff}.template-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;overflow:visible}.template-chip{justify-content:center}.template-chip{flex-direction:column;align-items:center;gap:2px;padding:8px 4px}.tpl-icon{width:48px;height:48px;object-fit:contain}.trait-card.has-icon{grid-template-columns:56px 1fr;align-items:center;gap:12px}.trait-icon{width:56px;height:56px;object-fit:contain}.trait-text{display:grid;gap:4px}.bg-card.has-icon{grid-template-columns:76px 1fr}.bg-art{width:76px;height:76px;object-fit:cover;border-radius:10px}.train-icon{width:44px;height:44px;object-fit:contain}.empty-art{display:block;width:160px;height:160px;margin:8px auto 0;object-fit:contain}.empty-block{text-align:center}.rookie-card{background:radial-gradient(120% 70% at 50% 25%,rgba(255,255,255,.22),transparent 60%),linear-gradient(160deg,color-mix(in srgb,var(--team-color) 55%,transparent),color-mix(in srgb,var(--team-color) 35%,rgba(0,0,0,.5))),url(/assets/creation/rookie-card-bg.webp) center / cover}.pick-hint{padding:12px;text-align:center;background:var(--hi-bg);border:1px dashed color-mix(in srgb,var(--gold) 60%,var(--line));border-radius:12px}.draft-stage{min-height:420px;background:linear-gradient(180deg,#08102840,#08102826 45%,#081028b3),url(/assets/creation/draft-stage.webp) center 30% / cover}.arm-card{gap:2px;padding:6px 4px 8px}.arm-card img{width:100%;aspect-ratio:1;object-fit:contain}.pitch-card{gap:2px;padding:6px 4px 8px}.pitch-primary{font-size:.72rem;font-style:normal;font-weight:700;color:var(--accent)}.pitch-path{width:56px;height:64px}.pp-zone{fill:color-mix(in srgb,var(--accent) 10%,transparent);stroke:var(--ink-soft);stroke-width:1;stroke-dasharray:2 2}.pp-line{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round}.pp-start{fill:var(--ink-soft)}.pp-ball{fill:#fff;stroke:#c8372d;stroke-width:1.5}.route-card.has-art{padding-top:0}.route-art{justify-self:stretch;width:calc(100% + 28px);height:120px;margin:0 -14px 4px;object-fit:cover;object-position:center 60%;border-radius:10px 10px 0 0}.draft-stage.reveal{background:radial-gradient(70% 40% at 50% 35%,rgba(255,255,255,.3),transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--team-color) 55%,transparent),color-mix(in srgb,var(--team-color) 80%,#000)),url(/assets/creation/draft-stage.webp) center 30% / cover}.draft-stage.intro .draft-go{margin-top:28px;padding:14px 34px;font-size:18px;box-shadow:0 8px 22px #ffb23e73}.role-info{margin-top:14px;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--team-color);border-radius:12px}.role-info h3{margin:0 0 6px;font-family:var(--font-display);font-size:17px}.role-info ul{margin:0;padding-left:20px;font-size:14px;line-height:1.7}.role-abilities{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0 0}.role-abilities small{margin-right:2px;font-size:12px;color:var(--ink-soft)}.role-abilities span{padding:3px 10px;font-size:13px;background:var(--muted);border-radius:999px}.team-choice{gap:2px;padding:0 8px 10px}.tc-park{display:block;justify-self:stretch;height:58px;margin:0 -8px;background-position:center 45%;background-size:cover;border-bottom:4px solid var(--tc-color, var(--ink-soft));border-radius:10px 10px 0 0}.tc-any{background:linear-gradient(#5d6f868c,#5d6f868c),url(/assets/scenes/stadium-atmosphere.webp) center 40% / cover}.team-choice img,.team-choice.any .any-mark{position:relative;width:52px;height:52px;margin-top:-28px;padding:3px;background:var(--card);border-radius:50%;box-shadow:0 3px 8px #14284638}.team-choice.any .any-mark{color:#fff;background:var(--ink-soft);border:3px solid var(--card)}.team-choice strong{margin-top:2px;font-size:16px}.tc-home{font-size:10px!important;opacity:.85}.team-choice.selected .tc-park{filter:saturate(1.15)}.ng-stage{display:inline-block;margin-bottom:2px;padding:2px 8px;font-size:12px;font-weight:700;color:var(--stamp);border:2px solid var(--stamp);border-radius:999px}.season-end-card{display:grid;gap:10px;padding:14px;background:var(--card);border-top:6px solid var(--gold);border-radius:12px;box-shadow:0 4px 12px #22324a1f}.se-headline{margin:0;font-family:var(--font-display);font-size:18px}.se-text,.se-note{margin:0;font-size:13px;color:var(--ink-soft)}.se-champion{position:relative;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:14px 16px;color:#fff;background:radial-gradient(80% 120% at 0% 0%,rgba(255,220,120,.45),transparent 60%),linear-gradient(135deg,var(--team-color),color-mix(in srgb,var(--team-color) 55%,#000));border-radius:12px}.se-champion img{padding:3px;background:#fff;border-radius:50%}.se-champion small{display:block;opacity:.85}.se-champion strong{font-family:var(--font-display);font-size:24px}.se-trophy{position:absolute;top:-12px;right:10px;font-size:30px}.se-grade{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}.se-grade p{margin:2px 0 0;font-size:14px}.se-grade small{font-size:12px;color:var(--ink-soft)}.grade-stamp{display:grid;place-items:center;width:58px;height:58px;font-family:var(--font-display);font-size:32px;color:var(--stamp);border:5px double var(--stamp);border-radius:14px;transform:rotate(-6deg)}.grade-stamp.g-S{color:#b8860b;border-color:#d4a017}.grade-stamp.g-none{color:var(--ink-soft);border-color:var(--line)}.se-team{display:inline-flex;gap:4px;align-items:center;font-size:13px;vertical-align:middle}.se-team.strong{font-weight:700}.se-bracket{display:grid;gap:10px}.se-series{padding:10px 12px;background:var(--muted);border-radius:10px}.se-series.final{background:var(--hi-bg);border:2px solid var(--gold)}.se-series h4{margin:0 0 6px;font-size:13px;color:var(--ink-soft)}.se-series ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}.se-series li{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:6px;align-items:center;font-size:13px}.se-series li:not(:has(small)){grid-template-columns:1fr auto 1fr}.se-series li b{font-family:var(--font-display);text-align:center}.se-series li .se-team:last-child{justify-self:end}.se-series li.mine{color:var(--accent-strong)}.se-winner{margin:6px 0 0;font-size:13px}.se-bracket.compact .se-series{padding:8px 10px}.season-summary .se-h{margin:18px 0 8px;font-family:var(--font-display);font-size:17px}.se-awards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.se-award{display:grid;gap:2px;padding:12px;background:var(--card);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:10px}.se-award small{font-size:12px;color:var(--ink-soft)}.se-award strong{font-family:var(--font-display);font-size:18px}.se-award span{font-size:12px}.se-leader-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.se-leader-grid section{padding:10px;background:var(--card);border:1px solid var(--line);border-radius:10px}.se-leader-grid h4{margin:0 0 6px;font-size:13px}.se-leaders{display:grid;gap:3px;margin:0;padding-left:18px;font-size:12px}.se-leaders li span{margin:0 4px}.se-leaders li img{display:inline;vertical-align:middle}.se-leaders li b{float:right}.se-leaders li.human{font-weight:700;color:var(--accent-strong)}.se-champ-line{margin:0 0 8px;font-family:var(--font-display);font-size:18px}.scorebug{position:relative;padding:10px 14px 12px;background:radial-gradient(circle at 0 62%,var(--paper) 8px,transparent 9px),radial-gradient(circle at 100% 62%,var(--paper) 8px,transparent 9px),linear-gradient(165deg,#2a6aaa 0%,var(--navy) 62%);border-top:5px solid var(--accent);border-radius:12px;box-shadow:0 6px 16px #14304f47}.bug-team{border-left-width:5px}.bug-team.batting{background:linear-gradient(90deg,color-mix(in srgb,var(--team-color) 45%,transparent),#ffffff0f);border-left-color:var(--gold)}.bug-team img{box-shadow:0 0 0 2px var(--team-color)}.bug-score{min-width:1.4em;font-size:28px;line-height:1;text-align:right}.bug-inning{font-family:var(--font-display);font-size:18px}.bug-count{padding:1px 6px;font-family:var(--font-display);background:#ffffff1f;border-radius:6px}.bug-outs i.on{background:var(--stamp);border-color:#ff8a80}.bug-line{margin-top:4px;padding:5px 8px 6px;color:var(--ink);background:var(--card);border-top:0;border-radius:8px;box-shadow:inset 0 3px 0 -1px #14304f14}.bug-line b{opacity:1;color:var(--ink-soft)}.bug-line b.now{color:#fff;background:var(--accent);border-radius:999px;min-width:16px;text-align:center}.bug-line em.scored{color:var(--stamp)}.bug-line-team{padding-left:4px;border-left:3px solid var(--team-color)}.bug-line .bug-line-total{justify-self:stretch;text-align:center;font-family:var(--font-display);border-left:2px dotted var(--line)}.bug-line b.bug-line-total{color:var(--ink)}.stage{background:#1d3a26;box-shadow:0 6px 18px #14281e40}.field .camera.smooth{transition:transform .7s cubic-bezier(.3,.7,.3,1)}.field .outside{fill:#1f2d3d}.field .roof-ribs{fill:none;stroke:#cdd7e1;stroke-dasharray:.8 7;stroke-linejoin:round}.field .roof-edge{fill:none;stroke:#9fb0c1;stroke-width:1.4;stroke-linejoin:round}.field .roof-rim{fill:none;stroke:#7f91a3;stroke-width:2;stroke-linejoin:round}.field .tower-shadow{fill:#0000004d}.field .light-tower .tower-bank{fill:#e9eef3;stroke:#3d4c5c;stroke-width:.6}.field .light-tower .tower-lamp{fill:#ffe9a3}.field .bullpen-ground{fill:#3f8550;stroke:#ffffff80;stroke-width:.5}.field .foul-pole{fill:#ffd23f;stroke:#6b5200;stroke-width:.6}.field .scoreboard{fill:#0f1b2d;stroke:#e9b949;stroke-width:1.2}.field .scoreboard-screen{fill:#2a6aaa}.field .dugout{fill:#1b2b40;stroke:#e7eef5;stroke-width:.8}.field .mow-a{fill:#ffffff0d}.field .mow-b{fill:#0000000a}.field .wall{fill:none;stroke:#14304f;stroke-width:3.4;stroke-linejoin:round}.field .wall-pad{fill:none;stroke:#ffb23e;stroke-width:.7;stroke-linejoin:round}.field .dirt{fill:#c9925c}.field .base-paths{fill:none;stroke:url(#dirt-tex) #c9925c;stroke-width:3.6;stroke-linejoin:round}.field .rubber{fill:#fff}.field .box-line{fill:none;stroke:#ffffffd9;stroke-width:.5}.field .foul-line{fill:none;stroke:#ffffffe6;stroke-width:.8}.field .figure .torso{stroke:#142233;stroke-width:.7}.field .figure .skin{fill:#f2c39b;stroke:#142233;stroke-width:.4}.field .figure .glove{fill:#8a5a2b;stroke:#3d2412;stroke-width:.5}.field .figure .cap,.field .figure .brim{stroke:#142233;stroke-width:.6}.field .figure .cap-button{fill:#ffffffb3}.field .figure .bat{fill:#d9a35f;stroke:#5b3a17;stroke-width:.4}.field .figure.runner .cap,.field .figure.batter .cap{stroke:#ffd166;stroke-width:1}.field .figure.out{opacity:.3;transition:opacity .3s}.field .error-mark path{fill:#fff;stroke:var(--stamp);stroke-width:.8}.field .error-mark text{font-family:var(--font-display);font-size:7px;font-weight:700;text-anchor:middle;fill:var(--stamp)}.field .error-mark,.field .out-tag{transform-box:fill-box;transform-origin:center}.field .error-mark{animation:mark-pop .35s cubic-bezier(.2,1.6,.4,1) both}.field .out-tag rect{fill:var(--stamp);stroke:#fff;stroke-width:.8}.field .out-tag.safe rect{fill:var(--accent)}.field .out-tag text{font-family:var(--font-display);font-size:5.6px;font-weight:700;text-anchor:middle;fill:#fff;letter-spacing:.04em}.field .out-tag{animation:mark-pop .3s cubic-bezier(.2,1.6,.4,1) both}@keyframes mark-pop{0%{opacity:0;scale:.3}}.field .shadow{fill:#00000047}.field .ball{fill:#fff;stroke:#c8372d;stroke-width:.6;filter:drop-shadow(0 0 2px rgba(255,255,255,.9))}.field .ball-shadow{fill:#0006}.cutin{position:absolute;top:10px;right:8px;left:8px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:4px;pointer-events:none}.cutin-side{display:flex;gap:6px;align-items:center;min-width:0;padding:5px 8px;color:#fff;background:linear-gradient(90deg,var(--team-color),color-mix(in srgb,var(--team-color) 60%,#000));border-radius:10px;box-shadow:0 4px 10px #0000004d;animation:cutin-left .45s cubic-bezier(.2,.9,.3,1.2) both}.cutin-side.pit{justify-content:flex-end;text-align:right;background:linear-gradient(270deg,var(--team-color),color-mix(in srgb,var(--team-color) 60%,#000));animation-name:cutin-right}.cutin-side img{flex:0 0 auto;padding:2px;background:#fff;border-radius:50%}.cutin-side span{display:grid;min-width:0;line-height:1.15}.cutin-side small{font-size:10px;opacity:.8}.cutin-side strong{overflow:hidden;font-family:var(--font-display);font-size:15px;white-space:nowrap;text-overflow:ellipsis}.cutin-line{overflow:hidden;font-size:10px;font-style:normal;white-space:nowrap;text-overflow:ellipsis;opacity:.92}.cutin-line .form-icon.hot,.cutin-line .form-icon.up{color:#ffd166}.cutin-line .form-icon.down,.cutin-line .form-icon.cold{color:#a8d8ff}.cutin-side.me{box-shadow:0 0 0 3px #ffd166,0 4px 10px #0000004d}.cutin-vs{font-family:var(--font-display);font-size:16px;font-style:italic;color:#ffd166;text-shadow:0 2px 4px rgba(0,0,0,.6);animation:fx-pop .4s .2s both}@keyframes cutin-left{0%{opacity:0;transform:translate(-110%)}}@keyframes cutin-right{0%{opacity:0;transform:translate(110%)}}.fx{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.fx strong{font-family:var(--font-display)}.fx-hr{overflow:hidden}.fx-hr-flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,#fff6c8f2,#ffd23f59 45%,#0a14288c);animation:hr-flash 2.6s ease-out both}@keyframes hr-flash{0%{opacity:0}8%{opacity:1}30%{opacity:.75;background-color:transparent}to{opacity:.6}}.fx-hr-burst{position:absolute;top:45%;left:50%;width:560px;height:560px;margin:-280px 0 0 -280px;background:repeating-conic-gradient(rgba(255,236,160,.55) 0deg 9deg,transparent 9deg 22.5deg);border-radius:50%;-webkit-mask:radial-gradient(circle,#000 12%,transparent 62%);mask:radial-gradient(circle,#000 12%,transparent 62%);animation:hr-burst-in .5s .05s cubic-bezier(.2,1.2,.4,1) both,hr-spin 8s linear infinite}@keyframes hr-burst-in{0%{opacity:0;scale:.2}}@keyframes hr-spin{to{rotate:360deg}}.fx-hr-title{position:relative;display:grid;justify-items:center;width:min(88%,340px);margin-top:-6%}.fx-hr-ribbon{position:relative;z-index:1;margin-bottom:-10px;padding:4px 22px;font-family:var(--font-display);font-size:18px;letter-spacing:.2em;color:#fff;background:var(--stamp);border:2px solid #fff;border-radius:6px;box-shadow:0 3px #8a1f18,0 6px 14px #00000059;transform:rotate(-3deg);animation:hr-ribbon .45s .45s cubic-bezier(.2,1.5,.4,1) both}@keyframes hr-ribbon{0%{opacity:0;transform:rotate(-3deg) translateY(-24px) scale(1.6)}}.fx-hr-word{width:100%;overflow:visible;filter:drop-shadow(0 6px 0 #0d2340) drop-shadow(0 12px 18px rgba(0,0,0,.45));animation:hr-word .7s .15s cubic-bezier(.2,1.6,.4,1) both}.fx-hr-word text{font-family:var(--font-display);font-size:70px;font-weight:700;text-anchor:middle;stroke-linejoin:round}.fx-hr-word .outer{fill:#fff;stroke:#fff;stroke-width:18px}.fx-hr-word .inner{fill:#0d2340;stroke:#0d2340;stroke-width:9px}.fx-hr-word .fill{fill:url(#hr-fill)}@keyframes hr-word{0%{opacity:0;transform:scale(3) rotate(-8deg)}60%{opacity:1;transform:scale(.92) rotate(1deg)}to{transform:scale(1) rotate(0)}}.fx-hr-meta{display:flex;gap:8px;align-items:center;margin-top:2px;animation:fx-rise .8s .8s ease-out both}.fx-hr-meta span{padding:3px 12px;font-size:14px;font-weight:700;color:#fff;background:#0d2340d9;border-radius:999px}.fx-hr-meta em{font-family:var(--font-display);font-size:30px;font-style:normal;color:#ffd23f;text-shadow:0 2px 0 #0d2340,0 0 2px #0d2340,0 4px 10px rgba(0,0,0,.5)}.fx-hr-firework{position:absolute;width:0;height:0}.fx-hr-firework i{position:absolute;width:6px;height:6px;margin:-3px;background:hsl(var(--hue),95%,65%);border-radius:50%;box-shadow:0 0 6px hsl(var(--hue),95%,70%);animation:firework 1.2s var(--d) ease-out both}@keyframes firework{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(1.6)}70%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(-70px) scale(.4)}}.fx-hr-confetti{position:absolute;top:-12px;width:7px;height:12px;background:hsl(var(--hue),85%,60%);border-radius:2px;animation:confetti 2.6s var(--d) linear both}@keyframes confetti{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:.2;transform:translateY(460px) rotate(540deg)}}.fx-k strong{padding:6px 18px;font-size:40px;color:var(--stamp);background:#ffffffd9;border:6px double var(--stamp);border-radius:16px;transform:rotate(-10deg);animation:stamp .35s cubic-bezier(.3,1.6,.5,1) both}@keyframes stamp{0%{opacity:0;transform:rotate(-10deg) scale(2.2)}}.fx-hit{align-content:center;gap:4px}.fx-hit strong{padding:4px 14px;font-size:28px;color:#fff;background:var(--accent);border-radius:999px;box-shadow:0 4px 12px #00000059;animation:fx-pop .4s cubic-bezier(.2,1.4,.4,1) both}.fx-hit em{font-family:var(--font-display);font-size:30px;font-style:normal;color:#ffd166;text-shadow:0 3px 6px rgba(0,0,0,.6);animation:fx-rise 1s .15s ease-out both}@keyframes fx-pop{0%{opacity:0;transform:scale(.4)}}@keyframes fx-rise{0%{opacity:0;transform:translateY(16px)}30%{opacity:1}}@media(prefers-reduced-motion:reduce){.field .camera.smooth{transition:none}.cutin-side,.field .error-mark,.field .out-tag,.fx strong,.fx i,.fx em,.fx-hr-flash,.fx-hr-burst,.fx-hr-ribbon,.fx-hr-word,.fx-hr-meta{animation:none}.fx-hr-firework,.fx-hr-confetti{display:none}}.admin{max-width:720px;margin:0 auto;padding:12px 14px 40px}.admin-head{display:flex;gap:12px;align-items:center;margin-bottom:10px}.admin-head strong{font-family:var(--font-display);font-size:20px}.admin-nav{display:flex;gap:6px;overflow-x:auto;margin-bottom:12px}.admin-nav button{display:grid;flex:none;padding:8px 14px;font-size:14px;font-weight:700;color:var(--ink-soft);background:var(--card);border:1px solid var(--line);border-radius:999px;cursor:pointer}.admin-nav button.on{color:#fff;background:var(--navy);border-color:var(--navy)}.admin-nav small{font-size:10px;font-weight:400;opacity:.7}.admin-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px}.admin-stat{display:grid;gap:2px;padding:12px;background:var(--card);border-top:4px solid var(--accent);border-radius:10px;box-shadow:0 2px 8px #22324a14}.admin-stat small,.admin-stat span{font-size:12px;color:var(--ink-soft)}.admin-stat strong{font-family:var(--font-display);font-size:28px;line-height:1.1}.admin-card{margin-bottom:10px;padding:12px 14px;background:var(--card);border-radius:10px;box-shadow:0 2px 8px #22324a14}.admin-card h3{margin:0 0 8px;font-size:16px}.admin-card p{margin:4px 0}.admin-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;align-items:end;height:110px}.admin-bar{display:grid;grid-template-rows:auto 1fr auto;justify-items:center;height:100%;font-size:11px}.admin-bar span{align-self:end;width:70%;min-height:2px;background:var(--accent);border-radius:4px 4px 0 0}.admin-bar small{color:var(--ink-soft)}.admin-flag{padding:1px 8px;color:var(--ink-soft);background:var(--muted);border-radius:999px}.admin-flag.on{color:#fff;background:var(--stamp)}.admin-meter{height:12px;overflow:hidden;background:var(--muted);border-radius:999px}.admin-meter span{display:block;height:100%;background:var(--grass);border-radius:999px}.admin-meter.warn span{background:var(--stamp)}.admin-tables,.admin-log{margin:8px 0 4px;padding:0;list-style:none;font-size:13px}.admin-tables li{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px dashed var(--line)}.admin-log li{padding:4px 0;border-bottom:1px dashed var(--line)}.admin-rule{margin-top:16px;font-size:12px;color:var(--ink-soft)}@media(min-width:640px){.admin-stats{grid-template-columns:repeat(4,1fr)}}@media(min-width:900px){.shell{padding-bottom:32px;padding-left:220px}.topbar{margin-left:-220px;padding-left:24px}.tabbar{top:52px;right:auto;width:220px;grid-template-columns:1fr;align-content:start;gap:4px;padding:16px 12px;border-top:0;border-right:1px solid var(--line)}.tabbar button{display:flex;gap:12px;align-items:center;padding:12px 14px;font-size:16px}.tabbar button.on{background:var(--muted)}.shell-main{max-width:760px;padding:8px 24px}.home-hero{margin:0;border-radius:0 0 24px 24px;grid-template-columns:200px 1fr}.home-hero .hh-avatar .avatar-frame{width:190px!important}.stat-bigs{grid-template-columns:repeat(4,1fr)}.team-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.hh-park{position:absolute;right:12px;bottom:34px;z-index:1;padding:3px 10px;font-size:12px;color:#fff;background:#0a1e3c73;border-radius:999px}.sheet-park{position:relative;margin:-20px -20px 12px}.sheet-park img{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:20px 20px 0 0}.sheet-park figcaption{position:absolute;bottom:8px;left:12px;padding:3px 10px;font-size:12px;color:#fff;background:#0a1e3c80;border-radius:999px}.watch-park{position:relative;height:180px;margin:0 -16px 4px;background-position:center 35%;background-size:cover;border-radius:0 0 20px 20px}.watch-park span{position:absolute;bottom:10px;left:16px;padding:3px 10px;font-size:13px;color:#fff;background:#0a1e3c80;border-radius:999px}.crash{padding:16px;background:var(--card);border:1px solid var(--line);border-radius:14px}.crash h2{margin:0 0 6px;font-size:18px}.crash pre{max-height:180px;overflow:auto;padding:10px;font-size:12px;white-space:pre-wrap;background:var(--muted);border-radius:8px}.season-over{display:grid;gap:8px}.season-over p{margin:0}.season-over small{font-size:12px;color:var(--ink-soft)}.tendency-bar{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;flex:1;align-items:center}.tendency-bar i{height:8px;border-radius:4px;background:color-mix(in srgb,var(--ink-soft) 25%,transparent)}.tendency-bar i.mid{background:color-mix(in srgb,var(--ink-soft) 45%,transparent)}.tendency-bar i.on{height:12px;background:var(--accent)}.tendency-train{display:grid;gap:12px;margin:14px 0}.tendency-train h3{margin:0;font-size:1rem}.tendency-row{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--card, #fff)}.tendency-head{display:flex;justify-content:space-between;align-items:baseline}.tendency-scale{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;font-size:.82rem}.tendency-moves{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tendency-moves .ability{display:grid;grid-template-columns:1fr;gap:4px;text-align:left;padding:10px}.tendency-moves .ability small{font-size:.75rem;opacity:.8}.tendency-hint{margin:4px 0 0;font-size:.78rem;opacity:.8}.hb-section{margin:10px 0;border:1px solid var(--line);border-radius:14px;background:var(--card, #fff)}.hb-section summary{padding:14px 16px;font-weight:700;cursor:pointer}.hb-body{padding:0 16px 14px;line-height:1.7}.hb-body h4{margin:14px 0 4px}.hb-body table{width:100%;border-collapse:collapse;font-size:.85rem}.hb-body th,.hb-body td{padding:6px 4px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.hb-body dt{margin-top:10px;font-weight:700}.hb-body dd{margin:4px 0 0}.hb-note{font-size:.85rem;opacity:.8}.locker{margin-top:16px}.locker-sub{margin:12px 0 6px;font-size:13px;color:var(--ink-soft)}.honor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:0;padding:0;list-style:none}.honor{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;text-align:center;background:var(--card);border:1px solid var(--muted);border-radius:12px}.honor b{font-size:12px;line-height:1.3}.honor small{font-size:11px;color:var(--ink-soft)}.honor-icon{font-size:28px;line-height:1.2}.honor.ring-gold{background:linear-gradient(160deg,#fff6d6,var(--card));border-color:#d9b44a}.honor.ring-silver{background:linear-gradient(160deg,#eef1f5,var(--card));border-color:#a8b1bd}.honor.locked{opacity:.45;filter:grayscale(1)}.profile{margin-top:16px}.profile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:0;padding:0;list-style:none}.profile-cell{display:flex;flex-direction:column;gap:2px;padding:10px;background:var(--card);border:1px solid var(--muted);border-radius:12px}.profile-cell span{font-size:12px;color:var(--ink-soft)}.profile-cell strong{font-size:20px;line-height:1.2}.profile-cell small{font-size:11px;color:var(--ink-soft)}.profile-cell.low strong,.profile-mix tr.low td{color:var(--ink-soft)}.profile-mix th small{display:block;font-size:11px;font-weight:400;color:var(--ink-soft)}.profile-more{display:block;width:100%;margin-top:10px;padding:10px;font-size:13px;font-weight:700;color:var(--ink);background:var(--muted);border:0;border-radius:10px;cursor:pointer}.profile-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0;list-style:none}.profile-tags li{padding:4px 10px;font-size:12px;font-weight:700;color:var(--team-color, var(--ink));background:var(--card);border:1.5px solid var(--team-color, var(--ink));border-radius:999px}.pct-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.pct-card{padding:10px;background:var(--card);border:1px solid var(--muted);border-radius:12px}.pct-head{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.pct-head strong{font-size:18px}.pct-bar{height:8px;margin:6px 0 4px;overflow:hidden;background:var(--muted);border-radius:999px}.pct-bar i{display:block;height:100%;background:var(--team-color, var(--ink));border-radius:999px}.pct-card.style .pct-bar i{background:var(--ink-soft)}.pct-card small{font-size:11px;color:var(--ink-soft)}.zone-block{--heat-hue: #d1495b;margin-top:4px}.zone-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.zone-type{padding:4px 8px;font-size:12px;color:var(--ink);background:var(--card);border:1px solid var(--muted);border-radius:8px}.zone-map{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;width:min(100%,300px);aspect-ratio:5 / 6;margin:8px auto 6px}.zone-map [role=gridcell]{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--ink);background:var(--card);border-radius:4px;outline-offset:2px;cursor:default}.zone-map [role=gridcell].heat{background:color-mix(in oklab,var(--heat-hue) var(--heat),var(--card))}.zone-map [role=gridcell].empty{color:var(--ink-soft);background:var(--muted)}.zone-map [role=gridcell]:hover,.zone-map [role=gridcell]:focus-visible{outline:2px solid var(--ink)}.zone-out{font-size:12px!important}.zone-out-11{align-items:flex-start!important;justify-content:flex-start!important;padding:6px}.zone-out-12{align-items:flex-start!important;justify-content:flex-end!important;padding:6px}.zone-out-13{align-items:flex-end!important;justify-content:flex-start!important;padding:6px}.zone-out-14{align-items:flex-end!important;justify-content:flex-end!important;padding:6px}.zone-in{position:absolute;inset:20%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:2px;padding:2px;background:var(--paper, var(--card));border:2px solid var(--ink);border-radius:4px}.zone-legend{display:flex;gap:6px;align-items:center;justify-content:center;font-size:11px;color:var(--ink-soft)}.zone-legend i{width:96px;height:8px;background:linear-gradient(90deg,var(--card),color-mix(in oklab,var(--heat-hue) 70%,var(--card)));border:1px solid var(--muted);border-radius:999px}.topbar-title{display:flex;flex-direction:column;line-height:1.1}.version-chip{align-self:flex-start;white-space:nowrap;margin-top:2px;padding:0;font-family:var(--font-body, inherit);font-size:11px;line-height:1.2;color:var(--ink-soft);background:none;border:0;cursor:pointer}.version-chip.new{padding:1px 8px;font-weight:700;color:#fff;background:#d9771f;border-radius:999px}.version-list{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0 0 10px;font-size:14px}.version-list dt{color:var(--ink-soft)}.version-list dd{margin:0;word-break:break-word}.version-actions{display:flex;gap:8px}.version-actions .sheet-close{flex:1}.version-sheet{text-align:left}.version-sheet .sheet-name{margin-bottom:12px}.version-actions .sheet-close.ghost{color:var(--ink);background:transparent;border:1px solid var(--line)}.login-legal{margin:14px 0 0;font-size:12px;line-height:1.6;color:var(--ink-soft)}.login-legal a{margin:0 2px;color:inherit;text-decoration:underline}.zone-heat .hot{fill:#d1495b}.zone-heat .cold{fill:#3a6ea5}.zone-strength{font-size:11px;white-space:nowrap;font-style:normal;font-weight:700;color:#b4363f}.zone-legend-line{margin:4px 0 0;font-size:11px;text-align:center;color:var(--ink-soft)}.zone-legend-line i{display:inline-block;width:10px;height:10px;margin-right:3px;vertical-align:-1px;border-radius:2px}.zone-legend-line i.hot{background:#d1495b73}.zone-legend-line i.cold{background:#3a6ea573}.control.heat-toggle{color:var(--ink-soft)}.control.heat-toggle.on{color:#b4363f;border-color:#d1495b80}.form-trend{margin-top:8px;padding:8px 10px 6px;background:var(--card);border:1px solid var(--muted);border-radius:12px}.form-trend-head{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:700}.form-trend-head small{font-weight:400;color:var(--ink-soft)}.form-trend svg{display:block;width:100%;height:auto;margin-top:4px}.form-trend .band.up{fill:var(--hi-bg)}.form-trend .band.down{fill:var(--bad-bg)}.form-trend .mid{stroke:var(--line);stroke-dasharray:3 3}.form-trend .band-label{font-size:9px;fill:var(--ink-soft)}.form-trend .trend-line{fill:none;stroke:var(--ink-soft);stroke-width:2;stroke-linejoin:round}.form-trend .trend-dot{cursor:pointer}.form-trend .trend-dot .hit{fill:transparent}.form-trend .trend-dot circle{fill:var(--ink-soft);stroke:var(--card);stroke-width:2}.form-trend .trend-dot.hot circle,.form-trend .trend-dot.up circle{fill:var(--hi-ink)}.form-trend .trend-dot.down circle,.form-trend .trend-dot.cold circle{fill:var(--bad)}.form-trend-pick{margin:2px 0 0;font-size:12px;color:var(--ink-soft)}.rookie-honors{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;width:100%;margin:8px 0 0;padding:0;list-style:none}.rookie-honors li{display:inline-flex;gap:4px;align-items:center;max-width:100%;padding:3px 10px;font-size:12px;font-weight:700;color:#fff;white-space:nowrap;background:#ffffff29;border:1px solid rgba(255,255,255,.35);border-radius:999px}.rookie-honors li.ring-gold{border-color:#e6c35c;background:#e6c35c40}.rookie-honors li.ring-silver{border-color:#c9d1db}.honor-pin{margin-top:4px;padding:3px 8px;font-size:11px;font-weight:700;color:var(--ink-soft);background:transparent;border:1px solid var(--line);border-radius:999px;cursor:pointer}.honor-pin.on{color:#8a5a00;background:var(--hi-bg);border-color:#e0b34a}.pos-strip{display:flex;flex-wrap:wrap;gap:6px;align-items:stretch;margin:8px 0 4px}.pos-chip{display:inline-flex;flex-direction:column;min-width:72px;padding:5px 10px 6px;font-weight:700;font-size:14px;color:var(--ink);background:var(--card);border:2px dashed var(--line);border-radius:10px}.pos-chip small{font-size:11px;font-weight:700;color:var(--ink-soft)}.pos-chip.main{color:#fff;background:var(--team-color, var(--navy));border-style:solid;border-color:transparent}.pos-chip.main small{color:#ffffffd9}.pos-chip.full{border-style:solid;border-color:var(--good)}.pos-chip.full small{color:var(--good)}.pos-chip i{display:block;height:4px;margin-top:4px;overflow:hidden;background:var(--line);border-radius:99px}.pos-chip b{display:block;height:100%;background:var(--good)}.pos-none{align-self:center;font-size:13px;color:var(--ink-soft)}.pos-train-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0 0}.pos-train{display:flex;flex-direction:column;gap:4px;padding:10px 12px;text-align:left;background:var(--card);border:2px solid var(--line);border-radius:12px;cursor:pointer}.pos-train.on{border-color:var(--team-color, var(--navy));box-shadow:0 0 0 2px color-mix(in srgb,var(--team-color, var(--navy)) 25%,transparent)}.pos-train:disabled{cursor:not-allowed;opacity:.55}.pos-train strong{font-size:15px}.pos-train small{font-size:12px;color:var(--ink-soft)}.pos-train i{display:block;height:5px;overflow:hidden;background:var(--line);border-radius:99px}.pos-train b{display:block;height:100%;background:var(--good)}.pos-change{margin-top:10px;padding:10px 12px;background:var(--hi-bg);border:2px dashed var(--line);border-radius:12px}.pos-change p{margin:0 0 8px;font-size:13px}.pos-change .row{display:flex;flex-wrap:wrap;gap:8px}.train-emoji{display:grid;place-items:center;width:44px;height:44px;font-size:30px}.rest-plan ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;margin:8px 0;padding:0;list-style:none}.rest-plan li{display:flex;flex-direction:column;align-items:center;padding:5px 4px;font-weight:700;background:var(--card);border:2px dashed var(--line);border-radius:10px}.rest-plan li b{font-size:11px;color:var(--ink-soft)}.rest-plan li small{min-height:14px;font-size:11px}.rest-plan li.done{color:var(--ink-soft);border-style:solid;opacity:.6}.rest-plan li.late{border-color:var(--hi-ink)}.rest-plan li.late small{color:var(--hi-ink)}.rest-plan .note{margin:0;font-size:12px}.depth-levels{display:inline-flex;gap:4px;padding:3px;margin-bottom:8px;background:var(--line);border-radius:999px}.depth-levels button{min-width:64px;padding:6px 12px;font-weight:700;color:var(--ink-soft);background:transparent;border:0;border-radius:999px;cursor:pointer}.depth-levels button.on{color:#fff;background:var(--team-color, var(--navy))}.depth-list{display:grid;gap:6px;margin:0 0 8px;padding:0;list-style:none}.depth-list li{display:grid;grid-template-columns:64px 1fr;gap:8px;align-items:start;padding:8px 10px;background:var(--card);border:2px dashed var(--line);border-radius:12px}.depth-pos{padding-top:2px;font-family:var(--font-display);font-size:14px;color:var(--team-color, var(--navy))}.depth-names{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:14px}.depth-p{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:baseline;color:var(--ink-soft)}.depth-p b{font-size:11px}.depth-p.starter{flex-basis:100%;font-weight:700;color:var(--ink)}.depth-p.mine{font-weight:700;color:var(--hi-ink)}.depth-p i{padding:0 6px;font-size:11px;font-style:normal;font-weight:700;color:var(--ink-soft);background:var(--paper);border-radius:999px}.depth-p i.human{color:var(--good);background:var(--good-bg)}.depth-p small{font-size:11px}.coach-words{display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:center;margin:4px 0 12px;padding:10px 12px;background:var(--hi-bg);border:2px dashed var(--hi-strong);border-radius:14px}.coach-face{overflow:hidden;width:56px;height:56px;background:var(--card);border-radius:50%}.coach-words small{font-size:12px;font-weight:700;color:var(--hi-ink)}.coach-words p{margin:2px 0 0;font-size:14px;line-height:1.5}.pos-trial{display:block;margin-top:2px;font-size:12px;font-weight:400}.sheet-sub{margin:16px 0 8px;font-family:var(--font-display);font-size:16px;text-align:left}.sheet .depth{text-align:left}.cutin.pinch .cutin-side.bat small{display:inline-block;padding:1px 6px;font-size:11px;font-weight:700;color:var(--navy);background:var(--gold);border-radius:999px;opacity:1}.cutin.pinch .cutin-side.bat{box-shadow:0 0 0 2px var(--gold)}.pinch-line{margin:8px 0 0;padding:8px 10px;font-size:14px;background:var(--card);border:2px dashed var(--line);border-radius:12px}.pinch-line b{margin-right:6px;font-family:var(--font-display)}.box-dec{margin-left:4px;padding:0 5px;font-size:10px;font-weight:700;color:var(--hi-ink);background:var(--hi-bg);border-radius:999px}.depth-list.staff{margin-top:10px}.depth-sub{margin:14px 0 6px;font-family:var(--font-display);font-size:15px}.depth-sub small{margin-left:6px;font-family:inherit;font-size:12px;font-weight:400;color:var(--ink-soft)}.depth-list.staff .depth-p{color:var(--ink);font-weight:700}.depth-list.staff .depth-p.mine{color:var(--hi-ink)}.depth-p i.form{padding:0 4px;background:transparent}.depth-p i.form.hot,.depth-p i.form.up{color:var(--bad)}.depth-p i.form.cold,.depth-p i.form.down{color:#2b6cb0}.role-card{position:relative}.role-card .slot-stamp{top:-9px;left:-6px}.slot-stamp{position:absolute;top:-15px;left:-10px;z-index:1;padding:1px 5px;font-family:var(--font-display);font-size:10px;font-weight:700;line-height:1.4;color:var(--accent-strong);white-space:nowrap;background:#fff;border:1.5px dashed currentColor;border-radius:6px;transform:rotate(-6deg);pointer-events:none}.slot-stamp.low{color:var(--hi-ink);background:var(--hi-bg)}.slot-stamp.full{color:var(--stamp);border-style:double;border-width:3px}.choice:disabled{cursor:not-allowed;opacity:.55;filter:grayscale(.6)}.pos-dot:disabled:active{transform:translate(-50%,-50%)}.choice:disabled .slot-stamp{opacity:1;filter:none}.slots-note b{color:var(--accent-strong)}.note.warn{color:var(--stamp)}.waitlist-box{margin-top:14px;padding:12px 14px;background:var(--card);border:1.5px dashed var(--line);border-radius:14px}.waitlist-box h3{margin:0 0 4px;font-size:16px}.waitlist-box .note{margin:0 0 10px}.wl-rows{display:grid;gap:8px}.wl-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}.wl-pos{font-weight:700}.wl-state{font-size:13px;color:var(--ink-soft)}.wl-row .control{min-width:76px;min-height:40px}.waitlist-offer{position:relative;margin:10px 0;padding:12px 14px;background:var(--hi-bg);border:2px solid var(--hi-strong);border-radius:14px}.waitlist-offer p{margin:0;padding-right:64px;font-size:14px;line-height:1.6}.wl-stamp{position:absolute;top:10px;right:10px;padding:2px 6px;font-family:var(--font-display);font-size:12px;font-weight:700;color:var(--stamp);border:3px double var(--stamp);border-radius:6px;transform:rotate(8deg)}.waitlist-status .note{margin:0 0 10px}.waitlist-offer b{white-space:nowrap}.dormant-notice{display:grid;gap:4px;margin:0 0 12px;padding:12px 14px;font-size:14px;line-height:1.6;background:var(--hi-bg);border:2px solid var(--hi-strong);border-radius:14px}.dormant-notice>b{font-family:var(--font-display);font-size:15px;color:var(--hi-ink)}.dormant-notice.dormant{background:var(--bad-bg);border-color:#f2b8b3}.dormant-notice.dormant>b{color:var(--stamp)}.depth-p i.dormant{padding:0 4px;background:var(--bad-bg)}.needs-pos{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;margin-bottom:10px}.needs-pos button{min-height:40px;padding:0;font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:10px}.needs-pos button.on{color:#fff;background:var(--navy);border-color:var(--navy)}.needs-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;font-size:13px;background:var(--card);border:1.5px dashed var(--line);border-radius:14px}.needs-table caption{margin-bottom:6px;font-weight:700;text-align:left}.needs-table th,.needs-table td{padding:8px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line)}.needs-table tbody tr:last-child th,.needs-table tbody tr:last-child td{border-bottom:0}.needs-table thead th{font-size:12px;color:var(--ink-soft);background:var(--paper)}.needs-table tbody th{font-weight:700;white-space:nowrap}.needs-table tbody th img{margin-right:6px;vertical-align:middle}.needs-table tr.mine th,.needs-table tr.mine td{background:var(--hi-bg)}.needs-count{display:block;white-space:nowrap}.needs-count i{margin-left:4px;font-style:normal;font-size:12px}.needs-ai{color:var(--ink-soft)}.needs-open{display:inline-block;margin-top:3px;padding:0 6px;font-family:var(--font-display);font-size:12px;font-weight:700;color:var(--accent-strong);border:1.5px dashed currentColor;border-radius:6px}.needs-open.full{color:var(--stamp);border-style:double;border-width:3px}.needs .note{margin-top:8px}.today-help{margin:0 0 10px}.today-help>summary{cursor:pointer;font-size:13px;color:var(--ink-soft);list-style:none}.today-help>summary::-webkit-details-marker{display:none}.today-help[open]>summary{margin-bottom:8px}.fold-section>summary{padding:14px 16px;font-weight:700;color:var(--accent-strong);cursor:pointer;list-style:none;background:var(--card);border:1.5px dashed var(--line);border-radius:14px}.fold-section>summary::-webkit-details-marker{display:none}.fold-section[open]>summary{margin-bottom:10px}.log-more{margin-top:10px}.plays-filter{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:8px;background:var(--muted);border-radius:999px}.plays-filter button{padding:8px 14px;font-size:13px;font-weight:700;color:var(--ink-soft);background:transparent;border:0;border-radius:999px;cursor:pointer}.plays-filter button.on{color:var(--ink);background:var(--card);box-shadow:0 1px 3px #1428501f}.plays-legend{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0 0 10px;font-size:12px;color:var(--ink-soft)}.plays-legend span{display:inline-flex;align-items:center;gap:3px}.half-runs{float:right;font-weight:600;color:var(--ink-soft)}.half-more{display:block;width:100%;padding:4px 12px 12px;font-size:13px;color:var(--accent-strong);text-align:left;background:none;border:0;cursor:pointer}.controls-dock{position:sticky;bottom:0;z-index:5;display:grid;grid-template-columns:56px 1fr auto;gap:8px;margin:12px -16px 0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#f2f6faf0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line)}.controls-dock .control{padding:11px 12px}.event-sheet-backdrop{animation:event-fade .2s ease-out}.event-sheet{padding:12px 12px calc(14px + env(safe-area-inset-bottom));text-align:left;background:var(--paper);border-top:0;animation:event-rise .35s cubic-bezier(.2,.9,.3,1.15)}.event-sheet>*:first-child{margin-top:0}.event-sheet-close{width:100%;margin-top:10px;min-height:46px}@keyframes event-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes event-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.event-sheet,.event-sheet-backdrop{animation:none}}.event-chip{display:flex;justify-content:space-between;align-items:center;width:100%;margin:0 0 12px;padding:12px 14px;font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--hi-ink);text-align:left;background:var(--hi-bg);border:2px dashed var(--hi-strong);border-radius:14px;cursor:pointer}.event-chip small{font-family:var(--font-body, inherit);font-size:13px;font-weight:600}.today-strip .fans-count small,.today-strip .fans-awards,.today-strip .fans-title small,.today-strip .fans-heat em,.today-strip .cond-effect{color:#ffffffe6}.today-strip .fans-heat i{background:#ffffff47}.tactics-board{position:relative;margin:22px 0 8px;padding:16px 14px 6px;color:#f4f1e6;background:radial-gradient(ellipse at 20% 0%,rgba(255,255,255,.08),transparent 60%),radial-gradient(ellipse at 90% 100%,rgba(0,0,0,.18),transparent 55%),#23493b;border:6px solid #b9874d;border-radius:14px;box-shadow:inset 0 0 0 2px #0000002e,inset 0 2px 10px #00000059,0 6px 14px #14281e38}.tactics-board:before{content:"";position:absolute;top:-14px;left:50%;width:54px;height:14px;background:linear-gradient(#d9dde2,#9aa3ad);border-radius:6px 6px 2px 2px;box-shadow:0 2px 3px #00000040;transform:translate(-50%)}.tb-head{display:grid;gap:2px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px dashed rgba(244,241,230,.35)}.tb-head h2{margin:0;font-family:var(--font-display);font-size:20px;letter-spacing:.06em}.tb-head small{font-size:12px;color:#f4f1e6bf}.tactics-board .seg-label{font-family:var(--font-display);font-size:16px;color:#f4f1e6}.tactics-board .seg-row{gap:6px;padding:0;background:none}.tactics-board .seg-row button{padding:10px 0;font-family:var(--font-display);font-size:15px;color:#f4f1e6d9;background:#ffffff12;border:1.5px dashed rgba(244,241,230,.35);border-radius:999px}.tactics-board .seg-row button.on{color:#2b2116;background:radial-gradient(circle at 35% 30%,#ffe08a,#f2b632 70%);border:1.5px solid #d99a1e;box-shadow:0 3px #00000059;transform:translateY(-1px)}.tactics-board .seg-hint{color:#f4f1e6cc}.tend-meters{display:grid;gap:8px;margin:0 0 6px;padding:12px 14px;list-style:none;background:var(--card);border:1.5px dashed var(--line);border-radius:14px}.tend-meters li{display:grid;grid-template-columns:5.5em 1fr 5.5em;align-items:center;gap:8px;font-size:13px;color:var(--ink-soft)}.tend-meters li span:last-child{text-align:right}.tend-meters li span.lean{font-weight:700;color:var(--ink)}.tend-meters i{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.tend-meters b{height:8px;background:var(--muted);border-radius:999px}.tend-meters b.mid{background:var(--muted-strong)}.tend-meters b.on{background:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.pos-diamond{position:relative;aspect-ratio:300 / 200;margin:4px 0 6px;overflow:hidden;background:linear-gradient(#cfe8f7,#e8f4ea);border-radius:16px}.pos-diamond svg{position:absolute;inset:0;width:100%;height:100%}.pd-grass{fill:#6fbf73}.pd-dirt{fill:#d9a066}.pd-infield{fill:#6fbf73}.pd-line{fill:none;stroke:#fff;stroke-width:2;opacity:.8}.pd-spot{position:absolute;display:grid;justify-items:center;gap:1px;transform:translate(-50%,-50%);pointer-events:none}.pd-spot b{display:grid;place-items:center;width:30px;height:30px;font-family:var(--font-display);font-size:12px;color:#16202e73;background:#ffffff8c;border-radius:50%}.pd-spot small{font-size:10px;font-weight:700;line-height:1;white-space:nowrap;padding:2px 5px;border-radius:999px}.pd-spot small:empty{display:none}.pd-spot.main b{width:38px;height:38px;font-size:14px;color:#fff;background:var(--team-color);box-shadow:0 0 0 3px #fff,0 3px 8px #0000004d}.pd-spot.main small{color:#fff;background:var(--team-color)}.pd-spot.full b{color:var(--good);background:#fff;box-shadow:0 0 0 3px var(--good)}.pd-spot.full small{color:var(--good);background:#fff}.pd-spot.learning b{color:var(--hi-ink);background:#fff;box-shadow:0 0 0 2px var(--hi-strong)}.pd-spot.learning small{color:var(--hi-ink);background:var(--hi-bg)}.ui-icon{display:inline-block;width:1.25em;height:1.25em;object-fit:contain;vertical-align:-.25em}.ui-emoji{font-style:normal}.st-team-btn{padding:2px 0;font:inherit;font-weight:700;color:inherit;text-align:left;background:none;border:0;cursor:pointer}.st-team-btn:active{opacity:.6}.league-fold{margin:4px 0 18px}.league-fold>summary small{margin-left:6px;font-weight:400;font-size:12px;color:var(--ink-soft)}.league-fold>summary:after{content:"›";float:right;transition:transform .15s ease}.league-fold[open]>summary:after{transform:rotate(90deg)}.team-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.team-chip{display:grid;justify-items:center;gap:2px;width:100%;padding:8px 2px 6px;font-size:13px;font-weight:700;color:var(--ink);background:var(--card);border:1px solid var(--line);border-bottom:3px solid var(--team-color);border-radius:12px;cursor:pointer}.team-chip.mine{background:var(--hi-bg)}.team-chip:active{transform:scale(.96)}.needs-caption{margin:0 0 6px;font-weight:700}.rookie-badges{display:inline-flex;gap:6px;align-items:center}.rookie-level{padding:3px 10px;font-family:var(--font-display);font-size:13px;font-weight:800;letter-spacing:.08em;color:#fff;background:#0f1b2d8c;border:1.5px solid rgba(255,255,255,.7);border-radius:6px}.rookie-level.first{color:var(--navy);background:#fff;border-color:var(--gold)}.rookie-card.compact{padding-top:10px;padding-bottom:12px}.rookie-card.compact .rookie-motto{margin-top:4px;margin-bottom:0}.rookie-story.fold{padding:0}.rookie-story.fold>summary{padding:12px 14px;cursor:pointer;list-style:none}.rookie-story.fold>summary::-webkit-details-marker{display:none}.rookie-story.fold>summary h3{display:flex;justify-content:space-between;margin:0}.rookie-story.fold>summary h3:after{content:"看故事 ›";font-size:13px;font-weight:700;color:var(--accent-strong)}.rookie-story.fold[open]>summary h3:after{content:"收起"}.rookie-story.fold>p{margin:0;padding:0 14px 12px}.form-trend-head.now{align-items:flex-start;margin:-8px -10px 6px;padding:10px 12px;border-radius:11px 11px 0 0;background:var(--muted)}.form-trend-head.now.hot,.form-trend-head.now.up{color:var(--hi-ink);background:var(--hi-bg)}.form-trend-head.now.down,.form-trend-head.now.cold{color:var(--bad);background:var(--bad-bg)}.form-trend-head.now>span{display:grid;gap:2px;font-size:15px}.form-trend-head.now>span small{font-size:12px;font-weight:400;color:var(--ink-soft)}.form-trend-head.now>small{flex:none;margin-left:8px;font-size:12px}.player-stats{margin-top:18px}.stats-scope{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:10px;padding:4px;background:var(--muted);border-radius:12px}.stats-scope button{min-height:38px;font-size:14px;font-weight:700;color:var(--ink-soft);background:none;border:0;border-radius:9px;cursor:pointer}.stats-scope button.on{color:var(--ink);background:var(--card);box-shadow:0 1px 3px #0f1b2d1f}.profile.bare{margin-top:0}.profile-sample{margin:0 0 8px;font-size:13px;color:var(--ink-soft)}.stat-fold{margin-top:8px}.stat-fold>summary{padding:10px 14px;font-size:14px;font-weight:700;color:var(--accent-strong);cursor:pointer;list-style:none;background:var(--card);border:1.5px dashed var(--line);border-radius:12px}.stat-fold>summary::-webkit-details-marker{display:none}.stat-fold[open]>summary{margin-bottom:8px}.today-cta.has-todo{position:relative;flex-wrap:wrap;row-gap:10px}.tc-todo{display:flex;flex-basis:100%;flex-wrap:wrap;gap:6px;align-items:center;font-family:var(--font-body, inherit)}.tc-chip{display:inline-flex;gap:4px;align-items:center;padding:4px 10px;font-size:14px;font-weight:700;color:var(--ink);background:#fff;border-radius:999px;box-shadow:0 1px #00000014}.tc-todo small{font-size:12px;opacity:.9}.tc-dot{position:absolute;top:-6px;right:-4px;display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;font-size:13px;font-weight:800;color:#fff;background:var(--stamp);border:2px solid #fff;border-radius:999px}.event-tag{position:absolute;top:10px;right:10px;padding:4px 12px 4px 14px;font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--ink);background:#fffaf0;border-radius:4px;box-shadow:0 2px 6px #00000040;-webkit-mask:radial-gradient(circle at 0 50%,transparent 5px,#000 5.5px);mask:radial-gradient(circle at 0 50%,transparent 5px,#000 5.5px)}.event-tag.special{color:#fff;background:var(--stamp)}.event-tag.background{color:var(--navy);background:var(--gold)}.event-card{border-radius:18px}.event-body{gap:10px;padding:24px 16px 16px}.event-body h3{font-size:22px;letter-spacing:.02em}.event-text{font-size:15px;color:var(--ink)}.event-options button.event-ticket{position:relative;display:grid;grid-template-columns:54px 1fr;gap:0;padding:0;overflow:visible;background:var(--card);border:1.5px solid var(--line);border-radius:12px;box-shadow:0 2px 0 var(--line);transition:transform .12s ease,box-shadow .12s ease}.event-options button.event-ticket:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 0 var(--line)}.event-ticket:before,.event-ticket:after{content:"";position:absolute;left:47px;width:14px;height:14px;background:var(--card);border:1.5px solid var(--line);border-radius:50%}.event-ticket:before{top:-8px;clip-path:inset(50% 0 0 0)}.event-ticket:after{bottom:-8px;clip-path:inset(0 0 50% 0)}.et-stub{display:grid;place-items:center;align-content:center;gap:2px;font-family:var(--font-display);color:#fff;background:var(--team-color, var(--navy));border-right:2px dashed rgba(255,255,255,.75);border-radius:10px 0 0 10px}.et-stub b{font-size:22px;line-height:1}.event-ticket.dice .et-stub{color:var(--navy);background:var(--gold);border-right-color:#14304f59}.event-ticket.dice .et-stub b{font-size:15px}.et-main{display:grid;gap:6px;padding:10px 12px}.event-ticket .event-option-label{font-size:16px}.et-chips{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.et-chips-label{margin-right:2px;font-size:12px;font-weight:700;color:var(--ink-soft)}.et-chip{display:inline-flex;gap:3px;align-items:center;padding:2px 8px;font-size:13px;font-weight:700;border-radius:999px}.et-chip.good{color:var(--good);background:var(--good-bg)}.et-chip.bad{color:var(--bad);background:var(--bad-bg)}.et-chip.plain{color:var(--ink-soft);background:var(--muted)}.event-result{position:relative;padding:12px 70px 12px 14px;background:var(--card);border:1.5px dashed var(--line);border-radius:12px}.event-result.rolling{padding-right:14px}.event-stamp{position:absolute;top:50%;right:12px;display:grid;place-items:center;width:52px;height:52px;margin-top:-26px;font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--stamp);border:3px double var(--stamp);border-radius:50%;transform:rotate(-12deg);animation:stamp .35s cubic-bezier(.3,1.6,.5,1) both}.coach-words{grid-template-columns:76px 1fr;gap:12px;align-items:end;margin:4px 0 14px;padding:0;background:none;border:0;border-radius:0}.coach-face{width:76px;height:76px;background:var(--paper);border:3px solid var(--team-color, var(--navy));box-shadow:0 3px 8px #0f1b2d2e}.coach-face canvas,.coach-face img{display:block;margin:1px}.coach-bubble{position:relative;display:grid;gap:6px;padding:12px 14px 10px 16px;background:var(--card);border:1.5px solid var(--line);border-radius:18px 18px 18px 4px;box-shadow:0 3px 10px #0f1b2d14}.coach-bubble:before{content:"";position:absolute;bottom:10px;left:-9px;width:16px;height:16px;background:var(--card);border-bottom:1.5px solid var(--line);border-left:1.5px solid var(--line);transform:rotate(45deg) skew(10deg,10deg)}.coach-bubble:after{content:"“";position:absolute;top:-14px;right:10px;font-family:Georgia,serif;font-size:56px;line-height:1;color:var(--team-color, var(--navy));opacity:.25}.coach-words .coach-bubble p{margin:0;font-size:15px;line-height:1.6;color:var(--ink)}.coach-name{display:inline-flex;gap:6px;align-items:center;font-size:12px;font-weight:700;color:var(--ink-soft)}.coach-name b{padding:1px 8px;font-size:11px;letter-spacing:.06em;color:#fff;background:var(--team-color, var(--navy));border-radius:4px}.goal-card.goal-ticket{position:relative;display:grid;grid-template-columns:74px 1fr;gap:0;padding:0;overflow:hidden;background:var(--card);border:1.5px solid var(--line);border-radius:16px;box-shadow:0 3px 10px #0f1b2d14}.goal-card.goal-ticket.done{background:var(--card)}.gt-stub{display:grid;place-items:center;align-content:center;gap:2px;padding:10px 4px;color:var(--navy);background:repeating-linear-gradient(135deg,transparent 0 8px,rgba(255,255,255,.25) 8px 10px),var(--gold);border-right:2px dashed rgba(20,48,79,.3)}.gt-target{display:grid;place-items:center;width:44px;height:44px;margin-bottom:4px;font-size:26px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #00000026}.gt-target .ui-icon{width:32px;height:32px}.gt-stub small{font-size:12px;font-weight:700;line-height:1.3}.gt-main{display:grid;gap:4px;padding:12px 14px}.gt-kicker{margin:0;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--hi-ink)}.goal-card.goal-ticket h3{font-size:21px}.gt-label{margin:0;font-size:14px;color:var(--ink-soft)}.gt-bar{overflow:hidden;height:10px;margin:4px 0 2px;background:var(--muted);border-radius:999px}.gt-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#ff9a3c);border-radius:inherit}.goal-ticket .goal-line{font-size:14px}.goal-ticket.missed .gt-stub{filter:grayscale(.8)}.gt-stamp{position:absolute;top:10px;right:12px;display:grid;place-items:center;width:60px;height:60px;font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:.08em;color:var(--stamp);border:4px double var(--stamp);border-radius:50%;transform:rotate(-14deg);opacity:.9;animation:stamp .35s cubic-bezier(.3,1.6,.5,1) both}.goal-card.choosing{padding:14px;border:1.5px solid var(--line);border-left:0;border-top:6px solid var(--gold);border-radius:16px}.goal-card.choosing h3{font-size:20px}.goal-choice .et-stub{color:var(--navy);background:var(--gold);border-right-color:#14304f4d}.goal-choice .et-stub b{font-size:15px}@media(prefers-reduced-motion:reduce){.event-stamp,.gt-stamp{animation:none}}.goal-card.goal-ticket,.goal-card.goal-ticket.done,.goal-card.choosing{--pen: #2e3a59;position:relative;overflow:visible;margin-top:14px;background:#fffdf6 repeating-linear-gradient(180deg,transparent 0 27px,rgba(91,140,201,.18) 27px 28px);border:0;border-radius:4px;box-shadow:0 4px 12px #503c1e33}.goal-card.goal-ticket:before,.goal-card.choosing:before{content:"";position:absolute;top:-9px;left:30%;z-index:2;width:80px;height:18px;background:#9ed6ffbf;transform:rotate(-3deg)}.goal-ticket .gt-stub{color:var(--pen);background:transparent;border-right:2px dotted rgba(46,58,89,.35)}.goal-ticket .gt-target{box-shadow:0 2px 6px #00000026}.goal-card .gt-kicker{color:#e0567a}.goal-card.goal-ticket h3,.goal-card.choosing h3{justify-self:start;color:var(--pen);background:linear-gradient(transparent 60%,#ffd666cc 60%)}.goal-ticket .gt-label{color:#6b7488}.goal-ticket .gt-bar{height:12px;background:#fff;border:1.5px solid var(--pen)}.goal-ticket .gt-bar i{background:repeating-linear-gradient(135deg,#ffd666 0 5px,#ffb84d 5px 10px)}.goal-ticket .goal-line{color:var(--pen)}.goal-ticket .gt-stamp{color:#e0567a;border-color:#e0567a}.goal-card.choosing .note{color:#6b7488}.goal-card .event-options{gap:14px;margin-top:6px}.goal-card .event-options button.goal-choice{grid-template-columns:44px 1fr;color:var(--pen);background:#fff9c4;border:0;border-radius:2px;box-shadow:0 4px 8px #00000026;transform:rotate(-.5deg)}.goal-card .event-options li:nth-child(2) button.goal-choice{background:#d9f2ff;transform:rotate(.8deg)}.goal-card .event-options li:nth-child(3) button.goal-choice{background:#ffe1ea;transform:rotate(-.8deg)}.goal-card .goal-choice:before{top:-9px;left:50%;width:64px;height:18px;margin-left:-32px;background:#ffb6c1bf;border:0;border-radius:0;clip-path:none;transform:rotate(-3deg)}.goal-card .goal-choice:after{display:none}.goal-card .goal-choice .et-stub{color:var(--pen);background:transparent;border-right:2px dotted rgba(46,58,89,.35)}.goal-card .goal-choice .event-option-label,.goal-card .goal-choice .gt-label{color:var(--pen)}.goal-card .et-chip{background:#ffffffbf;border:1.5px dashed currentColor}.goal-card .et-chip.good{color:#2f7d4a}.event-sheet{background:#dfe7ef}.event-card{overflow:visible;padding:8px;background:repeating-linear-gradient(135deg,#d33a3a 0 14px,#fff 14px 22px,#2a5ba8 22px 36px,#fff 36px 44px);border:0;border-radius:6px;box-shadow:0 8px 18px #0003}.event-card .event-scene{height:150px;margin:6px;border:6px solid #fff;border-radius:0;outline:3px dotted #fff;outline-offset:2px;box-shadow:0 2px 6px #00000040}.event-card .event-tag{-webkit-mask:none;mask:none;top:8px;right:10px;display:grid;place-items:center;width:70px;height:70px;padding:0;font-size:12px;color:#2a2f45;text-shadow:0 0 2px #fff,0 0 4px #fff;background:#ffffff8c;border:2.5px solid #2a2f45;border-radius:50%;box-shadow:inset 0 0 0 4px #fff6,inset 0 0 0 6px #2a2f45;transform:rotate(-14deg)}.event-card .event-tag.special{color:#d33a3a;border-color:#d33a3a;box-shadow:inset 0 0 0 4px #fff6,inset 0 0 0 6px #d33a3a}.event-card .event-body{color:#2b2b3a;background:#fffaf0 repeating-linear-gradient(180deg,transparent 0 29px,rgba(42,91,168,.15) 29px 30px);border-radius:0 0 2px 2px}.event-card .event-body h3{color:#2a5ba8}.event-card .event-body h3:before{content:"To：你　";font-size:13px;font-weight:400;color:#8a8fa3}.event-card .event-text{line-height:30px;color:#333}.event-card .event-options button.event-ticket{grid-template-columns:46px 1fr;background:#ffffffd9;border:1.5px solid #c9d3e3;border-radius:4px;box-shadow:none}.event-card .event-ticket:before,.event-card .event-ticket:after{display:none}.event-card .et-stub,.event-card .event-ticket.dice .et-stub{color:#2a5ba8;background:transparent;border-right:1.5px dashed #c9d3e3}.event-card .event-ticket.dice .et-stub{color:#d33a3a}.event-card .et-stub b{font-size:18px}.event-card .event-ticket:not(.dice) .et-stub b:before{content:"☐ ";font-size:14px}.event-card .event-option-label{color:#2b2b3a}.event-card .et-chip{padding:0 2px;background:transparent;border-bottom:2px solid currentColor;border-radius:0}.event-card .et-chip.good{color:#2a5ba8}.event-card .et-chip.bad{color:#d33a3a}.event-sheet .event-sheet-close{color:#2a5ba8;background:#fff;border:2px solid #2a5ba8}.event-card .event-result{background:#fff;border:1.5px dashed #c9d3e3}.event-card .event-stamp{color:#2a5ba8;border-color:#2a5ba8}.event-sheet .event-sheet-close.main{color:#fff;background:#2a5ba8}
