:root{--bg1: #1b2434;--bg2: #0f1521;--paper: #f3ead7;--paper2: #e9dcc0;--ink: #1d1b19;--gold: #c9a14a;--gold-l: #e6c97c;--shu: #c0392b;--shu-l: #e2574a;--ai: #2b4a73;--text: #efe7d6;--muted: #aab2c0;--panel: rgba(255, 255, 255, .055);--line: rgba(201, 161, 74, .32);--m1: #2f5d3a;--m1t: #ffffff;--m2: #c2385f;--m2t: #ffffff;--m3: #f6c1cd;--m3t: #1d1b19;--m4: #b7a8e0;--m4t: #1d1b19;--m5: #3c57a6;--m5t: #ffffff;--m6: #a02c7c;--m6t: #ffffff;--m7: #7a3550;--m7t: #ffffff;--m8: #cfc8ab;--m8t: #1d1b19;--m9: #e6bb3a;--m9t: #1d1b19;--m10: #b5371f;--m10t: #ffffff;--m11: #9cc177;--m11t: #1d1b19;--m12: #6c4390;--m12t: #ffffff;--serif: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", "BIZ UDPMincho", serif;--sans: "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", "Noto Sans JP", "Meiryo", sans-serif;--cw: 58px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;min-height:100dvh;color:var(--text);font-family:var(--serif);font-size:15px;line-height:1.6;background:radial-gradient(ellipse 120% 60% at 50% -10%,#2a3a5a 0%,transparent 60%),linear-gradient(var(--bg1),var(--bg2));background-attachment:fixed;background-color:var(--bg2)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.05;background-image:radial-gradient(circle at 50% 100%,transparent 12px,#fff 12px,#fff 13px,transparent 13px),radial-gradient(circle at 0% 50%,transparent 12px,#fff 12px,#fff 13px,transparent 13px),radial-gradient(circle at 100% 50%,transparent 12px,#fff 12px,#fff 13px,transparent 13px);background-size:40px 20px}#app{position:relative;max-width:1320px;margin:0 auto;padding:0 8px env(safe-area-inset-bottom)}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--gold-l);outline-offset:2px}h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}.num{font-family:var(--sans);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small,small{font-size:12px}.gold{color:var(--gold-l)}.koi-text{color:var(--shu-l)}.agari-text{color:var(--gold-l)}.btn{min-height:44px;padding:8px 18px;border:1px solid var(--gold);border-radius:6px;background:linear-gradient(#34466a,#25324d);color:var(--text);font-weight:700;letter-spacing:.08em}.btn:hover:not(:disabled){background:linear-gradient(#3f5480,#2b3a5a)}.btn:disabled{opacity:.4}.btn.primary{background:linear-gradient(var(--gold-l),var(--gold));color:var(--ink);border-color:#8a6a22}.btn.danger{border-color:var(--shu-l);background:linear-gradient(#a53225,#802318)}.btn.small{min-height:44px;padding:6px 12px;font-size:13px}.btn-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.icon-btn{min-width:44px;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:22px;background:var(--panel);font-family:var(--sans);font-size:17px;display:inline-flex;align-items:center;gap:4px}.icon-btn small{font-size:11px;font-family:var(--serif)}.icon-btn:hover{background:#ffffff1f}.link-btn{min-height:44px;border:0;background:none;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.card{container-type:inline-size;position:relative;display:block;width:100%;aspect-ratio:5 / 8;padding:0;border:1px solid #8f8468;border-radius:7cqw;border-radius:5px;background:linear-gradient(160deg,var(--paper) 0%,var(--paper2) 100%);color:var(--ink);overflow:hidden;text-align:left;box-shadow:0 2px 4px #00000073;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;animation:card-in .28s ease both}button.card:disabled{color:var(--ink)}.card-head{position:absolute;inset:0 0 auto 0;height:22cqw;padding:0 5cqw;background:var(--mc);color:var(--mt);font-size:16cqw;font-weight:700;line-height:22cqw;white-space:nowrap;overflow:hidden;border-bottom:1px solid rgba(0,0,0,.3)}.card-head .num{font-size:17cqw}.card-art{position:absolute;left:0;top:22cqw;width:100%;height:calc(100% - 44cqw);display:block}.card-foot{position:absolute;inset:auto 0 0 0;height:22cqw;display:flex;align-items:center;gap:3cqw;padding:0 3cqw;background:var(--paper);border-top:1px solid rgba(0,0,0,.3);white-space:nowrap;overflow:hidden}.card-foot-name{flex:1;min-width:0;font-size:16cqw;font-weight:700;line-height:22cqw;text-align:center}.card-foot-name.n4{font-size:15cqw}.card-foot-name.n5{font-size:13.5cqw;letter-spacing:-.03em}.card.k-kasu .card-foot-name{font-weight:400;color:#5a5245}.card-kind{flex:none;width:17cqw;height:17cqw;border-radius:50%;font-size:12.5cqw;font-weight:700;line-height:17cqw;text-align:center;font-family:var(--serif)}.k-hikari .card-kind,.kind-badge.k-hikari,.chip.k-hikari .chip-kind{background:radial-gradient(circle at 35% 30%,#f6e2a6,var(--gold));color:#3b2a05;box-shadow:0 0 0 1px #8a6a22}.k-tane .card-kind,.kind-badge.k-tane,.chip.k-tane .chip-kind{background:var(--ai);color:#fff}.k-kasu .card-kind,.kind-badge.k-kasu,.chip.k-kasu .chip-kind{background:transparent;color:#6f6757;box-shadow:inset 0 0 0 1px #a59c86;font-weight:400}.k-tan .card-kind{border-radius:2px}.t-aka .card-kind,.kind-badge.t-aka,.chip.t-aka .chip-kind{background:var(--shu);color:#fff}.t-ao .card-kind,.kind-badge.t-ao,.chip.t-ao .chip-kind{background:#23489a;color:#fff}.t-muji .card-kind,.kind-badge.t-muji,.chip.t-muji .chip-kind{background:#8c5a4a;color:#fff}.card.k-hikari{border-color:var(--gold);box-shadow:0 0 0 1.5px var(--gold),0 2px 5px #00000080}.card.k-hikari .card-foot{background:linear-gradient(#f6e7b8,#e9d08a)}.card-star{position:absolute;left:3cqw;top:25cqw;width:24cqw;height:24cqw;border-radius:50%;background:#fdf8eceb;box-shadow:0 0 0 1px #b98a1c;font-size:18cqw;line-height:24cqw;text-align:center;color:#a87a12}.card-star.s2{color:var(--shu);box-shadow:0 0 0 1.5px var(--shu);animation:pulse 1.2s ease-in-out infinite}.card-enh,.chip-enh{font-family:var(--serif);font-weight:700;color:#fff;text-align:center}.card-enh{position:absolute;right:3cqw;top:25cqw;width:24cqw;height:24cqw;font-size:16cqw;line-height:24cqw;border-radius:3px;box-shadow:0 0 0 1px #0006}.e-kinpaku{background:linear-gradient(135deg,#f1d98a,#b98a1c);color:#3b2a05}.e-shuin{background:var(--shu)}.thumb{display:inline-block;width:24px;height:28px;border:1px solid #8f8468;border-radius:3px;overflow:hidden;background:var(--paper);vertical-align:middle}.thumb.k-hikari{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.thumb svg,.chip-art svg{display:block;width:100%;height:100%}.thumbs{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}button.card:not(:disabled):hover{transform:translateY(-3px)}.card.selected{transform:translateY(-8px);box-shadow:0 0 0 3px var(--gold-l),0 8px 14px #0000008c;z-index:2}button.card.selected:hover{transform:translateY(-8px)}.card.match{box-shadow:0 0 0 3px var(--shu-l),0 0 14px 2px #e2574ab3;animation:card-in .28s ease both,match-pulse 1.1s ease-in-out infinite;z-index:1}.card.dim{opacity:.55}.card.fresh:not(.match){box-shadow:0 0 0 2px #7fb6ff,0 2px 5px #00000080}.card.back{background:#22345a;border-color:var(--gold);animation:none}.back-pattern{position:absolute;top:6cqw;right:6cqw;bottom:6cqw;left:6cqw;border:1px solid rgba(201,161,74,.7);border-radius:3px;background-image:repeating-linear-gradient(60deg,rgba(201,161,74,.35) 0 1px,transparent 1px 7px),repeating-linear-gradient(-60deg,rgba(201,161,74,.35) 0 1px,transparent 1px 7px),repeating-linear-gradient(0deg,rgba(201,161,74,.2) 0 1px,transparent 1px 6px)}.back-count{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:1px;color:#fff;font-size:34cqw;font-weight:700;text-shadow:0 1px 3px #000}.back-count small{font-size:18cqw}.chip{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:2px 7px 2px 3px;border:1px solid rgba(255,255,255,.22);border-left:5px solid var(--mc, #888);border-radius:4px;background:#ffffff0d;color:var(--text);font-size:12.5px;line-height:1.3;white-space:nowrap;animation:chip-in .25s ease both}.chip-art{flex:none;width:21px;height:24.5px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px #00000059}.chip.k-hikari .chip-art{box-shadow:0 0 0 1.5px var(--gold)}.chip-kind{flex:none;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:700;line-height:18px;text-align:center}.chip.k-tan .chip-kind{border-radius:2px}.chip.k-kasu .chip-kind{color:#c9c1ae;box-shadow:inset 0 0 0 1px #8e8774}.chip.st-have{background:var(--paper);color:var(--ink);border-color:#8f8468;border-left-color:var(--mc, #8f8468)}.chip.st-have.k-kasu .chip-kind{color:#6f6757}.chip.st-field{border-color:var(--shu-l);border-left-color:var(--mc, var(--shu-l))}.chip.st-hand{border-color:#7fb6ff;border-left-color:var(--mc, #7fb6ff)}.chip-tag{flex:none;padding:0 4px;border-radius:3px;font-size:10.5px;font-weight:700;color:#fff}.st-field .chip-tag{background:var(--shu)}.st-hand .chip-tag{background:#2c64b5}.chip-enh{flex:none;width:16px;height:16px;font-size:10.5px;line-height:16px;border-radius:2px}.chip.demo{padding-left:7px;border-left-width:1px;animation:none}button.chip{min-height:44px}.kind-badge{flex:none;display:inline-block;width:26px;height:26px;border-radius:50%;font-weight:700;line-height:26px;text-align:center}.kind-badge.k-tan{border-radius:3px}.kind-badge.k-kasu{color:#c9c1ae}.stage-screen{padding-bottom:24px}.hud{padding:8px 0 6px}.hud-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.hud-month{display:inline-flex;align-items:baseline;gap:2px;padding:2px 14px 2px 12px;border-radius:4px;background:var(--mc);color:var(--mt);font-size:20px;letter-spacing:.05em;box-shadow:inset 0 0 0 1px #00000040}.hud-month .num{font-size:24px;font-weight:700}.hud-flower{margin-left:8px;font-size:22px}.hud-btns{display:flex;align-items:center;gap:6px}.money{padding:4px 10px;border:1px solid var(--gold);border-radius:14px;color:var(--gold-l);font-weight:700;white-space:nowrap}.hud-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.stat{display:flex;flex-direction:column;align-items:center;padding:3px 4px 4px;border:1px solid var(--line);border-radius:6px;background:var(--panel);line-height:1.25}.stat.ok{border-color:var(--gold-l);background:#c9a14a29}.stat-label{font-size:11.5px;color:var(--muted)}.stat-value{font-size:21px;font-weight:700;white-space:nowrap}.stat-value small{margin-left:2px;font-size:11.5px;font-weight:400;color:var(--muted)}.koi-warn{margin-top:6px;padding:4px 10px;border-left:4px solid var(--shu-l);border-radius:3px;background:#c0392b38;font-size:13px}.charm-bar{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.charm-badge{display:inline-flex;align-items:center;gap:5px;min-height:44px;padding:2px 10px 2px 4px;border:1px solid var(--line);border-radius:22px;background:var(--panel);font-size:13px}.charm-glyph{flex:none;display:inline-block;width:30px;height:30px;border:2px solid var(--shu);border-radius:6px;background:var(--paper);color:var(--shu);font-weight:700;font-size:17px;line-height:26px;text-align:center}.board{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.table{position:relative;padding:8px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(#143c3259,#0f282d59),var(--panel)}.guide{min-height:62px;padding:6px 10px;border-left:4px solid var(--gold);border-radius:3px;background:#00000047;font-size:14px;line-height:1.45}.guide.attention{border-left-color:var(--shu-l);background:#c0392b40}.guide b{display:block}.guide-sub{display:block;font-size:12.5px;color:#d3d8e2}.deck-strip{display:flex;align-items:flex-start;gap:8px;margin-top:8px;min-height:92px}.mini-slot{flex:none;width:46px;text-align:center}.mini-slot.pending{width:54px}.mini-slot .card.selected,.mini-slot button.card.selected:hover{transform:none}.slot-label{display:block;margin-top:2px;font-size:11px;color:var(--muted);white-space:nowrap}.log{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;gap:1px;min-height:74px;font-size:12px;line-height:1.4;color:#c3c9d4}.log li.latest{color:var(--text);font-size:13px}.zone-title{display:flex;align-items:center;gap:6px;margin:8px 0 6px;font-size:14px;font-weight:700;letter-spacing:.1em;color:var(--gold-l)}.zone-title small{font-weight:400;letter-spacing:0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--cw),1fr));gap:7px 6px}.field{min-height:calc(var(--cw) * 1.6);padding:2px}.hand-zone{margin-top:6px;padding:0 6px 8px;border-top:1px dashed var(--line);border-radius:0 0 6px 6px;background:#0000002e}.hand{padding:8px 2px 2px}.play-btn{margin-left:auto;min-width:96px;background:linear-gradient(var(--gold-l),var(--gold));color:var(--ink);border-color:#8a6a22;letter-spacing:.3em;text-indent:.3em}.play-btn:hover:not(:disabled){background:linear-gradient(#f3dc9c,#d6ae57)}.side{display:grid;gap:12px;align-content:start}.panel{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.panel-title{margin-bottom:6px;font-size:15px;letter-spacing:.1em;color:var(--gold-l)}.panel-title small{margin-left:6px;font-weight:400;letter-spacing:0;color:var(--muted)}.yaku-list{display:grid;gap:5px}.yaku-row{padding:2px 6px 6px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#0000002e}.yaku-row.near{border-color:var(--shu-l)}.yaku-row.done{border-color:var(--gold);background:#c9a14a24}.yaku-row.focus{box-shadow:0 0 0 2px var(--gold-l)}.yaku-main{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:0;border:0;background:none;text-align:left}.yaku-name{font-size:16px;font-weight:700}.yaku-pts{padding:0 6px;border-radius:10px;background:#ffffff1f;font-size:12px;white-space:nowrap}.yaku-status{margin-left:auto;font-size:12.5px;color:#d3d8e2;text-align:right}.yaku-row.near .yaku-status{color:#ffb3a8;font-weight:700}.yaku-row.done .yaku-status{color:var(--gold-l);font-weight:700}.yaku-cards{display:flex;flex-wrap:wrap;gap:4px}.yaku-count{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12.5px}.meter{flex:1 1 80px;max-width:160px;height:8px;border-radius:4px;background:#ffffff24;overflow:hidden}.meter>span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-l))}.legend{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.cap-group{display:flex;gap:8px;padding:5px 0;border-top:1px solid rgba(255,255,255,.08)}.cap-label{flex:none;width:52px;font-weight:700;font-size:13.5px}.cap-label .num{display:block;font-size:18px;color:var(--gold-l)}.cap-cards{display:flex;flex-wrap:wrap;gap:4px;align-content:flex-start}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:10px;background:#05080eb8;animation:fade-in .18s ease both}.modal{width:100%;max-width:460px;max-height:calc(100dvh - 20px);display:flex;flex-direction:column;border:1px solid var(--gold);border-radius:10px;background:linear-gradient(#222d44,#151c2b);box-shadow:0 12px 40px #0009}.modal.wide{max-width:760px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 8px 16px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:18px;letter-spacing:.1em;color:var(--gold-l)}.modal-body{padding:14px 16px 16px;overflow-y:auto;overscroll-behavior:contain}.decision-yaku{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-bottom:10px}.decision-yaku-item{display:flex;align-items:baseline;gap:6px}.decision-yaku-item .name{font-size:26px;font-weight:700;color:var(--gold-l);letter-spacing:.08em}.decision-score{padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:#00000040}.decision-score .row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 10px}.decision-score b{font-size:18px}.decision-score.reach .verdict{color:var(--gold-l)}.decision-score.short .verdict{color:#ffb3a8}.verdict{margin-top:4px;font-weight:700;font-size:14px}.decision-btns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 8px}.stamp{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:86px;padding:8px 6px;border-radius:8px;border:3px double;box-shadow:0 3px 8px #0006}.stamp-main{font-size:24px;font-weight:700;letter-spacing:.15em}.stamp-sub{font-size:12px;font-family:var(--sans)}.stamp.agari{background:linear-gradient(#ecd591,var(--gold));border-color:#6f5417;color:var(--ink)}.stamp.koikoi{background:linear-gradient(#d94a3a,#a52a1e);border-color:#ffd9d2;color:#fff}.stamp:hover:not(:disabled){filter:brightness(1.08)}.stamp:disabled{filter:grayscale(.8);opacity:.55}.decision-note{padding:6px 8px;border-radius:4px;background:#c0392b29}.decision .link-btn{display:block;margin:4px auto 0}.confirm-box{margin:12px 0 8px;padding:10px;border:1px solid var(--shu-l);border-radius:6px;background:#c0392b33}.confirm-box p{margin-bottom:10px}.peek-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#0a0e16f0;border-top:1px solid var(--gold)}.fx-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#05080e59}.fx-banner{width:100%;padding:14px 10px 16px;text-align:center;background:linear-gradient(90deg,transparent,rgba(15,21,33,.95) 18%,rgba(15,21,33,.95) 82%,transparent);border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);animation:banner-in .32s cubic-bezier(.2,.9,.3,1.2) both}.fx-sub{font-size:14px;letter-spacing:.3em;color:var(--muted)}.fx-title{font-size:clamp(30px,9vw,56px);font-weight:700;letter-spacing:.14em;color:var(--gold-l);text-shadow:0 2px 10px rgba(0,0,0,.8)}.fx-koikoi .fx-title{color:var(--shu-l)}.result-screen,.title-screen,.end-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px 4px}.result-card{width:100%;max-width:520px;padding:16px;border:1px solid var(--gold);border-radius:10px;background:linear-gradient(#222d44,#151c2b)}.result-card h1{font-size:24px;text-align:center;letter-spacing:.1em;color:var(--gold-l)}.result-card h1 small{margin-left:4px;font-size:14px;color:var(--muted)}.result-card h2{margin:12px 0 2px;font-size:13px;letter-spacing:.15em;color:var(--muted)}.reason{margin-top:8px;padding:6px 10px;border-left:4px solid var(--shu-l);background:#c0392b33;font-size:14px}.breakdown li,.reward li,.subtotal{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:3px 2px;border-bottom:1px dotted rgba(255,255,255,.14)}.breakdown li small,.reward li small{margin-left:8px;color:var(--muted)}.breakdown .num,.reward .num{font-size:16px;font-weight:700;white-space:nowrap}.subtotal{border-bottom:0;font-weight:700;color:var(--gold-l)}.subtotal .num{font-size:19px}.subtotal small{margin-left:6px;font-weight:400;color:var(--muted)}.line{animation:line-in .3s ease both}.final{position:relative;margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#0000004d;text-align:center}.final-calc{color:var(--muted)}.final-score .num{font-size:54px;font-weight:700;line-height:1.1;color:var(--gold-l)}.final-score small{margin-left:4px;font-size:16px}.verdict-stamp{position:absolute;right:10px;top:10px;padding:4px 10px;border:3px double;border-radius:6px;font-size:20px;font-weight:700;letter-spacing:.15em;transform:rotate(8deg)}.verdict-stamp.clear{color:var(--gold-l)}.verdict-stamp.fail{color:var(--shu-l)}.reward{margin-top:4px}.result-card .btn-row{margin-top:16px}.title-card,.end-card{width:100%;max-width:480px;padding:28px 18px 22px;text-align:center}.title-logo{display:inline-flex;flex-direction:row-reverse;gap:6px;margin-bottom:8px}.title-logo span{display:block;width:84px;height:84px;border:3px double var(--gold);border-radius:8px;background:var(--paper);color:var(--shu);font-size:54px;font-weight:700;line-height:76px;box-shadow:0 4px 12px #00000080}.title-card h1{font-size:15px;font-weight:400;letter-spacing:.5em;text-indent:.5em;color:var(--gold-l)}.title-lead{margin:16px 0 20px;font-size:14.5px;color:#d3d8e2}.title-menu{display:grid;gap:10px;max-width:300px;margin:0 auto}.title-menu .btn{min-height:50px;font-size:16px}.title-menu small{display:block;font-weight:400;letter-spacing:0;font-family:var(--sans);font-size:11.5px;opacity:.85}.title-foot{margin-top:18px}.end-card{border:1px solid var(--gold);border-radius:10px;background:linear-gradient(#222d44,#151c2b)}.end-card h1{font-size:30px;letter-spacing:.2em;color:var(--gold-l)}.end-card.over h1{color:var(--shu-l)}.end-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.end-charms{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0 18px}.help-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.help-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:22px;color:var(--text);text-decoration:none;font-size:13px}.modal-body section{padding:10px 0;border-top:1px solid rgba(255,255,255,.1)}.modal-body h3{margin-bottom:6px;font-size:16px;color:var(--gold-l);letter-spacing:.08em}.modal-body section p,.modal-body section ul,.modal-body section ol{margin-bottom:8px}.modal-body section ol{padding-left:1.4em;list-style:decimal}.modal-body section ul:not([class]){padding-left:1.2em;list-style:disc}.kind-list li,.charm-help li{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}.help-yaku li{padding:6px 0;border-bottom:1px dotted rgba(255,255,255,.14)}.help-yaku-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin-bottom:4px}.help-yaku-head b{font-size:17px}.help-yaku-head .pts{color:var(--gold-l);font-weight:700}.help-yaku-head .cond{font-size:13px;color:#d3d8e2}.rule-table{width:100%;border-collapse:collapse;margin-bottom:8px}.rule-table th,.rule-table td{padding:5px 8px;border:1px solid rgba(255,255,255,.16);text-align:left;vertical-align:top}.rule-table th{width:3.6em;white-space:nowrap;color:var(--gold-l)}.formula{padding:8px;border:1px solid var(--line);border-radius:6px;text-align:center;font-size:17px}.month-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:5px 0;border-bottom:1px dotted rgba(255,255,255,.14)}.month-name{flex:none;width:104px;padding:2px 8px;border-radius:4px;background:var(--mc);color:var(--mt);font-weight:700}.month-name small{margin-left:4px;font-weight:400;font-size:10.5px}.setting{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1)}.setting small{display:block}.switch{display:flex;align-items:flex-start;gap:10px;min-height:44px;cursor:pointer}.switch input{flex:none;width:24px;height:24px;margin:2px 0 0;accent-color:var(--gold)}.switch small{color:var(--muted)}.seg{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:6px 0 4px}.seg button{min-height:44px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.seg button.on{background:var(--gold);color:var(--ink);font-weight:700}.seg button:disabled{opacity:.4}@keyframes card-in{0%{opacity:0;transform:translateY(-10px) scale(.94)}}@keyframes chip-in{0%{opacity:0;transform:scale(.85)}}@keyframes fade-in{0%{opacity:0}}@keyframes line-in{0%{opacity:0;transform:translate(-8px)}}@keyframes banner-in{0%{opacity:0;transform:scaleY(.4)}}@keyframes pulse{50%{transform:scale(1.3)}}@keyframes match-pulse{50%{box-shadow:0 0 0 3px var(--shu-l),0 0 4px #e2574a66}}.fx-off *,.fx-off *:before,.fx-off *:after{animation:none!important;transition:none!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media (min-width: 600px){:root{--cw: 76px}body{font-size:16px}#app{padding:0 16px}.cards{grid-template-columns:repeat(auto-fill,var(--cw));gap:10px 9px}.table{padding:12px 14px}.mini-slot{width:56px}.mini-slot.pending{width:68px}.deck-strip{min-height:112px}.log{font-size:13px}.log li.latest{font-size:14.5px}.guide{font-size:15.5px}.hud-stats{max-width:560px}}@media (min-width: 1000px){:root{--cw: 88px}.hud{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:12px 0 10px}.hud-top{display:contents}.hud-month{order:1}.hud-stats{order:2;flex:0 1 520px;margin-top:0}.koi-warn{order:3;margin-top:0}.hud-btns{order:4;margin-left:auto}.charm-bar{order:5;flex-basis:100%;margin-top:0}.board{grid-template-columns:minmax(0,1fr) 400px;gap:16px;align-items:start}.stat{flex-direction:row;justify-content:center;align-items:baseline;gap:8px;padding:4px 8px}}.shop-screen{max-width:760px;margin:0 auto;padding:8px 0 110px;display:grid;gap:12px}.shop-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.shop-head h1{font-size:26px;letter-spacing:.2em;color:var(--gold-l)}.shop-head h1 small{font-size:13px;letter-spacing:0;color:var(--muted)}.shop-lead{font-size:14.5px}.shop-lead .muted{display:block;font-size:12.5px}.shop-screen .panel-title{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.reroll{margin-left:auto}.offer-list{display:grid;gap:8px}.offer{display:flex;align-items:center;gap:10px;min-height:64px;padding:8px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#0003}.offer.sold{justify-content:center;border-style:dashed}.offer.owned{border-color:var(--line)}.offer-text{flex:1;min-width:0}.offer-text b{font-size:16px}.offer-text p{font-size:13px;line-height:1.45;color:#d3d8e2}.offer-text .why{color:#ffb3a8}.charm-glyph.big{width:44px;height:44px;font-size:26px;line-height:40px}.charm-glyph.enh.e-kinpaku{border-color:#8a6a22;background:linear-gradient(135deg,#f1d98a,#b98a1c);color:#3b2a05}.charm-glyph.enh.e-shuin{border-color:#fff;background:var(--shu);color:#fff}.charm-glyph.remove{border-color:#555;color:#333}.buy,.sell{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:68px;min-height:52px;padding:4px 8px;line-height:1.2;letter-spacing:0}.buy .num{font-size:18px}.buy small,.sell small{display:block;font-weight:400;font-family:var(--sans)}.shop-foot{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 16px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--gold);background:#0c111bf5}.next-btn{min-width:150px;min-height:50px;font-size:17px}.picker .pick{display:inline-flex;border-radius:6px}.picker .pick.on{box-shadow:0 0 0 3px var(--gold-l)}.picker .pick.off{opacity:.35}.picker .pick.off .chip{min-height:44px}.picker-foot{position:sticky;bottom:-16px;margin:10px -16px -16px;padding:10px 16px 14px;background:#151c2b;border-top:1px solid var(--line)}.coach{margin-top:8px;padding:6px 10px 8px;border:1px solid var(--gold-l);border-radius:8px;background:#f3ead7;color:var(--ink);box-shadow:0 3px 10px #0006;font-size:13.5px;line-height:1.5}.coach-head{display:flex;align-items:center;gap:8px}.coach-step{flex:none;padding:0 7px;border-radius:10px;background:var(--shu);color:#fff;font-size:12px;font-weight:700}.coach-skip{margin-left:auto;color:#5a5245;white-space:nowrap}.next-target{margin-left:12px}.decision-yaku-item{flex-wrap:wrap;justify-content:center}.decision-yaku-item .thumbs{flex-basis:100%;justify-content:center;margin-bottom:4px}.breakdown li .thumbs{display:flex}.gallery{padding:12px 0 40px}.gallery h1{font-size:20px;color:var(--gold-l)}.gallery h2{margin:18px 0 6px;padding-bottom:2px;border-bottom:1px solid var(--line);font-size:16px;color:var(--gold-l)}.gallery h3{margin:8px 0 4px;font-size:13px;color:var(--muted)}.gallery-months{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--cw) * 4 + 30px),1fr));gap:4px 14px}.gallery-row{display:grid;grid-template-columns:repeat(4,var(--cw));gap:6px}.gallery-large{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.fly-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;pointer-events:none;overflow:hidden}.fly-ghost{position:fixed;margin:0;will-change:transform,opacity}.fly-ghost .card{animation:none;transform:none;transition:none;box-shadow:0 0 0 2px var(--gold-l),0 6px 14px #0000008c}.cap-cards .chip{animation-delay:.75s}.fx-off .cap-cards .chip{animation-delay:0s}.deck-slot{position:relative}.deck-slot.flipping .card.back{box-shadow:0 0 0 3px var(--shu-l),0 0 14px 3px #e2574ab3;animation:deck-nudge .5s ease-in-out infinite}.flip-callout{position:absolute;left:calc(100% + 6px);top:18%;z-index:3;padding:3px 10px;border-radius:14px;background:var(--shu);color:#fff;font-size:13px;font-weight:700;white-space:nowrap;box-shadow:0 2px 8px #00000080;animation:callout-in .2s ease both}.flip-callout:before{content:"";position:absolute;left:-6px;top:50%;margin-top:-6px;border:6px solid transparent;border-left:0;border-right-color:var(--shu)}.mini-slot.flipped .card{opacity:.85}.mini-slot .slot-label b{display:block;color:var(--gold-l);font-weight:700}.bump{display:inline-block;animation:bump .35s ease-out}.shake{display:inline-block;animation:shake .5s ease-out}.subtotal .shake{color:var(--shu-l)}.final-score .tick{display:inline-block;animation:bump .12s ease-out}.final.counting{border-color:var(--gold-l);box-shadow:0 0 18px #e6c97c59}.final.settled .final-score .num{display:inline-block;animation:settle .5s cubic-bezier(.2,1.4,.4,1)}.verdict-stamp{animation:stamp-in .4s cubic-bezier(.2,1.6,.4,1) both}.line.pending{animation:none;visibility:hidden}.subtotal.mult-up{border-radius:4px;background:#c0392b2e}.skip-hint{margin-top:16px;text-align:center}.yaku-row.done{animation:yaku-flash 1.4s ease-out}.yaku-row.done .chip{animation:chip-flash .5s ease-in-out 3}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.45)}to{transform:scale(1)}}@keyframes shake{0%{transform:scale(1) rotate(0)}20%{transform:scale(1.7) rotate(-8deg)}40%{transform:scale(1.5) rotate(7deg)}60%{transform:scale(1.3) rotate(-5deg)}80%{transform:scale(1.12) rotate(3deg)}to{transform:scale(1) rotate(0)}}@keyframes settle{0%{transform:scale(1.5)}to{transform:scale(1)}}@keyframes stamp-in{0%{opacity:0;transform:rotate(8deg) scale(2.6)}to{opacity:1;transform:rotate(8deg) scale(1)}}@keyframes yaku-flash{0%,30%{box-shadow:0 0 0 3px var(--gold-l),0 0 22px 4px #e6c97ccc;background:#e6c97c73}to{box-shadow:0 0 0 0 transparent}}@keyframes chip-flash{50%{transform:scale(1.12);box-shadow:0 0 10px 2px #fff0bef2}}@keyframes deck-nudge{50%{transform:translateY(-3px) rotate(-2deg)}}@keyframes callout-in{0%{opacity:0;transform:translate(-6px)}}.deck-slot.flipping~.log{opacity:.2}
