@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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}:root{--baize:#0f3d2e;--baize-deep:#0a2a20;--baize-edge:#071e17;--accent:#c9a24b;--accent-soft:#c9a24b59;--text:#e8e4d5;--text-dim:#9fb3a8;--danger:#8c3a34;--card-face:#f7f3e8;--card-edge:#d8d0bc;--back-field:#124635;--back-line:#c9a24b;--panel:#0c332699;--suit-0:#26221c;--suit-1:#a63d32;--suit-2:#a63d32;--suit-3:#26221c;--idx-size:44px;--card-w:36px;--card-h:50px;--font-display:"Fraunces Variable", "Fraunces", georgia, serif;--font-ui:"Inter Variable", "Inter", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:var(--font-ui);color:var(--text);background:var(--baize-edge);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overflow:hidden}#app{height:100dvh;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:radial-gradient(130% 100% at 50% 26%, var(--baize) 0%, var(--baize-deep) 68%, var(--baize-edge) 100%);touch-action:none;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);display:grid;position:relative;overflow:hidden}#app:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(45deg,#ffffff04 0 1px,#0000 1px 3px),repeating-linear-gradient(-45deg,#00000008 0 1px,#0000 1px 3px),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.055'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}#hud{z-index:5;justify-content:space-between;align-items:baseline;min-height:34px;padding:8px 14px 4px;display:flex;position:relative}.wordmark{font-family:var(--font-display);letter-spacing:.02em;color:var(--accent);font-size:21px;font-style:italic;font-weight:560}.chip{letter-spacing:.08em;color:var(--text-dim);border:1px solid color-mix(in srgb, var(--text-dim) 40%, transparent);vertical-align:2px;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px}.meters{gap:14px;display:flex}.meter{flex-direction:column;align-items:flex-end;line-height:1.1;display:inline-flex}.meter[hidden]{display:none}.meter small{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-size:9px}.meter b{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";color:var(--text);font-size:15px;font-weight:560}#board{z-index:1;touch-action:none;position:relative}.slot{width:var(--card-w);height:var(--card-h);border-radius:calc(var(--card-w) * .09);transition:box-shadow .16s;position:absolute;top:0;left:0;box-shadow:inset 0 0 0 1.5px #e8e4d521}.slot.drop-ok{box-shadow:inset 0 0 0 1.5px var(--accent-soft), 0 0 10px var(--accent-soft)}.slot.drop-hover{box-shadow:inset 0 0 0 2px var(--accent), 0 0 16px var(--accent-soft)}#cards{z-index:2;pointer-events:none;position:absolute;inset:0}.card{width:var(--card-w);height:var(--card-h);pointer-events:auto;touch-action:none;perspective:600px;position:absolute;top:0;left:0}.card.lifted{will-change:transform}.card-inner{width:100%;height:100%;transform-style:preserve-3d;position:relative}.face{backface-visibility:hidden;border-radius:calc(var(--card-w) * .09);transition:box-shadow .16s;position:absolute;inset:0;box-shadow:0 1px 1.5px #0000004d,0 2px 5px #0000002e}.face.back{transform:rotateY(180deg)}.face svg{width:100%;height:100%;display:block}.card.lifted .face{box-shadow:0 4px 8px #00000059,0 14px 30px #00000059}.card.gilded .face{box-shadow:0 0 0 2px var(--accent), 0 0 20px var(--accent-soft), 0 6px 18px #00000059}.card.hinted:after{content:"";border-radius:calc(var(--card-w) * .09);box-shadow:0 0 0 2.5px var(--accent), 0 0 18px var(--accent-soft);opacity:0;pointer-events:none;animation:.8s ease-in-out 2 hint-pulse;position:absolute;inset:0}@keyframes hint-pulse{50%{opacity:1}}.card-paper{fill:var(--card-face);stroke:var(--card-edge);stroke-width:2.5px}.pip.s0{fill:var(--suit-0)}.pip.s1{fill:var(--suit-1)}.pip.s2{fill:var(--suit-2)}.pip.s3{fill:var(--suit-3)}.idx{font-family:var(--font-ui);font-size:var(--idx-size);letter-spacing:-.02em;font-weight:660}.idx.s0{fill:var(--suit-0)}.idx.s1{fill:var(--suit-1)}.idx.s2{fill:var(--suit-2)}.idx.s3{fill:var(--suit-3)}.court-frame{fill:none;stroke:color-mix(in srgb, var(--suit-0) 55%, transparent);stroke-width:3px}.court-frame.thin{stroke-width:1.5px;stroke:var(--accent);opacity:.75}.crest.s0{fill:var(--suit-0)}.crest.s1{fill:var(--suit-1)}.crest.s2{fill:var(--suit-2)}.crest.s3{fill:var(--suit-3)}.court-letter{font-family:var(--font-display);font-size:64px;font-weight:600}.court-letter.s0{fill:var(--suit-0)}.court-letter.s1{fill:var(--suit-1)}.court-letter.s2{fill:var(--suit-2)}.court-letter.s3{fill:var(--suit-3)}.ace-halo{opacity:.14}.back-paper{fill:var(--card-face);stroke:var(--card-edge);stroke-width:2.5px}.back-field{fill:var(--back-field)}.back-line{stroke:var(--back-line);stroke-width:1.6px;opacity:.55;fill:none}.back-line.thin{stroke-width:.8px;opacity:.35}.back-dot{fill:var(--back-line);opacity:.5}.back-frame{fill:none;stroke:var(--back-line);stroke-width:2px;opacity:.8}.back-frame.thin{stroke-width:1px;opacity:.5}#chrome{z-index:5;min-width:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;display:grid;position:relative}.left-handed .foundation-plate{grid-area:1/3}.left-handed #toolbar{grid-area:1/2}.left-handed .stock-plate{grid-area:1/1}#toolbar{justify-content:center;gap:4px;min-width:0;display:flex}button{font-family:var(--font-ui);color:var(--text);cursor:pointer;touch-action:manipulation;background:0 0;border:none}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px}button:disabled{opacity:.35;cursor:default}.tool{width:42px;height:44px;color:var(--text);border-radius:50%;flex:none;justify-content:center;align-items:center;transition:background-color .14s,color .14s;display:inline-flex}.tool:not(:disabled):active{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--accent)}.tool svg{width:23px;height:23px}.plate{width:calc(var(--card-w) + 16px);min-width:50px;height:calc(var(--card-h) + 10px);border-radius:10px;margin-bottom:13px;position:relative;box-shadow:inset 0 0 0 1.5px #e8e4d524}.plate-count{white-space:nowrap;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-variant-numeric:tabular-nums;pointer-events:none;font-size:10px;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)}.stock-plate:not(:disabled){box-shadow:inset 0 0 0 1.5px #c9a24b80}.stock-plate.hinted{animation:.8s ease-in-out 2 plate-pulse}@keyframes plate-pulse{50%{box-shadow:inset 0 0 0 2px var(--accent), 0 0 16px var(--accent-soft)}}#autofinish{left:50%;bottom:calc(env(safe-area-inset-bottom) + 84px);z-index:20;background:var(--accent);color:#241f12;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:640;display:inline-flex;position:absolute;transform:translate(-50%);box-shadow:0 6px 22px #00000073}#autofinish svg{width:17px;height:17px}#autofinish[hidden]{display:none}#toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 148px);z-index:700;background:color-mix(in srgb, var(--baize-edge) 88%, black);max-width:min(86vw,420px);color:var(--text);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);text-align:center;opacity:0;pointer-events:none;border-radius:12px;padding:10px 16px;font-size:13.5px;line-height:1.35;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,12px)}#toast.show{opacity:1;transform:translate(-50%)}dialog.sheet{padding:18px 20px calc(16px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--baize-deep) 96%, black);color:var(--text);border:none;border-top:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:20px 20px 0 0;width:100%;max-width:520px;margin:auto auto 0;animation:.24s cubic-bezier(.2,.9,.3,1) sheet-up}dialog.sheet::backdrop{background:#040c0999}dialog.sheet.confirm,dialog.sheet.win,dialog.sheet.deadlock{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);text-align:center;border-radius:18px;max-width:340px;margin:auto;animation:.2s ease-out dialog-in}@keyframes sheet-up{0%{opacity:.6;transform:translateY(24px)}}@keyframes dialog-in{0%{opacity:0;transform:scale(.94)}}dialog h2{font-family:var(--font-display);color:var(--text);margin:0 0 6px;font-size:22px;font-weight:540}dialog p{color:var(--text-dim);margin:6px 0 0;font-size:14px;line-height:1.5}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.dialog-actions{justify-content:center;gap:10px;margin-top:18px;display:flex}.primary,.ghost,.danger{border-radius:12px;padding:11px 18px;font-size:14.5px;font-weight:600}.primary{background:var(--accent);color:#241f12}.danger{background:var(--danger);color:var(--text)}.ghost{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--text-dim) 55%, transparent);color:var(--text)}.menu-list{flex-direction:column;display:flex}.menu-list button{text-align:left;border-bottom:1px solid #e8e4d514;padding:13px 6px;font-size:16px}.menu-list button:last-child{border-bottom:none}.prose p{margin:10px 0}.prose b{color:var(--accent);font-weight:620}.win-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:4px 0 2px;font-size:10.5px}.win-title{font-size:30px;font-style:italic}.win-stats{justify-content:center;gap:22px;margin-top:14px;display:flex}.win-stat{flex-direction:column;line-height:1.2;display:flex}.win-stat small{letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-size:9.5px}.win-stat b{font-variant-numeric:tabular-nums;color:var(--text);font-size:19px}.settings-body{max-height:62dvh;padding-bottom:8px;overflow-y:auto}.settings-body h3{font-family:var(--font-display);letter-spacing:.04em;color:var(--accent);margin:18px 0 4px;font-size:15px;font-weight:520}.setting-row{border-bottom:1px solid #e8e4d512;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.setting-row label{font-size:14.5px}.segment{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--text-dim) 40%, transparent);border-radius:10px;display:inline-flex;overflow:hidden}.segment button{color:var(--text-dim);padding:8px 12px;font-size:13px}.segment button.active{background:var(--accent);color:#241f12;font-weight:640}.switch{background:color-mix(in srgb, var(--text-dim) 30%, transparent);border-radius:999px;flex:none;width:46px;height:27px;transition:background-color .16s;position:relative}.switch:after{content:"";background:var(--text);border-radius:50%;width:21px;height:21px;transition:transform .16s;position:absolute;top:3px;left:3px}.switch.on{background:var(--accent)}.switch.on:after{background:#241f12;transform:translate(19px)}.stats-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.stats-table th{color:var(--text-dim);text-align:left;letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.stats-table td,.stats-table th{border-bottom:1px solid #e8e4d512;padding:8px 6px}.stats-table .quiet,.quiet{color:var(--text-dim)}.stats-empty{text-align:center;padding:18px 0 8px}.stats-empty p{margin-bottom:16px}#css-win{z-index:600;pointer-events:none;opacity:0;background:radial-gradient(70% 50% at 50% 45%, color-mix(in srgb, var(--accent) 16%, transparent) 0%, transparent 70%);transition:opacity .6s;position:fixed;inset:0}#css-win.show{opacity:1}.float-glyph{width:var(--size,20px);height:var(--size,20px);animation:linear infinite float-up;position:absolute;bottom:-40px}.float-glyph svg{width:100%;height:100%}.float-glyph path{fill:var(--accent);opacity:.75}@keyframes float-up{to{transform:translate(var(--drift,0), calc(-104dvh)) rotate(200deg);opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (min-width:760px){#hud,#chrome{width:100%;max-width:760px;margin:0 auto}}@media (max-width:374px){.tool{width:36px}.tool svg{width:21px;height:21px}.plate{min-width:44px}}@media (max-height:420px){#hud{min-height:24px;padding-top:4px}.tool{width:38px;height:38px}.plate{height:calc(var(--card-h) + 6px)}}
