:root{--bg:#0b1530;--bg2:#101d3f;--panel:#14234a;--panel2:#1a2c5a;--line:#2a3f73;--text:#e8edf8;--muted:#9aa8c8;--accent:#f2c14e;--primary:#3a7bff;--ok:#3ccf91;--danger:#ff5a6a;--felt:#12305e;--felt-edge:#2f5fae;--tile:#f7f3e8;--tile-edge:#c9bfa6;--tile-back:#1f6f5c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:radial-gradient(120% 80% at 50% 0%, #15275a 0%, var(--bg) 60%);background-color:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif}button,input{font:inherit}input{background:var(--bg2);border:1px solid var(--line);width:100%;color:var(--text);border-radius:10px;min-height:44px;padding:10px 12px}input:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:disabled{opacity:.6}.page{max-width:560px;padding:16px 16px calc(32px + env(safe-area-inset-bottom));margin:0 auto}.hero{text-align:center;padding:28px 0 12px}.hero .logo{width:min(100%,360px);height:auto;margin:0 auto;display:block}.hero h1{letter-spacing:.1em;color:var(--accent);text-shadow:0 0 24px #f2c14e59;margin:0;font-size:40px}h1{font-size:22px}h2{margin:0 0 10px;font-size:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;margin:12px 0;padding:14px}.panel-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.panel-head h2{margin:0}.field{margin:0 0 10px;display:block}.field>span{color:var(--muted);margin-bottom:4px;font-size:13px;display:block}.form-grid{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.row{align-items:center;display:flex}.gap{flex-wrap:wrap;gap:8px}.center{text-align:center}.hint{color:var(--muted);font-size:14px}.small{font-size:12px}.error{color:var(--danger);font-size:14px}.ok,.plus{color:var(--ok)}.minus{color:var(--danger)}.btn{border:1px solid var(--line);background:var(--panel2);min-height:44px;color:var(--text);cursor:pointer;border-radius:12px;padding:8px 16px;font-weight:600;transition:transform 60ms,background .2s}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.small{min-height:34px;padding:4px 10px;font-size:13px}.btn.wide{width:100%;margin-top:4px}.btn-primary{background:var(--primary);border-color:#0000}.btn-accent{background:var(--accent);color:#1b1300;border-color:#0000}.btn-ghost{background:0 0}.back{margin-bottom:4px}.home-links{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.chip{border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:12px}.chip-ok{color:var(--ok);border-color:var(--ok)}.chip-warn{color:var(--accent);border-color:var(--accent)}.chip-lock{color:var(--muted)}.seg{border:1px solid var(--line);border-radius:10px;display:flex;overflow:hidden}.seg button{background:var(--bg2);min-height:44px;color:var(--muted);border:0;flex:1}.seg button.on{background:var(--primary);color:#fff}.seg button:disabled{cursor:default}.fixed-rules summary{cursor:pointer;color:var(--muted);margin-top:6px;font-size:14px}.fixed-rules ul{color:var(--text);padding-left:18px;font-size:13px;line-height:1.6}.room{max-width:480px;padding:0 8px calc(96px + env(safe-area-inset-bottom));min-height:100dvh;margin:0 auto}.room-bar{z-index:20;padding:calc(6px + env(safe-area-inset-top)) 4px 6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1530eb;align-items:center;gap:6px;display:flex;position:sticky;top:0}.room-title{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.room-title b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.room-title small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.icon-btn{width:40px;height:40px;color:var(--text);background:radial-gradient(circle at 50% 35%,#1d2d5c,#0b1430);border:1px solid #f2c14e55;border-radius:50%;flex:none;font-size:16px}.menu{z-index:48;background:var(--panel2);border:1px solid var(--line);border-radius:12px;flex-direction:column;min-width:220px;display:flex;position:absolute;right:8px;overflow:hidden;box-shadow:0 12px 30px #0006}.menu button{text-align:left;color:var(--text);border:0;border-bottom:1px solid var(--line);background:0 0;min-height:44px;padding:14px}.menu .danger{color:var(--danger)}.banner-recovery{border-color:var(--primary);font-size:13px}.banner{background:var(--panel2);border:1px solid var(--accent);border-radius:12px;justify-content:space-between;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;display:flex}.sheet{z-index:40;background:var(--bg);max-height:80dvh;padding:8px 12px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);border-radius:18px 18px 0 0;position:fixed;inset:auto 0 0;overflow:auto;box-shadow:0 -12px 40px #00000080}.room-playing{padding-bottom:calc(250px + env(safe-area-inset-bottom))}.balance-pill{color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;background:#050a1acc;border:1px solid #f2c14e66;border-radius:999px;align-items:center;gap:4px;padding:3px 10px 3px 4px;font-size:13px;font-weight:800;display:flex}.balance-pill img{width:22px;height:22px}.devbots{border:1px dashed var(--accent);color:var(--accent);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;font-size:12px;display:flex}.table{aspect-ratio:3/4;background:-webkit-image-set(url(/assets/game/table-bg-720.webp) 1x,url(/assets/game/table-bg.webp) 2x) 50%/100% 100% no-repeat;background:image-set("/assets/game/table-bg-720.webp" 1x,"/assets/game/table-bg.webp" 2x) 50%/100% 100% no-repeat;width:min(100%,75dvh - 225px);min-width:300px;margin:0 auto;position:relative;container-type:inline-size}.table-center{text-align:center;flex-direction:column;align-items:center;gap:7px;width:52%;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pills{gap:6px;display:flex}.pill{color:#e8c467;white-space:nowrap;background:#050a1aaa;border:1px solid #f2c14e44;border-radius:999px;padding:2px 9px;font-size:11px}.dora-tray{background:linear-gradient(#050a1acc,#0b1530cc);border:1px solid #f2c14e33;border-radius:10px;max-width:100%;padding:5px 6px 4px;box-shadow:inset 0 1px #ffffff14}.dora-tray .lbl{color:#e8c467;letter-spacing:.2em;margin-bottom:3px;font-size:9px}.dora-tray .row{flex-wrap:wrap;justify-content:center;gap:2px;max-height:62px;display:flex;overflow-y:auto}.turn{align-items:center;gap:8px;display:flex}.turn .who{color:var(--muted);text-align:right;font-size:11px;line-height:1.3}.turn .who b{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:110px;font-size:13px;display:block;overflow:hidden}.center-note{color:var(--accent);background:#050a1acc;border-radius:8px;padding:2px 8px;font-size:11px}.gauge{flex:none;position:relative}.gauge svg{position:absolute;inset:0;transform:rotate(-90deg)}.gauge-txt{flex-direction:column;justify-content:center;align-items:center;line-height:1;display:flex;position:absolute;inset:0}.gauge-txt small{color:var(--muted);font-size:9px}.gauge-txt b{color:var(--accent);font-variant-numeric:tabular-nums;margin:1px 0;font-size:22px}.gauge.urgent .gauge-txt b{color:var(--danger);animation:1s infinite pulse}.seat{flex-direction:column;align-items:center;width:clamp(76px,23cqw,100px);display:flex;position:absolute;transform:translate(-50%,-50%)}.av{width:46px;height:46px;position:relative}.av .face{width:40px;height:40px;position:absolute;inset:3px}.av .ring{width:46px;height:46px;position:absolute;inset:0}.seat-timer{width:56px;height:56px;position:absolute;inset:-5px;transform:rotate(-90deg)}.av .dot{border:2px solid var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;bottom:1px;right:1px}.av .dot.on{background:var(--ok)}.av .dot.off{background:#556}.dealer{color:#3a2a05;background:url(/assets/game/dealer-button.svg) 50%/contain no-repeat;place-items:center;width:22px;height:22px;font-size:11px;font-weight:900;display:grid;position:absolute;top:-6px;left:-12px}.host{border:1px solid var(--line);color:var(--muted);background:#050a1acc;border-radius:6px;padding:0 4px;font-size:9px;font-weight:800;position:absolute;top:-4px;right:-8px}.plate{z-index:1;background:url(/assets/game/nameplate.svg) 50%/100% 100% no-repeat;flex-direction:column;justify-content:center;align-items:center;width:100%;height:30px;margin-top:-6px;line-height:1.05;display:flex;position:relative}.plate b{text-overflow:ellipsis;white-space:nowrap;max-width:88%;font-size:10.5px;overflow:hidden}.plate span{color:var(--accent);font-variant-numeric:tabular-nums;font-size:10px;font-weight:700}.seat-turn .plate{filter:drop-shadow(0 0 6px #f2c14eaa)}.seat-me .plate b{color:#bcd4ff}.hand{align-items:center;margin-top:3px;display:flex}.hand .tile+.tile{margin-left:-2px}.hand-many .tile+.tile{margin-left:-5px}.hand .pts{white-space:nowrap;background:#050a1acc;border-radius:6px;margin-left:4px;padding:1px 4px;font-size:10px;font-weight:800}.pts.bust,.tag.bust{color:#fff;background:var(--danger);letter-spacing:.05em}.pts.tsumo,.tag.tsumo{color:#1b1300;background:var(--accent)}.tags{flex-wrap:wrap;justify-content:center;gap:3px;margin-top:2px;display:flex}.tag{color:var(--muted);white-space:nowrap;background:#050a1acc;border-radius:6px;padding:0 6px;font-size:9px}.tag.ok{color:var(--ok)}.tag.warn{color:var(--accent)}.bet{pointer-events:none;z-index:2;flex-direction:column;align-items:center;display:flex;position:absolute;top:6px}.bet.r{left:calc(50% + 26px)}.bet.l{right:calc(50% + 26px)}.bet .stack{width:20px;height:22px;position:relative}.bet .stack img{width:20px;height:20px;position:absolute;left:0}.bet span{color:var(--accent);background:#050a1acc;border-radius:6px;margin-top:1px;padding:0 4px;font-size:10px;font-weight:800}.seat-empty{width:auto}.sit-btn{color:#e8c467;background:#050a1a88;border:1.5px dashed #f2c14e88;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:46px;height:46px;font-size:11px;font-weight:800;line-height:1.1;display:flex}.sit-btn small{color:var(--muted);font-size:9px;font-weight:400}.empty-label{color:#4a5a80;background:#050a1a55;border:1px dashed #2a3f73;border-radius:50%;place-items:center;width:40px;height:40px;font-size:10px;display:grid}.kick-btn{border:1px solid var(--danger);min-height:28px;color:var(--danger);background:#050a1acc;border-radius:8px;margin-top:3px;padding:0 10px;font-size:11px}.flash{white-space:nowrap;pointer-events:none;z-index:3;border-radius:8px;padding:2px 8px;font-size:16px;font-weight:900;animation:1.6s ease-out forwards flash;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.flash-bust{color:#fff;background:#ff5a6aeb;box-shadow:0 0 16px #ff5a6a}.flash-tsumo{color:#1b1300;background:#f2c14ef2;box-shadow:0 0 16px #f2c14e}.tile{color:#161616;filter:drop-shadow(0 1px 1px #0008);background:url(/assets/game/tile-face.svg) 50%/100% 100% no-repeat;border:0;flex-direction:column;flex:none;justify-content:center;align-items:center;padding:0;font-family:Hiragino Mincho ProN,Yu Mincho,Noto Serif JP,serif;font-weight:800;line-height:.95;display:inline-flex;position:relative}.tile-back{background-image:url(/assets/game/tile-back.svg)}.tile-xs{width:20px;height:28px;padding-bottom:3px;font-size:9px}.tile-sm{width:24px;height:33px;padding-bottom:3px;font-size:10.5px}.tile-md{width:36px;height:49px;padding-bottom:4px;font-size:15px}.tile-lg{width:54px;height:74px;padding-bottom:7px;font-size:21px}.tile-suit{margin-top:.06em;font-size:.82em}.tile-suit-m .tile-suit{color:#c0262d}.tile-suit-p .tile-num,.tile-suit-p .tile-suit{color:#1d4fa3}.tile-suit-s .tile-num,.tile-suit-s .tile-suit{color:#1d7a3f}.tile-honor{font-size:1.5em}.tile-F .tile-honor{color:#1d7a3f}.tile-C .tile-honor{color:#c0262d}.tile-haku{border:2px solid #3d6fd1;border-radius:3px;width:54%;height:56%}.tile-xs .tile-haku{border-width:1px}.tile-btn{cursor:pointer}.tile-new{animation:.35s ease-out deal}.tile-dim{opacity:.5}.east-badge{border-radius:5px;padding:1px 4px;font-family:system-ui,sans-serif;font-size:11px;font-weight:900;line-height:1.2;position:absolute;bottom:4px;right:-6px}.tile-xs .east-badge,.tile-sm .east-badge{padding:0 2px;font-size:8px;bottom:2px;right:-4px}.east-badge.hi{background:var(--accent);color:#1b1300}.east-badge.lo{background:var(--primary);color:#fff}.dock{z-index:30;max-width:480px;min-height:150px;padding:26px 16px calc(16px + env(safe-area-inset-bottom));background:url(/assets/game/control-dock.svg) top/100% 100% no-repeat;flex-direction:column;align-items:center;gap:8px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.dock-active{filter:drop-shadow(0 -6px 18px #f2c14e33)}.dock-msg{text-align:center;margin:6px 0;font-size:14px}.dock-hint{color:var(--muted);text-align:center;margin:0;font-size:11px}.myhand{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:5px;display:flex}.score{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px;display:flex}.score>b{color:#fff;text-shadow:0 0 12px #3a7bff88;font-variant-numeric:tabular-nums;font-size:30px;font-weight:900}.score>b.bust{color:var(--danger);text-shadow:0 0 12px #ff5a6a88}.score small{color:var(--muted);font-size:12px}.gbtns{grid-template-columns:1fr 1fr;gap:14px;width:100%;display:grid}.gbtn{color:#fff;letter-spacing:.12em;text-shadow:0 2px 3px #0009;cursor:pointer;background:50%/100% 100% no-repeat;border:0;height:64px;font-size:21px;font-weight:900;transition:transform 60ms,filter .2s}.gbtn:active:not(:disabled){transform:scale(.96)}.gbtn:disabled{filter:grayscale(.85)brightness(.6);cursor:not-allowed}.gbtn.hit{background-image:url(/assets/game/btn-hit.svg)}.gbtn.stand{color:var(--accent);background-image:url(/assets/game/btn-stand.svg)}.gbtn.betbtn{color:#2b1d00;text-shadow:none;background-image:url(/assets/game/btn-bet.svg);flex:none;width:128px;height:54px;font-size:18px}.chips{justify-content:center;gap:6px;display:flex}.pchip{color:#1b1300;cursor:pointer;background:50%/contain no-repeat;border:0;place-items:center;width:58px;height:58px;padding:0;font-size:13px;font-weight:900;transition:transform .12s,filter .12s;display:grid;position:relative}.pchip span{border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.pchip.c200 span,.pchip.c300 span,.pchip.c400 span{color:#fff}.pchip.c500 span{color:var(--accent)}.pchip.sel{filter:drop-shadow(0 0 8px #f2c14e);transform:translateY(-6px)}.pchip:disabled{opacity:.3;cursor:not-allowed}.betrow{align-items:center;gap:10px;width:100%;display:flex}.betrow .amount{background:#050a1acc;border:1px solid #f2c14e66;border-radius:23px;flex:1;align-items:center;gap:6px;min-width:0;height:46px;padding:0 14px;display:flex}.betrow .amount small{color:var(--muted);white-space:nowrap;font-size:11px}.betrow .amount input{text-align:right;min-width:0;height:40px;min-height:0;color:var(--accent);background:0 0;border:0;flex:1;padding:0;font-size:20px;font-weight:900}.bet-hand{align-items:center;gap:10px;display:flex}.bet-hand-txt{color:var(--muted);font-size:12px}.bet-hand-txt b{color:#fff;margin-left:4px;font-size:16px}.bet-done{align-items:center;gap:10px;display:flex}.bet-done img{width:44px;height:44px}.link-btn{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;min-height:32px;font-size:12px;text-decoration:underline}.topup{gap:6px;width:100%;display:flex}.topup input{flex:1;min-height:36px}@media (height<=700px){.tile-lg{width:46px;height:63px;padding-bottom:6px;font-size:18px}.gbtn{height:54px;font-size:18px}.pchip{width:50px;height:50px}.room-playing{padding-bottom:calc(220px + env(safe-area-inset-bottom))}}.settle{z-index:35;background:#050a19b3;justify-content:center;align-items:flex-end;animation:.25s ease-out fade;display:flex;position:fixed;inset:0}.lbl-bust{color:#fff;background:var(--danger);letter-spacing:.05em;border-radius:5px;margin-left:4px;padding:0 5px;font-size:10px}.lbl-tsumo{color:#1b1300;background:var(--accent);border-radius:5px;margin-left:6px;padding:0 5px;font-size:11px}.settle-card{border-top:2px solid var(--accent);width:100%;max-width:480px;max-height:85dvh;padding:14px 14px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(#13234a,#070d20);border-radius:18px 18px 0 0;animation:.35s ease-out rise;overflow:auto;box-shadow:0 -10px 40px #f2c14e22}.settle-card h3{align-items:center;gap:6px;margin:0 0 6px;display:flex}.my-delta{text-align:center;font-size:34px;font-weight:900;animation:.5s ease-out pop}.settle-row{background:#050a1a99;border:1px solid #2a3f73;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;margin:6px 0;padding:8px;display:grid}.settle-row.child{border-left:4px solid var(--ok)}.settle-row.parent{border-left:4px solid var(--accent)}.settle-row.draw{border-left:4px solid var(--muted)}.settle-row .tiles{flex-wrap:wrap;grid-column:1/-1;gap:2px;display:flex}.settle-row .delta{font-variant-numeric:tabular-nums;text-align:right;font-weight:800}.settle-row .yaku{color:var(--accent);grid-column:1/-1;font-size:12px}.settle-row .outcome{color:var(--muted);font-size:12px}.chat-fab{right:12px;top:calc(60px + env(safe-area-inset-top));z-index:45;background:radial-gradient(circle at 50% 35%,#1d2d5c,#0b1430);border:1px solid #f2c14e55;border-radius:50%;width:44px;height:44px;font-size:18px;position:fixed;box-shadow:0 8px 20px #0006}.unread{background:var(--danger);color:#fff;border-radius:999px;padding:2px 6px;font-size:11px;font-weight:800;position:absolute;top:-4px;right:-4px}.chat-panel{z-index:46;background:var(--bg2);border-top:1px solid var(--line);border-radius:18px 18px 0 0;flex-direction:column;max-width:640px;height:55dvh;margin:0 auto;transition:transform .25s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(105%);box-shadow:0 -10px 30px #00000073}.chat-panel.open{transform:translateY(0)}.chat-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 12px;font-weight:700;display:flex}.chat-list{flex-direction:column;flex:1;gap:6px;padding:8px 12px;display:flex;overflow-y:auto}.chat-msg{background:var(--panel);border-radius:10px;max-width:85%;padding:6px 10px}.chat-msg.mine{background:#1d3b7a;align-self:flex-end}.chat-meta{color:var(--muted);gap:8px;font-size:11px;display:flex}.chat-name{color:var(--text);font-weight:700}.chat-text{white-space:pre-wrap;word-break:break-word;font-size:14px}.chat-form .btn{white-space:nowrap;flex:none}.chat-form{padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);gap:8px;display:flex}.toast{left:50%;top:calc(64px + env(safe-area-inset-top));z-index:60;border:1px solid var(--danger);color:var(--text);background:#2b1a22;border-radius:12px;max-width:90vw;padding:10px 14px;font-size:14px;position:fixed;transform:translate(-50%)}.results{border-collapse:collapse;width:100%;font-size:14px}.results th,.results td{border-bottom:1px solid var(--line);text-align:left;padding:8px 6px}.results tr.me{background:#3a7bff1f}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat-grid div{flex-direction:column;display:flex}.stat-grid span{color:var(--muted);font-size:12px}.stat-grid b{font-size:18px}.yaku-list{margin:0;padding:0;list-style:none}.yaku-list li{border-bottom:1px solid var(--line);justify-content:space-between;padding:6px 0;display:flex}.code-box{flex-direction:column;align-items:center;gap:4px;margin-top:10px;display:flex}.code-box code{letter-spacing:.08em;background:var(--bg2);-webkit-user-select:all;user-select:all;border-radius:10px;padding:10px 14px;font-size:22px}@keyframes pulse{50%{opacity:.5}}@keyframes flash{0%{opacity:0;transform:scale(.7)}15%{opacity:1;transform:scale(1.08)}70%{opacity:1}to{opacity:0}}@keyframes deal{0%{opacity:0;transform:translateY(-24px)rotate(-8deg)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:translateY(40px)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width>=560px){.seat{font-size:12px}.tile-xs{width:18px;height:25px;font-size:8px}}.ledger-overlay{z-index:50;background:#050a19bf;justify-content:center;align-items:flex-end;animation:.2s ease-out fade;display:flex;position:fixed;inset:0}.ledger-sheet{border-top:2px solid var(--accent);width:100%;max-width:640px;max-height:88dvh;padding:12px 12px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(#13234a,#070d20);border-radius:18px 18px 0 0;animation:.3s ease-out rise;overflow:auto}.ledger-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.ledger-head h2{color:var(--accent);margin:0}.ledger-head .hint{flex:1}.ledger-sub{color:var(--accent);margin:14px 0 6px;font-size:14px}.ledger-scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:10px;overflow-x:auto}.ledger table{width:100%}.ledger-sum,.ledger-rounds{border-collapse:collapse;min-width:100%;font-size:13px}.ledger-sum th,.ledger-sum td,.ledger-rounds th,.ledger-rounds td{border-bottom:1px solid var(--line);white-space:nowrap;padding:7px 8px}.ledger-sum th,.ledger-rounds th{color:var(--muted);background:#050a1a;font-size:11px;font-weight:600;position:sticky;top:0}.ledger-sum td.name,.ledger-sum th.name{text-align:left;text-overflow:ellipsis;max-width:120px;overflow:hidden}.ledger-sum td.rank{text-align:center;color:var(--accent);font-weight:800}.ledger-sum tr.me td,.ledger-rounds th.me{background:#3a7bff24}.num{text-align:right;font-variant-numeric:tabular-nums}.ledger-sum td.num:nth-child(3){font-weight:800}.ledger-rounds th:not(.sticky){text-overflow:ellipsis;max-width:72px;overflow:hidden}.ledger-rounds .sticky{z-index:1;text-align:center;background:#0b1530;position:sticky;left:0}.ledger-rounds td.none{color:#4a5a80}.ledger-rounds td.parent{box-shadow:inset 2px 0 0 var(--accent)}.ledger-rounds .oya{color:#1b1300;background:var(--accent);border-radius:4px;margin-right:4px;padding:0 3px;font-size:9px;font-weight:900;display:inline-block}.ledger-rounds tfoot td{border-top:2px solid var(--accent);background:#050a1a;font-weight:800}.ledger.panel{overflow:hidden}.table.table-kiwami{aspect-ratio:1;background:-webkit-image-set(url(/assets/game/table-kiwami-720.webp) 1x,url(/assets/game/table-kiwami.webp) 2x) 50%/100% 100% no-repeat;background:image-set("/assets/game/table-kiwami-720.webp" 1x,"/assets/game/table-kiwami.webp" 2x) 50%/100% 100% no-repeat;width:min(100%,100dvh - 300px);min-width:300px}.table-kiwami .seat{width:clamp(64px,19cqw,88px)}.table-kiwami .av{width:40px;height:40px}.table-kiwami .av .face{width:34px;height:34px;inset:3px}.table-kiwami .av .ring{width:40px;height:40px}.table-kiwami .seat-timer{width:50px;height:50px;inset:-5px}.table-kiwami .plate{height:28px;margin-top:-5px}.table-kiwami .plate b{font-size:10px}.table-kiwami .hand-many .tile+.tile{margin-left:-7px}.turn-no{color:#e8c467;background:#050a1acc;border:1px solid #f2c14e66;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 3px;font-size:9px;font-weight:800;display:grid;position:absolute;top:-5px;right:-9px}.pill-renchan{color:#1b1300;background:var(--accent);border-color:var(--accent);font-weight:800}.seat-win .plate{filter:drop-shadow(0 0 8px #f2c14e)}.tag.win{color:#1b1300;background:var(--accent);font-weight:800}.flash-win{color:#1b1300;background:#f2c14ef2;box-shadow:0 0 16px #f2c14e}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.dora-groups{flex-wrap:wrap;justify-content:center;gap:3px;max-width:180px;display:flex}.dora-g{color:#161616;background:#fffdf5;border-radius:6px;padding:1px 5px;font-size:11px;font-weight:700;line-height:1.4;box-shadow:0 1px #c9bfa6}.dora-g b{margin-right:1px;font-family:Hiragino Mincho ProN,Yu Mincho,Noto Serif JP,serif}.dora-g.h b{color:#1d4fa3}.tile-red .tile-num,.tile-red .tile-suit{color:#d11a2a!important}.tile-gold{background-blend-mode:multiply;background-image:linear-gradient(160deg,#fff6cf 0%,#f2c14e 45%,#c8922a 100%),url(/assets/game/tile-face.svg)}.tile-gold .tile-num,.tile-gold .tile-suit{color:#6b3f00!important}.bonus-mark{border-radius:4px;padding:0 3px;font-family:system-ui,sans-serif;font-size:8px;font-weight:900;line-height:1.3;position:absolute;top:-4px;left:-3px}.bonus-mark.red{color:#fff;background:#d11a2a}.bonus-mark.gold{background:var(--accent);color:#1b1300}.tile-xs .bonus-mark{padding:0 2px;font-size:7px;top:-3px;left:-2px}.balance-pill small{color:var(--muted);margin-left:4px;font-size:10px;font-weight:600}.winner-box{text-align:center;background:radial-gradient(at 50% 0,#3b2c05aa,#050a1a99);border:1px solid #f2c14e66;border-radius:12px;margin:6px 0;padding:10px}.winner-name{color:var(--accent);justify-content:center;align-items:center;gap:6px;font-size:22px;font-weight:900;display:flex}.winner-reason{color:var(--text);margin-top:2px;font-size:13px}.han-line{color:var(--muted);margin-top:6px;font-size:12px}.han-total{margin-top:4px;font-size:14px}.han-total b{color:var(--accent);font-size:20px}.settle-row.parent-loss{border-left:4px solid #3d4a6b}.settle-row .delta small{color:var(--muted);margin-left:4px;font-size:11px}.my-delta small{color:var(--muted);font-size:16px}.ledger-rounds .oya.win{background:var(--ok);color:#052b1a}.table-kiwami .table-center{gap:4px;width:44%}.table-kiwami .dora-tray{padding:4px 5px 3px}.table-kiwami .dora-g{padding:0 4px;font-size:10px}.table-kiwami .turn{gap:5px}.table-kiwami .turn .who{font-size:10px}.table-kiwami .turn .who b{max-width:76px;font-size:11px}.table-kiwami .gauge-txt b{font-size:18px}.table-kiwami .pill{padding:1px 7px;font-size:10px}.spotlight{z-index:36;background:radial-gradient(circle at 50% 45%,#f2c14e40,#03060ee0 60%);justify-content:center;align-items:center;animation:.2s ease-out fade;display:flex;position:fixed;inset:0}.spot-card{flex-direction:column;align-items:center;gap:10px;padding:18px 20px 22px;animation:.45s ease-out pop;display:flex}.spot-reason{color:#1b1300;letter-spacing:.05em;background:linear-gradient(#f8e3a0,#e2b84d);border-radius:999px;padding:4px 16px;font-size:20px;font-weight:900;box-shadow:0 0 24px #f2c14e88}.spot-av{width:96px;height:96px;position:relative}.spot-av .face{width:84px;height:84px;position:absolute;inset:6px}.spot-av .ring{filter:drop-shadow(0 0 12px #f2c14e);width:96px;height:96px;position:absolute;inset:0}.spot-av .crown{font-size:34px;position:absolute;top:-30px;left:50%;transform:translate(-50%)}.spot-name{color:var(--accent);text-shadow:0 2px 8px #000;align-items:center;gap:8px;font-size:26px;font-weight:900;display:flex}.spot-hand{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.spot-score{color:#fff;font-size:18px}.spot-score b{color:var(--accent);font-size:26px}.table-kiwami .dora-groups{gap:2px 1px;max-width:176px}.dora-k{display:inline-flex;position:relative}.dora-k .tile-xs{width:16px;height:22px;padding-bottom:2px;font-size:7.5px}.dora-k .tile-xs .tile-honor{font-size:10px}.dora-k b{background:var(--accent);color:#1b1300;text-align:center;border-radius:6px;min-width:11px;height:11px;padding:0 2px;font-size:8px;font-weight:900;line-height:11px;position:absolute;bottom:-3px;right:-3px}.bubble{z-index:6;color:#161616;-webkit-line-clamp:3;word-break:break-word;pointer-events:none;background:#fffdf5;border-radius:12px;-webkit-box-orient:vertical;width:max-content;max-width:150px;padding:5px 9px;font-size:11px;font-weight:600;line-height:1.35;animation:.25s ease-out bubble-in;display:-webkit-box;position:absolute;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 14px #00000073}.bubble:after{content:"";border:5px solid #0000;margin-left:-5px;position:absolute;left:50%}.bubble.above{bottom:calc(100% + 6px)}.bubble.above:after{border-top-color:#fffdf5;top:100%}.bubble.below{top:calc(100% + 6px)}.bubble.below:after{border-bottom-color:#fffdf5;bottom:100%}.spectator-bubbles{z-index:6;pointer-events:none;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:2%;left:50%;transform:translate(-50%)}.bubble.spectator{background:#e8eefc;position:static;transform:none}.bubble.spectator:after{display:none}.bubble.spectator b{color:#1d4fa3;margin-right:2px}@keyframes bubble-in{0%{opacity:0;transform:translate(-50%)scale(.85)}}.bubble.spectator{animation:none}.dora-all{flex-wrap:wrap;justify-content:center;gap:1px;max-width:178px;display:flex}.dora-all .tile-xs{filter:none;width:15px;height:21px;padding-bottom:2px;font-size:7px}.dora-all .tile-xs .tile-honor{font-size:9.5px}.table-kiwami .table-center{width:49%}.table-kiwami .dora-all{max-width:176px}.tile-pic{width:82%;height:80%;display:block}.tile-xs .tile-pic,.dora-all .tile-pic{width:86%;height:84%}.install-btn{font-size:14px}.install-ios{text-align:center;justify-items:center;gap:6px;display:grid}.install-ios .hint{max-width:300px;margin:0}.gbtn.toppan{color:#2b1600;text-shadow:none;background:linear-gradient(#ffe7a3,#e2b84d 55%,#b9862a);border-radius:14px;animation:1.4s ease-in-out infinite toppan-glow;box-shadow:inset 0 0 0 1px #fff6,0 0 18px #f2c14e88}@keyframes toppan-glow{50%{box-shadow:inset 0 0 0 1px #fff6,0 0 30px #f2c14ecc}}.toppan-hint{color:var(--accent);font-weight:700}.dealer-start{filter:grayscale(.7)brightness(.9)}.spot-round{color:#d8c08a;letter-spacing:.3em;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,Noto Serif JP,serif;font-size:13px}.spot-title{letter-spacing:.18em;background:linear-gradient(#fff3c8,#f2c14e 55%,#b9862a);color:#0000;filter:drop-shadow(0 2px 6px #000c);-webkit-background-clip:text;background-clip:text;padding-left:.18em;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,Noto Serif JP,serif;font-size:38px;font-weight:800}.spot-sub{color:var(--muted);letter-spacing:.1em}.spotlight-draw{background:radial-gradient(circle at 50% 45%,#96a0be2e,#03060ee6 60%)}.spotlight-draw .spot-title{background:linear-gradient(#e8edf8,#8f9bb8);-webkit-background-clip:text;background-clip:text}.spotlight{cursor:pointer}.kiwami-settle{background:linear-gradient(#0f1a14 0%,#0a0f0c 100%);border-top:1px solid #b9862a;box-shadow:0 -12px 40px #000c,inset 0 1px #f2c14e33}.kiwami-settle .ks-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.ks-round{color:#d8c08a;letter-spacing:.25em;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,Noto Serif JP,serif;font-size:13px}.ks-steps{gap:4px;font-size:10px;display:flex}.ks-steps span{color:#6f6650;border:1px solid #3a3322;border-radius:999px;padding:2px 7px;transition:color .2s,border-color .2s}.ks-steps span.on{color:#f2c14e;border-color:#b9862a}.ks-winner{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px;padding:2px 0 8px;display:flex}.ks-name{color:#fff;font-size:22px;font-weight:900}.ks-reason{color:var(--accent);letter-spacing:.08em;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,Noto Serif JP,serif;font-size:20px;font-weight:800}.ks-draw .ks-reason{color:var(--muted);font-size:14px}.ks-hand{background:radial-gradient(at 50% 30%,#1f5a3a,#0d2a1b 75%);border-radius:12px;justify-content:center;gap:5px;padding:10px 6px 12px;display:flex;box-shadow:inset 0 0 0 1px #b9862a55,inset 0 6px 18px #0008}.ks-tile{border-radius:7px;transition:box-shadow .25s,transform .25s;display:inline-block}.ks-glow{transform:translateY(-3px);box-shadow:0 0 0 2px #f2c14e,0 0 14px #f2c14eaa}.ks-rows{margin:10px 4px 0;padding:0;list-style:none}.ks-row{border-bottom:1px dotted #3a3322;justify-content:space-between;align-items:center;gap:10px;padding:5px 4px;font-size:15px;display:flex}.ks-row.fresh{animation:.15s ease-out both ks-in}.ks-l{color:#e8e1cf;align-items:center;gap:6px;display:inline-flex}.ks-v{color:var(--accent);font-variant-numeric:tabular-nums;text-align:right;min-width:3.5em;font-weight:800}.han-sub{color:#a89c7c;font-size:12px}.lbl-red{color:#ff7a7a;font-weight:700}.lbl-gold{color:#ffd76a;font-weight:700}.ks-total{text-align:right;border-top:2px solid #b9862a;margin:4px 4px 0;padding-top:6px;animation:.2s ease-out both ks-in}.ks-mult{color:#d8c08a;font-size:13px}.ks-mult small{color:var(--accent);margin-left:4px}.ks-han{color:#e8e1cf;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,Noto Serif JP,serif;font-size:18px}.ks-han b{color:var(--accent);text-shadow:0 0 16px #f2c14e55;margin-right:2px;font-size:40px}.ks-per{color:#c9bfa6;font-size:13px}.ks-per b{color:#fff}.ks-pay{margin-top:10px;animation:.2s ease-out both ks-in}.ks-flows{gap:4px;margin:6px 0;padding:0;list-style:none;display:grid}.ks-flow{background:#ffffff08;border:1px solid #2c271b;border-radius:8px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 10px;font-size:14px;animation:.15s ease-out both ks-in;display:grid}.ks-flow .from,.ks-flow .to{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ks-flow .to{color:var(--accent)}.ks-flow .arrow{color:#8a7a55;font-size:11px}.ks-flow .chips{font-variant-numeric:tabular-nums;color:#ff8a8a;text-align:right;font-weight:800}.ks-flow .chips small{color:var(--muted);margin-left:6px;font-size:11px;font-weight:400}.ks-flow .chips.plus{color:var(--ok)}.ks-flow.me{background:#f2c14e14;border-color:#b9862a}.ks-flow-win{background:linear-gradient(90deg,#f2c14e1f,#ffffff05);border-color:#b9862a88}.ks-hands{color:var(--muted);margin-top:6px;font-size:13px}.ks-hands summary{cursor:pointer;padding:4px 0}.ks-hand-row{border-bottom:1px dotted #2c271b;grid-template-columns:6em 1fr auto;align-items:center;gap:6px;padding:3px 0;display:grid}.ks-hand-row .who{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}.ks-hand-row .tiles{flex-wrap:wrap;gap:2px;display:flex}.ks-foot{text-align:center;margin:8px 0 0}.ks-tap{text-align:center;color:#6f6650;letter-spacing:.1em;margin:10px 0 0;font-size:11px}.kiwami-settle .my-delta{font-size:30px}@keyframes ks-in{0%{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:reduce){.ks-row.fresh,.ks-total,.ks-pay,.ks-flow,.gbtn.toppan{animation:none}}.ks-flow .badge,.ks-winner .badge{vertical-align:middle;margin-right:4px}.fx-layer{z-index:38;pointer-events:none;position:fixed}.fx-anchor{width:0;height:0;position:absolute}.fx-anchor .bubble{z-index:auto}.fx-anchor .bubble.above{bottom:52px}.fx-anchor .bubble.below{top:54px}.av-tap{cursor:pointer}.av-tap:active{transform:scale(.94)}.fx-emote{filter:drop-shadow(0 4px 10px #0000008c);font-size:46px;line-height:1;animation:2.4s cubic-bezier(.2,.9,.3,1.3) forwards fx-emote;position:absolute;top:-25px;left:0;transform:translate(-50%,-50%)}@keyframes fx-emote{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}12%{opacity:1;transform:translate(-50%,-50%)scale(1.35)}20%{transform:translate(-50%,-50%)scale(1)}75%{opacity:1;transform:translate(-50%,-80%)scale(1)}to{opacity:0;transform:translate(-50%,-110%)scale(.9)}}.fx-emote-anger{animation-name:fx-emote,fx-shake;animation-duration:2.4s,.12s;animation-iteration-count:1,8;animation-delay:0s,.3s}@keyframes fx-shake{50%{margin-left:3px}}.fx-thrown{filter:drop-shadow(0 6px 8px #00000080);font-size:34px;line-height:1;animation:0s linear .85s forwards fx-thrown-out;position:absolute;transform:translate(-50%,-50%)}@keyframes fx-thrown-out{to{opacity:0}}.fx-thrown .geta-ico,.fx-impact .geta-ico{width:36px;height:36px;display:block}.fx-hit{opacity:0;animation:1.7s ease-out forwards fx-hit;position:absolute;top:-25px;left:0;transform:translate(-50%,-50%)}@keyframes fx-hit{0%{opacity:1;transform:translate(-50%,-50%)scale(.4)}15%{transform:translate(-50%,-50%)scale(1.2)}25%{transform:translate(-50%,-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}.fx-impact{white-space:nowrap;filter:drop-shadow(0 4px 10px #00000080);font-size:44px;line-height:1;display:block;position:relative}.fx-impact i{font-size:18px;font-style:normal;animation:1.2s ease-out infinite fx-sparkle;position:absolute}.fx-impact i:first-of-type{top:-10px;right:-14px}.fx-impact i:nth-of-type(2){animation-delay:.3s;top:4px;left:-14px}@keyframes fx-sparkle{0%,to{opacity:0;transform:scale(.5)}40%{opacity:1;transform:scale(1.1)}}.fx-bomb{filter:drop-shadow(0 0 24px #ff7a1a)drop-shadow(0 0 8px #ffd34a);font-size:84px;animation:.5s ease-out fx-boom}@keyframes fx-boom{0%{transform:scale(.3)rotate(-20deg)}60%{transform:scale(1.25)rotate(8deg)}}.fx-geta{animation:.6s ease-out fx-bonk}.fx-geta b{color:#fff;text-shadow:0 0 4px #000,0 0 2px #000;font-size:13px;font-weight:900;position:absolute;top:-20px;left:50%;transform:translate(-50%)}@keyframes fx-bonk{0%{transform:translateY(-14px)rotate(-30deg)}40%{transform:translateY(0)rotate(10deg)}70%{transform:translateY(-6px)rotate(-4deg)}}.fx-tomato b{background:radial-gradient(circle at 45% 45%,#ff5a3c 0 38%,#d62a1a 39% 52%,#0000 53%),radial-gradient(circle at 18% 30%,#e0301f 0 9%,#0000 10%),radial-gradient(circle at 82% 70%,#e0301f 0 8%,#0000 9%),radial-gradient(circle at 75% 20%,#e0301f 0 6%,#0000 7%),radial-gradient(circle at 25% 80%,#e0301f 0 7%,#0000 8%);width:58px;height:46px;animation:.35s ease-out fx-splat;display:block}@keyframes fx-splat{0%{transform:scale(.2)}60%{transform:scale(1.25,.85)}}.fx-champagne,.fx-beer{animation:.5s ease-out fx-cheers}@keyframes fx-cheers{0%{transform:rotate(-25deg)scale(.6)}60%{transform:rotate(10deg)scale(1.15)}}.emote-fab{right:12px;top:calc(112px + env(safe-area-inset-top));z-index:45;cursor:pointer;background:radial-gradient(circle at 50% 35%,#1d2d5c,#0b1430);border:1px solid #f2c14e55;border-radius:50%;width:44px;height:44px;font-size:22px;line-height:1;position:fixed;box-shadow:0 8px 20px #0006}.fx-pop-back{z-index:47;background:#03060e59;justify-content:center;align-items:center;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}.fx-pop{background:linear-gradient(#14213f,#0a1228);border:1px solid #f2c14e66;border-radius:18px;padding:12px;animation:.18s ease-out fx-pop-in;box-shadow:0 16px 40px #0009,inset 0 0 0 1px #0006}@keyframes fx-pop-in{0%{opacity:0;transform:scale(.9)}}.emote-pop{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.fx-pop-title{text-align:center;color:var(--muted);margin-bottom:8px;font-size:13px}.fx-pop-title b{color:var(--accent)}.gift-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.fx-pick{width:78px;height:74px;color:var(--text);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:transform 60ms,background .15s;display:flex}.fx-pick:hover{background:#f2c14e22}.fx-pick:active{transform:scale(.93)}.fx-pick .ico{font-size:32px;line-height:1;display:flex}.fx-pick .ico .geta-ico{width:34px;height:34px}.fx-pick small{color:var(--muted);font-size:11px}@media (prefers-reduced-motion:reduce){.fx-emote,.fx-impact,.fx-impact i,.fx-bomb,.fx-geta,.fx-tomato b{animation:none!important}.fx-hit{animation:linear forwards fx-hit-still}}@keyframes fx-hit-still{to{opacity:1}}.tile-shine{animation:1.1s ease-out .15s tile-shine-glow}.tile-new.tile-shine{animation:.35s ease-out deal,1.1s ease-out .15s tile-shine-glow}.tile-shine:after{content:"";pointer-events:none;mix-blend-mode:screen;background:linear-gradient(115deg,#0000 30%,#fffffff2 48%,#fff0b4b3 54%,#0000 70%) 130% 0/260% 100%;border-radius:12%;animation:.8s ease-in-out .2s both tile-shine-sweep;position:absolute;inset:2px}@keyframes tile-shine-sweep{0%{background-position:130% 0}to{background-position:-40% 0}}@keyframes tile-shine-glow{0%,to{filter:drop-shadow(0 1px 1px #0008)}40%{filter:drop-shadow(0 0 10px #ffe08a)drop-shadow(0 0 3px #fff)}}@media (prefers-reduced-motion:reduce){.tile-shine,.tile-shine:after{animation:none}}.sound-settings{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.ss-row{color:var(--muted);grid-template-columns:64px 1fr;align-items:center;gap:10px;font-size:13px;display:grid}.ss-row select{border:1px solid var(--line);background:var(--bg2);width:100%;min-height:38px;color:var(--text);border-radius:10px;padding:0 8px;font-size:14px}.ss-row input[type=range]{width:100%;accent-color:var(--accent)}.ss-row input[type=range]:disabled{opacity:.4}.menu .ss-toggle{border:1px solid var(--line);text-align:center;min-height:32px;color:var(--muted);border-radius:999px;justify-self:start;padding:4px 16px}.menu .ss-toggle.on{background:var(--accent);color:#1b1300;border-color:#0000;font-weight:700}.menu{width:min(300px,100vw - 16px)}.ss-row select{min-width:0}.ss-note{color:var(--muted);margin:-4px 0 0 74px;font-size:11px}.beppan-fx{z-index:39;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bp-flash{background:radial-gradient(circle at 50% 45%,#ffecaad9,#f2c14e59 35%,#0000 70%);animation:1.8s ease-out forwards bp-flash;position:absolute;inset:0}@keyframes bp-flash{0%{opacity:0}6%{opacity:1}30%{opacity:.55}to{opacity:0}}.bp-spark{color:#fff6c8;text-shadow:0 0 8px #ffd34a,0 0 18px #f2c14e;animation:1.3s ease-out forwards bp-spark;position:absolute;transform:translate(-50%,-50%)scale(0)}@keyframes bp-spark{0%{opacity:0;transform:translate(-50%,-50%)scale(0)rotate(0)}25%{opacity:1;transform:translate(-50%,-50%)scale(1.3)rotate(45deg)}to{opacity:0;transform:translate(-50%,-50%)scale(.4)rotate(120deg)}}.bp-text{letter-spacing:.08em;white-space:nowrap;background:linear-gradient(#fffbe6 0%,#ffe08a 40%,#d9a031 75%,#8a5a14 100%);color:#0000;filter:drop-shadow(0 4px #3a2506)drop-shadow(0 0 22px #f2c14ecc);opacity:0;-webkit-background-clip:text;background-clip:text;font-family:Hiragino Mincho ProN,Yu Mincho,Noto Serif JP,serif;font-size:clamp(72px,26vw,150px);font-weight:900;line-height:1;animation:1.8s cubic-bezier(.2,1.4,.4,1) .17s forwards bp-slam;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}@keyframes bp-slam{0%{opacity:0;transform:translate(-50%,-50%)scale(2.4)}10%{opacity:1;transform:translate(-50%,-50%)scale(.94)}18%{transform:translate(-50%,-50%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(1.04)}}.room-shake .table-kiwami{animation:.36s linear .17s bp-shake}@keyframes bp-shake{0%,to{transform:none}20%{transform:translate(-6px,3px)}40%{transform:translate(5px,-4px)}60%{transform:translate(-4px,2px)}80%{transform:translate(3px,-1px)}}@media (prefers-reduced-motion:reduce){.room-shake .table-kiwami{animation:none}.bp-spark{display:none}}
