:root{--paper:#f7f6f0;--white:#fff;--ink:#1d302b;--muted:#68766f;--green:#173f35;--emerald:#257459;--green-pale:#edf4ee;--coral:#ad5743;--coral-pale:#fcf1ea;--gold:#c6aa65;--line:#e4e7dd;--radius:24px;--shadow:0 10px 38px #19362b06;--font:Tahoma,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}input,button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button{border:0}button,input{min-width:0}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;flex:none;stroke:currentColor;stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round}.number{font-family:"Segoe UI",Arial,sans-serif;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}.muted{color:var(--muted);font-size:14px}.little-dot{width:7px;height:7px;display:inline-block;background:var(--emerald);border-radius:100%}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px;font-weight:700}.section-kicker{font-size:11px;color:var(--muted);margin-bottom:5px}h1,h2,h3,p{margin-top:0}h2{font-size:22px;font-weight:700;line-height:1.55;margin-bottom:8px}h3{font-size:18px}h1{line-height:1.4;letter-spacing:-1px}.topbar{height:92px;background:#fafbf6;border-bottom:1px solid var(--line)}.topbar-inner{max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 30px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand-symbol{width:47px;height:47px;background:var(--green);color:#f1dfb2;border-radius:15px;display:grid;place-items:center;font-size:34px;line-height:1}.brand strong{display:block;font-size:23px;line-height:1.4}.brand small{display:block;font-size:10px;color:var(--muted);letter-spacing:.3px}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:11px 19px;min-height:46px;border-radius:12px;font-size:13px;font-weight:700;transition:background .15s,transform .15s;line-height:1.6}.button:active{transform:translateY(1px)}.button-primary{background:var(--green);color:#fff;border:1px solid var(--green)}.button-primary:hover{background:#245346}.button-outline{background:transparent;border:1px solid #d5dccf;color:var(--green)}.button-outline:hover{background:#edf1e8}.button-wide{width:100%}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:transparent;color:var(--muted);font-size:12px;min-height:44px;padding:6px 5px}.text-button:hover{color:var(--green)}.text-button .icon{width:17px;height:17px}.icon-button{background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;flex:none}.icon-button:hover{background:var(--green-pale);color:var(--green)}.page{max-width:1160px;padding:0 30px;margin:auto}.setup-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center;padding:67px 0 54px}.intro h1{font-size:46px;font-weight:800;margin:20px 0}.intro h1 span{color:var(--emerald)}.intro-text{font-size:15px;color:var(--muted);line-height:2.05;margin-bottom:26px}.playing-cards{width:326px;height:218px;position:relative;margin:15px 0 21px;direction:ltr}.playing-card{width:115px;height:160px;border-radius:13px;background:#fff;border:1px solid #d6dacf;position:absolute;box-shadow:0 14px 24px #213e3010}.playing-card small{position:absolute;left:12px;top:8px;text-align:center;font-size:17px;line-height:1.25;font-family:Georgia,serif}.playing-card .bottom-corner{left:auto;top:auto;right:12px;bottom:8px;transform:rotate(180deg)}.playing-card b{height:100%;display:grid;place-items:center;font-size:65px;font-family:Georgia,serif}.card-back{left:64px;top:21px;transform:rotate(-20deg);background:var(--green);padding:10px;border-color:var(--green)}.card-back>span{display:none}.card-pattern{width:100%;height:100%;border:1px solid #d8c99580;border-radius:5px;background:repeating-linear-gradient(45deg,transparent 0 7px,#d8c99529 7px 8px),repeating-linear-gradient(-45deg,transparent 0 7px,#d8c99529 7px 8px)}.card-heart{left:132px;top:22px;transform:rotate(4deg);color:var(--coral)}.card-spade{left:196px;top:37px;transform:rotate(23deg);color:var(--green)}.goal-token{position:absolute;left:24px;bottom:3px;width:101px;height:101px;border-radius:50%;background:#e9dfc2;display:flex;align-items:center;justify-content:center;flex-direction:column;border:5px solid var(--paper);box-shadow:0 0 0 1px #c6aa6550}.goal-token strong{font-size:32px;line-height:1.2;letter-spacing:-1px;font-family:Georgia,serif;color:var(--green)}.goal-token span{font-size:10px;font-weight:700;margin-top:3px}.intro-facts{display:flex;gap:23px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.intro-facts span{display:inline-flex;align-items:center;gap:5px}.intro-facts .icon{width:16px;height:16px;color:var(--emerald)}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.setup-panel{padding:35px 34px 19px}.setup-panel h2{font-size:28px;letter-spacing:-.6px}.setup-panel>.muted{margin-bottom:27px}.name-field{margin-bottom:21px}.name-field label,.score-input-field label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;margin-bottom:9px;overflow-wrap:anywhere}.team-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.team-a-dot{background:var(--emerald)}.team-b-dot{background:var(--coral)}.name-field input{width:100%;border:1px solid #d8ded4;border-radius:11px;background:#fafbf8;padding:13px 15px;font-size:14px;min-height:51px;outline:0;color:var(--ink)}input::placeholder{color:#95a095}.name-field input:focus{border-color:var(--emerald);box-shadow:0 0 0 3px #25745912;background:#fff}.goal-note{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding:16px 0 19px;font-size:12px;color:var(--muted)}.goal-note .icon{color:#a98b4b;width:21px;height:21px}.goal-note b{color:var(--ink);font-size:15px}.setup-panel .button-primary{min-height:53px}.demo-button{display:flex;width:100%;margin-top:9px;font-size:11px;gap:9px}.demo-button span{font-size:17px;color:var(--emerald)}.setup-bottom,.game-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:17px 0;color:var(--muted);font-size:11px}.setup-bottom>.text-button{font-size:11px}.footer{display:flex;justify-content:space-between;align-items:center;color:#7b857d;font-size:10px;padding:24px 0 30px;border-top:1px solid var(--line)}.footer-suits{margin-inline-start:10px;color:#a2aa9f;letter-spacing:5px;direction:ltr;unicode-bidi:isolate}.footer b{font-size:12px}.game-heading{display:flex;align-items:center;justify-content:space-between;padding:34px 0 23px}.game-heading h1{font-size:31px;margin:5px 0 0}.game-heading .eyebrow{font-size:11px}.scores-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.score-card{border-radius:var(--radius);padding:22px 26px;border:1px solid transparent;position:relative;overflow:hidden}.score-card-a{background:var(--green-pale);border-color:#d6e4d6;--team-color:var(--emerald)}.score-card-b{background:var(--coral-pale);border-color:#efdcd1;--team-color:var(--coral)}.score-card-top{display:flex;align-items:center;justify-content:space-between}.team-letter{font-size:26px;color:var(--team-color);line-height:1}.score-badge{font-size:10px;line-height:1.5;border-radius:100px;background:#ffffff70;color:var(--team-color);border:1px solid #ffffff80;padding:4px 11px;font-weight:700}.score-card.is-leading .score-badge{background:var(--team-color);border-color:var(--team-color);color:#fff}.score-card h2{font-size:19px;margin:17px 0 0;overflow-wrap:anywhere;min-height:30px}.score-total{display:flex;align-items:baseline;gap:10px;margin:0 0 10px}.score-total strong{font-size:66px;line-height:1.2;letter-spacing:-2px;font-weight:650;color:var(--team-color)}.score-total span{font-size:12px;color:var(--muted)}.progress-caption{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-bottom:7px}.progress-caption b{font-weight:600}progress{width:100%;display:block;border:none;border-radius:5px;height:6px;overflow:hidden;background:#fff;color:var(--team-color);appearance:none}progress::-webkit-progress-bar{background:#fff;border-radius:5px}progress::-webkit-progress-value{background:var(--team-color);border-radius:5px;transition:width .45s}progress::-moz-progress-bar{background:var(--team-color);border-radius:5px}.remaining-line{display:flex;justify-content:space-between;align-items:center;margin-top:11px;color:var(--muted);font-size:11px}.remaining-line strong{font-size:20px;color:var(--team-color);font-weight:600}.leader-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--green);border-radius:17px;padding:17px 24px;margin:20px 0 25px;color:#fff}.leader-copy{display:flex;align-items:center;gap:13px;min-width:0}.leader-copy>div{min-width:0}.leader-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid #ffffff20;border-radius:12px;color:#e1c98c;flex:none}.leader-icon .icon{width:23px;height:23px}.leader-copy small{font-size:10px;color:#c0d1c3;display:block}.leader-copy strong{font-size:16px;display:block;overflow-wrap:anywhere}.gap-copy{padding-inline-start:25px;border-inline-start:1px solid #ffffff20;flex:none}.gap-copy>span{font-size:10px;display:block;color:#c0d1c3}.gap-copy strong{display:flex;align-items:baseline;gap:7px}.gap-copy b{font-size:25px;line-height:1.25;color:#eed99d;font-weight:650}.gap-copy small{font-size:10px;font-weight:400;color:#c0d1c3}.leader-panel.is-finished{background:#254d3e;border:1px solid #baa362}.game-workspace{display:grid;grid-template-columns:1fr 1.32fr;align-items:start;gap:24px;margin-bottom:26px}.round-panel,.history-panel{padding:25px 24px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:21px}.panel-heading h2{font-size:20px;margin:0}.round-counter{width:41px;height:41px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#f6f8f3;color:#78877b;font-size:17px;font-weight:600}.round-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.score-input-field label{font-size:11px;line-height:1.7;margin-bottom:10px}.score-input-wrap{position:relative}.score-input-wrap input{width:100%;height:84px;text-align:center;font-family:"Segoe UI",Arial,sans-serif;font-variant-numeric:tabular-nums;font-size:35px;letter-spacing:-1px;border-radius:13px;border:1px solid #d8ded4;outline:0;background:#fafcf8;color:var(--ink);padding:5px 30px 5px 8px}.team-b-field .score-input-wrap input{border-color:#e7d9d0;background:#fdf9f6}.score-input-wrap input:focus{border-color:var(--emerald);box-shadow:0 0 0 3px #25745910;background:#fff}.team-b-field .score-input-wrap input:focus{border-color:var(--coral);box-shadow:0 0 0 3px #ad574312}.sign-button{position:absolute;right:1px;bottom:1px;border-start-start-radius:8px;border-end-end-radius:12px;color:#6d7b70;background:transparent;font-size:20px;width:32px;height:44px}.sign-button:hover{background:#e3ebdf}.input-help{font-size:10px;color:var(--muted);line-height:1.9;margin:13px 0 21px}.round-panel .button-primary{min-height:48px}.save-state{display:flex;align-items:center;justify-content:center;gap:5px;color:#7b887c;font-size:10px;margin-top:17px;padding-top:15px;border-top:1px solid var(--line)}.save-state .icon{color:var(--emerald);width:14px;height:14px}.count-pill{background:#f2f5ef;border-radius:30px;font-size:10px;color:var(--muted);padding:5px 11px;white-space:nowrap}.empty-history{padding:25px 5px 19px;text-align:center;color:var(--muted)}.empty-cards{display:flex;direction:ltr;justify-content:center;gap:0;height:70px;align-items:center;margin-bottom:16px}.empty-cards span{background:#f4f7f1;border:1px solid #e0e6db;width:39px;height:55px;display:grid;place-items:center;border-radius:7px;font-size:23px;color:#799587;transform:rotate(-12deg);margin-left:-8px}.empty-cards span+span{transform:rotate(13deg);color:#b38878;background:#fcf5f0}.empty-history h3{color:#637468;font-size:15px;margin-bottom:5px}.empty-history p{font-size:11px;margin-bottom:0}.history-table-wrap{max-height:402px;overflow:auto;scrollbar-width:thin;scrollbar-color:#cbd5c8 transparent}.history-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.history-table th{text-align:start;font-size:10px;font-weight:700;color:var(--muted);padding:9px 6px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:1;overflow-wrap:anywhere}.history-table th:nth-child(1){width:15%}.history-table th:nth-child(2),.history-table th:nth-child(3){width:35%}.history-table th:nth-child(4){width:15%}.history-table td{border-bottom:1px solid #f0f2ec;padding:10px 6px;vertical-align:middle}.history-table tbody tr:last-child td{border-bottom:0}.history-table .round-index{color:#8b948b;font-weight:600}.history-table .round-points{font-size:18px;line-height:1.35;font-weight:600;display:block;color:var(--emerald)}.history-table td:nth-child(3) .round-points{color:var(--coral)}.history-table .cumulative{display:block;font-size:9px;color:#768476}.history-table .icon-button{width:40px;height:40px}.history-table .icon-button .icon{width:16px;height:16px}.history-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:8px;margin-top:10px}.history-actions>.text-button{font-size:11px}.game-bottom{font-size:10px}.game-bottom>span{display:flex;align-items:center;gap:6px}.save-dot{width:5px;height:5px;background:#74a484;border-radius:50%}.demo-notice{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#f5eccf;border:1px solid #e1d4a9;border-radius:12px;padding:8px 15px;font-size:11px;color:#706235;margin-bottom:17px}.demo-notice .text-button{font-size:11px;color:var(--green);font-weight:700;white-space:nowrap}.storage-warning{font-size:12px;color:#9c542f;border:1px solid #edd3bd;border-radius:10px;padding:10px 15px;background:#fff3e7}.finished-actions{text-align:center}.finished-trophy{display:grid;place-items:center;margin:0 auto 14px;width:64px;height:64px;background:#f3ecd9;border-radius:50%;color:#a58741}.finished-trophy .icon{width:32px;height:32px}.finished-actions h3{font-size:19px;margin-bottom:8px;overflow-wrap:anywhere}.finished-actions>.muted{font-size:12px;margin-bottom:21px}.finished-actions>.text-button{margin-top:9px}.form-error{font-size:12px;color:#a14334;background:#fcf1ec;border:1px solid #edd3c8;border-radius:8px;padding:9px 12px;line-height:1.8;margin:10px 0 16px}.modal{border:1px solid #e1e6dc;border-radius:23px;padding:26px;width:min(470px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;background:#fff;color:var(--ink);box-shadow:0 25px 100px #07150b30}.modal::backdrop{background:#15392bb0;backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-heading h2{font-size:21px;margin:0}.modal>.muted{font-size:12px;margin:11px 0 25px}.modal-actions{display:flex;gap:10px;margin-top:24px}.modal-actions .button{flex:1}.new-game-options{display:grid;gap:12px}.help-modal{width:min(520px,calc(100% - 32px))}.help-steps{padding-inline-start:23px;margin:18px 0;font-size:13px}.help-steps li{padding-inline-start:5px;margin-bottom:15px}.help-steps li::marker{color:var(--emerald);font-weight:700}.help-steps p{color:var(--muted);font-size:12px;line-height:1.95;margin:3px 0}.help-storage{background:var(--green-pale);border-radius:11px;padding:14px;font-size:11px;color:#546b5e}.install-note{font-size:11px;color:var(--muted);margin:13px 0 19px}.share-url{width:100%;border:1px solid var(--line);border-radius:10px;padding:14px 12px;background:#f7f9f4;font-family:"Segoe UI",Arial,sans-serif;font-size:13px;color:var(--green);margin-bottom:18px}.toast{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:13px 21px;border-radius:13px;box-shadow:0 8px 24px #193d3430;display:flex;align-items:center;gap:20px;z-index:50;font-size:12px;max-width:calc(100vw - 32px);width:max-content}.toast .text-button{color:#eed99d;min-height:30px;padding:0;font-weight:700;font-size:12px;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.noscript{padding:20px;background:#fff0e4;border:1px solid #e8c9b2;border-radius:14px;margin:20px 0}
.footer-credit{display:flex;flex-direction:column;gap:3px;text-align:center;color:var(--muted);font-size:11px;line-height:1.9}.footer-credit span:first-child{font-weight:700;color:var(--green)}
@media(max-width:700px){.footer{flex-wrap:wrap;gap:12px 18px}.footer-credit{order:3;width:100%;font-size:11px;padding-top:8px}.footer-credit span:last-child{font-size:10px}}
@media(min-width:1200px){.setup-layout{min-height:640px}.intro h1{font-size:49px}}
@media(max-width:960px){.setup-layout{gap:35px;padding-top:48px}.intro h1{font-size:37px}.intro-text{font-size:13px}.setup-panel{padding:29px 25px 17px}.intro-facts{gap:10px;font-size:10px}.playing-cards{transform:scale(.9);transform-origin:right center;width:295px;margin-top:0;margin-bottom:0}.game-workspace{gap:17px;grid-template-columns:1fr 1.12fr}.round-panel,.history-panel{padding:22px 18px}.round-inputs{gap:12px}}
@media(max-width:700px){.topbar{height:76px}.topbar-inner,.page{padding-inline:20px}.brand-symbol{width:40px;height:40px;border-radius:12px;font-size:29px}.brand{gap:10px}.brand strong{font-size:21px}.topbar .button{font-size:11px;min-height:42px;padding:8px 12px;gap:7px}.topbar .icon{width:17px;height:17px}.setup-layout{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:32px 0 25px}.intro{position:relative}.intro h1{font-size:32px;margin:12px 0 10px;line-height:1.5;max-width:65%}.intro .eyebrow{font-size:10px}.intro-text{font-size:12px;margin-bottom:16px;line-height:1.9;max-width:70%}.playing-cards{position:absolute;left:-30px;top:24px;width:326px;transform:scale(.48);transform-origin:left top;pointer-events:none}.intro-facts{font-size:10px;gap:15px;margin-top:22px}.setup-panel{padding:24px 23px 14px;border-radius:20px}.setup-panel h2{font-size:24px}.setup-panel>.muted{font-size:12px;margin-bottom:22px}.name-field{margin-bottom:17px}.name-field label{font-size:11px}.name-field input{min-height:50px;font-size:16px}.goal-note{padding:13px 0 17px;font-size:11px}.setup-bottom{font-size:10px;gap:10px;padding:12px 0}.setup-bottom>.text-button{font-size:10px}.footer{font-size:9px;padding:21px 0 26px}.footer-suits{margin-inline-start:6px;letter-spacing:3px}.game-heading{padding-top:25px;padding-bottom:18px}.game-heading h1{font-size:26px}.game-heading>.button{font-size:11px;padding:8px 11px;min-height:42px;gap:6px}.scores-grid{gap:12px}.score-card{padding:16px 17px;border-radius:19px}.team-letter{font-size:23px}.score-badge{font-size:9px;padding:3px 8px}.score-card h2{font-size:15px;margin-top:13px;min-height:24px}.score-total{gap:6px;margin-bottom:13px}.score-total strong{font-size:49px;letter-spacing:-1.5px}.score-total span{font-size:10px}.progress-caption{font-size:9px;gap:5px}.remaining-line{font-size:9px;margin-top:9px;gap:5px}.remaining-line strong{font-size:18px}.leader-panel{margin:15px 0 19px;padding:15px 17px;border-radius:15px}.leader-icon{width:36px;height:36px;border-radius:10px}.leader-copy{gap:9px}.leader-copy small{font-size:9px}.leader-copy strong{font-size:13px}.gap-copy{padding-inline-start:15px}.gap-copy b{font-size:24px}.gap-copy>span,.gap-copy small{font-size:9px}.game-workspace{grid-template-columns:1fr;gap:19px;margin-bottom:20px}.round-panel,.history-panel{padding:22px 21px;border-radius:20px}.panel-heading{margin-bottom:19px}.panel-heading h2{font-size:19px}.round-inputs{gap:14px}.score-input-field label{font-size:12px}.score-input-wrap input{height:78px;font-size:36px}.input-help{font-size:10px;margin:11px 0 18px}.save-state{font-size:10px}.history-table th{font-size:10px}.history-table .cumulative{font-size:10px}.history-table-wrap{max-height:390px}.empty-history{padding:13px 5px 16px}.game-bottom{padding:11px 0;font-size:9px}.game-bottom>.text-button{font-size:10px}.demo-notice{font-size:10px;padding:7px 12px}.modal{padding:23px}.modal-heading h2{font-size:19px}.modal .score-input-field label{font-size:11px}}
@media(max-width:390px){.page,.topbar-inner{padding-inline:16px}.intro h1{font-size:28px;max-width:70%}.intro-text{font-size:11px;max-width:75%}.playing-cards{transform:scale(.4);top:40px;left:-30px}.score-card{padding:14px 12px}.score-card h2{font-size:14px}.score-total strong{font-size:43px}.score-total span{font-size:9px}.progress-caption{font-size:8px}.remaining-line{font-size:8px}.remaining-line strong{font-size:17px}.round-panel,.history-panel{padding:19px 17px}.intro-facts{gap:8px;font-size:9px}.score-badge{font-size:8px;padding:3px 6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Compact match view with on-demand history. */
.game-workspace{grid-template-columns:1fr;margin-bottom:12px}
.game-tools{display:flex;justify-content:center;gap:12px;align-items:center;margin-bottom:12px}
.game-tools #share-result{background:var(--green-pale);border-radius:12px;padding-inline:14px;color:var(--green);font-weight:700}
.history-modal{width:min(640px,calc(100% - 24px))}
.history-modal .history-panel{border:0;box-shadow:none;padding:12px 0 0}
.result-modal{width:min(470px,calc(100% - 24px))}
.result-modal #result-image{display:block;width:100%;height:auto;max-height:56dvh;object-fit:contain;border-radius:14px}
#result-image-status{font-size:12px;color:var(--muted);margin:12px 0}
.result-modal a{text-decoration:none}
@media(max-width:700px){
 body{min-height:100svh;display:flex;flex-direction:column}
 .topbar{height:52px;flex:none}.topbar-inner,.page{padding-inline:12px}
 .brand-symbol{width:32px;height:32px;font-size:24px;border-radius:9px}.brand strong{font-size:18px}.brand small{display:none}
 .topbar .button{min-height:40px;padding:5px 10px}
 .page{width:100%;display:flex;flex-direction:column;flex:1;min-height:0}
 #setup-view{flex:1}.setup-layout{gap:10px;padding:16px 0 12px}.intro h1{font-size:25px;max-width:none;margin:5px 0;line-height:1.3}.intro h1 br{display:none}
 .intro-text,.playing-cards,.intro-facts,.setup-bottom{display:none}
 .setup-panel{padding:16px}.setup-panel h2{font-size:22px}.setup-panel>.muted{margin-bottom:12px}
 .name-field{margin-bottom:12px}.name-field label{margin-bottom:5px}.goal-note{padding:10px 0}.demo-button{margin:0}
 #game-view{display:grid;gap:8px;flex:1;min-height:0;align-content:start}
 .game-heading{padding:8px 0 0}.game-heading h1{font-size:20px;margin:0}.game-heading .eyebrow{font-size:10px}
 .scores-grid{gap:8px}.score-card{padding:10px 12px;border-radius:16px}
 .score-card-top{height:22px}.team-letter{font-size:20px}.score-badge{font-size:9px}
 .score-card h2{font-size:14px;line-height:1.5;margin:4px 0;min-height:21px}
 .score-total{margin:0;gap:5px}.score-total strong{font-size:clamp(32px,6.5dvh,52px);line-height:1.15}
 .progress-caption{display:none}progress{height:5px;margin-top:7px}
 .remaining-line{margin-top:5px;font-size:10px;flex-wrap:wrap}.remaining-line strong{font-size:18px}
 .leader-panel{margin:0;padding:9px 12px;border-radius:13px}.leader-icon{width:30px;height:30px}.leader-copy strong{font-size:13px}.gap-copy b{font-size:22px}
 .game-workspace{display:block;margin:0}.round-panel{padding:12px 14px;border-radius:16px}
 .round-panel .section-kicker{display:none}.round-panel .panel-heading{margin-bottom:7px}.round-panel .panel-heading h2{font-size:17px}.round-counter{width:30px;height:30px;font-size:14px}
 .round-inputs{gap:10px}.score-input-field label{font-size:11px;margin-bottom:5px;line-height:1.5}
 .score-input-wrap input{height:clamp(48px,8dvh,65px);font-size:30px}.sign-button{width:36px}
 .input-help{margin:5px 0 7px;font-size:10px;line-height:1.5}.round-panel .button-primary{min-height:42px;padding:7px 12px}
 .save-state{padding-top:6px;margin-top:6px;font-size:9px;line-height:1.5}
 .game-tools{gap:8px;margin:0;flex-wrap:wrap}.game-tools .button,.game-tools .text-button{font-size:11px;min-height:42px;padding:6px 10px}
 .game-bottom{display:none}.footer{margin-top:auto;padding:6px 0;justify-content:center;gap:0;flex:none;line-height:1.4}
 .footer>span{display:none}.footer-credit{padding:0;order:0;width:100%;font-size:10px;line-height:1.4;gap:1px}.footer-credit span:last-child{font-size:9px}
 .finished-trophy{width:36px;height:36px;margin-bottom:5px}.finished-trophy .icon{width:23px;height:23px}.finished-actions h3{font-size:17px;margin-bottom:4px}.finished-actions>.muted{margin-bottom:8px;font-size:11px}
 .demo-notice{margin:0;padding:4px 10px}.storage-warning{margin:0;font-size:10px;padding:4px 8px}
 .form-error{margin:5px 0;padding:5px 8px;font-size:11px}
}
@media(max-width:700px) and (min-height:600px){
 body{height:100dvh}
 #game-view{grid-template-rows:auto minmax(min-content,1fr) auto auto auto}
 .scores-grid{align-items:stretch}.score-card{display:flex;flex-direction:column;justify-content:center}
}
@media(max-width:700px) and (max-height:740px){
 .topbar{height:46px}#game-view{gap:5px}.game-heading{padding-top:4px}.game-heading h1{display:none}
 .score-card{padding:8px 10px}.score-card h2{margin:2px 0}.score-total strong{font-size:36px}.remaining-line{font-size:9px;margin-top:3px}.remaining-line strong{font-size:16px}
 .round-panel{padding:9px 12px}.round-counter{display:none}.round-panel .panel-heading{margin-bottom:5px}.score-input-wrap input{height:46px;font-size:28px}.round-panel .save-state{display:none}
 .leader-panel{padding:7px 10px}.leader-icon{width:28px;height:28px}.footer{padding:4px 0}.game-tools{gap:4px}.game-tools .button,.game-tools .text-button{padding-inline:7px}
}
