@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2) format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2) format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2) format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2) format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2) format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2) format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-semi-condensed-vietnamese-500-normal-DGADhYWF.woff2) format("woff2"),url(/assets/barlow-semi-condensed-vietnamese-500-normal-hJ2t9k9e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-semi-condensed-latin-ext-500-normal-BXdp1BvY.woff2) format("woff2"),url(/assets/barlow-semi-condensed-latin-ext-500-normal-rZeYuEMb.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-semi-condensed-latin-500-normal-G0uxJNrM.woff2) format("woff2"),url(/assets/barlow-semi-condensed-latin-500-normal-CFOoVYFH.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-vietnamese-600-normal-b1FQiZcx.woff2) format("woff2"),url(/assets/barlow-semi-condensed-vietnamese-600-normal-DzVrjA0Q.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-latin-ext-600-normal-BkQ9hN72.woff2) format("woff2"),url(/assets/barlow-semi-condensed-latin-ext-600-normal-BuP8AaxH.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2) format("woff2"),url(/assets/barlow-semi-condensed-latin-600-normal-DyOfdMBA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-vietnamese-700-normal-Dm7RZTvf.woff2) format("woff2"),url(/assets/barlow-semi-condensed-vietnamese-700-normal-BvUTSFNY.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-latin-ext-700-normal-BhgEo64M.woff2) format("woff2"),url(/assets/barlow-semi-condensed-latin-ext-700-normal-C0vCoZIV.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-latin-700-normal-BpqDG8I9.woff2) format("woff2"),url(/assets/barlow-semi-condensed-latin-700-normal-BMyZXq_9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--bg: #141210;--surface: #1b1815;--surface-2: #231f1b;--surface-3: #2c2722;--text: #efe9dd;--text-2: #b3a995;--text-3: #8a8070;--border: #2a2521;--border-strong: #3d352e;--overlay: rgba(10, 8, 6, .72);--brass: #d9b36a;--brass-deep: #8a7142;--primary: #d9b36a;--primary-strong: #c9a254;--primary-soft: #3a3020;--primary-text: #1a1408;--focus: #d9b36a;--danger: #ef5a5a;--danger-soft: #3a1c1c;--warning: #c7a24a;--warning-soft: #2f2816;--info-soft: #2a2418;--act-fold: #2f5fb3;--act-fold-soft: #1a2a45;--act-call: #3fa65b;--act-call-soft: #16301f;--act-check: #6b7a8f;--act-check-soft: #222a35;--act-raise: #cd4848;--act-raise-soft: #3a1c1c;--act-allin: #b23a3a;--act-allin-soft: #3a1c1c;--act-range: #3fa65b;--grade-correct: #45c26a;--grade-acceptable: #c7a24a;--grade-wrong: #ef5a5a;--grade-unknown: #7c8794;--felt: #2a7a4e;--felt-mid: #1c5c3a;--felt-dark: #164a2f;--rail: #2a2622;--card-face: #ffffff;--card-edge: #c9cfd6;--suit-0: #1f8a3d;--suit-1: #1f4fb8;--suit-2: #c0242a;--suit-3: #111111;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--tap: 44px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 16px rgba(0, 0, 0, .35);--shadow-2: 0 2px 4px rgba(0, 0, 0, .45), 0 12px 32px rgba(0, 0, 0, .5);--seat-shadow: 0 2px 6px rgba(0, 0, 0, .5);--ease: cubic-bezier(.16, 1, .3, 1);--t-fast: .15s;--t-med: .22s;--t-slow: .32s;--font: "Barlow", system-ui, sans-serif;--font-display: "Barlow Semi Condensed", "Barlow", sans-serif;font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:root[data-deck=two]{--suit-0: var(--suit-3);--suit-1: var(--suit-2)}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text)}body{min-height:100dvh;-webkit-tap-highlight-color:transparent;overflow-wrap:break-word}::selection{background:var(--primary-soft);color:var(--text)}html{scrollbar-color:var(--border-strong) transparent;caret-color:var(--primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:5px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;line-height:1.15}h1{font-size:1.75rem;font-weight:700;margin:4px 0}h2{font-size:1.125rem;font-weight:700;margin:28px 0 10px}h3{font-size:1rem;font-weight:700;margin:16px 0 6px}h1+p.lead,h1+.muted{margin-top:0}p{margin:8px 0;max-width:65ch}.lead{color:var(--text-2);font-size:1rem}.muted{color:var(--text-2)}.small{font-size:.875rem}.micro{font-size:.75rem}.num{font-variant-numeric:tabular-nums}.display{font-family:var(--font-display);font-weight:700;font-size:3rem;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.error{color:var(--danger)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.message{display:flex;gap:10px;align-items:flex-start;background:var(--surface-2);padding:10px 12px;border-radius:var(--r-md);white-space:pre-wrap;font-size:.9rem;margin:12px 0;border:1px solid var(--border)}.message-ok{background:var(--primary-soft);border-color:transparent}.message-error{background:var(--danger-soft);border-color:transparent}.message svg{flex:none;margin-top:2px}.app{max-width:720px;margin-inline:auto;min-height:100dvh;display:flex;flex-direction:column}.app-main{flex:1;display:flex;flex-direction:column}.screen{padding:8px 16px calc(24px + env(safe-area-inset-bottom));flex:1;display:flex;flex-direction:column;animation:fade-in var(--t-med) var(--ease)}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.page-header{position:sticky;top:0;z-index:15;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-height:52px;margin:0 -16px 4px;padding:4px 12px;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.page-header>:first-child{justify-self:start}.page-header-end{justify-self:end;display:flex;align-items:center;gap:10px}.page-back{padding-left:6px;padding-right:12px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;justify-content:flex-start}.page-header-title{font-family:var(--font-display);font-weight:700;font-size:1.05rem;text-align:center;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:44vw;padding:0 6px}.page-title{margin:8px 0 2px}.page-title+.lead{margin:0 0 12px}.btn{min-height:var(--tap);min-width:var(--tap);padding:10px 16px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}@media(hover:hover){.btn:hover:not(:disabled){background:var(--surface-2)}}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary);box-shadow:0 2px 0 var(--primary-strong)}@media(hover:hover){.btn-primary:hover:not(:disabled){background:var(--primary-strong);border-color:var(--primary-strong)}}.btn-primary:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}@media(hover:hover){.btn-ghost:hover:not(:disabled){color:var(--text)}}.btn-danger{color:var(--danger);border-color:var(--danger);background:transparent}@media(hover:hover){.btn-danger:hover:not(:disabled){background:var(--danger-soft)}}.btn-block{width:100%;margin-top:12px}.btn-lg{min-height:56px;font-size:1.05rem;border-radius:var(--r-md)}.btn-small{min-height:36px;padding:6px 12px;font-weight:500;font-size:.9rem}.btn-icon{padding:8px;min-width:var(--tap)}.btn svg{flex:none}.link{background:none;border:none;color:var(--primary);text-align:left;font:inherit;font-weight:600;padding:8px 0;min-height:var(--tap);cursor:pointer}.file-btn{position:relative;overflow:hidden}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.row{display:flex;gap:10px;align-items:flex-end}.row.wrap{flex-wrap:wrap;align-items:center}.row.center{align-items:center}.row.between{justify-content:space-between}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0 4px}.spacer{flex:1}.section{margin:20px 0 0}.section>h2:first-child{margin-top:0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:28px 0 10px}.section-head h2{margin:0}.panel{border-top:1px solid var(--border);padding:18px 0 6px;margin-top:16px}.panel h2:first-child{margin:0 0 6px}.panel>.field:first-of-type,.panel>h2+.field{margin-top:8px}.field{display:flex;flex-direction:column;gap:6px;margin:12px 0;border:none;padding:0;min-width:0}.field>span,.field>label,legend{font-size:.8rem;font-weight:600;color:var(--text-2);padding:0;letter-spacing:.01em}.hint{display:block;font-size:.8rem;color:var(--text-3);margin:2px 0 0;font-weight:400;line-height:1.4}input,select,textarea{font:inherit;min-height:var(--tap);padding:8px 12px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);width:100%;transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}input::placeholder,textarea::placeholder{color:var(--text-3)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}input[inputmode=decimal],input[inputmode=numeric]{font-variant-numeric:tabular-nums}textarea{resize:vertical;line-height:1.45}select{appearance:none;-webkit-appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px;background-repeat:no-repeat}input[type=checkbox]{accent-color:var(--primary)}input[type=range]{accent-color:var(--primary);border:none;background:transparent;padding:0}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid var(--border-strong);border-radius:var(--r-sm);overflow:hidden;background:var(--surface)}.seg{min-height:var(--tap);padding:8px 6px;border:0;border-right:1px solid var(--border-strong);border-radius:0;background:transparent;color:var(--text);font:inherit;font-weight:600;font-size:14px;cursor:pointer;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease);font-variant-numeric:tabular-nums;display:inline-flex;align-items:baseline;justify-content:center;gap:3px}.seg:last-child{border-right:0}@media(hover:hover){.seg:hover:not(.active):not(:disabled){background:var(--surface-2)}}.seg.active{background:var(--primary);color:var(--primary-text)}.seg:disabled{opacity:.45;cursor:default}.seg .suffix{font-size:11px;font-weight:500;opacity:.8}.seg:focus-visible{outline-offset:-3px}.checks{display:flex;flex-wrap:wrap;gap:8px 18px}.check{display:flex;align-items:center;gap:10px;min-height:var(--tap);font-weight:500}.check input{width:22px;height:22px;min-height:0;padding:0;flex:none}.check.muted{font-weight:400}.check+.check{margin-top:6px}.check>span{display:flex;flex-direction:column}.search{position:relative}.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.search input{padding-left:40px}details{margin:8px 0}summary{cursor:pointer;min-height:var(--tap);display:flex;align-items:center;font-weight:600;color:var(--text-2);list-style:none}summary::-webkit-details-marker{display:none}summary:before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);margin-right:12px;margin-left:4px;transition:transform var(--t-fast) var(--ease)}details[open]>summary:before{transform:rotate(45deg)}.modal-backdrop{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:flex-end;justify-content:center;z-index:50;animation:fade-in var(--t-fast) var(--ease)}.modal{background:var(--surface);color:var(--text);border-radius:20px 20px 0 0;padding:12px 16px calc(16px + env(safe-area-inset-bottom));width:100%;max-width:720px;max-height:92dvh;overflow:auto;box-shadow:var(--shadow-2);animation:sheet-up var(--t-slow) var(--ease)}.modal:before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--border-strong);margin:0 auto 8px}@keyframes sheet-up{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}@media(min-width:720px){.modal-backdrop{align-items:center}.modal{border-radius:20px;padding-top:16px}.modal:before{display:none}}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.modal-header h2{margin:0}.modal-footer{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:16px}.card{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background:var(--card-face);color:var(--suit-color, #111);border:1px solid var(--card-edge);border-radius:8px;font-family:var(--font-display);font-weight:800;line-height:1;user-select:none;padding:0;box-shadow:0 1px 2px #0000001f;transition:transform var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.card.suit-0{--suit-color: var(--suit-0)}.card.suit-1{--suit-color: var(--suit-1)}.card.suit-2{--suit-color: var(--suit-2)}.card.suit-3{--suit-color: var(--suit-3)}.card .card-suit{font-size:.8em;font-family:var(--font)}.card-sm{width:30px;height:42px;font-size:1rem;border-radius:5px}.card-md{width:44px;height:62px;font-size:1.35rem}.card-lg{width:68px;height:96px;font-size:2.1rem;border-radius:10px;box-shadow:var(--shadow-1)}.card-empty{background:var(--surface-2);border-style:dashed;border-color:var(--border-strong);color:var(--text-3);box-shadow:none;font-family:var(--font);font-weight:500}.card-clickable{cursor:pointer}@media(hover:hover){.card-clickable:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-1)}}.card-clickable:disabled{opacity:.22;cursor:default}.card-slots{display:flex;gap:8px;flex-wrap:wrap}.picker-grid{display:flex;flex-direction:column;gap:6px;margin-top:10px}.picker-row{display:grid;grid-template-columns:18px repeat(13,1fr);gap:3px;align-items:center}.picker-row .card-sm{width:100%;min-width:0;height:auto;aspect-ratio:5 / 7;min-height:44px;font-size:clamp(.75rem,3.2vw,1.05rem);border-radius:4px}.picker-suit{font-size:1rem;text-align:center}.picker-suit.suit-0{color:var(--suit-0)}.picker-suit.suit-1{color:var(--suit-1)}.picker-suit.suit-2{color:var(--suit-2)}.picker-suit.suit-3{color:var(--suit-3)}.pass-summary{margin:12px 0 4px;padding:14px 16px;background:var(--surface);border-radius:var(--r-lg)}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;align-items:start}.pass-summary .k{font-size:12px;color:var(--text-2);font-weight:500}.pass-summary .t{font-family:var(--font-display);font-weight:700;font-size:1.15rem;line-height:1.3;margin-top:2px}.pass-summary .n{margin-top:6px;font-size:13px;color:var(--text-2);font-variant-numeric:tabular-nums}.pass-summary .n.bad{color:var(--grade-wrong)}.choice .info,.panel>.info{margin:6px 0 0;font-size:13px;line-height:1.45;color:var(--text-2);max-width:none}.option-cards{display:grid;gap:8px}@media(min-width:600px){.option-cards{grid-template-columns:1fr 1fr}}.option-card{appearance:none;display:flex;gap:12px;align-items:flex-start;text-align:left;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text);font:inherit;cursor:pointer;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.option-card.on{border-color:var(--primary);background:var(--primary-soft)}.option-card:disabled{opacity:.45;cursor:default}.option-card .box{flex:none;width:20px;height:20px;margin-top:1px;border-radius:5px;border:1.5px solid var(--border-strong);display:grid;place-items:center;color:var(--primary-text)}.option-card.on .box{background:var(--primary);border-color:var(--primary)}.option-card .text{display:flex;flex-direction:column;gap:2px}.option-card .title{font-weight:600}.option-card .desc{font-size:13px;color:var(--text-2);line-height:1.4}.screen-table{display:flex;flex-direction:column;min-height:100dvh;padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.rush-top{position:sticky;top:0;z-index:5;background:var(--bg);display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 4px;margin:-10px -4px 0}.rush-rating .big{font-family:var(--font-display);font-weight:700;font-size:42px;line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.rush-rating .delta{font-size:13px;color:var(--text-2);margin-top:3px;font-variant-numeric:tabular-nums}.rush-rating .delta b{font-weight:600;color:var(--grade-correct)}.rush-rating .delta b.bad{color:var(--grade-wrong)}.rush-rating .delta b.zero{color:var(--text-2)}.rush-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.rush-squares{display:grid;grid-template-columns:repeat(10,16px);gap:4px}.rush-squares i{display:block;width:16px;height:16px;border-radius:3px;background:var(--surface-2);transition:background var(--t-med) var(--ease)}.rush-squares i.correct{background:var(--grade-correct)}.rush-squares i.wrong{background:var(--grade-wrong)}.rush-squares i.acceptable{background:var(--grade-acceptable)}.rush-squares i.now{background:transparent;outline:2px solid var(--text);outline-offset:-2px}.rush-squares i.new{animation:pop .32s var(--ease)}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:none}}.rush-label{font-size:12px;color:var(--text-2)}.rush-label b{color:var(--text);font-weight:600}.menu-btn{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text-2);width:36px;height:28px;border-radius:var(--r-sm);display:grid;place-items:center;cursor:pointer}.menu-btn:hover{color:var(--text)}.story{margin:10px 2px 0;font-size:14px;line-height:1.5;color:var(--text-2);max-width:none;min-height:42px}.story .cl.ask{color:var(--text);font-weight:600}.story.intro .cl{animation:appear .26s var(--ease) both;animation-delay:var(--delay)}.icards{display:inline-flex;gap:2px;vertical-align:-1px;margin:0 1px}.icard{display:inline-block;background:var(--card-face);border-radius:3px;padding:0 4px;font:700 12px/18px var(--font-display);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.icard.suit-0{color:var(--suit-0)}.icard.suit-1{color:var(--suit-1)}.icard.suit-2{color:var(--suit-2)}.icard.suit-3{color:var(--suit-3)}.stage{flex:1;display:flex;flex-direction:column;justify-content:flex-start;min-height:0}.table-wrap{position:relative;padding:36px 6px 0}.table-felt{position:relative;width:100%;aspect-ratio:1.08;max-height:min(54dvh,460px);margin:0 auto;border-radius:50%;background:radial-gradient(ellipse at 50% 45%,var(--felt) 0%,var(--felt-mid) 55%,var(--felt-dark) 100%);border:10px solid var(--rail);box-shadow:inset 0 0 40px #0000008c,0 10px 30px #00000080;transition:max-height var(--t-slow) var(--ease),margin var(--t-slow) var(--ease)}.table-felt:before{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.08);border-radius:50%;pointer-events:none}.table-9{aspect-ratio:1.2}.plate{position:absolute;transform:translate(-50%,-50%);background:#0f141b;border:1px solid #2c3540;border-radius:var(--r-sm);min-width:72px;padding:4px 8px;text-align:center;font-size:11px;line-height:1.25;color:var(--text);box-shadow:var(--seat-shadow);font-variant-numeric:tabular-nums;white-space:nowrap}.plate .n{color:var(--text-2);font-weight:500}.plate .s{font-size:12px}.plate.out{opacity:.42;box-shadow:none}.plate.hero{border-color:var(--primary)}.table-9 .plate{min-width:60px;padding:3px 6px;font-size:10px}.plate.turn{border-color:var(--primary);box-shadow:0 0 0 2px #d9b36a59,var(--seat-shadow);animation:turn-glow 1.6s var(--ease) infinite alternate}@keyframes turn-glow{0%{box-shadow:0 0 0 2px #d9b36a40,var(--seat-shadow)}to{box-shadow:0 0 0 3px #d9b36a99,0 0 18px #d9b36a59}}.plate .say{position:absolute;left:50%;top:100%;transform:translate(-50%,4px);background:var(--text);color:var(--bg);font:600 10px/1 var(--font);padding:4px 7px;border-radius:4px;white-space:nowrap;box-shadow:var(--seat-shadow)}.plate .say:before{content:"";position:absolute;left:50%;top:-4px;transform:translate(-50%);border:4px solid transparent;border-top:0;border-bottom-color:var(--text)}.plate.hero .say.turn-tag{top:50%;left:auto;right:calc(100% + 6px);transform:translateY(-50%);background:var(--primary);color:var(--primary-text)}.plate.hero .say.turn-tag:before{display:none}.intro .plate .say{animation:say-in .22s var(--ease) both;animation-delay:var(--say-delay)}@keyframes say-in{0%{opacity:0;transform:translate(-50%)}to{opacity:1;transform:translate(-50%,4px)}}.hero-cards{position:absolute;transform:translate(-50%,-100%);display:flex;gap:6px;z-index:2}.hero-cards .card-lg{width:58px;height:80px;font-size:1.9rem;border-radius:7px}.hole{position:absolute;transform:translate(-50%,-100%);display:flex;gap:2px;pointer-events:none}.hole .card-sm{width:26px;height:36px;font-size:.85rem;border-radius:4px}.back{display:inline-block;width:18px;height:25px;border-radius:3px;border:2px solid #e9edf2;background:repeating-linear-gradient(135deg,#8a2626 0 3px,#b33 3px 6px);box-shadow:0 1px 2px #00000080}.table-9 .back{width:15px;height:21px}.bet{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}.chip{width:11px;height:11px;border-radius:50%;border:2px dashed #e9edf2;background:#c23b3b;box-shadow:0 1px 2px #0009;flex:none}.chip+.chip{margin-left:-8px}.chip.b{background:#2d6bd1}.chip.g{background:#2f9a55}.chip.k{background:#222}.pot{position:absolute;left:50%;top:37%;transform:translate(-50%,-50%);text-align:center;font-size:12px;color:var(--text);display:flex;flex-direction:column;align-items:center;gap:2px}.pot .pile{display:flex;gap:2px}.pot .amount{font-family:var(--font-display);font-weight:700;font-size:16px;font-variant-numeric:tabular-nums}.pot .amount .micro{font-family:var(--font);font-weight:500;color:var(--text-2);margin-right:4px}.board{display:flex;gap:4px;justify-content:center;margin-top:4px}.board .card-md{width:42px;height:58px;font-size:1.25rem;border-radius:5px}.dealer{position:absolute;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;background:#fff;color:#111;font:700 10px var(--font);display:grid;place-items:center;box-shadow:0 1px 2px #0009}.table-9 .hero-cards .card-lg{width:46px;height:64px;font-size:1.5rem}.sizes{margin:10px 0 0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}.sizes button{appearance:none;font:500 12px var(--font);color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:7px 0;cursor:pointer;font-variant-numeric:tabular-nums}.sizes button.on{color:var(--text);border-color:var(--primary)}.acts{margin:8px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.acts button{appearance:none;position:relative;border:1px solid var(--border);background:var(--surface);color:var(--text);font:600 16px var(--font);padding:15px 6px 12px;border-radius:var(--r-md);display:flex;flex-direction:column;align-items:center;gap:2px;min-height:60px;cursor:pointer;transition:background var(--t-fast) var(--ease),transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}@media(hover:hover){.acts button:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}}.acts button:active:not(:disabled),.acts button.pressed{transform:scale(.97);background:var(--surface-3)}.acts button .sub{font-size:12px;color:var(--text-2);font-weight:500;min-height:16px;font-variant-numeric:tabular-nums}.acts kbd{display:none}@media(min-width:900px){.acts kbd{display:block;position:absolute;top:5px;right:7px;font:600 10px var(--font);color:var(--text-3);border:1px solid var(--border);border-radius:3px;padding:0 4px}}.acts.muted{opacity:.35;pointer-events:none}.table-foot{margin:8px 2px 0;font-size:12px;color:var(--text-2);display:flex;justify-content:space-between;gap:12px}.shuffle{display:flex;justify-content:center;height:90px;position:relative;margin-top:24px}.card-back{position:absolute;width:56px;height:78px;border-radius:7px;border:3px solid var(--card-face);background:repeating-linear-gradient(135deg,#8a2626 0 5px,#b33 5px 10px);box-shadow:var(--shadow-1);animation:shuffle 1.1s var(--ease) infinite}@keyframes shuffle{0%{transform:translate(0) rotate(0)}35%{transform:translate(-40px) rotate(-10deg)}70%{transform:translate(40px) rotate(10deg)}to{transform:translate(0) rotate(0)}}.intro .hole .back,.intro .hole .card-sm{animation:deal-in .3s var(--ease) both;animation-delay:var(--deal-delay)}.intro .hole .back:nth-child(2),.intro .hole .card-sm:nth-child(2){animation-delay:calc(var(--deal-delay) + 45ms)}@keyframes deal-in{0%{transform:translate(calc(-1 * var(--dx)),calc(-1 * var(--dy))) scale(.5) rotate(-20deg);opacity:0}to{transform:none;opacity:1}}.intro .hero-cards .card-lg{animation:flip-in .42s var(--ease) both;animation-delay:var(--deal-delay)}.intro .hero-cards .card-lg:nth-child(2){animation-delay:calc(var(--deal-delay) + 80ms)}@keyframes flip-in{0%{transform:perspective(600px) rotateY(90deg) translateY(8px);opacity:0}55%{opacity:1}to{transform:none;opacity:1}}.board .bc{display:flex}.intro .board .bc{animation:flip-in .36s var(--ease) both;animation-delay:var(--card-delay)}.intro .bet.pending{animation:bet-in .3s var(--ease) both;animation-delay:var(--act-delay)}@keyframes bet-in{0%{opacity:0;transform:translate(calc(-50% + var(--bx)),calc(-50% + var(--by)))}to{opacity:1;transform:translate(-50%,-50%)}}.intro .plate.out.pending{animation:plate-fold .26s var(--ease) both;animation-delay:var(--act-delay)}@keyframes plate-fold{0%{opacity:1}to{opacity:.42}}.intro .pot{animation:appear .2s var(--ease) both;animation-delay:var(--pot-delay)}@keyframes appear{0%{opacity:0}to{opacity:1}}.table-layout{display:grid;gap:20px;flex:1}@media(min-width:900px){.table-layout{grid-template-columns:minmax(0,1fr);justify-content:center;max-width:720px;margin:0 auto;width:100%}.table-layout.two{grid-template-columns:minmax(0,1fr) 420px;max-width:none;align-items:start;gap:32px}.table-layout.decide{grid-template-columns:minmax(0,1fr) 260px;max-width:1040px;align-items:start;gap:28px}.table-layout.decide .hand-panel{display:block;position:sticky;top:84px}.table-layout.two .result{position:sticky;top:84px;margin-top:0}.has-result .table-felt{max-height:min(54dvh,460px)}.has-result .table-wrap{padding-top:36px}.screen-table .rush-top{margin-inline:0}}@media(max-width:899px){.has-result .story{display:none}.has-result .table-felt{max-height:min(30dvh,240px)}.has-result .table-wrap{padding-top:28px}.has-result .pot{top:34%}.has-result .pot .amount{font-size:13px}.has-result .hero-cards .card-lg{width:40px;height:56px;font-size:1.3rem;border-radius:5px}.has-result .board .card-md{width:28px;height:40px;font-size:.9rem;border-radius:4px}.has-result .hole .back{width:14px;height:20px}.has-result .plate{font-size:10px;min-width:60px;padding:3px 6px}}.hand-panel{display:none;margin-top:52px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 14px 10px;font-size:13px}.hp-head{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hp-head>div{display:grid;gap:2px}.hp-head .k{font-size:11px;color:var(--text-3)}.hp-head b{font-family:var(--font-display);font-weight:700;font-size:18px;font-variant-numeric:tabular-nums}.hp-type{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);color:var(--text-2)}.hp-history{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}.hp-history .st{display:block;font-size:11px;color:var(--text-3);margin-bottom:4px}.hp-history ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.hp-history ul li{display:flex;justify-content:space-between;color:var(--text-2);font-variant-numeric:tabular-nums}.hp-history ul li.hero{color:var(--text);font-weight:600}.limit-panel{margin:12px 0;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.limit-panel h2{margin:0 0 6px}.result{display:flex;flex-direction:column;flex:1;margin-top:8px;scroll-margin-top:84px}.review-result{flex:0 0 auto;margin-top:12px}.verdict{display:flex;align-items:center;gap:12px;margin:12px 2px 0}.verdict .badge{flex:none;width:56px;height:56px;border-radius:var(--r-md);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:19px;color:#fff;animation:stamp var(--t-slow) var(--ease) both}.badge.correct{background:var(--grade-correct);color:#06160c}.badge.acceptable{background:var(--grade-acceptable);color:#1a1409}.badge.wrong{background:var(--grade-wrong)}.badge.unknown{background:var(--surface-3)}@keyframes stamp{0%{transform:scale(1.3);opacity:0}60%{transform:scale(.97);opacity:1}to{transform:none}}.verdict .t{font-size:15px;line-height:1.4;max-width:none;margin:0}.verdict .t b{font-weight:600}.eqhero{display:flex;gap:14px;align-items:flex-start;margin:14px 2px 0;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.eqhero .num{font-family:var(--font-display);font-weight:700;font-size:44px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;flex:none;min-width:78px}.eqhero .num small{font-size:18px;font-weight:600;color:var(--text-2);margin-left:2px}.eqhero .txt{flex:1;min-width:0;display:grid;gap:4px;font-size:13px;color:var(--text-2)}.eqhero .txt>b{color:var(--text);font-size:15px;font-weight:600}.eqhero .eqbar{margin-top:4px}.eqhero .eqlbl{margin-top:0}.eqhero .rng{margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}.eqhero .rng b{color:var(--text);font-weight:600}.kbd-hint{display:none;margin:8px 0 0;font-size:12px;color:var(--text-3);text-align:center}@media(min-width:900px){.kbd-hint{display:block}}.concepts{margin:14px 2px 0}.concepts h3,.qa h3{margin:0 0 8px;font:600 12px var(--font);color:var(--text-3)}.concepts ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.concepts li{display:flex;gap:10px;padding-left:10px;border-left:1px solid var(--border-strong);font-size:13px;line-height:1.45}.concepts li.plus{border-left-color:var(--primary)}.concepts li.minus{border-left-color:var(--text-3)}.concepts li>div{display:grid;gap:1px}.concepts li b{font-weight:600;color:var(--text)}.concepts li span{color:var(--text-2)}.concepts .more-toggle{margin-top:8px}.qa{margin:16px 2px 0}.qa .chips{display:flex;flex-wrap:wrap;gap:6px}.qa .chips button{appearance:none;font:500 13px var(--font);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:7px 10px;cursor:pointer;text-align:left;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.qa .chips button:hover{background:var(--surface-2)}.qa .chips button.on{background:var(--primary-soft);border-color:var(--primary)}.qa .answer{margin:10px 0 0;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);font-size:14px;line-height:1.5;max-width:none;animation:appear .2s var(--ease) both}.coach{margin:10px 2px 0;display:grid;gap:8px;font-size:14px;line-height:1.5}.coach p{margin:0;max-width:none}.coach .lead{font-weight:600;color:var(--primary);margin-right:8px}.coach .remember,.coach .remember .lead{color:var(--text-2)}.statrows{margin:12px 0 0;background:var(--surface);border-radius:var(--r-md);padding:2px 12px}.statrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.statrow:last-child{border-bottom:0}.statrow .k{color:var(--text-2)}.statrow .v{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.statrow .v.ok{color:var(--grade-correct)}.statrow .v.bad{color:var(--grade-wrong)}.statrow .v.small{font-weight:500}.statrow.block{display:block}.eqbar{margin:6px 0 2px;height:6px;background:var(--surface-3);border-radius:3px;position:relative}.eqbar b{position:absolute;left:0;top:0;bottom:0;background:var(--primary);border-radius:3px;animation:grow .4s var(--ease) both;transform-origin:left}.eqbar i{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text)}.eqlbl{display:flex;justify-content:space-between;font-size:11px;color:var(--text-2);margin-top:4px;font-variant-numeric:tabular-nums}.range-block{margin:12px 0 0;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}.grid13{display:grid;grid-template-columns:repeat(13,11px);grid-auto-rows:11px;gap:1px;background:#0b0e12;padding:1px;border-radius:3px}.grid13 i{display:block;background:var(--surface-2)}.grid13 i.me{outline:2px solid #fff;outline-offset:-1px;position:relative;z-index:1}.range-legend{font-size:12px;color:var(--text-2);display:grid;gap:6px;min-width:0}.range-legend .h{color:var(--text);font-weight:600}.range-legend div{display:flex;align-items:center;gap:8px}.range-legend i{width:10px;height:10px;border-radius:2px;display:inline-block;flex:none}.range-legend b{color:var(--text);font-weight:600;margin-left:auto;font-variant-numeric:tabular-nums}.more-toggle{margin:12px 0 0;appearance:none;background:none;border:0;color:var(--primary);font:600 13px var(--font);text-align:left;padding:6px 0;cursor:pointer}.result-details{margin:4px 0 0}.next-btn{margin:auto 0 4px;padding-top:12px}.next-btn .btn{width:100%;min-height:52px;font-size:16px}.limit-line{font-size:12px;color:var(--text-2);text-align:center;margin:6px 0 0}.limit-line b{color:var(--text);font-weight:600}.done-head{padding:20px 0 0;text-align:center}.done-head h1{margin:0}.done-head .sub{font-size:13px;color:var(--text-2);margin-top:6px}.cards3{margin:16px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cards3>div{border:2px solid var(--primary);border-radius:10px;padding:0 0 8px;text-align:center;overflow:hidden;animation:land .42s var(--ease) both}.cards3>div:nth-child(2){animation-delay:.18s}.cards3>div:nth-child(3){animation-delay:.36s}@keyframes land{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}.cards3 .k{display:block;background:var(--primary);color:var(--primary-text);font-size:11px;font-weight:600;padding:4px 0}.cards3 .v{display:block;font-family:var(--font-display);font-weight:700;font-size:24px;margin-top:6px;font-variant-numeric:tabular-nums}.cards3>div.ok{border-color:var(--grade-correct)}.cards3>div.ok .k{background:var(--grade-correct);color:#06160c}.cards3>div.neu{border-color:var(--warning)}.cards3>div.neu .k{background:var(--warning);color:#1a1409}.rushres{margin:16px 0 0;background:var(--surface);border-radius:var(--r-md);padding:12px}.rushres .sq{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}.rushres .sq i{display:block;height:22px;border-radius:3px;background:var(--surface-2)}.rushres .sq i.correct{background:var(--grade-correct)}.rushres .sq i.wrong{background:var(--grade-wrong)}.rushres .sq i.acceptable{background:var(--grade-acceptable)}.rushres .rows{margin-top:10px;font-size:13px}.rushres .rows>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--border)}.rushres .rows .k{color:var(--text-2)}.rushres .rows .v{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.streak{margin:14px 0 0;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.streak .days{display:flex;gap:6px}.streak .days i{width:24px;height:24px;border-radius:50%;background:var(--surface-2);display:grid;place-items:center;font-size:10px;color:var(--text-2);font-style:normal}.streak .days i.on{background:var(--primary);color:var(--primary-text);font-weight:600}.leak-box{margin:14px 0 0;background:var(--surface);border-radius:var(--r-md);padding:12px}.leak-box .k{font-size:12px;color:var(--text-2)}.leak-box .t{font-size:16px;font-weight:600;margin-top:2px}.leak-box .why{font-size:13px;color:var(--text-2);margin-top:2px}.leak-box .btn{margin-top:10px;width:100%}.prem{margin:12px 0 0;border:1px solid var(--border);border-radius:var(--r-md);padding:12px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.prem .t{font-size:13px;line-height:1.45;margin:0}.prem .t b{font-weight:600}.done-actions{margin:14px 0 8px;display:grid;gap:8px}.menu-head h2{font-size:1.125rem}.menu-rating{display:block;font-size:13px;color:var(--text-2);margin-top:2px;font-variant-numeric:tabular-nums}.menu-rating b{color:var(--text);font-weight:600}.menu-rating .sep{margin:0 6px;color:var(--text-3)}.menu-sheet{display:grid;gap:2px;margin-top:12px}.menu-sheet button{appearance:none;border:0;background:transparent;color:var(--text);font:500 16px var(--font);text-align:left;padding:8px 10px;min-height:var(--tap);border-radius:var(--r-md);display:flex;align-items:center;gap:12px;cursor:pointer;transition:background var(--t-fast) var(--ease)}@media(hover:hover){.menu-sheet button:hover{background:var(--surface-2)}}.menu-sheet .ic{width:36px;height:36px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--surface-2);color:var(--text-2);flex:none}.menu-sheet .tx{display:flex;flex-direction:column;min-width:0;line-height:1.3}.menu-sheet .t{font-weight:600}.menu-sheet .s{color:var(--text-3);font-size:13px}.menu-sheet button.active{background:var(--primary-soft)}.menu-sheet button.active .ic{background:var(--primary);color:var(--primary-text)}.menu-sheet button.active .t{color:var(--primary)}.facit{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px 16px;margin-top:auto;box-shadow:var(--shadow-1);animation:slide-up var(--t-slow) var(--ease);position:relative}@keyframes stamp{0%{transform:scale(1.35) rotate(-6deg);opacity:0}60%{transform:scale(.96) rotate(1deg);opacity:1}to{transform:none}}.freq-bars{margin:12px 0 6px;display:flex;flex-direction:column;gap:6px}.freq-row{display:grid;grid-template-columns:72px 1fr 48px;align-items:center;gap:10px;font-size:.875rem;font-weight:600}.freq-bar{height:12px;background:var(--surface-2);border-radius:6px;overflow:hidden}.freq-fill{display:block;height:100%;background:var(--act-fold);border-radius:6px;animation:grow .4s var(--ease) both;transform-origin:left}@keyframes grow{0%{transform:scaleX(0)}to{transform:none}}.freq-raise{background:var(--act-raise)}.freq-call{background:var(--act-call)}.freq-shove{background:var(--act-allin)}.freq-check{background:var(--act-check)}.freq-val{text-align:right;font-variant-numeric:tabular-nums}.facit-source{font-size:.78rem;color:var(--text-3);margin:8px 0 0}.icm{background:var(--surface-2);border-radius:var(--r-md);padding:10px 12px;font-size:.9rem;margin:10px 0;border:1px solid transparent}.icm-differs{border-color:var(--grade-acceptable);background:var(--warning-soft)}.score-split{display:flex;gap:4px;width:100%;height:10px;border-radius:5px;overflow:hidden;margin-top:12px;background:var(--surface-2)}.score-split span{display:block;height:100%;animation:grow .4s var(--ease) both;transform-origin:left}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:0}.loading{text-align:center;padding:40px 0;color:var(--text-2)}.shuffle{display:flex;justify-content:center;height:110px;position:relative}.shuffle+.loading{padding-top:8px}.card-back{position:absolute;width:68px;height:96px;border-radius:10px;border:4px solid var(--card-face);background:repeating-linear-gradient(45deg,var(--felt-dark) 0 6px,var(--felt) 6px 12px),var(--felt);box-shadow:var(--shadow-1);animation:shuffle 1.1s var(--ease) infinite}.card-back:nth-child(2){animation-delay:.18s}.card-back:nth-child(3){animation-delay:.36s}@keyframes shuffle{0%{transform:translate(0) rotate(0)}35%{transform:translate(-46px) rotate(-10deg)}70%{transform:translate(46px) rotate(10deg)}to{transform:translate(0) rotate(0)}}@media(prefers-reduced-motion:reduce){.card-back:nth-child(1){transform:translate(-40px) rotate(-8deg)}.card-back:nth-child(3){transform:translate(40px) rotate(8deg)}}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--r-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.leaks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;border-bottom:1px solid var(--border)}.leak{padding:12px 0;border-top:1px solid var(--border)}.leak-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.leak-head strong{font-family:var(--font-display);font-size:1.05rem}.leak-val{font-family:var(--font-display);font-weight:800;font-size:1.2rem;font-variant-numeric:tabular-nums}.leak-val.hot{color:var(--grade-wrong)}.leak p{margin:4px 0 0}.leak-bar{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden;margin-top:8px}.leak-bar span{display:block;height:100%;border-radius:3px;background:var(--grade-wrong)}.weak-list{list-style:none;padding:0;margin:0}.weak-list li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.weak-list .num{font-family:var(--font-display);font-weight:700}.weak-list li{align-items:center}.weak-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.leak-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.weak-group h3{font:600 13px var(--font);color:var(--text-2);letter-spacing:0;margin:18px 0 2px}.weak-name .muted{margin-left:4px}.scoreboard{margin:8px 0 4px;background:var(--surface);border-radius:var(--r-lg);padding:16px 16px 14px}.board-rating{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.board-rating .k{display:block;font-size:13px;color:var(--text-2)}.board-rating .v{display:block;font-family:var(--font-display);font-weight:700;font-size:42px;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:2px}.board-rating .d{font-size:13px;color:var(--text-2);padding-bottom:4px;font-variant-numeric:tabular-nums}.board-rating .d .sep{margin:0 6px;color:var(--text-3)}.board-rating .d b{color:var(--text);font-weight:600}.board-rating .d b.bad{color:var(--grade-wrong)}.board-cells{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.board-cells .k{display:block;font-size:12px;color:var(--text-2)}.board-cells .v{display:block;font-family:var(--font-display);font-weight:700;font-size:22px;line-height:1.1;margin-top:2px;font-variant-numeric:tabular-nums}.board-cells .v small{font-family:var(--font);font-size:12px;font-weight:500;color:var(--text-2);margin-left:4px}.scoreboard .score-split{margin-top:14px;height:8px;background:var(--surface-2)}.board-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:12px;color:var(--text-2)}.board-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}.board-legend .right{margin-left:auto;color:var(--text-3)}.daychart{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:4px;height:136px;margin-top:4px}.daychart .col{display:flex;flex-direction:column;min-width:0}.daychart .track{flex:1;position:relative;border-bottom:1px solid var(--border)}.daychart .bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--surface-3);border-radius:3px 3px 0 0}.daychart .col:not(.nodata) .bar{background:var(--primary);animation:grow-y .4s var(--ease) both;transform-origin:bottom}.daychart .lbl{font-size:11px;color:var(--text-3);text-align:center;margin-top:6px;line-height:1}.daychart .today .lbl{color:var(--text);font-weight:600}@keyframes grow-y{0%{transform:scaleY(0)}}.chart-note{margin:10px 0 0;font-variant-numeric:tabular-nums}.empty{text-align:center;padding:32px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-2)}.empty-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--surface-2);color:var(--text-2);margin-bottom:4px}.empty h2{margin:0;color:var(--text)}.empty p{margin:0}.empty .btn{margin-top:8px}.app.wide{max-width:1040px}.calc-layout{display:grid;gap:24px;margin-top:4px}@media(min-width:900px){.calc-layout{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:32px}.calc-result{position:sticky;top:12px}}.felt-strip{position:relative;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:flex-end;padding:16px 18px 18px;border-radius:18px;background:radial-gradient(ellipse at 30% 0%,var(--felt) 0%,var(--felt-dark) 100%);border:4px solid var(--rail);box-shadow:inset 0 0 30px #00000059,var(--shadow-1);margin-top:8px}.felt-label{display:block;color:#fffc;font-size:.75rem;font-weight:600;margin-bottom:6px}.felt-clear{position:absolute;top:6px;right:6px;color:#ffffffd9}@media(hover:hover){.felt-clear:hover:not(:disabled){background:#ffffff1f;color:#fff}}.felt-strip .card-empty{background:#ffffff14;border-color:#ffffff80;color:#ffffffe6}.calc-block{margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.calc-block>h2{margin:0 0 8px}.calc-block-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.calc-block-head h2{margin:0}.opponents{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.opponent{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--border)}.opponent-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.opponent-name{font-weight:700}.range-thumb-btn{background:none;border:none;padding:0;cursor:pointer;border-radius:6px;display:block;line-height:0;transition:transform var(--t-fast) var(--ease)}@media(hover:hover){.range-thumb-btn:hover{transform:scale(1.06)}}.range-thumb{display:grid;grid-template-columns:repeat(13,1fr);width:54px;height:54px;gap:1px;background:var(--border);border:1px solid var(--border-strong);border-radius:6px;overflow:hidden}.range-thumb span{display:block;background:var(--surface)}.result-empty{border:1px dashed var(--border-strong);border-radius:var(--r-lg);padding:28px 20px;text-align:center;color:var(--text-2)}.result-empty p{margin:0;max-width:none}.result-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px 18px 14px;box-shadow:var(--shadow-1)}.result-number{display:flex;align-items:baseline;gap:10px;margin-top:2px}.result-number .display{font-size:3.5rem;color:var(--primary)}.result-pm{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--text-3);font-variant-numeric:tabular-nums}.verdict{margin:4px 0 0;font-weight:600;max-width:none}.result-card.streaming .display{transition:color var(--t-fast) var(--ease)}.result-card.streaming .result-pm{color:var(--act-raise);transition:color var(--t-fast) var(--ease)}.result-busy{font-variant-numeric:tabular-nums}.converge{height:2px;background:var(--surface-2);border-radius:1px;overflow:hidden;margin:6px 0 2px}.converge span{display:block;height:100%;background:var(--primary);transition:width .12s linear}.result-card:not(.streaming) .converge{opacity:0;transition:opacity var(--t-slow) var(--ease) .3s}.verdict.good{color:var(--grade-correct)}.verdict.bad{color:var(--grade-wrong)}.showdown{margin:18px 0 4px}.showdown-bar{position:relative;display:flex;height:18px;border-radius:9px;overflow:visible;background:var(--surface-2)}.showdown-bar>span{display:block;height:100%;transition:width var(--t-slow) var(--ease)}.showdown-bar>span:first-child{border-radius:9px 0 0 9px}.showdown-bar>span.opp:last-of-type{border-radius:0 9px 9px 0}.showdown-bar .hero{background:var(--primary)}.showdown-bar .opp{background:var(--text-3);box-shadow:inset 1px 0 0 var(--surface)}.showdown-tick{position:absolute;top:-5px;bottom:-5px;width:2px;border-radius:1px;background:var(--act-raise);display:block!important;height:auto!important}.showdown-tick:after{content:attr(data-label);position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:3px;font-size:.72rem;font-weight:600;color:var(--act-raise);white-space:nowrap}.showdown-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.82rem;color:var(--text-2);margin-top:30px;font-variant-numeric:tabular-nums}.odds-sheet{margin:14px 0 0}.odds-sheet div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-top:1px solid var(--border)}.odds-sheet dt{color:var(--text-2);font-size:.9rem}.odds-sheet dd{margin:0;font-family:var(--font-display);font-weight:700;font-size:1.1rem;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.odds-sheet dd .muted{font-family:var(--font);font-weight:500;font-size:.85rem}.outs-block{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.outs-head{display:flex;align-items:baseline;gap:10px}.outs-count{font-size:2rem}.outs-list{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}.outs-list .card-sm{width:26px;height:36px;font-size:.85rem}.outs-list .uncertain{opacity:.55}.range-grid{display:grid;grid-template-rows:repeat(13,1fr);gap:1px;width:100%;aspect-ratio:1;touch-action:none;background:var(--border);border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;user-select:none}.range-row{display:grid;grid-template-columns:repeat(13,1fr);gap:1px}.range-cell{background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:clamp(7px,2.1vw,11px);font-weight:600;line-height:1.05;color:var(--text);position:relative;min-width:0;overflow:hidden}.range-pair{font-weight:800}.range-offsuit{color:var(--text-2)}.range-cls{z-index:1;text-shadow:0 0 2px var(--surface),0 0 2px var(--surface)}.range-label{z-index:1;font-size:.8em;text-shadow:0 0 2px var(--surface)}.brushes{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}.brush{appearance:none;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 12px 6px 8px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);font:inherit;font-size:.875rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}@media(hover:hover){.brush:hover:not(.active){background:var(--surface-2);color:var(--text)}}.brush.active{border-color:var(--primary);background:var(--primary-soft);color:var(--text)}.brush .sw{display:inline-flex;gap:2px}.brush .sw i{display:block;width:10px;height:14px;border-radius:2px}.brush .sw i.none{width:14px;background:transparent;box-shadow:inset 0 0 0 1px var(--border-strong)}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:.85rem;margin:8px 0;color:var(--text-2)}.legend-item{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}.legend-swatch{width:12px;height:12px;border-radius:3px;display:inline-block}.custom-brush{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin-bottom:8px}.slider{display:flex;flex-direction:column;font-size:.85rem}.slider input{min-height:36px;padding:0}.error-list{color:var(--danger);font-size:.9rem;margin:8px 0;padding-left:18px}.filter-row{display:grid;grid-template-columns:3fr 2fr;gap:8px;margin:10px 0 0}.filter-row .seg{font-size:13px;padding:8px 4px;white-space:nowrap}.list-count{margin:14px 0 0;font-variant-numeric:tabular-nums}.tgroup{margin-top:20px}.tgroup-head{display:flex;align-items:baseline;gap:8px;margin:0;font-size:1.05rem}.tgroup-head .n{font:500 13px var(--font);color:var(--text-3);font-variant-numeric:tabular-nums}.tlist{list-style:none;padding:0;margin:0}.tlist-spot{font:600 12px var(--font);color:var(--text-3);padding:16px 0 6px}.tlist>li:first-child .tlist-spot{padding-top:8px}.trow{width:calc(100% + 16px);margin:0 -8px;display:flex;align-items:center;gap:12px;padding:8px;min-height:60px;background:transparent;border:0;border-radius:var(--r-md);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:background var(--t-fast) var(--ease)}.tlist li+li:not(.new-spot){border-top:1px solid var(--border)}@media(hover:hover){.trow:hover{background:var(--surface)}}.trow:active{background:var(--surface-2)}.tthumb{width:44px;height:44px;flex:none;border-radius:5px;image-rendering:pixelated;box-shadow:inset 0 0 0 1px #ffffff12}.trow-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.trow-main{display:flex;align-items:baseline;gap:8px;min-width:0}.trow-main b{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;flex:none}.trow-main span{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trow-sub{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.trow>svg{color:var(--text-3);flex:none}.tfoot{margin-top:40px;padding-top:16px;border-top:1px solid var(--border)}.tfoot h2{font:600 13px var(--font);color:var(--text-2);margin:0;letter-spacing:0}.tfoot .actions{margin:10px 0 0}.pill{display:inline-block;background:var(--surface-2);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600;color:var(--text-2)}.pill.pill-primary{background:var(--primary-soft);color:var(--primary-strong)}.hand-list{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:8px}.hand-item{width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:10px 12px;display:flex;align-items:center;gap:12px;font:inherit;color:var(--text);cursor:pointer;transition:background var(--t-fast) var(--ease)}@media(hover:hover){.hand-item:hover{background:var(--surface-2)}}.hand-cards{display:flex;gap:3px;flex:none}.hand-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.hand-title{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hand-meta{font-size:.82rem;color:var(--text-2)}.hand-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}.tag{display:inline-block;background:var(--surface-2);border-radius:4px;padding:1px 7px;font-size:.75rem;font-weight:600;color:var(--text-2)}.wizard-steps{display:flex;gap:6px;margin:4px 0 16px}.wizard-step{flex:1;height:6px;border-radius:3px;background:var(--surface-3);transition:background var(--t-med) var(--ease)}.wizard-step.done{background:var(--primary)}.decision-chips{display:flex;gap:6px;overflow-x:auto;padding:4px 0 6px;scrollbar-width:thin;margin:0 -16px;padding-inline:16px}.decision-chip{white-space:nowrap;min-height:40px;padding:6px 12px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;flex:none;font-variant-numeric:tabular-nums;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}@media(hover:hover){.decision-chip:hover:not(.active){background:var(--surface-2);color:var(--text)}}.decision-chip .dot{margin:0;width:8px;height:8px;border-radius:2px}.decision-chip.active{background:var(--primary-soft);color:var(--text);border-color:var(--primary)}.history-list{font-size:.875rem;color:var(--text-2);margin:8px 0;line-height:1.55;display:flex;flex-direction:column;gap:2px}.history-list strong{color:var(--text);font-family:var(--font-display)}.history-list .hero{color:var(--text);font-weight:700}.review-nav{display:flex;gap:8px;margin:12px 0}.review-nav .btn{flex:1}.review-count{text-align:center}@media(min-width:900px){.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:32px;align-items:start}.review-side{position:sticky;top:64px}.review-side .result{margin-top:0}}.showdown-row{display:flex;align-items:center;gap:10px;padding:6px 0}.showdown-row>span:first-child{min-width:52px;font-weight:700;font-family:var(--font-display)}.glossary{margin:10px 0 0;border-top:1px solid var(--border);padding-top:4px}.glossary summary{font-size:.85rem;min-height:36px}.glossary dl{margin:0 0 6px;display:flex;flex-direction:column;gap:8px}.glossary dt{font-weight:700;font-size:.875rem}.glossary dd{margin:1px 0 0;font-size:.85rem;color:var(--text-2);line-height:1.45}.modal-confirm{max-width:440px}.confirm-head{display:flex;align-items:center;gap:12px}.confirm-head h2{margin:0}.confirm-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--danger-soft);color:var(--danger);flex:none}.btn-danger-fill{background:var(--danger);color:#fff}@media(hover:hover){.btn-danger-fill:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 85%,black)}}@supports selector(::view-transition){.screen-table .table-felt{view-transition-name:table}.screen-table .verdict .badge{view-transition-name:verdict;animation:none}.screen-table .result{view-transition-name:result}}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}::view-transition-group(table){animation-duration:.42s;animation-timing-function:var(--ease)}::view-transition-group(verdict){animation-duration:.46s;animation-timing-function:cubic-bezier(.2,.9,.25,1.08)}::view-transition-old(verdict){animation:vt-out .16s var(--ease) both}::view-transition-new(verdict){animation:vt-in .28s var(--ease) .14s both}::view-transition-new(result){animation:vt-result-in .42s var(--ease) both}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0}}@keyframes vt-result-in{0%{opacity:0;transform:translateY(24px)}}@supports (animation-timing-function: linear(0,1)){.freq-fill,.equity-fill,.eqbar b,.score-split span,.history-fill,.leak-bar span{animation-duration:.62s;animation-timing-function:linear(0,.006,.025 2.8%,.101 6.1%,.539 18.9%,.721 25.3%,.849 31.5%,.937 38.1%,.968 41.8%,.991 45.7%,1.006 50.1%,1.015 55%,1.017 63.9%,1.001)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.rush-rating .run{font-weight:600;color:var(--text)}.rush-rating .run.heat-1{color:var(--brass)}.rush-rating .run.heat-2,.rush-rating .run.heat-3{color:var(--brass);font-weight:700}.rush-rating .run.heat-3{text-shadow:0 0 10px rgba(217,179,106,.45)}.rush-rating .run:not(.heat-0){display:inline-block;animation:pop .32s var(--ease)}.rush-rating .level{margin-top:2px;font:600 13px var(--font-display);color:var(--brass)}.rush-rating .level-next{font:400 12px var(--font);color:var(--text-3)}.reward{list-style:none;margin:10px 2px 0;padding:10px 12px;border:1px solid var(--brass-deep);border-radius:var(--r-sm);background:var(--primary-soft);display:grid;gap:4px;animation:reward-in var(--t-slow) var(--ease) both}.reward li{font-size:15px;color:var(--text)}.reward li.big b{font:700 22px/1.2 var(--font-display);color:var(--brass)}.reward-k{font-size:13px;color:var(--text-2)}@keyframes reward-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}.link-btn{appearance:none;border:0;padding:0;background:none;color:var(--brass);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.ladder{list-style:none;margin:8px 0 12px;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.ladder li{display:grid;gap:2px;padding:10px 6px;border-top:3px solid var(--surface-3);text-align:center}.ladder li.passed{border-color:var(--brass-deep)}.ladder li.now{border-color:var(--brass)}.ladder-name{font:700 15px var(--font-display);color:var(--text-2)}.ladder li.now .ladder-name{color:var(--brass)}.ladder-from{font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums}.milestones{list-style:none;margin:8px 0 0;padding:0;border-top:1px solid var(--border)}.milestones li{padding:12px 0;border-bottom:1px solid var(--border)}.ms-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.milestones li:not(.done) .ms-head b{color:var(--text-2)}.ms-done{font:700 13px var(--font-display);color:var(--brass)}.ms-count{font-size:13px;color:var(--text-3);font-variant-numeric:tabular-nums}.ms-bar{height:4px;margin-top:8px;border-radius:2px;background:var(--surface-3);overflow:hidden}.ms-bar span{display:block;height:100%;background:var(--brass-deep)}@media(max-width:420px){.ladder{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.rush-rating .run:not(.heat-0),.reward{animation:none}}.celebrate{position:fixed;left:50%;top:18%;z-index:60;transform:translate(-50%);pointer-events:none;display:grid;place-items:center}.celebrate-card{display:grid;justify-items:center;gap:2px;min-width:220px;padding:16px 26px 18px;border:1px solid var(--brass);border-radius:var(--r-md);background:var(--surface);box-shadow:0 0 0 4px #d9b36a1f,var(--shadow-2);overflow:hidden;position:relative}.celebrate.level .celebrate-card{animation:celebrate-in 2.6s var(--ease) both}.celebrate.milestone .celebrate-card{animation:celebrate-in 1.9s var(--ease) both}.celebrate-card:after{content:"";position:absolute;inset:0 auto 0 -40%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,240,210,.22),transparent);animation:celebrate-sheen .9s var(--ease) .42s both}.celebrate-k{font-size:13px;color:var(--text-2)}.celebrate-t{font:700 34px/1.05 var(--font-display);color:var(--brass)}.celebrate.milestone .celebrate-t{font-size:24px;color:var(--text)}.celebrate-d{max-width:260px;margin-top:4px;font-size:13px;text-align:center;color:var(--text-2)}.celebrate-chips{position:absolute;inset:50% auto auto 50%}.celebrate-chips i{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--brass);border:3px dashed rgba(255,255,255,.85);opacity:0;animation:chip-burst 1.5s cubic-bezier(.2,.7,.3,1) var(--d) both}.celebrate-chips i.b{background:var(--act-fold)}.celebrate-chips i.k{background:var(--act-raise)}@keyframes celebrate-in{0%{opacity:0;transform:translateY(-14px) scale(.86)}14%{opacity:1;transform:translateY(0) scale(1.04)}22%{transform:scale(1)}86%{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)}}@keyframes celebrate-sheen{0%{left:-40%}to{left:120%}}@keyframes chip-burst{0%{opacity:0;transform:translate(0) rotate(0) scale(.6)}12%{opacity:1}45%{transform:translate(var(--x),-110px) rotate(calc(var(--r) / 2)) scale(1)}75%{opacity:1}to{opacity:0;transform:translate(calc(var(--x) * 1.3),200px) rotate(var(--r)) scale(.9)}}.reward li{animation:reward-row .42s var(--ease) both;animation-delay:calc(var(--i, 0) * .12s + .12s)}.reward li.big{position:relative;overflow:hidden}.reward li.big:after{content:"";position:absolute;inset:0 auto 0 -40%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,240,210,.25),transparent);animation:celebrate-sheen .8s var(--ease) .5s both}@keyframes reward-row{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.rush-rating .level.up{transform-origin:left center;animation:level-flash .9s var(--ease)}@keyframes level-flash{0%{transform:scale(1)}35%{transform:scale(1.18);text-shadow:0 0 12px rgba(217,179,106,.7)}to{transform:none;text-shadow:none}}.rush-rating .run.heat-2{animation:pop .32s var(--ease),run-flare .9s var(--ease)}.rush-rating .run.heat-3{animation:pop .32s var(--ease),run-flare 1.2s var(--ease)}@keyframes run-flare{0%{text-shadow:0 0 0 rgba(217,179,106,0)}40%{text-shadow:0 0 14px rgba(217,179,106,.9)}to{text-shadow:0 0 6px rgba(217,179,106,.3)}}.rushres .rows>div{animation:reward-row .38s var(--ease) both}.rushres .rows>div:nth-child(2){animation-delay:60ms}.rushres .rows>div:nth-child(3){animation-delay:.12s}.rushres .rows>div:nth-child(4){animation-delay:.18s}.rushres .rows>div:nth-child(5){animation-delay:.24s}.rushres .rows>div:nth-child(n+6){animation-delay:.3s}@media(prefers-reduced-motion:reduce){.celebrate.level .celebrate-card,.celebrate.milestone .celebrate-card{animation:celebrate-fade 1.6s linear both}.celebrate-card:after,.celebrate-chips,.reward li.big:after{display:none}.reward li,.rush-rating .level.up,.rush-rating .run.heat-2,.rush-rating .run.heat-3,.rushres .rows>div{animation:none}}@keyframes celebrate-fade{0%,to{opacity:0}10%,85%{opacity:1}}.level-badge{flex:none;display:inline-block;vertical-align:-.2em;margin-right:.3em;color:var(--lb-ink)}.lb-face{fill:var(--lb-face);stroke:var(--lb-edge);stroke-width:2}.lb-stripes{fill:none;stroke:var(--lb-stripe);stroke-width:4}.lb-inner{fill:none;stroke:var(--lb-edge);stroke-width:1;stroke-dasharray:2 2.6;opacity:.7}.lb-symbol{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.level-badge.lb-6{filter:drop-shadow(0 0 6px rgba(217,179,106,.7))}.level-badge.lb-5{filter:drop-shadow(0 0 4px rgba(217,179,106,.45))}.level-badge.locked{filter:grayscale(1);opacity:.4}.ladder .level-badge{margin:0 auto 4px}.reward li.big .level-badge{margin-right:.45em}.celebrate-badge{margin-bottom:6px;perspective:400px}.celebrate-badge .level-badge{margin:0;animation:badge-land .9s cubic-bezier(.2,.8,.3,1.2) .12s both}@keyframes badge-land{0%{opacity:0;transform:translateY(-30px) rotateY(540deg) scale(.6)}60%{opacity:1}to{transform:none}}.rush-rating .level .level-badge{margin-right:.25em}@media(prefers-reduced-motion:reduce){.celebrate-badge .level-badge{animation:none}}.result .verdict{display:flex;align-items:center;gap:12px;margin:14px 2px 0;font-weight:400}.result .verdict .badge{width:44px;height:44px;border-radius:50%}.result .verdict .badge svg{display:block}.result .verdict .badge.correct{color:#06160c}.verdict .vt{display:grid;gap:1px;min-width:0}.verdict .vword{font:700 26px/1.05 var(--font-display)}.verdict.correct .vword{color:var(--grade-correct)}.verdict.acceptable .vword{color:var(--grade-acceptable)}.verdict.wrong .vword{color:var(--grade-wrong)}.verdict.unknown .vword{color:var(--text-2)}.result .verdict .t{font-size:15px;font-weight:500;color:var(--text)}.mix{margin:12px 2px 0;display:grid;gap:6px}.mix-k{font-size:12px;font-weight:600;color:var(--text-3)}.mix-bar{display:flex;gap:2px;height:10px;border-radius:5px;overflow:hidden}.mix-bar span{flex-basis:0;animation:grow .5s var(--ease) both;transform-origin:left}.mix-lbl{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;color:var(--text-2);font-variant-numeric:tabular-nums}.mix-lbl i{display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:2px;vertical-align:0}.mix-lbl b{font-weight:600;color:var(--text)}.eqmeter{position:relative;margin-top:4px;padding:23px 0 20px}.eqmeter.solo{padding-top:8px}.eqtrack{position:relative;height:10px;border-radius:5px;background:var(--surface-3)}.eqzone{position:absolute;left:0;top:0;bottom:0;border-radius:5px 0 0 5px;background:repeating-linear-gradient(135deg,transparent 0 4px,rgba(255,255,255,.07) 4px 7px)}.eqtrack b{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--primary);animation:grow .6s var(--ease) both;transform-origin:left}.eqtrack i{position:absolute;top:-5px;bottom:-5px;width:2px;margin-left:-1px;border-radius:1px;background:var(--text)}.eqmeter .need,.eqmeter .have{position:absolute;font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.eqmeter .need{top:0;color:var(--text)}.eqmeter .have{bottom:0;font-weight:600;color:var(--primary)}.eqmargin{font-size:13px;color:var(--text-2)}.eqmargin b{font-weight:600;color:var(--primary)}.eqmargin.short b{color:var(--text)}.result .coach{gap:10px;margin-top:14px}.coach .why{font-size:15px}.coach .note{display:flex;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-2)}.coach .note svg{flex:none;margin-top:3px;color:var(--text-3)}.coach .note .lead{color:var(--text)}.coach .takeaway{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:var(--primary-soft);border:1px solid var(--brass-deep);border-radius:var(--r-md)}.coach .takeaway svg{flex:none;margin-top:2px;color:var(--brass)}.coach .takeaway .tk{display:block;margin-bottom:2px;font:600 12px var(--font);color:var(--brass)}.coach .takeaway p{margin:0;max-width:none;font-size:15px;font-weight:500;color:var(--text)}.result .concepts ul{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.result .concepts li,.result .concepts li.plus,.result .concepts li.minus{align-items:flex-start;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.concepts .ci{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-2)}.concepts li.plus .ci{background:var(--primary-soft);color:var(--brass)}.concepts li.minus .ci{color:var(--text-3)}@media(prefers-reduced-motion:reduce){.mix-bar span,.eqtrack b{animation:none}}.share-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.share-btn.link-btn{min-height:32px}.share-note{flex-basis:100%;display:block;margin-top:6px;font-size:13px;color:var(--text-2)}.reward-share{margin-top:2px}.share-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 4px}.ms-done{display:inline-flex;align-items:center;gap:12px}.ms-done .link-btn{font:500 13px var(--font)}.ms-done .share-note{display:none}.share-sheet{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px;background:#0a0908db;backdrop-filter:blur(6px);animation:appear .2s var(--ease) both;overflow-y:auto}.share-sheet-inner{position:relative;display:grid;justify-items:center;gap:14px;width:min(100%,420px);padding-top:40px}.share-close{position:absolute;top:0;right:0;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--surface-2);color:var(--text);cursor:pointer}.share-go{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:200px}.share-sheet .share-note{margin:0;text-align:center}.tilt-hint{margin:0;font-size:13px;color:var(--text-3);text-align:center}.tilt{width:min(78vw,340px,calc((100vh - 230px)*.8));aspect-ratio:4 / 5;perspective:1100px}.tilt-loading{display:grid;place-items:center;padding:24px;border-radius:18px;background:var(--surface);color:var(--text-2);text-align:center;animation:pulse 1.2s ease-in-out infinite alternate}.tilt-loading.failed{animation:none}@keyframes pulse{0%{opacity:.55}to{opacity:1}}.tilt-card{position:relative;width:100%;height:100%;border-radius:18px;transform-style:preserve-3d;transform:rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .65s cubic-bezier(.2,.8,.25,1.15);touch-action:none;user-select:none;cursor:grab;animation:tilt-in .7s cubic-bezier(.2,.8,.25,1.1) backwards}.tilt-card.live{transition:transform 60ms linear;cursor:grabbing}.tilt-card:focus-visible{outline:2px solid var(--brass);outline-offset:6px}@keyframes tilt-in{0%{opacity:0;transform:translateY(24px) rotateX(18deg) rotateY(-24deg) scale(.92)}}.tilt-face{position:absolute;inset:0;border-radius:18px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 28px 60px #0009,0 0 0 1px #d9b36a4d}.tilt-front img{display:block;width:100%;height:100%;pointer-events:none}.tilt-face:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--gx, 50%) var(--gy, 30%),rgba(255,240,210,.32),rgba(255,240,210,.06) 35%,transparent 60%);opacity:var(--glare, 0);transition:opacity .3s var(--ease);pointer-events:none}.tilt-back{transform:rotateY(180deg);padding:14px;background:var(--bg)}.tilt-back-inner{height:100%;display:grid;place-content:center;justify-items:center;gap:10px;border:2px solid var(--brass-deep);border-radius:12px;background:radial-gradient(circle at 50% 46%,var(--bg) 0 92px,transparent 93px),repeating-linear-gradient(45deg,rgba(217,179,106,.13) 0 2px,transparent 2px 16px),repeating-linear-gradient(-45deg,rgba(217,179,106,.13) 0 2px,transparent 2px 16px),var(--surface)}.tilt-mark{display:grid;place-items:center;width:120px;height:120px;border:3px solid var(--brass);border-radius:50%;line-height:1;color:var(--brass);background:var(--bg);box-shadow:inset 0 0 0 8px var(--bg),inset 0 0 0 10px var(--brass-deep)}.tilt-mark .mark{display:block}.tilt-word{font:700 26px var(--font-display);color:var(--text)}@media(prefers-reduced-motion:reduce){.tilt-card,.tilt-card.live{animation:none;transition:none}.tilt-loading{animation:none}}.lb-closed{margin:16px 0;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text-2)}.lb-join{display:grid;gap:10px;margin:14px 0 18px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.lb-join p{margin:0;max-width:none}.lb-join.lb-me{border-color:var(--brass-deep);background:var(--primary-soft)}.lb-join .actions{display:flex;flex-wrap:wrap;gap:8px}.lb-error{color:var(--grade-wrong);font-size:14px}.lb-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.lb-list li{display:grid;grid-template-columns:34px 28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:6px 10px;border-bottom:1px solid var(--border)}.lb-list .level-badge{margin:0}.lb-list li.me{background:var(--primary-soft);border-radius:var(--r-sm)}.lb-rank{font:600 15px var(--font-display);color:var(--text-3);text-align:right;font-variant-numeric:tabular-nums}.lb-list li.top .lb-rank{font-weight:700;color:var(--brass)}.lb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.lb-rating{font:700 17px var(--font-display);font-variant-numeric:tabular-nums}.lb-list li.top .lb-rating{color:var(--brass)}.lb-fair{margin-top:14px}.trainer-page{min-height:100dvh;display:flex;flex-direction:column}.trainer-page>.app{flex:1;width:100%;min-height:0}.trainer-page>.top{min-height:48px}.trainer-page>.top,.trainer-page>.foot{width:100%;margin-top:24px}.menu-site{display:flex;flex-wrap:wrap;gap:0 20px;margin-top:10px;padding-top:8px;border-top:1px solid var(--border)}.menu-site-label{flex:0 0 100%;padding-top:6px;font-size:13px;color:var(--text-3)}.menu-site a{display:inline-flex;align-items:center;min-height:44px;color:var(--text-2);text-decoration:none}.menu-site a:hover{color:var(--text)}.menu-site a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.menu-btn{position:relative}.menu-btn:before{content:"";position:absolute;inset:-8px -4px}@media(pointer:coarse){.btn-small,.brushes button{min-height:var(--tap)}}.top,.foot{max-width:960px;margin-inline:auto;padding-inline:24px}.top{display:flex;align-items:center;gap:20px;min-height:56px;border-bottom:1px solid var(--border)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:600 19px var(--font-display);color:var(--text)}.mark-ear{fill:var(--bg);stroke:var(--primary);stroke-width:2.2}.mark-face{fill:var(--text)}.mark-dark{fill:var(--bg)}.mark-line{fill:none;stroke:var(--bg);stroke-linecap:round}.mark-glint{fill:none;stroke:var(--primary);stroke-width:1.6;stroke-linecap:round}.toplinks{margin-left:auto;display:flex;align-items:center;gap:22px}.toplinks a:not(.cta){text-decoration:none;font-size:15px;color:var(--text-2)}.toplinks a:not(.cta):hover{color:var(--text)}.toplinks a{white-space:nowrap}.toplinks a[aria-current]{color:var(--text)}.top>.cta{margin-left:2px}@media(max-width:779px){.toplinks{gap:16px}.toplinks a.wide{display:none}}.top-here{font:600 15px var(--font-display);color:var(--brass);white-space:nowrap}.foot{border-top:1px solid var(--border);padding-top:20px;padding-bottom:40px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;font-size:15px;color:var(--text-2)}.foot-brand{display:inline-flex;align-items:center;gap:8px;color:var(--text);font:600 16px var(--font-display)}.foot a{color:var(--text-2);text-decoration:none}.foot a:hover{color:var(--text)}.foot a:last-child{margin-left:auto}@media(max-width:599px){.top{flex-wrap:wrap;gap:0 12px;min-height:0}.top .brand{min-height:44px}.top>.cta{margin-left:auto}.toplinks{order:3;flex:0 0 100%;margin-left:0;justify-content:space-between;gap:8px}.toplinks a:not(.cta){display:inline-flex;align-items:center;min-height:44px}.toplinks a.mem,.top.compact .toplinks{display:none}.top.compact .top-here{margin-left:auto}}@media(pointer:coarse),(max-width:599px){.brand,.cta.slim{min-height:44px}.toplinks a:not(.cta){padding-block:11px}.foot{row-gap:0;column-gap:14px}.foot a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding-inline:5px}}
