@font-face{font-family:Fredoka;font-weight:400 700;font-display:swap;src:url(/fonts/fredoka-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-weight:400 700;font-display:swap;src:url(/fonts/fredoka-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Serif SC;font-weight:700;font-display:block;src:url(/fonts/noto-serif-sc-tiles-2.woff2)format("woff2")}:root{--felt:#0d3b2c;--felt-2:#11493a;--ink:#16201b;--cream:#fbf6ea;--cream-2:#efe6d2;--text:#eaf4ee;--text-dim:#9cc7b1;--gold:#ffcf4a;--red:#d8433a;--red-deep:#a82a24;--blue:#2f6fd0;--green:#2ea56a;--common:#6b8f7d;--uncommon:#2f6fd0;--rare:#c7802a;--panel:#09261cf5;--radius:14px;font-family:Fredoka,Trebuchet MS,sans-serif}*{box-sizing:border-box}html,body{touch-action:manipulation;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;height:100%;color:var(--text);background:#061c15;margin:0;overflow:hidden}#game{transform-origin:50%;width:1280px;height:720px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#game.portrait{width:720px;height:1280px}#game canvas{position:absolute;inset:0;width:100%!important;height:100%!important}#ui{pointer-events:none;position:absolute;inset:0}#ui button,#ui input,#ui .charm-card,#ui .panel{pointer-events:auto}#loading{color:var(--text-dim);place-items:center;font-size:22px;display:grid;position:fixed;inset:0}.btn{font:inherit;color:var(--ink);background:var(--cream);cursor:pointer;border:0;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:16px;font-weight:600;transition:transform 80ms;display:inline-flex;box-shadow:0 4px #b9ab8a}.btn:hover:not([disabled]){transform:translateY(-2px)}.btn:active:not([disabled]){transform:translateY(2px);box-shadow:0 2px #b9ab8a}.btn[disabled]{opacity:.45;cursor:default}.btn small{opacity:.6;font-size:11px;font-weight:500}.btn.primary{background:var(--gold);box-shadow:0 4px #c19526}.btn.hu{background:var(--red);color:#fff;box-shadow:0 4px 0 var(--red-deep);font-size:20px;animation:1.1s ease-in-out infinite pulse}.btn.hu small{color:#fff;opacity:.85}.btn.pass{background:#cfd8d3}.btn.ghost{color:var(--text-dim);box-shadow:none;background:0 0;border:1px solid #2c6a52}.btn.small{padding:4px 10px;font-size:13px}@keyframes pulse{50%{transform:scale(1.06)}}.tile-img{vertical-align:middle;image-rendering:auto}.tile-img.sm{height:26px}.tile-img.md{height:40px}.combo{transform-origin:50% 100%;border-radius:6px;gap:1px;padding:2px;transition:transform .14s,background-color .14s,box-shadow .14s;display:inline-flex}.btn:hover,.btn:focus-visible{z-index:5;position:relative}.btn:hover .combo,.btn:focus-visible .combo{background:var(--cream);transform:translateY(-6px)scale(2.3);box-shadow:0 8px 22px #00000080}#hud{background:linear-gradient(#082419,#082419d9);border-bottom:1px solid #1f5a45;grid-template-columns:230px 1fr 300px;gap:12px;height:84px;padding:8px 16px;display:grid;position:absolute;top:0;left:0;right:0}#hud:empty{display:none}.hud-blind .hud-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:12px}.hud-blind.boss .hud-label{color:#ff9d8a}.hud-target .score{color:var(--gold);font-size:26px;font-weight:700}.hud-target .of{color:var(--text-dim)}.bar{background:#1c4a3a;border-radius:3px;height:6px;overflow:hidden}.bar .fill{background:var(--gold);height:100%;transition:width .6s}.hud-boss{color:#ff9d8a;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;overflow:hidden}.hud-cards{grid-template-columns:repeat(5,1fr) 2px repeat(2,.85fr);gap:6px;min-width:0;display:grid}.card-divider{background:#2c6a52;border-radius:1px}.kopi-card{font:inherit;text-align:left;color:var(--ink);background:#f6e6cf;border:0;border-top:4px solid #8a5526;border-radius:10px;padding:6px 8px;overflow:hidden}.kopi-card.usable{cursor:pointer;box-shadow:0 0 0 2px var(--gold)}.kopi-card.usable:hover{transform:translateY(-2px)}.kopi-card[disabled]{opacity:.75}.card-slot{pointer-events:auto;outline:none;display:grid;position:relative}.card-tip{z-index:20;width:220px;color:var(--ink);opacity:0;visibility:hidden;pointer-events:none;background:#f6e6cf;border-top:4px solid #8a5526;border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.3;transition:opacity .12s,transform .12s,visibility .12s;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-4px);box-shadow:0 6px 18px #00000073}.card-tip b{margin-bottom:2px;font-size:14px;display:block}.card-tip small{opacity:.7;margin-top:4px;font-size:11px;display:block}.card-slot.tip-right .card-tip{left:auto;right:0}.card-tip.up{top:auto;bottom:calc(100% + 8px);transform:translateY(4px)}.card-slot:hover .card-tip,.card-slot:focus-within .card-tip{opacity:1;visibility:visible;transform:none}.charm-tip{background:var(--cream);border-top-color:var(--common);text-align:left;font-weight:400}.charm-tip.uncommon{border-top-color:var(--uncommon)}.charm-tip.rare{border-top-color:var(--rare)}.charm-tip .tip-rarity{text-transform:uppercase;letter-spacing:.1em;opacity:.6;margin-bottom:4px;font-size:10px}.charm-tip small{font-style:italic}.charm-icon{flex:none;width:30px;height:30px}.kopi-card.empty{color:#3f7d65;background:0 0;border:1px dashed #2c6a52;place-items:center;display:grid}.charm-card{background:var(--cream);min-width:0;color:var(--ink);border-top:4px solid var(--common);border-radius:10px;align-items:center;gap:6px;padding:6px 8px 6px 6px;display:flex;overflow:hidden}.charm-card.uncommon{border-top-color:var(--uncommon)}.charm-card.rare{border-top-color:var(--rare)}.charm-card.empty{color:#3f7d65;background:0 0;border:1px dashed #2c6a52;place-items:center;display:grid}.charm-name{font-size:13px;font-weight:700;line-height:1.1}.charm-desc{opacity:.8;margin-top:2px;font-size:11px;line-height:1.2}.charm-text{min-width:0}.hud-cards .charm-card{text-align:center;flex-direction:column;justify-content:center;gap:3px;padding:4px}.hud-cards .charm-icon{width:24px;height:24px}.hud-cards .charm-name{font-size:12px}.hud-cards .charm-desc{display:none}.charm-card.trigger{animation:.45s jiggle}@keyframes jiggle{25%{transform:rotate(-4deg)scale(1.08)}75%{transform:rotate(3deg)scale(1.05)}}.stat .v.low{color:#ff7a6b}.hud-stats{grid-template-columns:repeat(3,1fr);align-content:center;gap:4px 12px;display:grid}.stat{flex-direction:column;display:flex}.stat .k{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:10px}.stat .v{font-size:17px;font-weight:600}.stat.money .v{color:var(--gold)}#actions{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;bottom:180px;left:260px;right:260px}#actions,#tai{transition:opacity .15s}#game.calling #actions,#game.calling #tai{opacity:0;pointer-events:none}#actions .status{color:var(--text);text-shadow:0 1px 2px #000;background:#061c15d1;border-radius:999px;align-items:center;gap:6px;min-height:26px;padding:2px 14px;font-size:15px;display:flex}#actions .status:empty{visibility:hidden}#actions.waiting{pointer-events:none}#actions .buttons{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}#toasts{flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:250px;left:0;right:0}.toast{text-shadow:0 2px 3px #0009;border-radius:10px;padding:4px 14px;font-size:22px;font-weight:700;animation:1.6s forwards toast}.toast.money{color:var(--gold);font-size:18px}.toast.call{color:#fff;background:var(--red);letter-spacing:.06em;font-size:30px}.toast.bite{color:var(--ink);background:var(--gold);font-size:26px}@keyframes toast{0%{opacity:0;transform:translateY(14px)scale(.8)}15%{opacity:1;transform:translateY(0)scale(1.05)}80%{opacity:1;transform:translateY(-10px)}to{opacity:0;transform:translateY(-24px)}}#modal{pointer-events:auto;background:#03120d8c;place-items:center;display:none;position:absolute;inset:0}#modal.open{display:grid}#modal.score-screen{background:#03120d59}.panel{background:var(--panel);border-radius:var(--radius);text-align:center;border:1px solid #2c6a52;min-width:460px;max-width:1000px;padding:22px 28px;animation:.25s rise;box-shadow:0 20px 60px #00000080}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.panel h2{margin:0 0 12px;font-size:26px}.panel h3{color:var(--text-dim);margin:18px 0 8px;font-size:16px}.title{color:var(--gold);letter-spacing:.02em;text-shadow:0 4px 0 var(--red-deep);margin:0;font-size:64px}.subtitle{color:var(--text-dim);margin:4px 0 18px}.flavour{opacity:.7;font-size:12px;font-style:italic}.format-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.format-card{font:inherit;cursor:pointer;text-align:left;background:var(--cream);color:var(--ink);border:0;border-radius:12px;padding:16px;transition:transform .1s;box-shadow:0 5px #b9ab8a}.format-card:hover{transform:translateY(-3px)}.format-name{font-size:22px;font-weight:700}.format-desc{margin:4px 0 8px;font-size:14px}.format-meta{color:#5b6e64;font-size:12px}.seed{color:var(--text-dim);font-size:14px}.seed input{font:inherit;width:140px;color:var(--text);text-transform:uppercase;background:#0a2d21;border:1px solid #2c6a52;border-radius:8px;margin-left:6px;padding:4px 8px}.howto{text-align:left;color:var(--text-dim);max-width:560px;margin:16px 0 0;padding-left:18px;font-size:13px;line-height:1.5}.table-line{color:var(--text-dim);margin:-4px 0 14px}.table-line b{color:var(--text)}.blind-row{grid-template-columns:repeat(3,220px);gap:14px;display:grid}.blind-card{background:#0b3025;border:1px solid #2c6a52;border-radius:12px;flex-direction:column;align-items:center;gap:8px;min-height:250px;padding:14px;display:flex}.blind-card.current{border-color:var(--gold);box-shadow:0 0 0 2px #ffcf4a40}.blind-card.done{opacity:.5}.blind-card.boss{background:#2a1512;border-color:#6d2c25}.blind-card.boss.current{border-color:#ff8a65}.blind-name{font-size:18px;font-weight:700}.boss-name{color:#ff9d8a;font-weight:700}.boss-desc{font-size:13px}.blind-target{color:var(--text-dim);margin-top:auto;font-size:13px}.blind-target b{color:var(--gold);font-size:26px}.blind-reward{font-size:13px}.stamp{color:var(--green);font-weight:700}.score-screen .panel{min-width:560px}.hu-banner{color:#fff;background:var(--red);box-shadow:0 5px 0 var(--red-deep);border-radius:12px;padding:0 26px;font-size:54px;font-weight:700;animation:.35s cubic-bezier(.2,1.6,.4,1) stamp;display:inline-block;transform:rotate(-3deg)}@keyframes stamp{0%{opacity:0;transform:rotate(-3deg)scale(2.2)}}.score-hand{margin:14px 0 6px}.lines{text-align:left;max-width:440px;margin:8px auto;padding:0;list-style:none}.line{opacity:0;border-radius:6px;justify-content:space-between;padding:4px 8px;transition:all .2s;display:flex;transform:translate(-8px)}.line.show{opacity:1;transform:none}.line .tai{color:var(--gold);font-weight:700}.charm-line{background:#ffffff0d}.charm-line .fx{color:#9fd3ff;font-weight:600}.charm-line.boss .fx{color:#ff9d8a}.score-total{justify-content:center;align-items:center;gap:10px;margin:10px 0 2px;font-size:36px;font-weight:700;display:flex}.score-total .chips{color:#fff;background:var(--blue);border-radius:10px;padding:0 14px}.score-total .mult{color:#fff;background:var(--red);border-radius:10px;padding:0 14px}.score-total .total{color:var(--gold)}.score-total .pop{animation:.25s pop}@keyframes pop{50%{transform:scale(1.18)}}.tai-note{color:var(--text-dim);font-size:13px}.blind-progress{color:var(--text-dim);margin:12px 0}.blind-progress b{color:var(--text)}.ok{color:var(--green);font-weight:700}.cashout{gap:2px;min-width:260px;margin-bottom:8px;font-size:14px;display:inline-grid}.cashout div{justify-content:space-between;gap:24px;display:flex}.cashout b{color:var(--gold)}.wallet{margin-bottom:12px}.wallet b{color:var(--gold);font-size:22px}.shop-row{justify-content:center;gap:14px;display:flex}.shop-card{background:var(--cream);width:220px;color:var(--ink);border-top:6px solid var(--common);text-align:left;border-radius:12px;flex-direction:column;gap:6px;padding:12px;display:flex}.shop-card.uncommon{border-top-color:var(--uncommon)}.shop-card.rare{border-top-color:var(--rare)}.shop-card.sold{color:#3f7d65;background:0 0;border:1px dashed #2c6a52;place-items:center;min-height:170px;display:grid}.shop-charm-head{align-items:center;gap:8px;display:flex}.shop-charm-head .charm-icon{width:48px;height:48px}.shop-card .rarity{text-transform:uppercase;letter-spacing:.1em;opacity:.6;font-size:10px}.shop-card .charm-name{font-size:17px}.shop-card .charm-desc{opacity:1;font-size:13px}.shop-card .btn{background:var(--gold);justify-content:center;margin-top:auto;box-shadow:0 4px #c19526}.shop-actions{justify-content:center;gap:10px;margin-top:16px;display:flex}.owned-list{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.owned{background:#0b3025;border:1px solid #2c6a52;border-radius:10px;align-items:center;gap:8px;padding:4px 4px 4px 6px;font-size:13px;display:flex}.owned .charm-icon{width:24px;height:24px}.end-charms{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.end-charms .charm-icon{width:36px;height:36px}.end-stats{color:var(--text-dim);gap:4px;margin-bottom:16px;display:grid}code{color:var(--gold)}#tai{width:232px;max-height:118px;color:var(--text);background:#061e16b8;border:1px solid #2c6a52;border-radius:10px;padding:6px 8px;font-size:11px;position:absolute;top:482px;left:22px;overflow:hidden}#tai:empty{display:none}.tai-head{margin-bottom:3px;font-size:13px}.tai-head b{color:var(--gold);font-size:16px}.tai-head small{color:var(--text-dim)}#tai ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.tai-item{grid-template-columns:auto 1fr auto auto;align-items:center;gap:5px;display:grid}.tai-item .imgs .tile-img.sm{height:18px}.tai-item .tai{color:var(--gold);font-weight:700}.tai-item .status{text-transform:uppercase;color:var(--green);font-size:9px}.tai-item.inHand .status{color:#9fd3ff}.tai-item.possible{opacity:.7}.tai-item.possible .status{color:var(--text-dim)}.tai-item.voided .imgs{filter:grayscale();opacity:.55}.tai-item.voided .label,.tai-item.voided .status{color:#ff8a80}.tai-empty{color:var(--text-dim)}.btn.cashout{font-size:18px}.btn.skip{color:var(--text);box-shadow:none;background:0 0;border:1px solid #2c6a52;flex-direction:column;gap:0;font-size:13px}.btn.skip small{opacity:.75;font-size:10px}.skip-preview{color:var(--text-dim);border:1px dashed #2c6a52;border-radius:8px;flex-direction:column;align-items:center;padding:8px 12px;font-size:13px;font-weight:700;display:flex}.skip-preview small{font-size:10px;font-weight:400}.toast.set{color:#fff;background:#2f6fd0eb;font-size:17px}.toast.target{color:var(--ink);background:var(--gold);font-size:20px}.toast.error{color:#fff;background:#a82a24eb;font-size:15px}.huat-table{border-collapse:collapse;min-width:440px;margin:6px auto 4px;font-size:13px}.huat-table th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);text-align:right;padding:2px 8px;font-size:10px;font-weight:500}.huat-table th:nth-child(2){text-align:left}.huat-table td{text-align:right;padding:3px 8px}.huat-table td:first-child{text-align:left;font-weight:600}.huat-table td:nth-child(2){text-align:left;color:#9fd3ff}.huat-table td:nth-child(3){color:#b9d3ff}.huat-table td:nth-child(4){color:#ff9d8a;font-weight:700}.huat-table tbody tr{opacity:0;transition:opacity .2s}.huat-table tbody tr.show{opacity:1}.huat-table tr.base-huat td{border-top:1px solid #2c6a52}.huat-table tr.boss td:nth-child(2){color:#ff9d8a}.banked{color:var(--text-dim);margin-top:4px}.banked b{color:var(--gold)}.shop-sep{background:#2c6a52;border-radius:1px;width:2px}.shop-card{width:190px}.shop-card.chart{border-top-color:#7a4fd0}.shop-card.kopi{background:#f6e6cf;border-top-color:#8a5526}.levels{color:var(--text-dim);flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px;font-size:13px;display:flex}.level{color:#d9c9ff;background:#2a1f4a;border-radius:6px;padding:1px 8px}.shop-screen .panel{min-width:860px}#inspector{pointer-events:auto;z-index:20;cursor:zoom-out;background:#03120ddb;place-items:center;display:none;position:absolute;inset:0}#inspector.open{display:grid}.inspect-card{text-align:center;animation:.18s rise}.inspect-card img{filter:drop-shadow(0 16px 30px #00000080);height:240px}.inspect-name{margin-top:8px;font-size:26px;font-weight:700}.inspect-note{max-width:360px;color:var(--text-dim);margin:6px auto 0}.inspect-hint{color:#6a9a85;margin-top:10px;font-size:12px}.blind-icon{filter:drop-shadow(0 4px 6px #00000059);width:64px;height:64px}.blind-card.current .blind-icon{animation:2.4s ease-in-out infinite bob}.blind-card.done .blind-icon{filter:grayscale(.8)}.hud-label .blind-icon{vertical-align:-3px;filter:none;width:16px;height:16px;margin-right:2px}@keyframes bob{50%{transform:translateY(-4px)rotate(-3deg)}}.scene-name{color:#9fd3ff;font-weight:700}.blind-card.big .scene-name{color:var(--gold)}#game.portrait #hud{grid-template-rows:auto 1fr;grid-template-columns:1fr 1fr;gap:10px 16px;height:250px;padding:12px 14px}#game.portrait .hud-blind{grid-area:1/1}#game.portrait .hud-stats{grid-area:1/2;gap:6px 10px}#game.portrait .hud-cards{grid-area:2/1/auto/-1}#game.portrait .hud-label{font-size:17px}#game.portrait .hud-label .blind-icon{width:22px;height:22px}#game.portrait .hud-target .score{font-size:38px}#game.portrait .hud-target .of{font-size:20px}#game.portrait .bar{height:9px}#game.portrait .hud-boss{white-space:normal;font-size:15px}#game.portrait .stat .k{letter-spacing:.03em;white-space:nowrap;font-size:16px}#game.portrait .stat .v{font-size:28px}#game.portrait .hud-cards .charm-name{font-size:16px}#game.portrait .hud-cards .charm-desc{-webkit-line-clamp:3;font-size:13px}#game.portrait .hud-cards .charm-card{justify-content:center;padding:6px}#game.portrait .hud-cards .charm-text{display:none}#game.portrait .hud-cards .charm-icon{width:72px;height:72px}#game.portrait .card-tip{width:440px;font-size:26px}#game.portrait .card-tip b{font-size:28px}#game.portrait .card-tip small{font-size:22px}#game.portrait .chart-tip{width:280px;margin-left:-140px;font-size:15px}#game.portrait .chart-tip b{font-size:17px}#game.portrait .chart-tip small{font-size:13px}#game.portrait .card-tip.chart-tip .tip-rarity{font-size:11px}#game.portrait .card-tip .tip-rarity{font-size:17px}#game.portrait #actions{gap:10px;inset:auto 12px 24px}#game.portrait #actions .status{text-align:center;min-height:32px;font-size:23px}#game.portrait #actions .buttons{gap:12px}#game.portrait #actions .btn{border-radius:14px;padding:14px 22px;font-size:24px}#game.portrait #actions .btn small{font-size:15px}#game.portrait #toasts{top:470px}#game.portrait .toast{font-size:32px}#game.portrait .toast.call{font-size:44px}#game.portrait .toast.bite{font-size:38px}#game.portrait .toast.money{font-size:26px}#game.portrait #tai{width:256px;max-height:150px;font-size:21px;top:276px;left:20px}#game.portrait .tai-head{font-size:24px}#game.portrait .panel{zoom:var(--ui,1.35);box-sizing:border-box;min-width:0;width:calc(700px / var(--ui,1.35));max-width:none;max-height:calc((var(--stage-h,1280px) - 40px) / var(--ui,1.35));padding:16px 14px 18px;font-size:15px;overflow-y:auto}#game.portrait .panel h2{font-size:24px}#game.portrait .title{font-size:42px}#game.portrait .subtitle{font-size:14px}#game.portrait .format-grid{grid-template-columns:1fr}#game.portrait .howto{padding-left:18px;font-size:14px}#game.portrait .panel .btn{min-height:44px;font-size:16px}#game.portrait .panel .btn.small{min-height:36px;font-size:14px}#game.portrait .blind-row{grid-template-columns:1fr;gap:10px}#game.portrait .blind-card{text-align:left;grid-template-columns:48px 1fr auto;align-items:center;gap:2px 12px;min-height:0;padding:12px;display:grid}#game.portrait .blind-card>*{grid-column:2;margin:0}#game.portrait .blind-card>.blind-icon{grid-area:1/1/span 3;width:48px;height:48px}#game.portrait .blind-card>.blind-target,#game.portrait .blind-card>.blind-reward{text-align:right;grid-column:3}#game.portrait .blind-card>.blind-target{grid-row:1/span 2}#game.portrait .blind-card>.btn,#game.portrait .blind-card>.stamp,#game.portrait .blind-card>.skip-preview{grid-column:1/-1;margin-top:8px}#game.portrait .blind-card>.btn{text-align:center;justify-content:center}#game.portrait .blind-card.upcoming>.flavour{display:none}#game.portrait .shop-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}#game.portrait .shop-sep{display:none}#game.portrait .shop-card{width:auto;min-width:0}#game.portrait .shop-charm-head .charm-icon{width:40px;height:40px}#game.portrait .owned{box-sizing:border-box;width:100%}#game.portrait .owned>span{text-align:left;flex:1}#game.portrait .score-hand img{width:calc(7.14286% - 1px);height:auto}#game.portrait .huat-table{width:100%;min-width:0;font-size:13px}#game.portrait .score-total{font-size:26px}#game.portrait .inspect-card img{height:380px}#game.portrait .inspect-name{font-size:38px}#game.portrait .inspect-note,#game.portrait .inspect-hint{max-width:560px;font-size:20px}.modes{text-align:left;grid-template-columns:1.2fr 1fr;gap:14px;margin:12px 0;display:grid}.mode{background:#0b3025;border:1px solid #2c6a52;border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.mode-head p{color:var(--text-dim);margin:2px 0 0;font-size:13px}.mode-name{color:var(--gold);margin:0;font-size:20px}.free-mode .mode-name{color:#8fd8ff}.mode .format-grid{grid-template-columns:1fr;gap:10px;margin:0}.mode .format-card{padding:10px 14px}.mode .format-name{font-size:18px}.howto-wrap summary{cursor:pointer;color:var(--text-dim);font-size:13px}.howto-wrap .howto{margin-top:6px}.free-options{flex-direction:column;gap:6px;display:flex}.opt-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:12px}.chips{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;margin-bottom:4px;display:grid}.chip{font:inherit;cursor:pointer;text-align:left;color:var(--text);background:#0f3a2d;border:1px solid #2c6a52;border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.chip small{color:var(--text-dim);font-size:11px;line-height:1.25}.chip.on{background:#134a4a;border-color:#8fd8ff;box-shadow:inset 0 0 0 1px #8fd8ff}.free-start{margin-top:auto}.mode-tag{text-transform:uppercase;letter-spacing:.08em;background:var(--gold);color:var(--ink);border-radius:999px;margin-bottom:4px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.mode-tag.free{background:#8fd8ff}.hud-blind.free .free-round{color:var(--gold);font-size:20px;font-weight:700}.hud-blind.free .free-level{color:var(--text-dim);font-size:12px}.free-players{grid-column:2/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.free-player{background:#0b3025;border:1px solid #2c6a52;border-radius:10px;grid-template-columns:1fr auto;align-items:center;column-gap:8px;padding:6px 12px;display:grid}.free-player.you{border-color:var(--gold)}.fp-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.fp-wind{background:#174c3a;border-radius:8px;grid-area:1/2/span 2;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.free-player.dealer .fp-wind{background:var(--red);color:#fff}.fp-chips{color:var(--gold);font-size:18px}.free-how{color:var(--text-dim);margin:4px 0 2px}.free-pay{border-collapse:collapse;min-width:320px;margin:10px auto 12px;font-size:15px}.free-pay th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);padding:2px 10px;font-size:11px;font-weight:500}.free-pay td{text-align:right;border-top:1px solid #1f5a45;padding:5px 10px}.free-pay td:first-child,.free-pay.standings td:nth-child(2){text-align:left}.free-pay tr.you td{color:var(--gold);font-weight:600}.free-pay .plus{color:#7fe0a6}.free-pay .minus{color:#ff8a7a}#game.portrait .modes{grid-template-columns:1fr}#game.portrait .free-players{grid-area:2/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#game.portrait .free-player{padding:8px 14px}#game.portrait .fp-name{font-size:22px}#game.portrait .fp-chips{font-size:28px}#game.portrait .fp-wind{width:44px;height:44px;font-size:24px}#game.portrait .hud-blind.free .free-round{font-size:30px}#game.portrait .hud-blind.free .free-level{font-size:17px}#game.portrait .free-pay{width:100%;min-width:0}.resume{border:1px solid var(--gold);text-align:left;background:#0b3025;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;max-width:560px;margin:12px auto 4px;padding:12px 14px;display:flex}.resume-text{color:var(--text-dim);font-size:13px}.resume-text b{color:var(--gold);font-size:16px;display:block}.resume-buttons{gap:8px;display:flex}#game.portrait .resume{max-width:none}.short-tai{color:#ffb4a8;flex-basis:100%;font-size:12px}#actions .status:has(.short-tai){border-radius:14px;flex-wrap:wrap;justify-content:center}#game.portrait .short-tai{font-size:18px}.free-pfa{color:#ffb4a8;margin:2px auto 0;font-size:13px}.round-of{color:var(--text-dim);font-size:14px;font-weight:500}.shop-card.upgrade{background:linear-gradient(#fff8e4, var(--cream));border-top-color:#d9a441}.shop-card.pack{border-top-color:var(--red);background:linear-gradient(#fde6e0, var(--cream))}.pack-open{border:1px solid var(--red);background:#d8433a1f;border-radius:12px;margin-top:14px;padding:12px}.pack-open h3{color:var(--text);margin-top:0}.pack-open .btn{margin-top:10px}.level.card-slot{cursor:default;display:inline-block}.chart-tip{background:var(--cream);text-align:left;border-top-color:#7b4fd6;margin-left:-110px;font-weight:400;left:50%}.upgrade-tip{border-top-color:#d9a441}.upgrade-tip small{font-style:italic}.chart-tip .tip-rarity{text-transform:uppercase;letter-spacing:.1em;opacity:.6;margin-bottom:4px;font-size:10px}#sound-toggle,#music-toggle,#menu-button{z-index:30;cursor:pointer;pointer-events:auto;background:#00000059;border:1px solid #ffffff2e;border-radius:50%;width:34px;height:34px;padding:0;font-size:16px;line-height:1;position:absolute;bottom:10px;left:10px}#sound-toggle.off,#music-toggle.off{opacity:.6}#game.portrait #sound-toggle{width:56px;height:56px;font-size:26px;inset:300px 36px auto auto}#music-toggle{left:50px}#menu-button{left:90px}#menu-button[hidden]{display:none}#game.portrait #music-toggle{width:56px;height:56px;font-size:26px;inset:364px 36px auto auto}#game.portrait #menu-button{width:56px;height:56px;font-size:26px;inset:428px 36px auto auto}#game.portrait #modal.open~#menu-button,#game.portrait #modal.open~#sound-toggle,#game.portrait #modal.open~#music-toggle{display:none}.run-options{flex-direction:column;gap:6px;display:flex}.run-options .opt-label small{text-transform:none;letter-spacing:0}.chips.venues{grid-template-columns:repeat(3,1fr);grid-auto-flow:row}.chips.stakes{grid-template-columns:repeat(5,1fr);grid-auto-flow:row}.chips.stakes .chip{align-items:center;padding:6px 4px}.chip.locked{cursor:default;opacity:.55;border-style:dashed}.chip.on:not(.locked) b{color:#fff}.collection-btn{align-self:flex-start}.title-screen .panel,.collection-screen .panel{max-height:calc(var(--stage-h,720px) - 24px);overflow-y:auto}.collection-screen .panel{width:980px}#game.portrait .collection-screen .panel{width:calc(700px / var(--ui,1.35))}.stake-note{color:var(--text-dim);margin-top:-2px;font-size:12px}.stake-note b{color:var(--text)}.coll-stats{color:var(--text-dim);flex-wrap:wrap;justify-content:center;gap:6px 16px;font-size:14px;display:flex}.coll-stats b{color:var(--gold)}.collection-screen h3 small{color:var(--text-dim);font-size:13px;font-weight:400}.coll-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;padding:2px;display:grid}.coll-card{background:var(--cream);color:var(--ink);border-top:4px solid var(--common);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:8px;font-size:12px;display:flex}.coll-card .charm-icon,.coll-card .blind-icon{width:38px;height:38px}.coll-card small{color:#4a5a52;font-size:10.5px;line-height:1.25}.coll-card.uncommon{border-top-color:var(--uncommon)}.coll-card.rare{border-top-color:var(--rare)}.coll-card.boss{border-top-color:var(--red)}.coll-card.locked,.coll-card.unseen{color:var(--text-dim);background:#0f3a2d;border:1px dashed #2c6a52}.coll-card.locked small,.coll-card.unseen small{color:var(--text-dim)}.coll-icon{height:38px;font-size:24px;line-height:38px}.coll-card .stake-won{color:var(--green);font-weight:600}.toast.unlock{color:var(--ink);background:linear-gradient(90deg, #ffe28a, var(--gold));font-size:20px;box-shadow:0 0 18px #ffcf4a99}:root{--enh-gold:#f6c343;--enh-jade:#2fbf71;--enh-red:#e0463c;--enh-glass:#9fd8ff;--enh-lucky:#8bd450}.wall-view{text-align:left;margin-top:12px;font-size:14px}.wall-view summary{cursor:pointer;color:var(--text-dim);text-align:center}.wall-view summary b{color:var(--text)}.wall-enh{background:#0000002e;border-left:4px solid;border-radius:4px;flex-wrap:wrap;align-items:center;gap:3px;margin:6px 0;padding:4px 8px;display:flex}.wall-enh-name{min-width:72px;font-weight:700}.enh-gold{border-color:var(--enh-gold)}.enh-jade{border-color:var(--enh-jade)}.enh-red{border-color:var(--enh-red)}.enh-glass{border-color:var(--enh-glass)}.enh-lucky{border-color:var(--enh-lucky)}.wall-empty{color:var(--text-dim);text-align:center}.enh-key{color:var(--text-dim);grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 12px;margin:8px 0 0;padding:0;font-size:12px;list-style:none;display:grid}.enh-key li{border-left:3px solid;padding-left:6px}.enh-key b{color:var(--text)}.shop-card.tile-upgrade{text-align:center;border-top-style:solid;border-top-width:6px;align-items:center}.upgrade-tile .tile-img{border-radius:6px;box-shadow:0 0 0 3px}.tile-upgrade.enh-gold .upgrade-tile{color:var(--enh-gold)}.tile-upgrade.enh-jade .upgrade-tile{color:var(--enh-jade)}.tile-upgrade.enh-red .upgrade-tile{color:var(--enh-red)}.tile-upgrade.enh-glass .upgrade-tile{color:var(--enh-glass)}.tile-upgrade.enh-lucky .upgrade-tile{color:var(--enh-lucky)}.shop-card.kopi.snack{background:linear-gradient(#fde8ef,#f6e6cf);border-top-color:#d08aa0}.kopi-card.snack{border-color:#d08aa0}.boss-rival{color:#ff9a8a;font-size:11px;font-weight:600}.rival-line{color:var(--text-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;display:flex}#game.portrait .chips.venues{grid-template-columns:repeat(2,1fr)}#game.portrait .chips.stakes{grid-template-columns:repeat(3,1fr)}#game.portrait .coll-grid{grid-template-columns:repeat(3,1fr);gap:6px}#game.portrait .coll-card{padding:6px 4px;font-size:11px}#game.portrait .coll-card small{font-size:10px}.order-note{color:var(--text-dim);margin:-4px 0 8px;font-size:12px}.owned .btn.move{min-width:0;padding:2px 7px}.owned .btn.move[disabled]{opacity:.3}.score-hand .enh-tile{box-shadow:0 0 0 2.5px var(--enh);border-radius:5px}.score-hand .enh-gold{--enh:var(--enh-gold)}.score-hand .enh-jade{--enh:var(--enh-jade)}.score-hand .enh-red{--enh:var(--enh-red)}.score-hand .enh-glass{--enh:var(--enh-glass)}.score-hand .enh-lucky{--enh:var(--enh-lucky)}.score-hand .pulse{animation:.5s tile-pulse}@keyframes tile-pulse{40%{box-shadow:0 0 0 3px var(--enh,var(--gold)), 0 0 18px var(--enh,var(--gold));transform:translateY(-10px)scale(1.25)}}.huat-table tr.charm td:first-child{color:#9fd3ff}.huat-table tr.tile-step td:first-child{color:#b7f0c9}.panel.shake{animation:.4s shake}@keyframes shake{20%{transform:translate(-8px)rotate(-.6deg)}40%{transform:translate(7px)rotate(.5deg)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}.charm-float{z-index:50;pointer-events:none;white-space:nowrap;color:#fff;background:var(--red);border-radius:8px;padding:2px 8px;font-size:16px;font-weight:700;animation:1.1s forwards charm-float;position:absolute;transform:translate(-50%);box-shadow:0 4px 12px #0006}@keyframes charm-float{0%{opacity:0;transform:translate(-50%,-6px)scale(.7)}15%{opacity:1;transform:translate(-50%,4px)scale(1.1)}70%{opacity:1;transform:translate(-50%,10px)scale(1)}to{opacity:0;transform:translate(-50%,22px)scale(.95)}}#game.portrait .charm-float{font-size:26px}#coach{z-index:30;pointer-events:none;width:380px;position:absolute;top:468px;right:36px}.coach{pointer-events:auto;text-align:left;color:var(--ink);border-left:5px solid var(--gold);background:#fff8e4;border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.35;box-shadow:0 10px 30px #00000073}.coach.float{animation:.25s rise}.coach.in-panel{max-width:560px;margin:4px auto 12px}.coach-title{margin-bottom:2px;font-weight:700}.coach-buttons{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.coach .btn.small{font-size:13px}.coach .btn.ghost{color:#5a6a62;box-shadow:none;background:0 0}.coll-buttons{justify-content:center;gap:10px;margin-top:14px;display:flex}#game.portrait #coach{width:auto;inset:auto 20px 330px}#game.portrait #coach .coach{font-size:22px}#game.portrait #coach .coach .btn.small{font-size:20px}.blind-progress.later{opacity:0;transition:opacity .3s}.blind-progress.later.show{opacity:1}.history-empty{color:var(--text-dim)}.history{text-align:left;grid-template-columns:260px 1fr;align-items:start;gap:16px;display:grid}.ends{flex-direction:column;gap:3px;font-size:12px;display:flex}.ends-title,.history-table th{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:11px;font-weight:600}.ends-row{grid-template-columns:92px 1fr 22px;align-items:center;gap:6px;display:grid}.ends-row b{text-align:right}.ends-bar{background:#0f3a2d;border-radius:3px;height:10px;overflow:hidden}.ends-bar span{background:var(--text-dim);height:100%;display:block}.ends-row.boss .ends-bar span{background:#ff9d8a}.ends-row.won .ends-bar span{background:var(--gold)}.ends-row.won{margin-top:4px;font-weight:700}.history-list{overflow-x:auto}.history-table{border-collapse:collapse;width:100%;font-size:13px}.history-table td{vertical-align:top;border-top:1px solid #1c4a3a;padding:5px 6px}.history-table small{color:var(--text-dim)}.history-table code{color:var(--text-dim);font-size:11px}.history-table .res{font-weight:700}.history-table .res.won{color:var(--gold)}.history-table .res.lost{color:#ff9d8a}.history-charms .charm-icon{width:20px;height:20px}#game.portrait .history{grid-template-columns:1fr}#game.portrait .history-table th:nth-child(6),#game.portrait .history-table td:nth-child(6){display:none}.hud-boss-slot{cursor:help;margin-top:3px}.hud-boss-slot .hud-boss{margin-top:0}.boss-tip{border-top-color:var(--red);background:#fff1ec;width:280px}.boss-tip b{display:block}.boss-tip .boss-rule{margin:4px 0;font-weight:600}.boss-tip .boss-rival{color:#b3372c;font-size:12px}.boss-tip .boss-ignored{color:var(--green);margin-top:2px;font-size:12px}.boss-tip small{color:#6a5a52;margin-top:4px;font-style:italic;display:block}#game.portrait .boss-tip{width:420px;font-size:20px}#game.portrait .boss-tip .boss-rival,#game.portrait .boss-tip .boss-ignored,#game.portrait .boss-tip small{font-size:17px}.boss-tip .boss-style{margin-top:2px;font-size:12px}#game.portrait .boss-tip .boss-style{font-size:17px}#actions .btn.blocked{opacity:.55}#actions .btn.blocked s{text-decoration-thickness:2px}#game.portrait #actions .buttons:has(>:nth-child(4)){flex-wrap:nowrap;gap:8px}#game.portrait #actions .buttons:has(>:nth-child(4)) .btn{padding:12px 10px;font-size:19px}#game.portrait #actions .buttons:has(>:nth-child(4)) .btn small{display:none}#game.portrait #actions .buttons:has(>:nth-child(4)) .tile-img{width:20px;height:auto}.daily-card{background:#f0c24b1f;border:1px solid #f0c24b73;border-radius:12px;align-items:center;gap:12px;margin-top:10px;padding:10px 14px;display:flex}.daily-text{flex:1;min-width:0}.daily-card .format-name{color:var(--gold);font-size:18px}.daily-card .format-name small{color:var(--text-dim);margin-left:4px;font-size:13px;font-weight:500}.daily-card .format-meta{color:var(--text-dim)}.daily-btns{flex-direction:column;gap:6px;display:flex}.loss-tip{border-left:3px solid var(--gold);text-align:left;background:#ffcf4a1a;border-radius:10px;max-width:520px;margin:0 auto 10px;padding:8px 12px;font-size:14px}.endless-rule{color:#ffb3a8;margin:0 0 10px;font-size:14px}.endless-note{color:var(--text-dim);margin:6px 0 12px;font-size:13px}.coll-card.ach.done{border-top-color:var(--gold)}.coll-card .ach-reward{color:var(--rare);font-weight:600}.coll-card.locked .ach-reward{color:var(--gold)}.cloths{flex-wrap:wrap;gap:10px;display:flex}.cloth{font:inherit;color:var(--text-dim);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:6px;display:flex}.cloth.on{border-color:var(--gold);color:var(--text)}.cloth:disabled{cursor:default;opacity:.6}.cloth .swatch{border:3px solid;border-radius:8px;place-items:center;width:64px;height:42px;font-size:16px;display:grid}.cloth small{font-size:11px}body:not(.board-on) .needs-board{display:none!important}.daily-post{background:#f0c24b1f;border:1px solid #f0c24b73;border-radius:12px;justify-items:center;gap:8px;max-width:520px;margin:0 auto 14px;padding:10px 14px;display:grid}.daily-post-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.daily-post input{font:inherit;color:var(--text);background:#0000004d;border:1px solid #ffffff40;border-radius:8px;width:180px;padding:8px 10px}.daily-post-note{color:var(--text-dim)}.board-table tr.you td{color:var(--gold);font-weight:600}.title-sound{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:-4px 0 12px;display:flex}.title-sound .chip{flex:none;padding:6px 14px}.title-sound .chip b{font-size:14px}.music-volume{align-items:center;gap:6px;padding:0 4px;display:flex}.music-volume.off{opacity:.45}.music-volume input{width:110px;accent-color:var(--gold)}.install-slot{justify-content:center;margin:-4px 0 12px;display:flex}.install-slot:empty{display:none}.install-btn{border-color:#f0c24b8c}.install-btn small{color:var(--text-dim)}.install-steps{text-align:left;gap:10px;max-width:460px;margin:8px auto 14px;padding-left:22px;line-height:1.4;display:grid}.ios-share{vertical-align:-4px;border:1.5px solid;border-radius:5px;place-items:center;width:22px;height:22px;font-size:13px;display:inline-grid}.install-screen .subtitle{max-width:460px;margin-left:auto;margin-right:auto}.btn.jiao{color:#3a1206;background:linear-gradient(#ffc94a,#f0a81e);box-shadow:0 4px #8a4a08}.btn.jiao small{color:#5a2a06;opacity:.9}.jiao-flag{color:#3a1206;background:#f0a81e;border-radius:999px;margin-right:4px;padding:1px 8px;animation:1.1s ease-in-out infinite pulse;display:inline-block}.jiao-lost{color:#ffb3a8}.hud-bet{color:#ffd98a;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;overflow:hidden}.hud-bet.won{color:#8ff0b4}#game.portrait .hud-bet{font-size:15px}.bets{text-align:left;background:#f0a81e14;border:1px dashed #b98a2e;border-radius:12px;margin-top:14px;padding:10px 12px}.bets-head{margin-bottom:8px;font-size:14px}.bets-head span{color:var(--text-dim);margin-left:6px}.bets.placed p{margin:0;font-size:14px}.bet-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.bet-card{background:#0b3025;border:1px solid #2c6a52;border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.bet-name{font-weight:700}.bet-odds{float:right;color:#ffd98a;font-size:12px;font-weight:600}.bet-desc{color:var(--text-dim);flex:1;font-size:13px}.bet-stakes{gap:6px;margin-top:4px;display:flex}.btn.stake{text-align:center;flex:1;justify-content:center;min-width:0;padding:6px 0;font-size:15px}.bets-top{display:none}#game.portrait .bets-top{margin:0 0 12px;display:block}#game.portrait .bets-bottom{display:none}.bets summary{cursor:pointer;font-size:14px}.bets summary span{color:var(--text-dim);margin-left:4px}.bets-terms{color:var(--text-dim);margin:8px 0;font-size:13px}#game.portrait .bet-card{padding:8px 10px}#game.portrait .bet-row{grid-template-columns:1fr;gap:8px}#game.portrait .bets-head span{margin:2px 0 0;display:block}
