:root{--felt-1:#187452;--felt-2:#0c4632;--felt-3:#04201a;--gold-1:#fbeeb6;--gold-2:#dcb85f;--gold-3:#a98a3d;--gold-4:#6d561f;--gold:var(--gold-2);--gold-dim:var(--gold-3);--ruby-1:#cf3842;--ruby-2:#8d1d25;--ruby-3:#4c0e13;--lacquer:#a3242b;--lacquer-2:#7a1a20;--jade-1:#34b27a;--jade-2:#17704f;--jade-3:#0b4130;--jade:#1f8f5f;--jade-dark:#0f4a31;--ivory:#f6efdc;--ink:#1b1a17;--text:#f4ecd4;--muted:#a9bfae;--red:#b3262c;--green:#1f7a4d;--blue:#1f4f8f;--display:"Cormorant Garamond", "Noto Serif TC", "Songti TC", Georgia, serif;--zh:"Noto Serif TC", "Songti TC", "Songti SC", SimSun, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--tw-base:min(10vh, calc((100vw - 3rem) / 15.6), 120px)}@supports (height:100dvh){:root{--tw-base:min(10dvh, calc((100vw - 3rem) / 15.6), 120px)}}html{font-size:clamp(11px,4.1dvh,30px)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--felt-3);color:var(--text);font-family:var(--sans);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}#app-root{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:relative;overflow:hidden}.felt{background:radial-gradient(ellipse at 50% 36%, var(--felt-1) 0%, var(--felt-2) 52%, var(--felt-3) 100%);position:relative}.felt:before{content:"";pointer-events:none;opacity:.22;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .7 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}.felt:after{content:"";pointer-events:none;background:radial-gradient(#0000 55%,#00000073 100%),radial-gradient(circle at .07rem .07rem,#dcb85f1a .06rem,#0000 .09rem) 0 0/1.1rem 1.1rem;position:absolute;inset:0}.felt>*{z-index:1;position:relative}.gold-text{background:linear-gradient(180deg, var(--gold-1) 0%, var(--gold-2) 48%, var(--gold-3) 100%);-webkit-text-fill-color:transparent;color:#0000;filter:drop-shadow(0 .08rem .12rem #0000008c);-webkit-background-clip:text;background-clip:text}h1,h2,h3{font-family:var(--display);font-weight:700}.btn{appearance:none;font-family:var(--display);letter-spacing:.05em;color:var(--ivory);background:linear-gradient(180deg, var(--ruby-1), var(--ruby-2));box-shadow:0 0 0 1px var(--gold-3), 0 0 0 .12rem #00000059, 0 .22rem 0 var(--ruby-3), 0 .55rem .9rem #00000073, inset 0 1px 0 #ffffff61;cursor:pointer;border:0;border-radius:.7rem;padding:.62rem 1.25rem;font-size:1.08rem;font-weight:700;transition:transform .1s,box-shadow .1s,filter .15s;position:relative;overflow:hidden}.btn:before{content:"";pointer-events:none;background:linear-gradient(#ffffff3d,#fff0);position:absolute;inset:0 0 52%}.btn:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000,#ffffff61,#0000);width:36%;transition:left .65s;position:absolute;top:0;bottom:0;left:-60%;transform:skew(-20deg)}@media (hover:hover){.btn:hover:not(:disabled){filter:brightness(1.1)}.btn:hover:not(:disabled):after{left:135%}}.btn:active:not(:disabled){box-shadow:0 0 0 1px var(--gold-3), 0 0 0 .12rem #00000059, 0 .06rem 0 var(--ruby-3), 0 .25rem .5rem #00000073, inset 0 1px 0 #ffffff61;transform:translateY(.14rem)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--jade{background:linear-gradient(180deg, var(--jade-1), var(--jade-3));box-shadow:0 0 0 1px var(--gold-3), 0 0 0 .12rem #00000059, 0 .22rem 0 #06281c, 0 .55rem .9rem #00000073, inset 0 1px 0 #ffffff57}.btn--gold{color:var(--ink);background:linear-gradient(180deg, var(--gold-1), var(--gold-3));box-shadow:0 0 0 1px var(--gold-4), 0 0 0 .12rem #0000004d, 0 .22rem 0 var(--gold-4), 0 .55rem .9rem #00000073, inset 0 1px 0 #fff9}.btn--ghost{color:var(--text);background:#00000052;box-shadow:0 0 0 1px #dcb85f8c,inset 0 0 .9rem #0006}.btn--ghost:before{display:none}.icon-btn{appearance:none;width:2.25rem;height:2.25rem;color:var(--gold-1);cursor:pointer;box-shadow:0 0 0 1px var(--gold-2), 0 0 0 .16rem #0006, inset 0 1px 0 #fff3, 0 .3rem .6rem #0006;background:radial-gradient(circle at 35% 28%,#3c785fe6,#05241af2);border:0;border-radius:50%;place-items:center;font-size:1.05rem;line-height:1;transition:transform .1s,filter .15s;display:grid}@media (hover:hover){.icon-btn:hover{filter:brightness(1.25)}}.icon-btn:active{transform:scale(.94)}:focus-visible{outline:.14rem solid var(--gold-1);outline-offset:.14rem}.panel,.dialog{background:linear-gradient(160deg,#1a684c8c,#032017c7);border-radius:1rem;padding:.95rem 1.15rem;position:relative;box-shadow:0 0 0 1px #dcb85f99,0 .6rem 1.5rem #00000080,inset 0 0 2.2rem #0000004d,inset 0 1px #ffffff1a}.panel:before,.dialog:before{content:"";pointer-events:none;border:1px solid #dcb85f38;border-radius:.72rem;position:absolute;inset:.32rem}.panel:after,.dialog:after{content:"";pointer-events:none;background:linear-gradient(var(--gold-2), var(--gold-2)) top left / .85rem 2px no-repeat, linear-gradient(var(--gold-2), var(--gold-2)) top left / 2px .85rem no-repeat, linear-gradient(var(--gold-2), var(--gold-2)) top right / .85rem 2px no-repeat, linear-gradient(var(--gold-2), var(--gold-2)) top right / 2px .85rem no-repeat, linear-gradient(var(--gold-2), var(--gold-2)) bottom left / .85rem 2px no-repeat, linear-gradient(var(--gold-2), var(--gold-2)) bottom left / 2px .85rem no-repeat, linear-gradient(var(--gold-2), var(--gold-2)) bottom right / .85rem 2px no-repeat, linear-gradient(var(--gold-2), var(--gold-2)) bottom right / 2px .85rem no-repeat;opacity:.85;position:absolute;inset:.18rem}.panel>*,.dialog>*{z-index:1;position:relative}.panel input,.panel select,.screen input,.screen select{font:600 1rem var(--sans);border:1px solid var(--gold-3);color:var(--ink);-webkit-user-select:text;user-select:text;background:linear-gradient(#fffaf0,#efe4c8);border-radius:.65rem;min-width:0;padding:.58rem .8rem;transition:box-shadow .15s,border-color .15s;box-shadow:inset 0 .12rem .28rem #0003}.panel input::placeholder,.screen input::placeholder{color:#1b1a1773;font-weight:500}.panel input:focus,.screen input:focus{border-color:var(--gold-1);outline:none;box-shadow:0 0 0 .2rem #dcb85f73,inset 0 .12rem .28rem #0003}#rotate-overlay{z-index:9999;background:radial-gradient(ellipse at 50% 40%, var(--felt-1), var(--felt-3));color:var(--ivory);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;display:none;position:fixed;inset:0}.rotate-phone{width:5.2rem;height:5.2rem;color:var(--gold-2);margin-bottom:.6rem;animation:2.6s ease-in-out infinite turn}@keyframes turn{0%,20%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}#rotate-overlay h2{background:linear-gradient(180deg, var(--gold-1), var(--gold-3));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .4rem;font-size:1.7rem}#rotate-overlay p{color:var(--muted);max-width:20rem;margin:0}.rotate-tip{opacity:.8;font-size:.78rem;margin-top:.9rem!important}@media (orientation:portrait) and (width<=900px) and (pointer:coarse),(orientation:portrait) and (width<=520px){#rotate-overlay{display:flex}#app-root{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.tile{--t:var(--tw,var(--tw-base));--r:calc(var(--t) * .15);width:var(--t);height:calc(var(--t) * 1.32);border-radius:var(--r);box-shadow:0 calc(var(--t) * .07) 0 #0c3f29, 0 calc(var(--t) * .13) calc(var(--t) * .14) #0000008c;background:linear-gradient(160deg,#2aa56d,#14603f);border:0;flex:none;padding:0;transition:transform .12s;display:block;position:relative}button.tile{cursor:pointer;font:inherit}.tile-face{inset:0 0 calc(var(--t) * .1) 0;border-radius:var(--r);box-shadow:inset 0 1px 0 #fffffff2, inset 0 calc(var(--t) * -.05) calc(var(--t) * .08) #78643233;background:radial-gradient(120% 90% at 30% 12%,#fffdf4 0%,#f3ebd4 58%,#e4d9b8 100%);position:absolute;overflow:hidden}.tile-face svg{width:84%;height:90%;position:absolute;inset:5% 8%}.tile--back .tile-face{box-shadow:inset 0 0 0 calc(var(--t) * .06) #d9b45a99, inset 0 calc(var(--t) * -.05) calc(var(--t) * .08) #0000004d;background:repeating-linear-gradient(45deg,#ffffff14 0 3px,#0000 3px 7px),linear-gradient(145deg,#38c385,#1a7a50)}.tile--side{width:calc(var(--t) * 1.32);height:var(--t)}.tile--side .tile-face{inset:0 0 calc(var(--t) * .1) 0}.tile.is-selected{transform:translateY(calc(var(--t) * -.34))}.tile.is-selected .tile-face{box-shadow:inset 0 1px 0 #fff, 0 0 0 2px var(--gold), 0 0 14px #d9b45abf}.tile.is-latest{outline:2px solid var(--gold);outline-offset:1px;animation:.38s cubic-bezier(.2,.9,.3,1.15) drop}@keyframes drop{0%{opacity:0;transform:translateY(-46px)scale(1.7)}to{opacity:1;transform:none}}@media (hover:hover){button.tile:hover:not(.is-selected){transform:translateY(calc(var(--t) * -.14))}}.table{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:auto auto minmax(0,1fr) auto auto;gap:.25rem .5rem;height:100%;padding:.375rem .75rem .5rem;display:grid}.hud{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.hud-center{letter-spacing:.05em;background:#0000004d;border:1px solid #d9b45a66;border-radius:62.4375rem;align-items:center;gap:.625rem;padding:.25rem 1rem .25rem .3125rem;font-size:.8125rem;font-weight:700;display:flex}.wind-badge{background:radial-gradient(circle at 35% 30%, #f1d98f, var(--gold-dim));width:1.625rem;height:1.625rem;color:var(--ink);border-radius:50%;place-items:center;font:900 1rem Noto Serif TC,Songti TC,SimSun,serif;display:grid}.hud-right{gap:.375rem;display:flex}.hud-sep{background:#d9b45a73;width:1px;height:.875rem}.seat-slot{place-items:center;min-height:0;display:grid}.seat{flex-direction:column;align-items:center;gap:.5rem;display:flex}.seat-chip{letter-spacing:.04em;background:#00000059;border:1px solid #d9b45a59;border-radius:62.4375rem;align-items:center;gap:.375rem;padding:3px .75rem 3px .25rem;font-size:.75rem;font-weight:700;display:inline-flex}.seat-chip:not(:has(.dealer-dot)){padding-left:.75rem}.dealer-dot{background:var(--lacquer);width:1.125rem;height:1.125rem;color:var(--ivory);border-radius:50%;place-items:center;font:900 .6875rem Noto Serif TC,Songti TC,SimSun,serif;display:grid}.seat.is-active .seat-chip,.me.is-active .seat-chip{border-color:var(--gold);animation:1.4s ease-in-out infinite glow}@keyframes glow{0%,to{box-shadow:0 0 0 2px #d9b45a33,0 0 .5rem #d9b45a59}50%{box-shadow:0 0 0 3px #d9b45a59,0 0 1.125rem #d9b45abf}}.seat-hand{--tw:calc(var(--tw-base) * .4);flex-direction:column;align-items:center;display:flex}.pond{--tw:calc(var(--tw-base) * .76);place-content:center;gap:calc(var(--tw-base) * .07) 3px;background:radial-gradient(#0000001f,#00000052);border:1px solid #d9b45a47;border-radius:1.25rem;flex-wrap:wrap;min-height:0;padding:.75rem;display:flex;overflow:hidden;box-shadow:inset 0 0 2.25rem #0006}.pond-empty{letter-spacing:.3em;text-transform:uppercase;color:#d9b45a59;align-self:center;font-size:.75rem}.pond .tile:after{content:"";background:var(--gold);border-radius:50%;width:.25rem;height:.25rem;position:absolute;top:3px;left:3px;box-shadow:0 0 0 1px #00000040}.pond .tile[data-by="1"]:after{background:#ff9aa2}.pond .tile[data-by="2"]:after{background:#86cdf5}.me{flex-direction:column;grid-column:1/-1;align-items:center;gap:.3125rem;padding-top:2px;display:flex}.actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;min-height:2.5rem;display:flex}.hint{color:var(--muted);letter-spacing:.03em;font-size:.75rem}.hint--you{color:var(--gold);font-weight:700}.act{appearance:none;border:1px solid var(--gold);color:var(--ivory);font:inherit;cursor:pointer;background:linear-gradient(#c43039, var(--lacquer-2));border-radius:.625rem;align-items:baseline;gap:.375rem;padding:.4375rem 1rem;font-weight:800;transition:transform 80ms,opacity .15s;display:inline-flex;box-shadow:0 3px #4f0f13,0 .3125rem .625rem #0006,inset 0 1px #ffffff40}.act:active:not(:disabled){transform:translateY(2px)}.act:disabled{opacity:.4;cursor:not-allowed}.act .zh{font:900 1.1875rem/1 Noto Serif TC,Songti TC,SimSun,serif}.act .en{letter-spacing:.05em;font-size:.75rem}.act--gold{color:var(--ink);background:linear-gradient(#f1d98f, var(--gold-dim));box-shadow:0 3px #6d561f,0 .3125rem .625rem #0006,inset 0 1px #ffffff80}.act--ghost{box-shadow:none;background:#0000004d}.hand{padding-top:calc(var(--tw-base) * .36);padding-bottom:calc(var(--tw-base) * .14);justify-content:center;align-items:flex-end;gap:2px;display:flex}.hand .tile--drawn{margin-left:calc(var(--tw-base) * .5)}.dialog{text-align:center;border:2px solid var(--gold);background:linear-gradient(#18523d,#0c3a29);border-radius:1rem;max-width:min(26.25rem,86vw);padding:1.125rem 1.625rem 1.25rem;box-shadow:0 0 0 .3125rem #0000004d,0 1.125rem 2.5rem #0009}.dialog h2{color:var(--gold);margin:0 0 .375rem;font:900 2.125rem Noto Serif TC,Songti TC,SimSun,serif}.dialog-row{justify-content:center;gap:.625rem;margin-top:.875rem;display:flex}.meld{gap:1px;display:inline-flex}.meld-slot{justify-content:center;align-items:center;min-height:0;display:flex}.meld-col{gap:calc(var(--tw-base) * .14);flex-direction:column;align-items:center;display:flex}.hand-row{justify-content:center;align-items:flex-end;gap:calc(var(--tw-base) * .45);display:flex}.my-melds{align-items:flex-end;gap:calc(var(--tw-base) * .2);padding-top:calc(var(--tw-base) * .36);padding-bottom:calc(var(--tw-base) * .14);display:flex}.hand-row .hand{gap:2px}.bot-tag,.flower-tag{letter-spacing:.08em;color:var(--muted);background:#ffffff1f;border-radius:.375rem;padding:1px .3125rem;font-size:.5625rem;font-weight:800}.flower-tag{letter-spacing:0;color:#ffc7e3;font-size:.6875rem;font-family:var(--zh);font-weight:900}.choices{justify-content:center;align-items:center;gap:.5rem;display:flex}.choice{appearance:none;border:1px solid var(--gold);cursor:pointer;background:#00000059;border-radius:.625rem;gap:2px;padding:.3125rem .4375rem .5rem;display:inline-flex}.choice:active{transform:translateY(1px)}.choice--cancel{color:var(--gold);align-items:center;padding:.375rem .75rem;font-size:1rem}.table .loading,.loading{margin:auto}.seat-slot .seat-chip{text-align:center;flex-direction:column;gap:2px;max-width:4.75rem;padding:.25rem .5625rem;line-height:1.15}.seat-slot .seat-chip .dealer-dot{margin-bottom:1px}@media (height<=340px){.seat-chip{font-size:.6875rem}.table{gap:2px .375rem;padding:.25rem .5rem .375rem}.seat-hand{--tw:calc(var(--tw-base) * .33)}}@media (height<=300px){.seat-hand{--tw:calc(var(--tw-base) * .29)}.hand{padding-top:calc(var(--tw-base) * .3)}}.hud-center{box-shadow:0 0 0 1px var(--gold-2), 0 0 0 .18rem #0006, 0 .4rem .9rem #0006, inset 0 1px 0 #ffffff24;font:700 .95rem var(--display);letter-spacing:.06em;background:linear-gradient(#145a42d9,#031e16eb);border:0;gap:.7rem;padding:.2rem 1.1rem .2rem .25rem}.wind-badge{background:radial-gradient(circle at 34% 28%, var(--gold-1), var(--gold-2) 55%, var(--gold-3));width:1.8rem;height:1.8rem;box-shadow:0 0 0 1px var(--gold-4), inset 0 -.15rem .25rem #00000047;font:900 1.05rem var(--zh)}.seat-chip{font:700 .95rem var(--display);letter-spacing:.04em;background:linear-gradient(#145a42cc,#031e16e6);border:0;box-shadow:0 0 0 1px #dcb85f8c,0 .25rem .6rem #0006,inset 0 1px #ffffff1f}.dealer-dot{background:radial-gradient(circle at 34% 28%, var(--ruby-1), var(--ruby-2));box-shadow:0 0 0 1px var(--gold-2);font:900 .7rem var(--zh)}.seat.is-active .seat-chip,.me.is-active .seat-chip{box-shadow:0 0 0 1px var(--gold-1), 0 0 .9rem #fbeeb6a6, 0 .25rem .6rem #0006}.pond{background:radial-gradient(#0000001a,#00000057),linear-gradient(#0000000d,#0000000d);border:0;box-shadow:0 0 0 1px #dcb85f80,0 0 0 .3rem #00000040,0 0 0 .34rem #dcb85f33,inset 0 0 2.4rem #00000073}.pond-empty{font:italic 600 1.1rem var(--display);letter-spacing:.3em;text-transform:none;color:#dcb85f66}.hint{font:italic 600 .98rem var(--display);letter-spacing:.02em}.act{font-family:var(--display);background:linear-gradient(180deg, var(--ruby-1), var(--ruby-2));box-shadow:0 0 0 1px var(--gold-3), 0 0 0 .12rem #00000059, 0 .2rem 0 var(--ruby-3), 0 .45rem .8rem #0000006b, inset 0 1px 0 #ffffff61;border:0;position:relative;overflow:hidden}.act:before{content:"";pointer-events:none;background:linear-gradient(#ffffff3d,#fff0);position:absolute;inset:0 0 52%}.act .zh,.act .en{position:relative}.act .en{font:700 .85rem var(--display)}.act--jade{background:linear-gradient(180deg, var(--jade-1), var(--jade-3));box-shadow:0 0 0 1px var(--gold-3), 0 0 0 .12rem #00000059, 0 .2rem 0 #06281c, 0 .45rem .8rem #0000006b, inset 0 1px 0 #ffffff57}.act--gold{color:var(--ink);background:linear-gradient(180deg, var(--gold-1), var(--gold-3));box-shadow:0 0 0 1px var(--gold-4), 0 0 0 .12rem #0000004d, 0 .2rem 0 var(--gold-4), 0 0 1.1rem #fbeeb68c, inset 0 1px 0 #fff9;animation:1.4s ease-in-out infinite beckon}@keyframes beckon{50%{filter:brightness(1.12);transform:translateY(-.08rem)}}.act--ghost{background:#00000059;box-shadow:0 0 0 1px #dcb85f8c,inset 0 0 .8rem #0006}.act--ghost:before{display:none}.choice{box-shadow:0 0 0 1px var(--gold-2), 0 .3rem .6rem #0006;border:0}.chip-name{align-items:center;gap:.3rem;display:inline-flex}.chip-tags{align-items:center;gap:.2rem;display:inline-flex}.chip-tags .bot-tag,.chip-tags .flower-tag{margin-left:0}.seat-slot .seat-chip{gap:.12rem;padding:.22rem .55rem}.seat-slot .seat-chip:not(:has(.dealer-dot)){padding-left:.55rem}.seat-hand{--tw:calc(var(--tw-base) * .34)}.seat-hand .tile+.tile{margin-top:calc(var(--tw-base) * -.07)}.seat-hand .tile--drawn-side{margin-top:calc(var(--tw-base) * .12)}@media (height<=340px){.seat-hand{--tw:calc(var(--tw-base) * .31)}}@media (height<=300px){.seat-hand{--tw:calc(var(--tw-base) * .27)}}.home{justify-content:center;align-items:center;gap:clamp(1.5rem,6vw,6rem);height:100%;padding:1rem 1.75rem;display:flex}.hero{text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.hero:before{content:"";pointer-events:none;background:radial-gradient(#fbeeb633,#fbeeb600 65%);width:22rem;height:14rem;position:absolute;top:-1rem;left:50%;transform:translate(-50%)}.tile-fan{justify-content:center;align-items:flex-end;margin-bottom:.7rem;display:flex;position:relative}.tile-fan .tile{transform-origin:50% 110%;margin:0 -.3rem}.fan-1{transform:rotate(-12deg)translateY(.3rem)}.fan-2{z-index:1;transform:translateY(-.4rem)}.fan-3{transform:rotate(12deg)translateY(.3rem)}.logo-zh{font:900 4.6rem / 1 var(--zh);letter-spacing:.1em;background:linear-gradient(180deg, var(--gold-1) 0%, var(--gold-2) 50%, var(--gold-3) 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 .15rem #4d3a0ee6)drop-shadow(0 .5rem .9rem #0000008c);-webkit-background-clip:text;background-clip:text;margin:0;padding-left:.1em;position:relative}.orn{width:15rem;color:var(--gold-2);align-items:center;gap:.5rem;margin:.45rem 0 .35rem;display:flex}.orn:before,.orn:after{content:"";background:linear-gradient(90deg, transparent, var(--gold-2));flex:1;height:1px}.orn:after{background:linear-gradient(270deg, transparent, var(--gold-2))}.orn i{background:linear-gradient(135deg, var(--gold-1), var(--gold-3));width:.5rem;height:.5rem;transform:rotate(45deg);box-shadow:0 0 .5rem #fbeeb699}.logo-en{font:700 .95rem var(--display);letter-spacing:.5em;color:var(--ivory);margin:0;padding-left:.5em}.tagline{font:italic 600 .95rem var(--display);letter-spacing:.08em;color:var(--muted);margin:.3rem 0 0}.menu{grid-template-columns:1fr 1fr;gap:.75rem;width:min(25rem,52vw);display:grid}.plaque-wide{grid-column:1/-1}.plaque{text-align:left;align-items:center;gap:.65rem;padding:.5rem .8rem .5rem .55rem;display:flex}.plaque .emblem{z-index:1;width:2.45rem;height:2.45rem;font:900 1.3rem var(--zh);color:var(--ink);background:radial-gradient(circle at 34% 28%, var(--gold-1), var(--gold-2) 55%, var(--gold-3));box-shadow:0 0 0 1px var(--gold-4), 0 0 0 .16rem #00000038, inset 0 -.18rem .3rem #00000047;border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.plaque .txt{z-index:1;flex-direction:column;line-height:1.12;display:flex;position:relative}.plaque .txt b{font:700 1.2rem var(--display);letter-spacing:.04em}.plaque .txt small{font:500 .72rem var(--sans);opacity:.82;letter-spacing:.03em}.btn--gold .emblem{color:var(--gold-1);background:radial-gradient(circle at 34% 28%,#7a5a1c,#4d3a0e)}.screen{flex-direction:column;height:100%;padding:.6rem 1rem .8rem;display:flex;overflow-y:auto}.screen-head{align-items:center;gap:.8rem;margin-bottom:.6rem;display:flex}.screen-head h1{letter-spacing:.06em;background:linear-gradient(180deg, var(--gold-1), var(--gold-2) 55%, var(--gold-3));-webkit-text-fill-color:transparent;filter:drop-shadow(0 .08rem .1rem #00000080);-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.55rem}.screen-head .zh{font:900 1.2rem var(--zh);-webkit-text-fill-color:var(--ivory);color:var(--ivory);margin-left:.45rem}.screen-head .spacer{flex:1}.panel-lead{color:var(--muted);font:italic 600 1.05rem var(--display);margin:0 0 .7rem}.panel-title{font:700 .82rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);margin:0 0 .5rem}.muted{color:var(--muted);margin:0}.small{margin:.55rem 0 0;font-size:.78rem}.err{color:#ffb4b4;margin:0;font-size:.9rem}.loading{font:italic 600 1.2rem var(--display);margin:auto}.seg{background:#00000061;border-radius:.8rem;gap:.15rem;padding:.18rem;display:flex;box-shadow:0 0 0 1px #dcb85f66,inset 0 .12rem .4rem #0000008c}.seg-btn{appearance:none;font:700 .92rem var(--display);letter-spacing:.04em;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:.62rem;flex:1;padding:.42rem .6rem;transition:background .18s,color .18s,box-shadow .18s}@media (hover:hover){.seg-btn:hover:not(.is-on):not(:disabled){background:#dcb85f24}}.seg-btn.is-on{color:var(--ink);background:linear-gradient(180deg, var(--gold-1), var(--gold-2) 55%, var(--gold-3));box-shadow:0 .1rem .35rem #00000080,0 0 .8rem #dcb85f66,inset 0 1px #ffffffb3}.seg-btn:disabled{cursor:default;opacity:.65}.seg--tiny .seg-btn{padding:.2rem .5rem;font-size:.75rem}.rules{text-align:left;grid-template-columns:1fr 1fr;gap:.6rem 1.1rem;display:grid}.rule{font:600 .78rem var(--sans);letter-spacing:.06em;color:var(--muted);flex-direction:column;gap:.28rem;display:flex}.rule--wide{grid-column:1/-1}.levels{flex-direction:column;gap:.5rem;display:flex}.level{appearance:none;text-align:left;width:100%;color:var(--text);cursor:pointer;background:#0000004d;border:0;border-radius:.85rem;align-items:center;gap:.7rem;padding:.5rem .8rem .5rem .55rem;transition:box-shadow .18s,background .18s,transform .1s;display:flex;box-shadow:0 0 0 1px #dcb85f52,inset 0 0 .9rem #00000059}@media (hover:hover){.level:hover:not(.is-on){background:#dcb85f1a}}.level:active{transform:scale(.99)}.level .zh{width:2.3rem;height:2.3rem;font:900 1.2rem var(--zh);color:var(--ink);background:radial-gradient(circle at 34% 28%,#cfe9dc,#6aa88a);border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:0 0 0 1px #0006,inset 0 -.15rem .25rem #00000040}.level.is-on .zh{background:radial-gradient(circle at 34% 28%, var(--gold-1), var(--gold-2) 55%, var(--gold-3))}.level .name{align-items:baseline;gap:.5rem;display:flex}.level b{font:700 1.2rem var(--display);letter-spacing:.04em}.level .stars{letter-spacing:.1em;color:var(--gold-2);font-size:.8rem}.level small{font:500 .72rem/1.25 var(--sans);color:var(--muted);display:block}.level.is-on{box-shadow:0 0 0 1px var(--gold-1), 0 0 1.2rem #dcb85f80, inset 0 0 .9rem #0003;background:linear-gradient(160deg,#dcb85f4d,#785a1e33)}.setup-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start;gap:.8rem;width:min(60rem,100%);margin:0 auto;display:grid}.setup-go{text-align:center;margin-top:.9rem}.btn--big-go{appearance:none;font:700 1.5rem var(--display);letter-spacing:.14em;color:var(--ivory);background:linear-gradient(180deg, var(--ruby-1), var(--ruby-2));box-shadow:0 0 0 1px var(--gold-2), 0 0 0 .2rem #0006, 0 .3rem 0 var(--ruby-3), 0 .8rem 1.3rem #00000080, inset 0 1px 0 #fff6;cursor:pointer;border:0;border-radius:.9rem;padding:.7rem 3.2rem;transition:transform .1s,filter .15s;position:relative;overflow:hidden}.btn--big-go:before{content:"";pointer-events:none;background:linear-gradient(#ffffff42,#fff0);position:absolute;inset:0 0 52%}@media (hover:hover){.btn--big-go:hover:not(:disabled){filter:brightness(1.12)}}.btn--big-go:active:not(:disabled){transform:translateY(.15rem)}.btn--big-go:disabled{opacity:.6;cursor:wait}.badge{--c1:#f8e7aa;--c2:#c79a3a;width:1.8rem;height:1.8rem;font:700 1rem var(--display);color:var(--ink);background:radial-gradient(circle at 34% 28%, var(--c1), var(--c2));border-radius:50%;flex:none;place-items:center;display:grid;box-shadow:0 0 0 1px #0006,inset 0 -.14rem .25rem #00000040}.p1 .badge,.badge.p1{--c1:#ffd3d9;--c2:#e0707f}.p2 .badge,.badge.p2{--c1:#c9ecff;--c2:#5aa9e0}.calc-setup{text-align:center;align-self:center;width:min(34rem,100%);margin:auto}.calc-names{flex-direction:column;gap:.5rem;margin-bottom:.9rem;display:flex}.name-row{align-items:center;gap:.6rem;display:flex}.name-row input{flex:1}.calc-layout{flex:1;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:.8rem;min-height:0;display:grid}.calc-left,.calc-right{flex-direction:column;gap:.7rem;min-height:0;display:flex}.score-cards{gap:.65rem;display:flex}.score-card{box-shadow:0 0 0 1px var(--gold-2), 0 0 0 .22rem #00000061, 0 .5rem 1rem #00000073, inset 0 1px 0 #ffffff24, inset 0 0 1.2rem #0000004d;background:linear-gradient(170deg,#1e7052bf,#032017eb);border-radius:.95rem;flex-direction:column;flex:1;align-items:center;gap:.05rem;padding:.5rem .4rem .55rem;transition:box-shadow .3s;display:flex;position:relative}.score-card .who{align-items:center;gap:.4rem;max-width:100%;display:flex}.score-name{font:700 1rem var(--display);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.score-card strong{font:700 2.5rem / 1.05 var(--display);font-variant-numeric:lining-nums tabular-nums;color:var(--ivory)}.score-card.pos{box-shadow:0 0 0 1px var(--gold-1), 0 0 0 .22rem #00000061, 0 0 1.4rem #6effa047, 0 .5rem 1rem #00000073, inset 0 1px 0 #ffffff24}.score-card.pos strong{color:#a6ffc0;text-shadow:0 0 .9rem #6effa080}.score-card.neg strong{color:#ff9d9d;text-shadow:0 0 .9rem #ff6e6e73}.score-card .note{font:600 .62rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.pay-panel{flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex}.pay-row{align-items:center;gap:.6rem;display:flex}.pay-label{width:3.1rem;font:700 .7rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-2);flex:none}.pills{flex:1;gap:.45rem;display:flex}.pill{appearance:none;min-width:0;color:var(--text);font:700 .98rem var(--display);cursor:pointer;background:#00000052;border:0;border-radius:999px;flex:1;align-items:center;gap:.4rem;padding:.28rem .6rem .28rem .3rem;transition:box-shadow .18s,background .18s,opacity .18s,transform .1s;display:flex;box-shadow:0 0 0 1px #dcb85f52,inset 0 .1rem .3rem #00000073}.pill .badge{width:1.55rem;height:1.55rem;font-size:.85rem}.pill span.nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (hover:hover){.pill:hover:not(:disabled):not(.is-on){background:#dcb85f24}}.pill:active:not(:disabled){transform:scale(.97)}.pill:disabled{opacity:.3;cursor:not-allowed}.pill.is-on{box-shadow:0 0 0 1px var(--gold-1), 0 0 1rem #dcb85f80, inset 0 0 .6rem #fbeeb626;background:linear-gradient(#fbeeb64d,#a98a3d38)}.amount-row{align-items:center;gap:.5rem;display:flex}.screen .amount-row input{text-align:center;width:6.4rem;font:700 1.25rem var(--display);flex:none}.chips{flex-wrap:wrap;flex:1;gap:.35rem;display:flex}.chip{appearance:none;font:700 .9rem var(--display);color:var(--gold-1);cursor:pointer;background:#00000059;border:0;border-radius:999px;padding:.28rem .7rem;transition:background .15s,transform .1s;box-shadow:0 0 0 1px #dcb85f80}@media (hover:hover){.chip:hover{background:#dcb85f38}}.chip:active{transform:scale(.94)}.pay-go{padding:.5rem 1.4rem}.settle,.history{padding:.75rem 1rem}.history{flex:1;min-height:0;overflow-y:auto}.history ol,.settle ul{margin:0;padding:0;list-style:none}.history li{border-bottom:1px dashed #dcb85f38;align-items:center;gap:.5rem;padding:.38rem 0 .38rem 1rem;font-size:.9rem;display:flex;position:relative}.history li:before{content:"";background:linear-gradient(135deg, var(--gold-1), var(--gold-3));width:.4rem;height:.4rem;position:absolute;top:50%;left:.15rem;transform:translateY(-50%)rotate(45deg)}.history .arrow,.settle .arrow{color:var(--gold-2)}.history .amt{font:700 1.15rem var(--display);color:var(--gold-1);margin-left:auto}.settle li{align-items:center;gap:.5rem;padding:.3rem 0;font-size:.92rem;display:flex}.settle .amt{font:700 1.2rem var(--display);color:var(--gold-1);margin-left:auto}.settle .square{font:italic 600 1rem var(--display);color:var(--muted)}.overlay{z-index:50;-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);background:radial-gradient(#0318119e,#010a07e6);place-items:center;display:grid;position:fixed;inset:0}.dialog{text-align:center;max-width:min(28rem,88vw);box-shadow:0 0 0 1px var(--gold-2), 0 0 0 .3rem #0006, 0 0 0 .34rem #dcb85f59, 0 1.4rem 3rem #000000a6, inset 0 1px 0 #ffffff24;background:linear-gradient(165deg,#1a644af7,#042219fc);border-radius:1.1rem;padding:1.1rem 1.7rem 1.2rem;animation:.28s ease-out rise}@keyframes rise{0%{opacity:0;transform:translateY(.8rem)scale(.97)}to{opacity:1;transform:none}}.dialog h2{font:700 2rem var(--display);letter-spacing:.04em;background:linear-gradient(180deg, var(--gold-1), var(--gold-2) 55%, var(--gold-3));-webkit-text-fill-color:transparent;filter:drop-shadow(0 .08rem .12rem #00000080);-webkit-background-clip:text;background-clip:text;margin:0 0 .3rem}.dialog h2 .zh{font:900 1.9rem var(--zh);-webkit-text-fill-color:var(--ivory);color:var(--ivory)}.dialog p{margin:.25rem 0}.dialog-note{color:var(--muted);font-size:.78rem}.dialog-row{justify-content:center;align-items:center;gap:.7rem;margin-top:.9rem;display:flex}.dialog--result{width:min(44rem,94vw);max-width:none;max-height:96vh;padding:.9rem 1.5rem 1rem;overflow-y:auto}.dialog--result h2{margin:0;font-size:2rem}.dialog--wide{width:min(35rem,92vw);max-width:none;max-height:94vh;overflow-y:auto}.result-sub{color:var(--muted);font:italic 600 1.05rem var(--display);margin:.1rem 0 .6rem!important}.limit{color:var(--gold-1);letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;font-style:normal;font-weight:700}.result-hand{background:#0000004d;border-radius:.9rem;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.6rem;padding:.75rem .6rem .9rem;display:flex;box-shadow:0 0 0 1px #dcb85f4d,inset 0 0 1.4rem #00000073}.result-tiles{flex-wrap:wrap;justify-content:center;gap:2px;display:inline-flex}.result-cols{text-align:left;grid-template-columns:1.4fr 1fr;gap:1rem;margin-top:.7rem;display:grid}.fan-list,.pay-list,.ledger-list{margin:0;padding:0;font-size:.9rem;list-style:none}.fan-list li,.ledger-list li{border-bottom:1px dashed #dcb85f3d;justify-content:space-between;gap:.7rem;padding:.25rem 0;display:flex}.fan-list .zh{font:900 .95rem var(--zh);color:var(--gold-2);margin-left:.3rem}.fan-list b{font:700 1.05rem var(--display);color:var(--gold-1)}.fan-total{color:var(--gold-1);font-weight:700}.pay-list li{padding:.3rem 0}.pay-list b,.ledger-list .amt{color:var(--gold-1);font-family:var(--display);font-size:1.1rem}.ledger-list{text-align:left;max-height:34vh;margin-top:.7rem;overflow-y:auto}.dialog .score-cards{margin-top:.4rem}.dialog .score-card strong{font-size:2rem}.menu-seats{flex-direction:column;gap:.45rem;margin-top:.5rem;display:flex}.menu-seat{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.menu-seat .btn{padding:.38rem .9rem;font-size:.9rem}.code-tiles{vertical-align:middle;gap:.28rem;display:inline-flex}.code-tile{width:1.7rem;height:2.2rem;font:700 1.35rem var(--display);color:var(--ink);background:linear-gradient(#fffdf4,#ece0c0);border-radius:.3rem;place-items:center;display:grid;box-shadow:0 .22rem #14603f,0 .4rem .5rem #00000080,inset 0 1px #fff}.code-tiles--big .code-tile{width:2.1rem;height:2.7rem;font-size:1.7rem}.lobby-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:start;gap:.8rem;display:grid}.seat-list{flex-direction:column;gap:.45rem;display:flex}.lobby-seat{font:700 1.05rem var(--display);background:#0000004d;border-radius:.8rem;align-items:center;gap:.6rem;padding:.4rem .7rem .4rem .45rem;display:flex;box-shadow:0 0 0 1px #dcb85f4d,inset 0 0 .8rem #00000059}.lobby-seat.is-me{box-shadow:0 0 0 1px var(--gold-1), 0 0 1rem #dcb85f59, inset 0 0 .8rem #0000004d}.lobby-seat .grow{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lobby-seat .empty{color:var(--muted);font-style:italic;font-weight:600}.lobby-seat .btn{padding:.28rem .75rem;font-size:.82rem}.bot-tag,.flower-tag{font:800 .58rem var(--sans);letter-spacing:.1em;color:var(--muted);vertical-align:middle;background:#ffffff1f;border-radius:.35rem;margin-left:.3rem;padding:.08rem .34rem;display:inline-block}.room-head{align-items:center;gap:.8rem;display:flex}.lobby-copy{padding:.38rem .9rem;font-size:.85rem}.lobby-wait{text-align:center;margin:.9rem 0 0}.join-form{text-align:center;flex-direction:column;align-items:stretch;gap:.7rem;width:min(24rem,100%);margin:auto;display:flex}.join-form input{text-align:center}.screen .code-input{font:700 2rem var(--display);letter-spacing:.4em;text-transform:uppercase;padding-left:.4em}@media (height<=420px){.rules{gap:.4rem 1rem}.setup-grid,.lobby-grid{gap:.6rem}}@media (width<=700px){.setup-grid,.lobby-grid,.calc-layout{grid-template-columns:1fr}}.screen-head .btn--big-go{letter-spacing:.12em;padding:.38rem 1.9rem;font-size:1.25rem}.btn--sm{padding:.38rem .95rem;font-size:.92rem}.lobby-seat .grow{min-width:3.2rem}
