@font-face{font-family:BraveSerif;src:url(/fonts/braveserif.woff2?v=20260913-10) format("woff2");font-weight:400 800;font-display:swap}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--ground: #2b2620;--cloth: #ede4d3;--cloth-2: #e0d3bc;--sumi: #26201b;--ai: #22395c;--ai-2: #3d5a8a;--hi: #a83226;--hi-2: #c65447;--kin: #c8a24b;--ink-muted: #6b6152;--dark-muted: #9a8f7d;--serif: "BraveSerif", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", "Noto Serif CJK JP", serif;--sans: "BraveSerif", "Hiragino Kaku Gothic ProN", "Noto Sans JP", system-ui, sans-serif}html,body{height:100%}body{background:radial-gradient(ellipse at 50% -20%,#3a332a 0%,var(--ground) 55%),var(--ground);color:var(--cloth);font-family:var(--sans);overscroll-behavior:none}#app{min-height:100dvh}.screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom));max-width:520px;margin:0 auto}.jinmaku{width:100vw;height:26px;flex:none;background:repeating-linear-gradient(90deg,var(--ai) 0 26px,var(--cloth) 26px 30px,var(--ai) 30px 56px,var(--cloth) 56px 60px);border-top:2px solid var(--sumi);border-bottom:2px solid var(--sumi)}.title-screen{position:relative;justify-content:space-between;gap:0;padding-left:0;padding-right:0}.title-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0}.title-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(.9)}.title-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#17130e66,#17130e26 32%,#17130eb8 74%,#17130ef0)}.title-screen .jinmaku,.title-core{position:relative;z-index:1}.title-emblem{width:108px;height:108px;border-radius:50%;box-shadow:0 0 26px #c8a24b47,0 4px 14px #0000008c}.menu-row{display:flex;gap:8px;justify-content:center}.menu-row .btn{flex:1;padding:8px 4px;font-size:.8rem;white-space:nowrap}.title-credit{margin-top:14px;font-size:.68rem;color:var(--dark-muted);font-family:var(--sans);letter-spacing:.04em;text-align:center;padding:0 18px;text-shadow:0 1px 4px rgba(0,0,0,.8)}.about-panel{max-width:min(92vw,460px);max-height:82vh;overflow-y:auto;text-align:left;gap:10px;align-items:stretch}.about-panel h2{font-family:var(--serif);letter-spacing:.2em;font-size:1.1rem;text-align:center}.about-panel p{font-size:.86rem;line-height:1.8}.about-panel b{color:var(--kin);font-weight:600}.about-panel .about-note{font-size:.74rem;color:var(--dark-muted);border-top:1px solid #4a4237;padding-top:10px}.about-panel .btn{align-self:center}.title-core{display:flex;flex-direction:column;align-items:center;gap:14px;padding:0 16px}.title-mon{width:92px;height:92px;color:var(--cloth);opacity:.95}.title-mon svg{width:100%;height:100%}.title-screen h1{font-family:var(--serif);font-size:2.5rem;font-weight:600;letter-spacing:.18em;text-align:center;line-height:1.2}.title-screen h1 small{display:block;font-size:.8rem;letter-spacing:.55em;color:var(--dark-muted);margin-top:6px;padding-left:.55em}.tagline{color:var(--dark-muted);font-size:.85rem;letter-spacing:.1em}.menu{display:flex;flex-direction:column;gap:10px;width:100%;max-width:300px;margin-top:10px}.btn{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--cloth);color:var(--sumi);border:2px solid var(--sumi);border-left:10px solid var(--ai);padding:12px 18px;font-family:var(--serif);font-size:1.05rem;font-weight:600;letter-spacing:.12em;cursor:pointer;box-shadow:3px 3px #00000059;transition:transform .06s,box-shadow .06s}.btn:active{transform:translate(2px,2px);box-shadow:1px 1px #00000059}.btn small{font-family:var(--sans);font-weight:400;color:var(--ink-muted);font-size:.7rem;letter-spacing:.05em}.btn.primary{border-left-color:var(--hi)}.btn.ghost{background:transparent;color:var(--cloth);border:1px solid var(--dark-muted);border-left:6px solid var(--dark-muted);box-shadow:none;font-size:.9rem}.btn.small{padding:8px 22px;font-size:.95rem}.btn:disabled{opacity:.45}.join-screen,.lobby-screen{justify-content:center;gap:16px}.join-screen h2,.lobby-screen h2{font-family:var(--serif);letter-spacing:.3em;font-weight:600}#code-input{width:210px;text-align:center;font-size:2rem;letter-spacing:.3em;padding:12px;border:2px solid var(--sumi);background:var(--cloth);color:var(--sumi);text-transform:uppercase;font-family:var(--serif)}.room-code{font-family:var(--serif);font-size:3rem;letter-spacing:.3em;font-weight:700;color:var(--sumi);background:var(--cloth);border:2px solid var(--sumi);box-shadow:4px 4px #00000059;padding:14px 26px 14px calc(26px + .3em)}.lobby-screen p{color:var(--dark-muted);font-size:.85rem}.waiting{color:var(--dark-muted)}.dots:after{content:"…";animation:blink 1.2s infinite}@keyframes blink{50%{opacity:.2}}.game-screen{justify-content:flex-start;gap:8px;width:100%}.hud{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;border-bottom:1px solid #4a4237;padding:2px 2px 8px}.hud .side{display:flex;flex-direction:column;gap:3px}.hud .side.opp{align-items:flex-end}.hud .lbl{font-family:var(--serif);font-size:.78rem;letter-spacing:.25em;color:var(--dark-muted)}.hud .side.you .lbl{color:var(--ai-2)}.hud .side.opp .lbl{color:var(--hi-2)}.pips{display:flex;gap:5px}.pip{width:13px;height:13px;transform:rotate(45deg);border:1.5px solid var(--dark-muted)}.pip.on{border-color:var(--kin);background:var(--kin);box-shadow:0 0 6px #c8a24b80}.hud .round{font-family:var(--serif);text-align:center;font-size:1.15rem;letter-spacing:.1em}.hud .round small{display:block;font-size:.6rem;color:var(--dark-muted);letter-spacing:.2em}.chips{display:flex;gap:6px;flex-wrap:wrap;min-height:20px;justify-content:center}.chip{font-size:.72rem;padding:2px 10px;background:transparent;border:1px solid var(--dark-muted);color:var(--dark-muted)}.chip.holds{color:var(--kin);border-color:var(--kin)}.chip.boost{color:#9fc79a;border-color:#5f7a5b}.chip.warn{color:var(--hi-2);border-color:var(--hi-2);animation:blink 1.2s infinite}.enemy-row{display:flex;align-items:center;gap:10px;width:100%;justify-content:center;min-height:40px}.enemy-backs{display:flex;gap:4px}.eback{width:20px;height:34px;background:var(--hi);border:1.5px solid var(--sumi);clip-path:polygon(0 0,100% 0,100% 100%,50% 86%,0 100%)}.enemy-status{font-size:.78rem;color:var(--dark-muted);letter-spacing:.1em}.message{min-height:1.5em;font-size:.92rem;text-align:center;letter-spacing:.05em;font-family:var(--serif)}.message.urgent{color:var(--kin);font-weight:700;animation:urgentpulse 1.2s ease-in-out infinite}@keyframes urgentpulse{0%,to{opacity:1}50%{opacity:.5}}.tool-row{display:flex;gap:10px;justify-content:center}.reveal-zone{display:flex;justify-content:center}.hand{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;margin-top:auto;flex:1;align-content:end}.card{position:relative;display:block;background:linear-gradient(175deg,var(--cloth) 82%,var(--cloth-2));border:2px solid var(--sumi);color:var(--sumi);min-height:clamp(132px,21vh,236px);height:100%;padding:0;cursor:pointer;clip-path:polygon(0 0,100% 0,100% 100%,50% 92%,0 100%);transition:transform .08s}.card .card-inner{display:grid;grid-template-columns:1fr 1.2em;grid-template-rows:auto 1fr;height:100%;min-height:inherit;padding:8px 4px 16px 6px}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--ai)}.card:active{transform:translateY(-5px)}.card:disabled{opacity:.38;filter:saturate(.4)}.card .card-rank{grid-column:1;grid-row:1;font-family:var(--serif);font-size:1.7rem;font-weight:700;line-height:1;padding-top:4px}.card .card-name{grid-column:2;grid-row:1 / 3;writing-mode:vertical-rl;font-family:var(--serif);font-size:.88rem;font-weight:600;letter-spacing:.06em;padding-top:4px;white-space:nowrap}.card .card-mon{grid-column:1;grid-row:2;display:flex;align-items:end;justify-content:center}.card .card-mon svg{width:34px;height:34px;opacity:.85}.card .card-art{grid-column:1;grid-row:2;width:100%;height:100%;min-height:0;align-self:stretch;object-fit:cover;object-position:center 18%;border:1px solid rgba(43,38,32,.35)}.big-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;background:linear-gradient(175deg,var(--cloth) 82%,var(--cloth-2));border:2px solid var(--sumi);color:var(--sumi);width:108px;min-height:158px;padding:12px 6px 20px;clip-path:polygon(0 0,100% 0,100% 100%,50% 93%,0 100%)}.big-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:var(--ai)}.big-card.enemy:before{background:var(--hi)}.big-card .label{font-size:.68rem;color:var(--ink-muted);font-family:var(--sans);letter-spacing:.1em}.big-card .rank{font-family:var(--serif);font-size:2.3rem;font-weight:700;line-height:1.1}.big-card .name{font-family:var(--serif);font-size:1.05rem;font-weight:700;letter-spacing:.22em;padding-left:.22em;white-space:nowrap}.big-card .mon{margin-top:2px}.big-card .mon svg{width:40px;height:40px;opacity:.85}.big-card .big-art{width:calc(100% - 8px);height:96px;object-fit:cover;object-position:center 15%;border:1px solid rgba(43,38,32,.4);margin-top:2px}.history{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;font-size:.72rem;color:var(--dark-muted);padding-top:6px;font-family:var(--serif)}.hist b{font-weight:600}.hist.win b{color:#9fc79a}.hist.lose b{color:var(--hi-2)}.hist.hold b{color:var(--kin)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#18140fd6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:10}.panel{background:var(--ground);border:1px solid #4a4237;padding:22px;display:flex;flex-direction:column;align-items:center;gap:14px;width:min(92vw,400px)}.reveal-stage{position:relative;display:flex;align-items:center;gap:18px;opacity:0;animation:stagelife 2.95s ease}.reveal-stage .vs{font-family:var(--serif);font-size:1.2rem;color:var(--dark-muted);animation:fadein .35s 1s backwards}.rv{animation:unfurl .55s cubic-bezier(.2,.9,.3,1.15) .1s backwards;transform-origin:top center}.rv.second{animation-delay:1.35s}.hanko{position:absolute;left:50%;top:50%;width:116px;height:116px;margin:-58px 0 0 -58px;border:5px solid var(--hi-2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:3.8rem;font-weight:700;color:var(--hi-2);background:#2b262080;box-shadow:0 0 0 2px #c6544740,inset 0 0 14px #c654474d;transform:rotate(-6deg);animation:stamp .4s 3.8s cubic-bezier(.3,1.6,.4,1) backwards;z-index:6}.hanko.hold{border-color:var(--kin);color:var(--kin);box-shadow:0 0 0 2px #c8a24b40,inset 0 0 14px #c8a24b4d}.rv-caption{position:absolute;left:0;right:0;bottom:2.2vh;padding:0 24px;text-align:center;z-index:6;color:var(--cloth);font-family:var(--serif);font-size:1rem;line-height:1.5;letter-spacing:.12em;text-shadow:0 1px 6px rgba(0,0,0,.85);animation:fadein .4s 4.2s backwards}.rv-caption b{color:var(--kin)}.overlay.reveal .btn,.overlay.gameover .btn{animation:fadein .4s 1.4s backwards}.overlay.reveal .rv-skip{position:absolute;right:14px;bottom:calc(12vh + 12px);z-index:7;animation:fadein .35s 1.2s backwards}.overlay.reveal .rv-tale{position:absolute;top:0;left:0;right:0;z-index:6;padding:1.4vh 18px 16px;text-align:center;background:linear-gradient(#0d0b08 72%,transparent)}.rv-story{color:var(--cloth);font-family:var(--serif);font-size:.92rem;line-height:1.55;letter-spacing:.06em;text-shadow:0 1px 5px rgba(0,0,0,.9);animation:fadein .45s 2.6s backwards}.rv-note{margin-top:4px;color:var(--kin);font-family:var(--serif);font-size:.76rem;line-height:1.5;letter-spacing:.05em;text-shadow:0 1px 4px rgba(0,0,0,.9);animation:fadein .45s 3.4s backwards}.overlay.reveal .letterbox{position:absolute;left:0;right:0;height:12vh;background:#0d0b08;z-index:5}.overlay.reveal .letterbox.top{top:0;animation:lbtop .5s 2.3s ease-out backwards}.overlay.reveal .letterbox.bottom{bottom:0;animation:lbbottom .5s 2.3s ease-out backwards}.overlay.reveal.closing{animation:overlayfade .5s ease forwards}@keyframes unfurl{0%{transform:scaleY(.08);opacity:0}55%{transform:scaleY(1.07);opacity:1}78%{transform:scaleY(.97)}to{transform:scaleY(1)}}@keyframes stamp{0%{transform:scale(2.4) rotate(10deg);opacity:0}55%{transform:scale(.9) rotate(-7deg);opacity:1}to{transform:scale(1) rotate(-6deg)}}@keyframes quake{0%,to{transform:translate(0)}25%{transform:translate(2px,-2px)}50%{transform:translate(-2px,2px)}75%{transform:translate(1px,1px)}}@keyframes fadein{0%{opacity:0}to{opacity:1}}.gameover-panel{display:flex;flex-direction:column;align-items:center;gap:14px}.go-title{font-family:var(--serif);font-size:2.6rem;font-weight:700;letter-spacing:.35em;padding-left:.35em}.go-title.you{color:var(--kin)}.go-title.opponent{color:var(--dark-muted)}.go-reason{color:var(--dark-muted);font-size:.9rem;text-align:center}.versus{display:flex;align-items:center;gap:14px}.versus .vs{color:var(--dark-muted);font-family:var(--serif)}.waiting-small{color:var(--dark-muted);font-size:.85rem}.icon-btn{position:fixed;top:max(10px,env(safe-area-inset-top));right:12px;z-index:5;width:34px;height:34px;border-radius:50%;background:transparent;color:var(--dark-muted);border:1.5px solid var(--dark-muted);font-size:1rem;cursor:pointer;font-family:var(--serif)}.overlay.help{align-items:flex-start;overflow-y:auto;justify-content:flex-start}.help-panel{margin:20px auto;align-items:flex-start;gap:10px;width:min(92vw,450px)}.help-panel h2{align-self:center;font-family:var(--serif);letter-spacing:.4em;padding-left:.4em}.help-panel h3{color:var(--kin);font-size:.95rem;margin-top:8px;font-family:var(--serif);letter-spacing:.15em;border-left:3px solid var(--kin);padding-left:8px}.help-panel ul{padding-left:1.2em;display:flex;flex-direction:column;gap:4px}.help-panel li{font-size:.82rem;line-height:1.55}.help-panel li b{color:var(--kin)}.help-table{border-collapse:collapse;font-size:.78rem;width:100%}.help-table th,.help-table td{border:1px solid #4a4237;padding:6px 8px;text-align:left;vertical-align:top;line-height:1.5}.help-table th{color:var(--dark-muted);font-weight:600}.help-table .rk{color:var(--kin);font-weight:700;text-align:center;font-family:var(--serif)}.help-table .nm{white-space:nowrap;font-weight:600;font-family:var(--serif)}.help-panel .btn{align-self:center;margin-top:8px}.mx-wrap{width:100%;overflow-x:auto}.help-matrix{border-collapse:collapse;margin:0 auto;font-family:var(--serif)}.help-matrix th,.help-matrix td{border:1px solid #4a4237;width:30px;height:30px;text-align:center;vertical-align:middle;font-size:.82rem;padding:0}.help-matrix .mx-corner{font-size:.58rem;color:var(--dark-muted);font-family:var(--sans)}.help-matrix .mx-you{color:var(--ai-2);font-weight:700}.help-matrix .mx-opp{color:var(--hi-2);font-weight:700}.help-matrix td.win{color:#9fc79a}.help-matrix td.lose{color:var(--hi-2);opacity:.75}.help-matrix td.hold{color:var(--kin)}.help-matrix td.gamewin{color:var(--kin);background:#c8a24b29;font-weight:700}.help-matrix td.gamelose{color:var(--hi-2);background:#c6544729;font-weight:700}.mx-note{font-size:.7rem;color:var(--dark-muted);text-align:center;width:100%}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#18140f99;z-index:14}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:15;background:var(--ground);border-top:2px solid var(--kin);max-height:72dvh;overflow-y:auto;padding:14px 16px max(16px,env(safe-area-inset-bottom));max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:10px}.sheet.animate{animation:slideup .28s cubic-bezier(.2,.9,.3,1)}@keyframes slideup{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet h3{font-family:var(--serif);letter-spacing:.2em;font-size:1rem;text-align:center}.sheet .sheet-power{font-size:.78rem;color:var(--dark-muted);text-align:center;line-height:1.5}.focus-row{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.focus-row button{width:40px;height:40px;border:1.5px solid var(--dark-muted);background:transparent;color:var(--cloth);font-family:var(--serif);font-size:1.1rem;font-weight:700;cursor:pointer}.focus-row button.active{border-color:var(--kin);color:var(--kin);box-shadow:0 0 6px #c8a24b66}.focus-row button.locked{border-style:double;border-width:4px}.mu-list{display:flex;flex-direction:column;gap:4px}.mu-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border:1px solid #4a4237}.mu-row .mu-mon svg{width:24px;height:24px;display:block;color:var(--hi-2)}.mu-row .mu-name{flex:1;font-size:.88rem;font-family:var(--serif);letter-spacing:.1em}.mu-row .mu-name small{color:var(--dark-muted);font-family:var(--sans);margin-left:6px}.mu-badge{width:34px;height:34px;border-radius:50%;border:2px solid;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:1.05rem;transform:rotate(-6deg);flex:none}.mu-badge.win{color:#9fc79a;border-color:#9fc79a}.mu-badge.lose{color:var(--hi-2);border-color:var(--hi-2)}.mu-badge.hold{color:var(--kin);border-color:var(--kin)}.mu-badge.gamewin{color:var(--kin);border-color:var(--kin);background:#c8a24b26}.mu-badge.gamelose{color:var(--hi-2);border-color:var(--hi-2);background:#c6544726}.mu-row.revealed{border-color:var(--kin)}.mu-note{font-size:.7rem;color:var(--dark-muted);text-align:center}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--cloth);color:var(--sumi);border:2px solid var(--sumi);padding:9px 20px;font-size:.85rem;z-index:20;width:max-content;max-width:calc(100vw - 24px);white-space:normal;overflow-wrap:anywhere;box-shadow:3px 3px #00000059}.toast.error{border-left:8px solid var(--hi)}.toast.info{border-left:8px solid var(--ai)}.hand.gated .card{opacity:.72}.overlay.focus{z-index:12;justify-content:center;gap:0}.fo-backdrop{position:absolute;top:0;right:0;bottom:0;left:0}.fo-panel{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;width:min(92vw,360px);pointer-events:none}.fo-panel>*{pointer-events:auto}.fo-hint{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:.85rem;letter-spacing:.15em;color:var(--kin);transition:opacity .15s,transform .15s}.fo-hint.down{color:var(--dark-muted)}.fo-hint.blocked{color:var(--ink-muted);text-decoration:line-through}.fo-arrow{font-size:.8rem;animation:nudge 1.6s ease-in-out infinite}.fo-hint.down .fo-arrow{animation-name:nudge-down}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes nudge-down{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.overlay.focus.pull-up .fo-hint.up{transform:scale(1.12)}.overlay.focus.pull-up .fo-hint.down,.overlay.focus.pull-down .fo-hint.up{opacity:.3}.overlay.focus.pull-down .fo-hint.down{transform:scale(1.12)}.fo-card{touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;transition:transform .18s cubic-bezier(.2,.9,.3,1.2);will-change:transform}.fo-card.dragging{transition:none;cursor:grabbing}.fo-card.fly-up{transition:transform .35s cubic-bezier(.5,0,.8,.4),opacity .35s;transform:translateY(-120vh) rotate(-5deg)!important;opacity:.4}.fo-card .big-card{width:132px;min-height:192px}.fo-card .big-card .rank{font-size:2.8rem}.fo-card .big-card .mon svg{width:52px;height:52px}.fo-power{font-size:.84rem;line-height:1.6;text-align:center;color:var(--cloth);min-height:2.6em;max-width:320px;text-wrap:balance;word-break:keep-all;overflow-wrap:break-word}.fo-verdicts{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.fo-vd{display:inline-flex;align-items:center;gap:2px;border:1.5px solid;padding:2px 5px;font-size:.72rem;font-family:var(--serif)}.fo-vd b{font-size:.84rem}.fo-vd.win{color:#9fc79a;border-color:#5f7a5b}.fo-vd.lose{color:var(--hi-2);border-color:var(--hi-2)}.fo-vd.hold{color:var(--kin);border-color:var(--kin)}.fo-vd.gamewin{color:var(--kin);border-color:var(--kin);background:#c8a24b2e}.fo-vd.gamelose{color:var(--hi-2);border-color:var(--hi-2);background:#c654472e}.fo-vd.revealed{box-shadow:0 0 8px #c8a24b8c}.fo-block{font-size:.8rem;color:var(--hi-2);letter-spacing:.05em}.fo-others{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:4px;max-width:236px}.fo-mini{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:44px;padding:5px 7px;background:transparent;border:1.5px solid var(--dark-muted);color:var(--cloth);font-family:var(--serif);cursor:pointer}.fo-mini-rank{font-size:1.05rem;font-weight:700;line-height:1}.fo-mini-name{font-size:.58rem;color:var(--dark-muted)}.scene-art{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0}.scene-art img{width:100%;height:100%;object-fit:cover;display:block;animation:scenein .5s ease-out backwards;filter:brightness(.85)}.overlay.reveal .scene-art.cutin{z-index:4;background:#14100b;animation:cutin .6s 2.3s ease-out backwards,quake .3s 3.8s linear}.overlay.reveal .scene-art.cutin img{filter:brightness(1);transform:scale(1.12);animation:kenburns 2.9s 2.3s ease-out backwards}.overlay.reveal.lose .scene-art.cutin img{filter:brightness(.82) saturate(.85)}.overlay.reveal.hold .scene-art.cutin img{filter:brightness(.88) saturate(.8)}@keyframes scenein{0%{opacity:0;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes cutin{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@keyframes kenburns{0%{transform:scale(1.03)}to{transform:scale(1.12)}}@keyframes stagelife{0%{opacity:1}85%{opacity:1}to{opacity:0}}@keyframes lbtop{0%{transform:translateY(-101%)}to{transform:translateY(0)}}@keyframes lbbottom{0%{transform:translateY(101%)}to{transform:translateY(0)}}@keyframes overlayfade{to{opacity:0}}.scene-art.placeholder{display:flex;align-items:center;justify-content:center}.ph-scene{display:flex;align-items:center;gap:26px;opacity:.3}.ph-mon svg{width:110px;height:110px}.ph-mon.you{color:var(--ai-2)}.ph-mon.enemy{color:var(--hi-2);transform:scaleX(-1)}.ph-clash{width:3px;height:150px;background:var(--cloth);transform:rotate(18deg);box-shadow:0 0 18px #ede4d3cc}.reveal-stage{z-index:3}.fx-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5}.overlay.reveal.win .fx-layer{animation:winflash .7s 4.15s ease-out backwards}@keyframes winflash{0%{background:#c8a24b00}18%{background:#c8a24b61}to{background:#c8a24b00}}.overlay.reveal.lose .fx-layer{background:radial-gradient(ellipse at center,transparent 40%,rgba(120,20,12,.5) 100%);animation:fadein .6s 4.15s backwards}.overlay.reveal:not(.animate):not(.closing),.overlay.reveal:not(.animate) *,.overlay.gameover:not(.animate) *{animation:none!important}.overlay.gameover{overflow:hidden}.overlay.gameover .gameover-panel{position:relative;z-index:3;background:#18140f9e;border:1px solid #4a4237;padding:22px 28px}.scene-art.final img{filter:brightness(.75)}.overlay.gameover.lose .scene-art.final img{filter:brightness(.55) saturate(.7)}.turn-clock{font-size:.74rem;color:var(--dark-muted);font-family:var(--serif);letter-spacing:.08em}.turn-clock.urgent{color:var(--hi-2);font-weight:700;animation:urgentpulse 1s ease-in-out infinite}.lobby-qr{width:168px;height:168px;display:block;border:4px solid var(--cloth);background:var(--cloth);box-shadow:0 4px 14px #00000073}.lobby-qr-wait{opacity:.25}.lobby-hint{font-size:.78rem;color:var(--dark-muted)}.share-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.share-row .btn{text-decoration:none}.line-share{border-left-color:#06c755}.records-screen{justify-content:flex-start;gap:12px;overflow-y:auto;padding-bottom:30px}.rec-head{display:flex;align-items:center;gap:10px;width:100%;padding-top:4px}.rec-head h2{font-family:var(--serif);letter-spacing:.3em;font-size:1.15rem;flex:1;text-align:center}.rec-filters{display:flex;gap:6px}.rec-filters .btn.active{border-color:var(--kin);color:var(--kin)}.rec-empty{text-align:center;color:var(--dark-muted);padding:28px 0 10px;display:flex;flex-direction:column;gap:16px;align-items:center}.rec-block{width:100%;border:1px solid #3a3226;background:#201a1299;padding:12px 14px}.rec-block h3{font-family:var(--serif);font-size:.95rem;letter-spacing:.15em;color:var(--kin);margin-bottom:10px}.rec-block h3 small{color:var(--dark-muted);letter-spacing:.05em;margin-left:6px}.rec-note{font-size:.7rem;color:var(--dark-muted);margin-top:6px}.rec-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.rec-tile{text-align:center;padding:6px 2px}.rec-tile b{display:block;font-family:var(--serif);font-size:1.5rem;color:var(--cloth)}.rec-tile span{font-size:.62rem;color:var(--dark-muted)}.tr-line-svg{width:100%;height:72px;display:block}.tr-days-svg{width:100%;height:24px;display:block;margin-top:4px}.tr-poly{fill:none;stroke:var(--kin);stroke-width:2}.tr-mid{stroke:#4a4237;stroke-dasharray:4 4}.tr-bar{fill:var(--ai-2)}.tr-caption{font-size:.66rem;color:var(--dark-muted);margin-top:4px;text-align:center}.rec-card-row{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:.8rem}.rc-name{width:84px;font-family:var(--serif);white-space:nowrap}.rc-bar{flex:1;height:8px;background:#3a3226;position:relative}.rc-bar i{position:absolute;inset:0 auto 0 0;background:var(--kin)}.rc-num{width:108px;text-align:right;color:var(--dark-muted);font-size:.72rem}.rec-matrix-wrap{overflow-x:auto}.rec-matrix{border-collapse:collapse;margin:0 auto;font-size:.72rem}.rec-matrix th,.rec-matrix td{width:30px;height:26px;text-align:center;border:1px solid #3a3226}.rec-matrix th{color:var(--kin);font-family:var(--serif)}.mxr-none{color:#4a4237}.mxr-good{background:#78a05a4d}.mxr-mid{background:#c8a24b29}.mxr-bad{background:#c6544740}.rec-match{border-top:1px solid #3a3226}.rec-match-head{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;color:var(--cloth);padding:8px 2px;cursor:pointer;font-size:.8rem;text-align:left}.rm-result{font-family:var(--serif);font-weight:700;width:22px}.rm-result.won{color:#9fc79a}.rm-result.lost{color:var(--hi-2)}.rm-result.drew{color:var(--kin)}.rm-vs{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-meta{font-size:.64rem;color:var(--dark-muted);white-space:nowrap}.rec-rounds{display:flex;flex-wrap:wrap;gap:6px;padding:2px 2px 10px}.rr{font-size:.68rem;color:var(--dark-muted);border:1px solid #3a3226;padding:2px 6px}.rr b{font-weight:600}.rr.w b{color:#9fc79a}.rr.l b{color:var(--hi-2)}.rr.h b{color:var(--kin)}.rec-settings .rs-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.rs-input,.rs-select{background:var(--cloth);color:var(--sumi);border:2px solid var(--sumi);padding:7px 8px;font-size:.85rem;font-family:var(--serif);min-width:0}.rs-input{flex:1}.rs-code{font-size:1.05rem;letter-spacing:.18em;color:var(--kin);border:1px dashed var(--kin);padding:5px 10px}.rs-achievements{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin:10px 0}.rs-ach{font-size:.66rem;color:#4a4237;display:flex;flex-direction:column;padding:3px 0}.rs-ach b{font-family:var(--serif);font-size:.78rem}.rs-ach.got{color:var(--dark-muted)}.rs-ach.got b{color:var(--kin)}.rs-transfer h4{font-family:var(--serif);font-size:.82rem;letter-spacing:.12em;margin-bottom:2px}.hud .lbl{max-width:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block}.toast.unlock{border-color:var(--kin);color:var(--kin);box-shadow:0 0 18px #c8a24b59}@media(max-width:480px){.rs-achievements{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.rv,.hanko,.reveal-stage,.reveal-stage .vs,.rv-caption,.rv-story,.rv-note,.overlay .btn,.sheet,.fo-arrow,.scene-art img,.scene-art.placeholder,.scene-art.cutin,.overlay.reveal .letterbox,.fx-layer,.message.urgent{animation:none!important}.fo-card,.fo-card.fly-up{transition:none}}.okani-home{position:fixed;z-index:2147483000;top:calc(10px + env(safe-area-inset-top,0px));left:calc(10px + env(safe-area-inset-left,0px));display:inline-flex;align-items:center;gap:6px;box-sizing:border-box;height:32px;padding:0 12px 0 9px;border:1px solid rgba(37,39,33,.18);border-radius:999px;background:#f4f1e8f0;color:#252721;font:700 12px/1 Noto Sans CJK JP,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;letter-spacing:.06em;text-decoration:none;box-shadow:0 2px 8px #0000002e;-webkit-tap-highlight-color:transparent}.okani-home:hover{background:#fff;color:#252721}.okani-home:focus-visible{outline:3px solid #c93824;outline-offset:3px}.okani-home__mark{display:block;flex:none;width:18px;height:18px}@media print{.okani-home{display:none}}.okani-home{top:auto;bottom:calc(10px + env(safe-area-inset-bottom,0px))}body:has(.game-screen,.tutorial-screen,.practice-reel) .okani-home{display:none}:root{--surface: #322c24;--surface-deep: #211d18;--rule: #645541;--soft-rule: #443c30;--muted-readable: #c1b49d;--blue-readable: #a5c2e6;--red-readable: #edab99;--gold-readable: #e3c378;--dark-muted: var(--muted-readable);--ui: "BraveSerif", "Noto Sans CJK JP", system-ui, sans-serif}.eyebrow{font:600 12px/1.6 var(--ui);letter-spacing:.13em;color:var(--gold-readable)}.text-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px 14px;border:1px solid transparent;background:transparent;color:var(--cloth);font:500 14px/1.4 var(--ui);cursor:pointer;border-radius:3px}.text-button:hover{background:var(--surface);border-color:var(--rule)}.btn{min-height:48px;border-width:1px;border-left-width:5px;box-shadow:0 3px 0 var(--surface-deep);letter-spacing:.06em;border-radius:2px}.btn small{font-size:12px;line-height:1.5}.btn.ghost{border-left-width:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold-readable);outline-offset:3px}.card:focus-visible{outline:none;box-shadow:inset 0 0 0 4px var(--kin)}.btn:disabled{cursor:wait}.title-screen{max-width:none}.title-bg img{filter:brightness(.8) saturate(.95);object-position:center 40%}.title-bg:after{background:linear-gradient(90deg,var(--surface-deep),transparent 40%,var(--surface-deep)),linear-gradient(transparent,#18150fe8 55%,var(--surface-deep))}.title-core{width:100%;max-width:600px;gap:10px;padding:24px 20px}.title-mon,.title-emblem{width:84px;height:84px}.title-screen h1{font-size:clamp(29px,7.4vw,42px);letter-spacing:.1em}.title-screen h1 small{font-size:11px;margin-top:12px}.tagline{font-size:13px;line-height:1.6;letter-spacing:.02em}.menu{max-width:390px;gap:12px;margin-top:12px}.learn-entry{background:#31281be8;color:var(--gold-readable);border:1px solid var(--kin);box-shadow:none}.learn-entry small{color:var(--cloth)}.menu-label{color:var(--muted-readable);font-size:12px;letter-spacing:.18em;text-align:center;margin-top:4px}.friend-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.friend-actions .btn{font-size:15px;padding:12px 6px}.secondary-menu{border-top:1px solid var(--rule);gap:12px}.title-credit{font-size:11px;line-height:1.8;padding:0;margin-top:2px;max-width:390px}.jinmaku{height:14px;opacity:.8}.game-screen{max-width:1040px;padding:max(14px,env(safe-area-inset-top)) 20px max(16px,env(safe-area-inset-bottom));gap:18px}.hud{padding:0 4px 12px;border-color:var(--rule)}.hud .lbl{font-size:12px;letter-spacing:.03em;max-width:34vw;overflow-wrap:anywhere}.hud .side.you .lbl{color:var(--blue-readable)}.hud .side.opp .lbl{color:var(--red-readable)}.score-line{display:flex;align-items:center;gap:14px}.score-number{font-size:32px;color:var(--cloth);line-height:1.2}.hud .round{font-size:25px}.hud .round small{font-size:10px;color:var(--muted-readable);letter-spacing:.14em}.pip{width:10px;height:10px}.battle-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:28px;width:100%}.battle-main{display:flex;flex-direction:column;gap:10px;min-width:0}.opponent-camp{border:1px solid var(--soft-rule);border-top:2px solid var(--hi);padding:16px 12px;background:var(--surface-deep)}.enemy-row{min-height:34px;gap:14px}.enemy-status{font-size:13px;color:var(--muted-readable);letter-spacing:.02em}.eback{width:17px;height:28px}.enemy-backs{gap:5px}.reveal-zone{margin-top:12px}.reveal-zone .big-card{width:92px;min-height:138px;padding:6px 5px 16px}.reveal-zone .big-art{height:80px;width:65px}.reveal-zone .big-card .rank{font-size:25px}.reveal-zone .big-card .name{font-size:16px}.chips{min-height:0;gap:6px}.chips:empty{display:none}.chip{font-size:12px;padding:4px 8px}.chip.boost{color:#c2d4b4}.chip.warn{color:var(--red-readable);animation:none}.battle-instruction{text-align:center;padding:8px 0}.message{font-size:16px;line-height:1.6;min-height:0;margin:3px 0}.message.urgent{animation:none;color:var(--gold-readable)}.play-hint{font-size:13px;color:var(--muted-readable);line-height:1.6}.turn-clock{margin-top:6px;font-size:13px;color:var(--muted-readable)}.turn-clock b{color:var(--cloth);font-size:18px}.turn-clock span{margin-left:8px;font-size:11px}.turn-clock.urgent,.turn-clock.urgent b{color:var(--red-readable)}.hand-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted-readable);letter-spacing:.08em;padding-top:4px}.hand{flex:none;margin:0;align-content:start;gap:10px}.card{min-height:0;height:auto;aspect-ratio:.64;transition:transform .16s ease,box-shadow .16s ease}.card .card-inner{grid-template-columns:1fr 1.05em;padding:8px 5px 18px 7px;min-height:0}.card .card-rank{font-size:26px;padding:0 0 5px;text-align:left}.card .card-name{font-size:14px;padding-top:4px}.card .card-art{object-position:center 22%;border:none}.card:before{height:4px}.card:active{transform:translateY(-7px)}@media(hover:hover){.card:hover{transform:translateY(-6px);box-shadow:inset 0 0 0 2px var(--kin)}}.hand.gated .card{opacity:.8}.tool-row{justify-content:space-around;gap:6px;padding:4px 0;border-top:1px solid var(--soft-rule);margin-top:4px}.tool-row .text-button{flex:1}.battle-side{border-left:1px solid var(--soft-rule);padding:18px 0 0 24px}.field-notes h2{font-size:20px;line-height:1.8;margin:14px 0}.field-notes h2{word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}.field-notes p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted-readable)}.field-rule{margin-top:22px;display:flex;flex-direction:column;gap:6px;font-size:14px}.field-rule b{font-weight:600;color:var(--gold-readable)}.field-rule span{line-height:1.8;color:var(--muted-readable);font-size:13px}.battle-log{margin-top:32px;padding-top:18px;border-top:1px solid var(--soft-rule)}.history{justify-content:flex-start;margin-top:12px;gap:8px;font-size:12px;padding:0;border:none}.history-empty,.history-explain{font-size:13px;line-height:1.8;color:var(--muted-readable)}.history-explain{margin-top:12px}.hist{padding:5px 7px;background:var(--surface-deep);border:1px solid var(--soft-rule)}.hist.win{color:var(--gold-readable)}.hist.lose{color:var(--red-readable)}.ready-fresh{animation:ready-settle .45s ease-out backwards}@keyframes ready-settle{0%{transform:translateY(-4px);border-color:var(--kin)}to{transform:translateY(0)}}.overlay.focus{overflow-y:auto;justify-content:flex-start;padding:16px 10px;background:#100e0bf2}.fo-panel{width:min(94vw,420px);gap:9px;margin:auto;flex-shrink:0;padding:4px 0}.fo-close{align-self:flex-end;padding:4px 12px}.fo-card .big-card{width:158px;min-height:220px;padding:9px 8px 23px}.fo-card .big-card .big-art{width:112px;height:132px;object-position:center 20%}.fo-card .big-card .rank{font-size:30px}.fo-card .big-card .name{font-size:22px}.fo-hint{font-size:14px;letter-spacing:.02em}.fo-hint.up{position:relative;padding:7px 14px;border:1px solid var(--rule);border-radius:3px}.fo-hint.up:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:calc(var(--drag-progress, 0) * 100%);background:var(--gold-readable)}.commit-ready .fo-hint.up{color:var(--surface-deep);background:var(--gold-readable);border-color:var(--gold-readable)}.commit-ready .fo-card{filter:drop-shadow(0 0 15px #e3c37855)}.fo-hint.blocked{color:var(--muted-readable);text-decoration:none}.fo-power{font-size:15px;line-height:1.7;max-width:380px;min-height:0}.fo-legend{font-size:12px;line-height:1.7;text-align:center;color:var(--muted-readable)}.fo-block{color:var(--red-readable);font-size:14px;text-align:center;line-height:1.7}.fo-others{max-width:290px;gap:6px}.fo-mini{min-height:44px;min-width:52px;padding:5px;border-color:var(--rule)}.fo-mini-name{font-size:11px}.fo-vd.lose,.fo-vd.gamelose{color:var(--red-readable)}.fo-vd.gamewin,.fo-vd.hold{color:var(--gold-readable)}.tutorial-screen{max-width:800px;gap:20px;padding:20px 24px 32px}.practice-header{display:flex;align-items:center;justify-content:space-between;width:100%}.practice-header .text-button{font-size:12px;padding-right:0}.practice-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;font-size:12px;color:var(--muted-readable)}.practice-progress span{border-top:2px solid var(--soft-rule);padding-top:8px;text-align:center}.practice-progress .current{color:var(--gold-readable);border-color:var(--kin)}.practice-copy{display:flex;flex-direction:column;align-items:center;gap:18px;max-width:580px;padding:24px 0;text-align:center}.practice-copy h1,.practice-result h1{font-size:clamp(22px,5.5vw,30px);line-height:1.6;font-weight:600}.practice-copy>p:not(.eyebrow),.practice-result>p{font-size:15px;line-height:1.9;color:var(--muted-readable)}.practice-copy>.btn{width:min(100%,340px)}.learn-steps{list-style:none;counter-reset:lesson;display:flex;flex-direction:column;gap:22px;text-align:left;margin:8px 0}.learn-steps li{counter-increment:lesson;position:relative;padding-left:42px;display:flex;flex-direction:column;gap:5px}.learn-steps li:before{content:counter(lesson,decimal-leading-zero);position:absolute;left:0;top:0;color:var(--gold-readable);font-size:21px}.learn-steps b{font-size:16px;font-weight:600}.learn-steps span{font-size:14px;line-height:1.8;color:var(--muted-readable)}.practice-safe{font-size:12px;color:var(--gold-readable);line-height:1.8;border:1px solid var(--rule);padding:8px 12px}.practice-hand{max-width:600px}.practice-target{box-shadow:inset 0 0 0 3px var(--kin)}.practice-target:before{background:var(--kin);height:6px}.practice-marker{position:absolute;bottom:12%;left:4px;right:4px;padding:5px 1px;background:var(--kin);font-size:10px;color:var(--sumi)}.practice-foot{font-size:12px;line-height:1.7;color:var(--muted-readable);text-align:center}.hand .card{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.hand-drag-source{opacity:.35}.hand-card-ghost{position:fixed;z-index:100;pointer-events:none;margin:0;transform:rotate(-5deg);filter:drop-shadow(0 12px 12px #0008)}.hand-drop-target{position:fixed;z-index:90;top:max(16px,env(safe-area-inset-top));left:3vw;width:94vw;height:min(240px,35vh);display:flex;align-items:center;justify-content:center;padding:18px;text-align:center;background:#211d18f5;color:var(--cloth);border:2px dashed var(--kin);font:600 18px/1.7 var(--ui);pointer-events:none}.hand-drop-target.ready{border-style:solid;color:var(--gold-readable);background:#43361bf5;box-shadow:0 0 28px #e3c37844}.hand-drop-target.blocked{border-color:var(--red-readable);color:var(--red-readable)}.practice-result{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;max-width:580px;padding:12px 0}.practice-versus{display:flex;align-items:center;gap:20px;color:var(--gold-readable)}.practice-result .big-card{width:125px}.practice-result.animate .practice-versus{animation:ready-settle .5s ease-out}.practice-result.animate h1{animation:award-in .5s ease-out}.practice-result .lesson-takeaway{color:var(--cloth);border-top:1px solid var(--rule);padding-top:16px}.practice-result .practice-risk{padding:14px;background:var(--surface-deep);font-size:13px}.practice-result>.btn{width:min(100%,340px)}.practice-done{margin:auto 0}.rv-award{position:absolute;z-index:6;top:calc(50% + 84px);left:12px;right:12px;text-align:center;font-size:clamp(20px,4vw,32px);color:var(--gold-readable);text-shadow:0 2px 12px var(--surface-deep)}.overlay.reveal.animate .rv-award{animation:award-in .55s 4.2s backwards}@keyframes award-in{0%{opacity:0;transform:translateY(16px) scale(.85)}to{opacity:1;transform:none}}.hanko{box-shadow:0 0 0 2px #edab9955,0 0 36px #100e0b88;color:var(--red-readable);border-color:var(--red-readable)}.rv-story{font-size:16px}.rv-note{font-size:13px}.overlay.gameover .scene-art.final img{filter:brightness(.85) saturate(.9)}.overlay.gameover .gameover-panel{width:min(90vw,420px);padding:28px;gap:18px;background:#211d18ed;border-color:var(--rule);box-shadow:0 16px 70px #100e0b88}.go-title{font-size:48px;letter-spacing:.16em}.go-reason{font-size:15px;text-align:center;line-height:1.8}.go-score{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--muted-readable)}.go-score b{font-size:32px;color:var(--cloth)}.gameover-panel .btn{min-width:220px}.overlay.gameover .gameover-panel{width:min(94vw,560px);max-height:calc(100dvh - 24px);overflow-y:auto;padding:20px;gap:12px}.gameover-panel>*{flex-shrink:0}.match-recap{width:100%;text-align:left;border-top:1px solid var(--rule);padding-top:14px}.match-recap h2{font-size:16px;margin-bottom:12px;color:var(--gold-readable)}.battle-history summary{cursor:pointer;padding:12px 0;font-size:14px;color:var(--gold-readable)}.battle-history .history-explain{margin:0 0 12px;font-size:12px}.rh-head,.round-history-row{display:grid;grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);gap:6px;align-items:center}.rh-head{padding:0 4px 8px;font-size:11px;color:var(--muted-readable);text-align:center}.round-history-list{max-height:min(280px,30dvh);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;margin:0;padding:0 4px;list-style:none;scrollbar-width:thin}.round-history-row{padding:10px 0;border-top:1px solid var(--soft-rule)}.rh-round{grid-column:1 / -1;font-size:10px;color:var(--muted-readable)}.rh-card{display:flex;gap:6px;align-items:center;min-width:0}.rh-card img,.rh-mon{width:32px;height:44px;object-fit:cover;flex-shrink:0}.rh-mon svg{width:100%;height:100%}.rh-card b{font-size:13px;font-weight:600;line-height:1.6}.rh-hint{font-size:11px;color:var(--muted-readable);text-align:center;margin-top:8px}.recap-invitation{color:var(--muted-readable);font-size:12px;margin:-4px 0 14px}.rh-replay{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:8px 12px;margin-top:4px;border:1px solid var(--rule);background:var(--surface-deep);color:var(--gold-readable);font:12px var(--ui);cursor:pointer}.rh-replay:hover,.rh-replay:focus-visible{background:var(--ground);border-color:var(--kin)}.rh-replay span{font-size:20px}.match-recap .rh-card img{width:40px;height:54px;border:1px solid var(--rule)}.gameover.animate .match-recap .rh-card{animation:recap-unfold .65s calc(.25s + var(--round-delay)) backwards;transform-origin:center top}.gameover.animate .match-recap .rh-verdict b{animation:recap-seal .45s calc(.7s + var(--round-delay)) backwards}.gameover.animate .match-recap h2{animation:recap-heading .7s .15s backwards}@keyframes recap-unfold{0%{opacity:0;transform:perspective(400px) rotateX(-65deg) translateY(-8px)}to{opacity:1;transform:none}}@keyframes recap-seal{0%{opacity:0;transform:scale(1.7) rotate(-12deg)}65%{opacity:1;transform:scale(.92) rotate(3deg)}to{transform:none}}@keyframes recap-heading{0%{opacity:0;letter-spacing:.25em;transform:translateY(8px)}to{opacity:1;transform:none}}.replay-host{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:var(--surface-deep)}.replay-heading{position:absolute;z-index:20;left:0;right:0;top:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 18px;padding:max(12px,env(safe-area-inset-top)) 16px 8px;background:var(--surface-deep);color:var(--gold-readable);font-size:14px}.replay-heading>span{grid-column:1 / -1;text-align:center}.replay-host .reveal .rv-tale{top:calc(100px + env(safe-area-inset-top))}.replay-heading small{font-size:11px;color:var(--muted-readable)}.replay-heading .text-button{min-height:40px;font-size:12px}.replay-host .reveal .rv-skip{animation:none}@media(prefers-reduced-motion:reduce){.gameover.animate .match-recap .rh-card,.gameover.animate .match-recap .rh-verdict b,.gameover.animate .match-recap h2{animation:none}}.rh-card small,.rh-verdict small{display:block;font-size:10px;line-height:1.7;color:var(--muted-readable)}.rh-verdict{text-align:center}.rh-verdict b{display:inline-block;font-size:14px;padding:2px 8px;border:1px solid currentColor}.rh-verdict.win{color:var(--blue-readable)}.rh-verdict.lose{color:var(--red-readable)}.rh-verdict.hold{color:var(--gold-readable)}.battle-history summary:focus-visible,.round-history-list:focus-visible{outline:2px solid var(--kin);outline-offset:2px}@media(max-width:400px){.overlay.gameover .gameover-panel{padding:16px 12px}.rh-card{flex-direction:column;gap:2px;text-align:center}}.lobby-screen{gap:20px;background:linear-gradient(var(--surface-deep),transparent)}.lobby-screen h2{font-size:17px}.room-code{box-shadow:none;border-top:3px solid var(--kin);font-size:38px}.lobby-screen p,.waiting{font-size:14px;line-height:1.8;text-align:center}.share-row{gap:8px;flex-wrap:wrap;justify-content:center}.share-row .btn{font-size:14px;min-height:44px}.settings{z-index:22;overflow-y:auto;padding:24px 0}.settings-panel{margin:auto;flex-shrink:0;border-color:var(--rule);gap:18px}.settings-panel p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted-readable)}.settings-panel .btn{width:100%}.settings .about{z-index:24}.help-panel{gap:18px;max-width:680px}.help-lead{font-size:16px;line-height:1.9;padding:16px;background:var(--surface-deep);width:100%}.help-timer-note{font-size:13px;color:var(--gold-readable)}.help-panel h3{margin-top:12px}.help-panel li{font-size:14px;line-height:1.9}.help-table{font-size:13px}.sheet-power,.mu-note{font-size:14px;line-height:1.8}.focus-row button{min-width:44px;min-height:44px}.help-matrix .mx-you{color:var(--blue-readable)}.help-matrix .mx-opp,.help-matrix td.lose,.help-matrix td.gamelose{color:var(--red-readable);opacity:1}.records-screen{max-width:900px;gap:20px}.rec-head{flex-wrap:wrap}.rec-filters .btn{min-height:44px}.rec-settings>.rs-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rec-settings>.rs-row #nick-input{grid-column:1 / -1;grid-row:1;width:100%}.rec-settings>.rs-row .rs-select{width:100%;min-width:0}.rec-settings>.rs-row .btn{grid-column:1 / -1}.rs-input,.rs-select{min-height:44px}.rs-ach{opacity:1;color:var(--muted-readable);padding:6px 0;font-size:12px;line-height:1.7}.rs-ach b{font-size:14px}.rs-ach.got{color:var(--gold-readable)}.rec-note,.rm-meta,.rec-match-head{font-size:13px}.rec-block{border-color:var(--soft-rule);padding:18px}@media(min-width:761px){.game-screen .card{height:clamp(170px,23vh,232px);aspect-ratio:auto}}@media(max-width:760px){.overlay.reveal .scene-art.cutin:before{content:"";position:absolute;top:-30px;right:-30px;bottom:-30px;left:-30px;background:var(--scene-image) center / cover;filter:blur(24px) brightness(.35)}.overlay.reveal .scene-art.cutin img{position:relative;object-fit:contain}.game-screen{padding-left:14px;padding-right:14px;gap:10px}.battle-layout{display:flex;flex-direction:column;gap:0}.battle-main{gap:7px}.battle-side{border:none;padding:0}.field-notes{display:none}.battle-log{margin:4px 0 0;padding-top:12px}.battle-log .eyebrow{font-size:11px}.opponent-camp{padding:10px}.battle-instruction{padding:3px 0}.message{font-size:15px}.hand{gap:7px}.card{aspect-ratio:.59}.card .card-inner{padding:6px 3px 15px 5px;grid-template-columns:1fr 1em}.card .card-rank{font-size:23px;padding-bottom:4px}.card .card-name{font-size:13px}.score-line{gap:9px}.pips{gap:4px}.pip{width:8px;height:8px}.score-number{font-size:27px}.hud .lbl{font-size:11px}.tutorial-screen{max-width:520px;padding:12px 14px 24px;gap:14px}.practice-copy{padding:10px 0;gap:14px}.practice-copy h1,.practice-result h1{font-size:23px}.practice-copy>p:not(.eyebrow){font-size:14px}.practice-result{gap:14px}.practice-versus{gap:16px}.practice-result .big-card{width:116px}}@media(max-height:700px){.title-core{padding-top:12px;padding-bottom:12px;gap:6px}.title-mon,.title-emblem{width:60px;height:60px}.menu{margin-top:6px;gap:8px}.fo-panel{gap:6px}.fo-card .big-card{width:132px;min-height:176px}.fo-card .big-card .big-art{width:94px;height:92px}}@media(prefers-reduced-motion:reduce){.ready-fresh,.practice-result.animate *,.overlay.reveal.animate .rv-award{animation:none!important}.turn-clock.urgent,.dots:after{animation:none!important}.card,.fo-card,.fo-hint,.btn{transition:none!important}.card:hover,.card:active{transform:none}}.sound-toggle{min-width:84px;min-height:44px;padding:8px 12px;border:1px solid var(--rule);color:var(--gold-readable);background:var(--surface-deep);font-size:13px;white-space:nowrap}.sound-toggle[aria-pressed=false]{color:var(--muted-readable);border-style:dashed}.result-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.result-tools .eyebrow{margin:0}.practice-tools{display:flex;align-items:center;gap:12px}.reel-sound{position:absolute;left:max(14px,env(safe-area-inset-left));bottom:calc(12vh + 12px);z-index:8}.tool-row{flex-wrap:wrap}.tool-row .surrender-entry{color:var(--muted-readable);min-height:44px}.surrender-dialog{z-index:30}.surrender-dialog .panel{max-height:calc(100dvh - 24px);overflow-y:auto;width:min(92vw,430px);padding:24px;gap:16px;background:var(--surface-deep);border:1px solid var(--rule)}.surrender-dialog h2{font-size:24px;color:var(--gold-readable)}.surrender-dialog p{line-height:1.8}.surrender-dialog .surrender-clock{font-size:12px;color:var(--muted-readable)}.surrender-dialog .btn{min-height:48px;width:100%}.tool-row .text-button{flex:1 0 88px;min-height:44px;white-space:nowrap}
