:root{--ink:#233242;--muted:#62717c;--paper:#f7f1e5;--paper2:#fffaf0;--line:#d9d1c4;--blue:#3779d9;--blue-deep:#20518e;--orange:#e86937;--orange-deep:#9c3e22;--gold:#eab148;--shadow:0 10px 28px #3532241c;font-family:ui-rounded,"PingFang SC","Microsoft Yahei",system-ui,sans-serif;color:var(--ink);background:#edf3e8}
 [hidden]{display:none!important}.power-row button{width:44px;min-width:44px;height:44px}.retry-current{position:absolute;z-index:4;left:50%;top:61px;transform:translateX(-50%);min-height:38px;padding:6px 13px;border:1px solid #a35a33;border-radius:99px;background:#fff8ea;color:#8c3e21;font-weight:800}.skip-shot{position:absolute;z-index:4;left:50%;bottom:16px;transform:translateX(-50%);min-height:40px;padding:6px 14px;border:1px solid #b67420;border-radius:99px;background:#fff9e6;color:#71450e;font-weight:800;box-shadow:0 2px 8px #47300d33}
*{box-sizing:border-box} body{margin:0;min-width:320px;background:linear-gradient(145deg,#e9f4ef,#f8f0e0 66%);min-height:100vh}button,input,select{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #1f8dd6;outline-offset:3px}.app-shell{max-width:1440px;margin:0 auto;padding:clamp(14px,3vw,36px)}
.home-view{max-width:980px;margin:8vh auto;padding:clamp(28px,6vw,70px);text-align:center;border:1px solid #fff9;box-shadow:var(--shadow);border-radius:30px;background:linear-gradient(120deg,#fffdf6d9,#f9eddaeb)}.eyebrow{margin:0 0 8px;color:var(--orange-deep);font-size:.81rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.home-view h1{font-size:clamp(2.6rem,7vw,5.4rem);line-height:1;margin:.1em 0;color:#223d58;text-shadow:0 2px #fff}.lede{font-size:1.12rem;color:var(--muted);margin:0 0 34px}.mode-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left}.mode-card{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;min-height:142px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fffdf8;box-shadow:0 3px 0 #cfc4b2;transition:transform .15s,box-shadow .15s}.mode-card:hover{transform:translateY(-3px);box-shadow:0 7px 0 #cfc4b2}.mode-card.primary{background:linear-gradient(145deg,#3d85e0,#2864b6);color:white;border-color:#174b8e;box-shadow:0 3px 0 #174b8e}.card-icon{grid-row:span 2;font-size:2.25rem}.mode-card strong{font-size:1.15rem}.mode-card small{opacity:.8;line-height:1.45}.start-options{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:30px auto 10px}.start-options label{display:flex;gap:8px;align-items:center;color:var(--muted);font-weight:700}.start-options input,.start-options select{width:140px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fffdf8}.home-note{font-size:.86rem;color:var(--muted)}
.game-view{overflow:hidden;border-radius:22px;background:var(--paper);box-shadow:var(--shadow)}.topbar{min-height:72px;display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:12px;padding:12px 18px;background:#fffdf8;border-bottom:1px solid var(--line)}.icon-button,.subtle-button,.outline-button,.solid-button{border-radius:10px;border:1px solid var(--line);background:#fffdf7;min-height:44px;padding:8px 14px;font-weight:800}.icon-button{font-size:1.45rem;padding:4px 13px}.brand{font-size:clamp(1.1rem,2.4vw,1.55rem);font-weight:900;color:#27415a}.brand span{color:var(--orange);font-size:.85em}.turn-pill{justify-self:center;display:flex;align-items:center;gap:13px;padding:9px 18px;border:1px solid var(--line);border-radius:99px;font-weight:900;background:#fdf9f1;font-size:.8rem}.turn-pill i{height:24px;border-left:1px solid var(--line)}.subtle-button{color:var(--blue-deep)}
.battle-panel{position:relative;min-height:clamp(300px,47vw,590px);isolation:isolate;background:linear-gradient(#99d8f7,#e7f4eb);overflow:hidden}.battle-panel:before{content:"";position:absolute;inset:0;background:url('/assets/background.png') center/cover no-repeat;opacity:1;z-index:-1}.battle-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,#173d3022);pointer-events:none;z-index:1}#battlefield{position:absolute;inset:0;width:100%;height:100%;z-index:0}.battle-hud{position:absolute;top:18px;z-index:2;display:grid;gap:5px;font-weight:900;text-shadow:0 1px #fff}.battle-hud span{font-size:.9rem}.blue-hud{left:18px;color:var(--blue-deep)}.orange-hud{right:18px;text-align:right;color:var(--orange-deep)}.hp-row{display:flex;gap:4px}.orange-hud .hp-row{justify-content:end}.heart{width:18px;height:15px;display:inline-block;background:currentColor;clip-path:polygon(50% 100%,7% 56%,0 28%,8% 8%,28% 6%,50% 25%,72% 6%,92% 8%,100% 28%,93% 56%)}.heart.empty{opacity:.23}.status-banner{position:absolute;z-index:3;left:50%;top:18px;max-width:min(70%,530px);transform:translateX(-50%);padding:9px 16px;border-radius:999px;background:#fffdf5e8;color:#32485b;text-align:center;font-weight:800;font-size:.9rem;box-shadow:0 2px 8px #3452}.result-card{position:absolute;z-index:5;top:50%;left:50%;width:min(430px,calc(100% - 30px));transform:translate(-50%,-50%);padding:27px;text-align:center;background:#fffdf8f7;border:1px solid #fff;border-radius:22px;box-shadow:var(--shadow)}.result-card p{margin:5px}.result-card h2{font-size:2rem;margin:4px}.result-actions{display:flex;gap:10px;justify-content:center;margin-top:18px}.solid-button{background:var(--blue);border-color:var(--blue-deep);color:#fff;box-shadow:0 2px 0 var(--blue-deep)}
.controls{display:grid;grid-template-columns:1.06fr 1.15fr 1.2fr auto;gap:0;padding:17px;background:var(--paper2);border-top:1px solid #e5ddd0}.control-group{padding:0 18px;border-right:1px solid var(--line)}.control-group h2{font-size:.86rem;margin:0 0 9px;color:#536473}.control-group h2 span{font-size:.78rem;font-weight:600;color:var(--orange-deep)}.choice-row,.power-row{display:flex;gap:7px}.choice-row button{min-width:54px;min-height:44px;flex:1;padding:6px;border:1px solid var(--line);background:#fffaf2;border-radius:9px;font-weight:800}.choice-row button.selected{background:#506984;color:#fff;border-color:#41596f}.power-row button{width:30px;min-width:30px;height:40px;padding:0;border-radius:7px;border:1px solid #cb9340;background:#f5ca78}.power-row button.selected{background:var(--gold);box-shadow:inset 0 0 0 3px #fff5}.fire-button{align-self:center;min-height:62px;min-width:142px;margin-left:18px;padding:8px 23px;border:none;border-radius:13px;background:linear-gradient(145deg,#ec8260,#c44e2e);color:#fff;font-size:1.4rem;font-weight:900;box-shadow:0 3px 0 #9c3e22}.fire-button span{font-size:.9em}.fire-button:disabled{cursor:not-allowed;filter:grayscale(.75);opacity:.54}.spectator-controls,.memory-panel{display:flex;gap:12px;align-items:center;padding:15px 20px;background:#fffaf2;border-top:1px solid var(--line)}.spectator-controls span{font-size:.9rem;color:var(--muted)}.memory-panel{display:grid;grid-template-columns:1fr auto auto auto}.memory-panel h2{margin:0 0 5px}.memory-panel p{margin:0;color:var(--muted)}.memory-state{display:grid;text-align:center;color:var(--muted);font-size:.8rem}.memory-state strong{font-size:1.8rem;color:var(--blue-deep);letter-spacing:.1em}.memory-panel .fire-button{margin:0;min-width:auto;font-size:1rem;min-height:46px}.model-disclosure{padding:12px 20px;color:var(--muted);font-size:.86rem;background:#f8f3e9}.model-disclosure summary{cursor:pointer;font-weight:800;color:#4f6371}.model-disclosure p{margin:8px 0 0}
dialog{width:min(440px,calc(100% - 28px));border:1px solid var(--line);border-radius:20px;padding:30px;background:#fffdf8;color:var(--ink);box-shadow:var(--shadow)}dialog::backdrop{background:#23324277}.dialog-close{position:absolute;right:12px;top:9px;border:0;background:transparent;font-size:1.8rem}.tutorial-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}
 .retry-current{position:absolute;z-index:4;left:50%;top:61px;transform:translateX(-50%);min-height:38px;padding:6px 13px;border:1px solid #a35a33;border-radius:99px;background:#fff8ea;color:#8c3e21;font-weight:800}
@media (max-width:760px){.app-shell{padding:0}.home-view{margin:0;min-height:100vh;border-radius:0;display:flex;flex-direction:column;justify-content:center}.mode-cards{grid-template-columns:1fr}.mode-card{min-height:94px}.game-view{border-radius:0;min-height:100vh}.topbar{grid-template-columns:auto 1fr auto;gap:9px;padding:9px 10px}.turn-pill{grid-column:1/-1;grid-row:2;justify-self:stretch;justify-content:center;padding:6px}.battle-panel{min-height:330px}.battle-hud{top:62px;font-size:.82rem}.controls{grid-template-columns:1fr 1fr;padding:12px;gap:12px}.control-group{padding:0;border:0}.power-group{grid-column:1/-1}.fire-button{grid-column:1/-1;margin:0;min-height:54px}.memory-panel{grid-template-columns:1fr auto;gap:10px}.memory-panel .memory-state{display:none}.memory-panel .fire-button{grid-column:1/-1}.memory-panel .outline-button{grid-column:1/-1}.status-banner{top:19px;font-size:.78rem}.result-actions{flex-direction:column}.start-options label{width:100%;justify-content:space-between}.start-options input,.start-options select{width:55%}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
@media (max-width:760px){
  .topbar{grid-template-columns:44px minmax(0,1fr) auto auto;gap:7px}
  #home-button{grid-column:1;grid-row:1}.brand{grid-column:2;grid-row:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #restart-button{grid-column:3;grid-row:1;padding-inline:9px}#tutorial-open{grid-column:4;grid-row:1;padding-inline:9px}
  .turn-pill{grid-column:1/-1;grid-row:2;min-width:0;display:flex;flex-wrap:wrap;justify-content:center;gap:5px 9px;line-height:1.35;white-space:normal}
  .turn-pill i{height:1em}
  .controls{grid-template-columns:minmax(0,1fr)}
  .control-group,.move-group,.power-group{grid-column:1/-1;min-width:0}
  #move-controls{max-width:330px}
  #angle-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:390px}
  .choice-row button{min-width:0}
  .power-row{display:grid;grid-template-columns:repeat(4,44px);gap:8px}
  .power-row button{width:44px;min-width:44px;height:44px}
  .fire-button{width:100%;min-width:0}
  .memory-panel .memory-state{display:grid;grid-column:1/-1;justify-self:start}
}
.history-panel{border-top:1px solid var(--line);background:#fffdf8}.history-panel details>summary{padding:14px 20px;cursor:pointer;font-weight:900;color:#40576b;list-style-position:inside}.history-panel details[open]>summary{border-bottom:1px solid #e6ddd0}.history-content{display:grid;grid-template-columns:minmax(180px,250px) minmax(0,1fr);gap:16px;padding:16px 20px 20px}.history-picker{display:grid;align-content:start;gap:7px;color:#536473;font-weight:800;font-size:.86rem}.history-picker select{width:100%;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fffaf2;color:var(--ink)}.history-body{min-width:0}.history-empty,.history-note{margin:0;color:var(--muted);font-size:.88rem;line-height:1.55}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}.history-heading strong{font-size:1rem}.history-heading span{padding:3px 8px;border-radius:99px;background:#e6f0fe;color:var(--blue-deep);font-size:.78rem;font-weight:900;white-space:nowrap}.history-card{margin:10px 0;padding:11px 12px;border:1px solid #e2d8c8;border-radius:12px;background:#fffaf2}.history-card h3{margin:0 0 8px;color:#425b70;font-size:.88rem}.history-row{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;padding:5px 0;border-top:1px dashed #e8dfd1;font-size:.84rem;line-height:1.45}.history-row:first-of-type{border-top:0}.history-row dt{color:#70808a;font-weight:800}.history-row dd{min-width:0;margin:0;color:#334959;overflow-wrap:anywhere}.condition-list{margin:0;padding-left:20px;color:#435866;font-size:.84rem;line-height:1.55}.history-technical{margin-top:10px;padding:9px 11px;border:1px dashed #d7c9b3;border-radius:10px;color:var(--muted);font-size:.8rem}.history-technical summary{cursor:pointer;font-weight:800;color:#607485}.history-technical dl{margin:7px 0 0}@media (max-width:760px){.history-content{grid-template-columns:1fr;padding:13px 14px 17px}.history-panel details>summary{padding-inline:14px}.history-row{grid-template-columns:70px minmax(0,1fr)}}
.replay-panel{margin-top:18px;padding:20px 24px;border:1px solid #c6d2d0;border-radius:16px;background:#fffdf8;color:var(--ink)}.replay-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.replay-heading .eyebrow{margin:0 0 4px}.replay-heading h2{margin:0;color:#29445a;font-size:1.25rem}.replay-heading p:not(.eyebrow){margin:7px 0 0;max-width:65ch;color:var(--muted);font-size:.88rem;line-height:1.5}.replay-state{flex:0 0 auto;padding:6px 10px;border:1px solid #b4c9cd;border-radius:99px;background:#eaf3ee;color:#32605b;font-size:.78rem;font-weight:900}.replay-actions,.replay-playback-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.replay-actions button,.replay-playback-actions button{min-height:40px}.replay-playback{margin-top:18px;padding:15px;border:1px solid #b8ced0;border-radius:12px;background:#eef5f1}.replay-playback-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#355969}.replay-playback-heading span{font:700 .78rem ui-monospace,SFMono-Regular,monospace;color:#627b81}.replay-scrubber{display:grid;grid-template-columns:auto minmax(100px,1fr) 2ch;align-items:center;gap:10px;margin-top:15px;color:#526873;font-weight:800;font-size:.82rem}.replay-scrubber input{accent-color:#416e92}.replay-verification{margin:13px 0 0;color:#466471;font-size:.82rem;line-height:1.5}.recent-replays{margin-top:16px;border-top:1px solid #e6ddd0;padding-top:13px}.recent-replays summary{cursor:pointer;color:#496171;font-size:.86rem;font-weight:900}.recent-replay-list{display:grid;gap:7px;margin-top:10px}.recent-replay-list>p{margin:0;color:var(--muted);font-size:.84rem}.recent-replay{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px dashed #ded5c8;font-size:.8rem}.recent-replay:first-child{border-top:0}.recent-replay span{flex:1;min-width:0;line-height:1.35}.text-button{border:0;background:transparent;color:#336e91;font:800 .8rem inherit;text-decoration:underline;cursor:pointer}.replay-note{margin:14px 0 0;color:#718088;font-size:.76rem;line-height:1.45}.replay-panel.is-replaying{border-color:#78a4aa;background:#f2f9f3}
.home-replay{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.home-replay>div:first-child{display:grid;gap:4px}.home-replay strong{color:#40596b}.home-replay>div:nth-child(2){display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.home-replay .outline-button{min-height:38px}.home-replay .recent-replay-list{max-width:680px}
@media(max-width:760px){.replay-panel{margin-top:12px;padding:16px}.replay-heading{display:grid}.replay-state{justify-self:start}.replay-actions,.replay-playback-actions{display:grid;grid-template-columns:1fr 1fr}.replay-actions button,.replay-playback-actions button{width:100%}.replay-scrubber{grid-template-columns:1fr 2ch}.replay-scrubber input{grid-column:1/-1;grid-row:2}.recent-replay{align-items:flex-start;flex-wrap:wrap}.recent-replay span{width:100%;flex-basis:100%}}

/* P6 visual language: illustrated field notebook, clean utility panels. */
:root{--sky:#dceff3;--pine:#15404a;--slate:#28434d;--cream:#fffaf0;--cream-shadow:#e7ddca;--signal:#f1bd45;--mint:#98d4be;--danger:#c7563a;--blue-glow:#dceeff;--orange-glow:#ffebdb}
body{background:radial-gradient(circle at 15% 0,#fff8e9 0 10%,transparent 35%),linear-gradient(145deg,#dceff3,#edf4e8 44%,#f8edda);color:var(--slate)}.app-shell{max-width:1500px}.home-view{max-width:1120px;margin:4vh auto;padding:clamp(28px,5vw,62px);text-align:left;border:1px solid #fff;box-shadow:0 24px 60px #244d4a25;background:linear-gradient(135deg,#fffdf8f2,#f9f0e1ee);overflow:hidden;position:relative}.home-view:before{content:"";position:absolute;width:420px;height:420px;right:-150px;top:-190px;border:36px solid #e9b94e36;border-radius:50%;pointer-events:none}.home-view h1{font-size:clamp(3rem,6vw,5.4rem);letter-spacing:-.07em}.home-view .lede{max-width:42rem;font-size:1.08rem;line-height:1.75;margin-bottom:26px}.mode-cards{position:relative}.mode-card{min-height:126px;border-radius:18px;box-shadow:0 4px 0 var(--cream-shadow),0 12px 22px #253d3310}.mode-card.primary{box-shadow:0 4px 0 #174b8e,0 14px 24px #1e4d8928}.mode-card:focus-visible{outline-color:var(--signal)}
.player-roster{position:relative;margin:28px 0 22px;padding:19px;border:1px solid #d5d9cf;border-radius:20px;background:#fffffbd9;box-shadow:inset 0 1px #fff,0 8px 20px #3e5d4510}.roster-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}.roster-heading .eyebrow{margin:0 0 3px}.roster-heading h2{margin:0;color:#1e3f4c;font-size:1.22rem}.local-badge{padding:5px 9px;border:1px solid #a4c4b8;border-radius:99px;color:#346251;background:#ecf7ef;font-size:.73rem;font-weight:800}.player-picks{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:13px;align-items:center}.player-pick{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 10px;align-items:center;padding:13px 14px;border:1px solid #cbd6d2;border-radius:14px;background:var(--cream);box-shadow:0 3px 0 #ded5c5}.player-pick.blue-pick{border-color:#a8c9e8;background:linear-gradient(135deg,#f9fdff,#e9f5ff)}.player-pick.orange-pick{border-color:#efc5af;background:linear-gradient(135deg,#fffdf9,#fff0e6)}.pick-side{font-weight:900;font-size:.82rem}.blue-pick .pick-side{color:#2866b1}.orange-pick .pick-side{color:#b34e2e}.player-pick select{min-width:0;padding:7px;border:1px solid #b7c9c7;border-radius:8px;background:#fff;font-weight:800;color:#29434e}.player-pick small{grid-column:2;color:#60757b;font-size:.72rem;line-height:1.35}.versus-mark{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:#214955;color:#fff5d0;box-shadow:0 2px 0 #123640;font-size:.72rem;font-weight:1000;letter-spacing:.05em}.roster-note{margin:12px 1px 0;color:#63787a;font-size:.78rem;line-height:1.5}
.home-tournament-link{display:inline-block;color:#246c84;font-weight:900;text-decoration-thickness:2px;text-underline-offset:3px}.home-tournament-link:hover{color:#c65a36}
.topbar{background:#fffcf5eF;backdrop-filter:blur(10px);border-bottom-color:#d6ddd3}.brand{letter-spacing:-.04em}.turn-pill{box-shadow:inset 0 1px #fff}.turn-pill #wind-label{color:#2a7265}.turn-pill #wind-label:before{content:"✦ ";color:#e29a32}.battle-stage{position:relative}.battle-panel{min-height:clamp(390px,50vw,670px);background:linear-gradient(#a9dff5,#e8f6e9)}.battle-panel:after{background:linear-gradient(180deg,transparent 48%,#123d2630),radial-gradient(circle at 50% 120%,#355e351f,transparent 48%)}.battle-hud{top:19px;max-width:30%;padding:7px 9px;border:1px solid #ffffffbf;border-radius:12px;background:#fffdf4c9;box-shadow:0 3px 12px #315a5122;backdrop-filter:blur(4px);text-shadow:none}.battle-hud span{font-size:.89rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-chip{font-size:.67rem;font-weight:800;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blue-hud{color:#1d5a9e}.orange-hud{color:#a34427}.status-banner{top:auto;bottom:17px;max-width:min(74%,590px);border:1px solid #fff;background:#fffdf5eF;box-shadow:0 5px 18px #123c3629;backdrop-filter:blur(4px)}.status-banner[data-kind=shot]{background:#243f4ddd;color:#fff9df;border-color:#f2c563}.status-banner[data-kind=error]{border-color:#d96b4d;background:#fff0e9;color:#9e3b25}.status-banner[data-kind=ready]{border-color:#89c8ac;background:#ecfff3;color:#21634b}
.wind-station{position:absolute;z-index:3;left:50%;top:18px;transform:translateX(-50%);display:grid;justify-items:center;gap:1px;min-width:152px;padding:7px 13px;border:1px solid #ffffffc9;border-radius:12px;background:#183f4dcc;color:#f2fff7;box-shadow:0 4px 18px #10344530;backdrop-filter:blur(5px);text-align:center}.wind-station-kicker{font-size:.62rem;font-weight:900;letter-spacing:.08em;color:#b8ded3}.wind-station strong{font-size:1rem;color:#fff1ae}.wind-station span:last-child{max-width:180px;color:#d9ece6;font-size:.61rem;line-height:1.25}.wind-particles{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}.wind-particles i{position:absolute;top:calc(20% + (var(--i) * 9%));left:-8%;width:10px;height:4px;border-radius:100% 0 100% 0;background:#f5cc69cc;box-shadow:0 0 5px #fff8b0;animation:leaf-drift 3.5s linear var(--delay) infinite}.wind-particles[data-direction=left] i{left:auto;right:-8%;animation-name:leaf-drift-left}.wind-particles[data-tier="2"] i{background:#fff0a4e0;animation-duration:2.2s}.wind-particles[data-tier="2"] i:nth-child(2n){background:#d2f0c9c9}.wind-particles[data-tier="0"]{display:none}@keyframes leaf-drift{to{transform:translateX(122vw) translateY(35px) rotate(380deg)}}@keyframes leaf-drift-left{to{transform:translateX(-122vw) translateY(35px) rotate(-380deg)}}
.controls{margin:18px;background:#fffdf7;border:1px solid #e2dccf;border-radius:18px;box-shadow:0 8px 20px #213e3710}.control-group h2{letter-spacing:.02em}.choice-row button,.power-row button{border-radius:9px}.fire-button{border-radius:13px;box-shadow:0 4px 0 #8e3420,0 10px 18px #cd572737}.fire-button:disabled{box-shadow:none}.spectator-controls,.memory-panel{margin:18px;border-radius:18px}.replay-panel{margin:18px;border-radius:18px;border-color:#d8ddd4;background:#fffdf7;box-shadow:0 8px 20px #213e370d}.history-panel{border-radius:18px;margin:18px;background:#fffdf8;border-color:#d9dfd6}.model-disclosure{margin:18px}.result-card{border:1px solid #fff;background:linear-gradient(145deg,#fffdf9f7,#fff1d7f7);box-shadow:0 20px 50px #16374352}.result-card h2{color:#214651}.result-card:before{content:"✦";display:block;color:#e6ad38;font-size:1.4rem}.skip-shot{bottom:59px}
.rule-strip{margin:0 18px 18px;padding:0 18px;border:1px solid #d7ded3;border-radius:14px;background:#f5faf3;color:#41605e}.rule-strip summary{padding:14px 0;cursor:pointer;color:#276152;font-size:.88rem;font-weight:900}.rule-strip div{padding:0 0 10px}.rule-strip p{margin:5px 0;color:#506d6c;font-size:.79rem;line-height:1.6}.rule-strip strong{color:#274d54}
@media (max-width:760px){.home-view{padding:28px 18px}.player-picks{grid-template-columns:1fr;gap:9px}.versus-mark{margin:-2px auto;width:32px;height:32px}.player-pick{grid-template-columns:auto minmax(0,1fr)}.battle-panel{min-height:420px}.wind-station{top:84px;min-width:132px}.battle-hud{top:12px;max-width:44%;padding:6px}.battle-hud span{font-size:.75rem}.hud-chip{font-size:.58rem}.status-banner{position:relative;left:auto;top:auto;bottom:auto;transform:none;max-width:none;margin:8px 12px 0;font-size:.75rem}.controls,.replay-panel,.history-panel,.memory-panel,.spectator-controls,.rule-strip{margin:12px}.skip-shot{bottom:56px}.wind-particles i{animation-duration:2.5s}}@media (prefers-reduced-motion:reduce){.wind-particles{display:none}.mode-card,.result-card,.choice-row button,.power-row button{transition:none!important}}
