@charset "UTF-8";:root{color-scheme:dark;--color-background: #0f1622;--color-background-highlight: #172338;--color-surface: #172231;--color-surface-raised: #202d3e;--color-text: #f3f1ec;--color-text-muted: #9ba8b9;--color-border: #2e3b4d;--color-primary: #2a3c5d;--color-accent: #f27b46;--color-danger: #ef716d;--color-success: #72c58d;--color-input-background: #111b28;--color-navigation-background: rgba(15, 22, 34, .96);--color-overlay: rgba(4, 8, 14, .72);--color-selected: #2a3a4f;--color-accent-soft: #3b2925;--color-danger-soft: #3b2428;--color-success-soft: #1d3429;--ink: var(--color-text);--muted: var(--color-text-muted);--paper: var(--color-background);--card: var(--color-surface);--line: var(--color-border);--navy: var(--color-primary);--navy-dark: #0b111b;--orange: var(--color-accent);--orange-soft: var(--color-accent-soft);--gold: #e0ad43;--gold-soft: #342e20;--blue: #79aee0;--blue-soft: #1e3042;--danger: var(--color-danger);--shadow: 0 18px 45px rgba(0, 0, 0, .28);font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=light]{color-scheme:light;--color-background: #fbfaf7;--color-background-highlight: #ffffff;--color-surface: #ffffff;--color-surface-raised: #f5f5f2;--color-text: #202a3c;--color-text-muted: #788396;--color-border: #e4e5e2;--color-primary: #293b5f;--color-accent: #f07b45;--color-danger: #c34c48;--color-success: #5ca873;--color-input-background: #ffffff;--color-navigation-background: rgba(255, 255, 255, .96);--color-overlay: rgba(24, 29, 38, .5);--color-selected: #ffffff;--color-accent-soft: #fff0e7;--color-danger-soft: #fff0ef;--color-success-soft: #edf7f0;--navy-dark: #1d2b47;--gold: #daa739;--gold-soft: #fff7df;--blue: #3e74a7;--blue-soft: #edf5fb;--shadow: 0 18px 45px rgba(35, 44, 60, .08)}*{box-sizing:border-box}html{min-width:320px;background:var(--paper)}body{margin:0;min-height:100dvh;background:radial-gradient(circle at 15% 5%,var(--color-background-highlight) 0,transparent 32rem),var(--paper)}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}.app-shell{min-height:100dvh;padding-bottom:88px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;width:min(1120px,100% - 36px);margin:auto;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:38px;height:42px;display:grid;place-items:center;color:#fff;background:var(--navy);border-radius:7px 7px 14px;font-family:Georgia;font-size:24px;transform:rotate(-3deg);box-shadow:3px 4px 0 var(--orange)}.brand>span:last-child{display:flex;flex-direction:column;line-height:1}.brand strong{font-family:Georgia;font-size:22px;letter-spacing:.01em}.brand small{margin-top:4px;color:var(--orange);text-transform:uppercase;font-size:9px;letter-spacing:.27em;font-weight:700}.active-pill{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);background:var(--color-surface);border:1px solid var(--line);border-radius:999px;padding:8px 13px}.active-pill span,.live-label i{width:7px;height:7px;background:#5cab73;border-radius:50%;box-shadow:0 0 0 4px #e5f5e9}.page-frame{width:min(960px,100% - 32px);margin:0 auto;padding:58px 0 40px}.bottom-nav{position:fixed;z-index:5;bottom:0;left:0;right:0;height:70px;display:flex;justify-content:center;gap:clamp(20px,8vw,90px);background:var(--color-navigation-background);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--line)}.bottom-nav a{min-width:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#9299a5;font-size:10px;font-weight:700;letter-spacing:.05em}.bottom-nav a span{font-size:22px;font-weight:400;line-height:1}.bottom-nav a.is-active{color:var(--navy)}.hero{max-width:680px;margin:20px 0 46px}.eyebrow{display:block;color:var(--orange);font-size:10px;font-weight:700;letter-spacing:.22em;margin-bottom:14px}.hero h1,.page-heading h1{margin:0;font-family:Georgia,Georgia,serif;font-weight:400;line-height:.98;letter-spacing:-.035em}.hero h1{font-size:clamp(48px,8vw,76px)}.hero h1 em{color:var(--orange);font-weight:400}.hero p,.page-heading p{color:var(--muted);line-height:1.6}.hero p{margin:20px 0 0;font-size:16px}.continue-card{background:var(--navy);color:#fff;min-height:194px;border-radius:18px;padding:28px 32px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 26px;box-shadow:var(--shadow);position:relative;overflow:hidden}.continue-card:after{content:"\2660";position:absolute;right:24%;bottom:-64px;font-size:180px;color:#ffffff09;transform:rotate(-10deg)}.live-label{display:flex;align-items:center;gap:9px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#ced5e1}.continue-card h2{font-family:Georgia;font-weight:400;font-size:27px;margin:16px 0 0}.continue-card h2 small,.history-card h2 small{font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:11px;color:#9ea9ba;text-transform:uppercase;margin:0 7px}.mini-score{display:flex;align-items:center;gap:13px;font-size:18px;z-index:1}.mini-score strong{font-size:38px;font-family:Georgia}.continue-card .button{justify-self:start;z-index:1}.start-card{display:flex;align-items:center;gap:18px;padding:25px 28px;min-height:112px;background:var(--navy);color:#fff;border-radius:16px;box-shadow:var(--shadow)}.start-card>span:nth-child(2){display:flex;flex-direction:column;flex:1}.start-card strong{font-family:Georgia;font-size:23px;font-weight:400}.start-card small{color:#b7c0d0;margin-top:5px}.start-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:var(--navy);background:var(--color-surface);font-size:27px}.start-card>b{font-size:26px}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.quick-links a{min-height:95px;background:var(--color-surface);border:1px solid var(--line);border-radius:13px;display:flex;align-items:center;gap:13px;padding:18px}.quick-links a>span:nth-child(2){display:flex;flex:1;flex-direction:column}.quick-links strong{font-size:13px}.quick-links small{color:var(--muted);margin-top:4px;font-size:11px}.quick-links a>b{color:#a8adb5;font-size:22px}.link-icon,.field-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px}.link-icon.amber{background:var(--gold-soft);color:var(--gold)}.link-icon.coral{background:var(--orange-soft);color:var(--orange)}.link-icon.blue{background:var(--blue-soft);color:var(--blue)}.offline-note{text-align:center;color:#9a9fa9;font-size:10px;letter-spacing:.04em;margin:30px 0 0}.offline-note span{color:#63a474}.button{min-height:44px;display:inline-flex;justify-content:center;align-items:center;gap:18px;padding:0 20px;border:0;border-radius:8px;font-size:12px;font-weight:700}.button-primary{background:var(--orange);color:#fff;box-shadow:0 8px 20px #f07b4533}.button-primary:hover{background:#e86e38}.button:disabled{opacity:.45;cursor:not-allowed}.button-large{min-height:56px;width:100%;font-size:14px}.button-large span{font-size:20px}.page-heading{display:flex;align-items:flex-start;gap:21px;margin-bottom:34px}.page-heading.simple{padding-left:58px}.page-heading h1{font-size:clamp(38px,6vw,58px)}.page-heading p{margin:9px 0 0}.back-link{flex:0 0 39px;width:39px;height:39px;display:grid;place-items:center;background:var(--color-surface);border:1px solid var(--line);border-radius:50%;font-size:19px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 35px #1e283c09}.setup-form,.round-form{max-width:760px;margin:auto}.team-grid{display:grid;grid-template-columns:1fr 40px 1fr;align-items:center}.team-setup{overflow:hidden;position:relative;padding:24px}.team-setup:before,.score-team:before,.score-summary>div:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold)}.team-b-accent:before{background:var(--orange)!important}.team-number{font-size:9px;font-weight:700;letter-spacing:.2em;color:var(--gold)}.team-b-accent .team-number{color:var(--orange)}.versus{text-align:center;color:#a9adb5;font-size:10px;font-weight:700}label,fieldset{display:block;border:0;padding:0;font-size:11px;font-weight:700;color:var(--color-text-muted)}label>span{color:var(--color-text-muted);font-weight:500;float:right}input,textarea{width:100%;border:1px solid var(--color-border);background:var(--color-input-background);border-radius:8px;color:var(--ink);padding:12px 13px;outline:none;transition:border .15s,box-shadow .15s}input:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}.team-setup>label{margin-top:19px}.team-setup>label input{margin-top:7px;font-family:Georgia;font-size:20px}.player-fields{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;padding-top:16px}.player-fields input{margin-top:6px}.settings-card{margin:16px 0;padding:19px 22px;display:flex;align-items:center;justify-content:space-between}.settings-card>div,.settings-list>div{display:flex;align-items:center;gap:14px}.settings-card strong,.settings-card small,.settings-list strong,.settings-list small{display:block}.settings-card small,.settings-list small{color:var(--muted);font-size:11px;margin-top:4px}.field-icon{color:var(--orange);background:var(--orange-soft)}.score-input{position:relative}.score-input input{width:150px;padding-right:54px;font-weight:700;font-size:16px}.score-input span{float:none;position:absolute;right:12px;top:14px;font-size:10px}.form-warning,.manual-note{color:#8a6730;background:var(--gold-soft);border-radius:8px;padding:11px 14px;font-size:11px;line-height:1.5}.game-header{margin-top:-20px}.round-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--orange)}.round-line a{letter-spacing:0;color:var(--navy);background:var(--color-surface);border:1px solid var(--line);padding:9px 12px;border-radius:8px}.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:var(--navy);color:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.score-team{position:relative;padding:25px 30px}.score-team:last-child{text-align:right}.score-team small{color:#aeb8c9;font-size:9px;letter-spacing:.16em}.score-team h2{margin:7px 0 1px;font:400 21px Georgia}.score-team strong{font:400 51px Georgia}.target{text-align:center;color:#abb5c6;font-size:10px}.target span,.target strong{display:block}.target strong{color:#fff;font-size:14px;margin-top:2px}.round-form{margin-top:18px}.form-section{padding:22px 24px;margin-bottom:13px}.section-title{display:flex;gap:13px;align-items:center;margin-bottom:20px}.section-title>span{flex:0 0 30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:12px}.section-title h2{margin:0;font:400 22px Georgia}.section-title p{margin:3px 0 0;color:var(--muted);font-size:11px}.segmented{display:grid;gap:7px;background:var(--color-surface-raised);padding:4px;border-radius:9px;margin-bottom:16px}.segmented.two-up{grid-template-columns:1fr 1fr}.segmented button,.suit-grid button{border:1px solid transparent;background:transparent;min-height:44px;border-radius:7px;color:var(--muted);font-weight:600}.segmented button.selected,.suit-grid button.selected{background:var(--color-surface);border-color:var(--color-border);color:var(--navy);box-shadow:0 3px 10px #141e3212}fieldset{margin-top:17px}legend{margin-bottom:8px}.suit-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.suit-grid button{background:var(--color-surface-raised);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.suit-grid b{font-size:21px}.suit-grid span{font-size:9px}.red-suit b{color:var(--danger)}.manual-note{margin-bottom:14px}.points-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.points-grid label>span{float:none;display:block;margin-bottom:7px;color:var(--color-text-muted)}.points-grid input{font:400 26px Georgia;text-align:center}.optional-section{margin:10px 0;padding:0 19px}summary{min-height:57px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;font-size:12px;font-weight:700}summary b{margin-right:9px;color:var(--orange)}summary small{color:var(--color-text-muted);font-weight:500}.optional-section label{padding:0 0 17px}.optional-section textarea{margin-top:7px;resize:vertical}.round-form>.button-large{margin-top:15px}.editing-banner{display:flex;justify-content:space-between;padding:10px 14px;margin-bottom:12px;color:#805f22;background:var(--gold-soft);border-radius:8px;font-size:11px}.editing-banner a{font-weight:700}.game-actions{display:flex;justify-content:center;gap:30px;margin-top:15px}.text-button{border:0;background:transparent;color:var(--muted);padding:10px;font-size:11px}.text-button:hover{color:var(--ink)}.text-button.danger{color:var(--danger);margin:20px auto;display:block}.empty-state{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--color-surface);border:1px dashed #d9dbde;border-radius:16px;padding:30px}.empty-state.compact{min-height:240px}.empty-state>span{font-size:35px;color:var(--orange)}.empty-state h1,.empty-state h2{margin:12px 0 4px;font:400 29px Georgia}.empty-state p{color:var(--muted);margin:0 0 20px}.score-summary{background:var(--navy);color:#fff;border-radius:15px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:18px;overflow:hidden}.score-summary>div{position:relative;display:flex;flex-direction:column;padding:20px 28px}.score-summary>div:last-child{align-items:flex-end}.score-summary span{color:#b3bdcc;font-size:11px}.score-summary strong{font:400 40px Georgia}.round-list{background:var(--color-surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.round-row{min-height:75px;display:grid;grid-template-columns:42px 1fr auto 50px;align-items:center;gap:14px;padding:10px 18px;border-bottom:1px solid var(--line)}.round-row:last-child{border-bottom:0}.round-number{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--color-surface-raised);font-size:11px;font-weight:700}.round-meta strong,.round-meta span{display:block}.round-meta strong{font-size:12px}.round-meta span{margin-top:3px;color:var(--muted);font-size:10px}.round-points{min-width:145px;display:grid;grid-template-columns:1fr auto 1fr;text-align:center;align-items:center;gap:5px}.round-points strong{font:400 21px Georgia}.round-points span{color:var(--color-text-muted)}.round-points small{grid-column:1/-1;color:var(--color-text-muted);font-size:9px}.round-row>a{color:var(--orange);font-size:10px;font-weight:700}.history-list{display:grid;gap:11px;max-width:840px;margin:auto}.history-card{display:flex;align-items:center;justify-content:space-between;background:var(--color-surface);border:1px solid var(--line);border-radius:13px;padding:20px 24px}.history-card time,.history-card>div>span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.history-card h2{margin:6px 0;font:400 20px Georgia}.history-score{display:flex;gap:10px;align-items:center}.history-score strong{font:400 28px Georgia}.history-score i{color:#b1b5bc;font-style:normal}.history-score b{color:#a6abb3;font-size:21px;margin-left:12px}.notice-card,.content-card{max-width:760px;margin:0 auto 15px;padding:25px}.notice-card{display:flex;gap:17px;border-color:#f2d8c9;background:var(--color-surface)}.notice-card>span{flex:0 0 33px;height:33px;display:grid;place-items:center;border-radius:50%;background:var(--orange-soft);color:var(--orange);font-weight:700}.notice-card h2,.content-card h2{margin:1px 0 7px;font:400 23px Georgia}.notice-card p,.content-card li{color:var(--muted);font-size:13px;line-height:1.7}.content-card ul{margin:10px 0 0;padding-left:20px}.settings-list{max-width:760px;margin:auto;padding:0 22px}.settings-list>div{min-height:76px;border-bottom:1px solid var(--line)}.settings-list>div:last-child{border:0}.settings-list>div>span:nth-child(2){flex:1}.settings-list button,.status-dot{border:1px solid var(--line);background:var(--color-surface-raised);border-radius:7px;padding:8px 11px;color:var(--muted);font-size:10px}.status-dot{color:#599268;background:#eff8f1;border-color:#dceee0}.danger-zone{max-width:760px;margin:20px auto;padding:22px;border:1px solid color-mix(in srgb,var(--color-danger) 35%,var(--color-border));border-radius:13px}.danger-zone h2{margin:0;font:400 21px Georgia}.danger-zone p{color:var(--muted);font-size:12px}.button-danger{background:var(--color-input-background);border:1px solid color-mix(in srgb,var(--color-danger) 35%,var(--color-border));color:var(--danger)}@media(min-width:760px){.bottom-nav{inset:86px auto auto 20px;width:72px;height:auto;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:14px;padding:8px 0;box-shadow:var(--shadow)}.bottom-nav a{width:100%;min-height:58px}.page-frame{padding-left:70px}.app-shell{padding-bottom:0}}@media(max-width:680px){.topbar{height:66px;width:calc(100% - 28px)}.active-pill{font-size:0;padding:9px}.page-frame{width:calc(100% - 26px);padding:34px 0 28px}.hero{margin:8px 5px 32px}.hero p{font-size:14px}.continue-card{grid-template-columns:1fr;padding:24px}.mini-score{position:absolute;top:25px;right:24px}.mini-score strong{font-size:28px}.quick-links{grid-template-columns:1fr;gap:8px}.quick-links a{min-height:76px}.page-heading.simple{padding-left:0}.team-grid{grid-template-columns:1fr;gap:10px}.versus{height:22px;display:grid;place-items:center}.settings-card{align-items:flex-start;gap:14px}.score-input input{width:118px}.scoreboard{grid-template-columns:1fr 54px 1fr}.score-team{padding:20px 16px}.score-team h2{font-size:17px}.score-team strong{font-size:42px}.suit-grid{grid-template-columns:repeat(3,1fr)}.suit-grid button{min-height:58px}.round-row{grid-template-columns:35px 1fr auto;padding:10px 12px;gap:8px}.round-row>a{grid-column:3}.round-points{min-width:110px}.history-card{padding:17px}.history-card h2{font-size:17px}.history-score strong{font-size:23px}.history-score b{display:none}}@media(max-width:420px){.player-fields{grid-template-columns:1fr}.settings-card{display:block}.score-input{display:block;margin-top:14px}.score-input input{width:100%}.page-heading{gap:13px}.page-heading p{font-size:13px}.points-grid{gap:8px}.score-summary>div{padding:18px}.round-meta span{max-width:95px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.detail-actions{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:20px}.detail-actions .danger{margin:0}.dealer-select select{min-width:160px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--ink);padding:11px 32px 11px 12px}.contract-grid{display:grid;grid-template-columns:minmax(120px,.35fr) 1fr;gap:15px;align-items:end}.contract-grid input{margin-top:8px;font:400 24px Georgia;text-align:center}.contract-state{grid-template-columns:repeat(3,1fr);margin:0}.contract-state button{display:flex;flex-direction:column;justify-content:center}.contract-state small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.four-suits{grid-template-columns:repeat(4,1fr)}.outcome-card{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;margin-bottom:13px}.outcome-card>button{min-height:61px;border:1px solid transparent;border-radius:9px;background:var(--color-surface-raised);color:var(--ink);display:flex;align-items:center;gap:10px;padding:10px 14px;text-align:left}.outcome-card>button>b{color:var(--gold);font-size:23px}.outcome-card>button span,.outcome-card>button strong,.outcome-card>button small{display:block}.outcome-card>button small{color:var(--muted);margin-top:2px;font-size:9px}.outcome-card>button.selected{border-color:var(--gold);background:var(--gold-soft)}.outcome-card>button.reverse>b{color:var(--danger)}.outcome-card>button.reverse.selected{border-color:#e4aaa6;background:var(--color-danger-soft)}.outcome-card>button:disabled{opacity:.4;cursor:not-allowed}.raw-total{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:8px 11px;background:var(--color-success-soft);border-radius:7px;color:#4f8560;font-size:10px}.raw-total.invalid{color:var(--danger);background:var(--color-danger-soft)}.validation-summary{display:flex;flex-direction:column;gap:3px;margin-bottom:12px;padding:12px 15px;background:var(--color-danger-soft);border:1px solid color-mix(in srgb,var(--color-danger) 35%,var(--color-border));border-radius:9px;color:var(--danger);font-size:11px}.validation-summary strong{margin-bottom:3px}.declaration-teams{display:grid;grid-template-columns:1fr 1fr;gap:12px}.declaration-team{border:1px solid var(--line);border-radius:10px;padding:14px}.declaration-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px}.declaration-heading span{color:var(--orange);font-weight:700}.declaration-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:11px}.declaration-buttons button{min-height:36px;padding:0;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface-raised);color:var(--navy);font-size:10px;font-weight:700}.declaration-buttons button:active{background:var(--orange-soft);border-color:var(--orange)}.declaration-chips{display:flex;flex-wrap:wrap;gap:5px;min-height:25px;margin-top:10px}.declaration-chips button{border:0;border-radius:999px;background:var(--orange-soft);color:#b9572c;padding:5px 8px;font-size:9px}.declaration-chips>span{color:var(--color-text-muted);font-size:9px;padding-top:5px}.redeal-button{color:var(--orange);font-weight:700}.redeal-row{background:var(--color-surface-raised)}.redeal-row .round-number{color:var(--orange)}.reverse-result{min-width:120px;color:var(--danger)}.reverse-result strong{font:700 10px system-ui,sans-serif;text-transform:uppercase}.winner-banner{margin-bottom:14px;padding:13px 16px;border-radius:9px;background:var(--orange-soft);color:#b9572c;text-align:center;font-size:12px;font-weight:700}.reference-grid{max-width:760px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:15px}.content-card p{color:var(--muted);font-size:13px;line-height:1.7}.content-card code{color:var(--navy);background:var(--color-surface-raised);padding:2px 5px;border-radius:4px}@media(max-width:680px){.contract-grid,.declaration-teams,.reference-grid,.outcome-card{grid-template-columns:1fr}.dealer-select{display:block;margin-top:14px}.dealer-select select{width:100%}.declaration-buttons button{min-height:42px}}.fixed-target{color:var(--navy);font:400 22px Georgia;white-space:nowrap}.compact-setup{width:min(680px,100%);margin:0 auto}.setup-heading{margin-bottom:18px}.compact-game-setup{max-width:none;display:grid;gap:11px}.compact-teams{min-height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;background:var(--color-surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 10px 30px #1e283c0a}.compact-teams>div{position:relative;display:flex;flex-direction:column;justify-content:center;padding:13px 20px}.compact-teams>div:last-child{text-align:right}.compact-teams>span{align-self:center;color:#a9adb5;font-size:9px;font-weight:700}.compact-teams small{color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.16em}.compact-teams strong{margin-top:4px;font:400 20px Georgia}.target-strip{min-height:48px;display:flex;align-items:baseline;gap:7px;padding:10px 15px;background:var(--navy);color:#fff;border-radius:11px}.target-strip>span,.target-strip small{color:#b8c1d0;font-size:10px}.target-strip strong{font:400 24px Georgia}.target-strip a{margin-left:auto;align-self:center;color:#dce2eb;font-size:10px;text-decoration:underline;text-underline-offset:3px}.dealer-picker{margin:0;padding:15px;background:var(--color-surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px #1e283c0a}.dealer-picker legend{margin:0;color:var(--ink);font:400 21px Georgia}.dealer-picker>p{margin:3px 0 12px;color:var(--muted);font-size:10px}.dealer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.dealer-grid button{min-width:0;min-height:82px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-raised);color:var(--ink)}.dealer-grid button b{width:27px;height:27px;display:grid;place-items:center;margin-bottom:4px;border-radius:50%;background:var(--color-surface);color:var(--navy);font-size:11px}.dealer-grid button span{font-size:11px;font-weight:700}.dealer-grid button small{max-width:100%;margin-top:2px;color:var(--muted);font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dealer-grid button.selected{border-color:var(--orange);background:var(--orange-soft);box-shadow:inset 0 0 0 1px var(--orange)}.dealer-grid button.selected b{background:var(--orange);color:#fff}.compact-warning{margin:0;padding:8px 11px}.team-name-settings{max-width:760px;margin:0 auto 14px;padding:20px 22px}.settings-section-title{display:flex;align-items:center;gap:14px}.settings-section-title strong,.settings-section-title small{display:block}.settings-section-title small{margin-top:3px;color:var(--muted);font-size:11px}.settings-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 12px}.settings-name-grid input{margin-top:6px}.team-name-settings>.button{width:100%}@media(max-width:680px){.compact-teams>div{padding:11px 13px}.compact-teams strong{font-size:18px}.dealer-picker{padding:13px}.dealer-grid{gap:5px}.dealer-grid button{min-height:78px;padding:4px}.settings-name-grid{grid-template-columns:1fr}}@media(max-width:680px)and (max-height:740px){.page-frame{padding-top:16px;padding-bottom:10px}.setup-heading{margin-bottom:11px}.setup-heading .eyebrow{margin-bottom:5px}.setup-heading h1{font-size:36px}.setup-heading p{display:none}.compact-game-setup{gap:7px}.compact-teams{min-height:62px}.compact-teams strong{font-size:16px}.target-strip{min-height:42px;padding-block:6px}.dealer-picker{padding:10px 12px}.dealer-picker legend{font-size:18px}.dealer-picker>p{margin-bottom:7px}.dealer-grid button{min-height:67px}.compact-game-setup .button-large{min-height:50px}}.page-frame:has(app-active-game){padding-top:12px;padding-bottom:82px}.compact-score-header{max-width:760px;margin:0 auto 7px}.hand-meta{min-height:25px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;color:var(--color-text-muted);font-size:9px}.hand-meta>span:first-child{color:var(--color-accent);font-weight:800;letter-spacing:.13em}.hand-meta>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hand-meta a{color:var(--color-text);font-weight:700}.compact-scoreboard{height:68px;display:grid;grid-template-columns:1fr 52px 1fr;align-items:stretch;overflow:hidden;border:1px solid var(--color-border);border-radius:13px;background:var(--color-surface);box-shadow:var(--shadow)}.compact-scoreboard>div{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 17px}.compact-scoreboard>div:nth-child(3){flex-direction:row-reverse;text-align:right}.compact-scoreboard>div:before{content:"";position:absolute;inset-block:0;left:0;width:3px;background:var(--gold)}.compact-scoreboard>div:nth-child(3):before{left:auto;right:0;background:var(--orange)}.compact-scoreboard small{max-width:100px;overflow:hidden;color:var(--color-text-muted);font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.compact-scoreboard strong{font:400 38px Georgia;line-height:1}.compact-scoreboard .score-target{flex-direction:column;justify-content:center;gap:0;padding:4px;background:var(--color-primary)}.compact-scoreboard .score-target:before{display:none}.score-target span{color:#b9c3d2;font-size:7px;font-weight:800;letter-spacing:.15em}.score-target b{color:#fff;font-size:13px}.compact-hand-panel{max-width:760px;margin:0 auto;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:var(--shadow)}.compact-hand-panel>.bidding-row,.compact-hand-panel>.bid-state-row,.compact-hand-panel>.trump-row,.compact-hand-panel>.raw-points,.compact-hand-panel>.declarations-panel{border-bottom:1px solid var(--color-border)}.control-label{color:var(--color-text-muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.bidding-row{min-height:48px;display:grid;grid-template-columns:66px 1fr;align-items:center;padding:6px 12px}.compact-segment{display:grid;gap:3px;padding:3px;border-radius:7px;background:var(--color-surface-raised)}.compact-segment.two{grid-template-columns:1fr 1fr}.compact-segment.three{grid-template-columns:repeat(3,1fr)}.compact-segment button{min-height:32px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--color-text-muted);font-size:10px;font-weight:700}.compact-segment button small{margin-left:3px;font-size:8px;opacity:.75}.compact-segment button.selected{border-color:var(--color-border);background:var(--color-selected);color:var(--color-text);box-shadow:0 2px 7px #00000024}.bid-state-row{min-height:64px;display:grid;grid-template-columns:minmax(120px,.75fr) minmax(0,1.25fr);gap:14px;align-items:end;padding:8px 12px 9px}.compact-field>.control-label{display:block;margin-bottom:5px}.bid-stepper{display:grid;grid-template-columns:34px minmax(48px,1fr) 34px;gap:4px}.bid-stepper button{height:35px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface-raised);color:var(--color-text);font-size:19px}.bid-stepper input{width:100%;height:35px;padding:3px;border-radius:6px;text-align:center;font:700 16px system-ui,sans-serif;-moz-appearance:textfield}.bid-stepper input::-webkit-inner-spin-button{display:none}.trump-row{padding:8px 12px 9px}.trump-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:5px}.trump-buttons button{min-height:38px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface-raised);color:var(--color-text);font-size:21px}.trump-buttons button.selected{border-color:var(--color-accent);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent)}.trump-buttons button.red-suit{color:var(--color-danger)}.raw-points{padding:8px 12px 10px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.section-heading b{color:var(--color-text-muted);font-size:9px;font-weight:700}.section-heading b.complete{color:var(--color-success)}.raw-points-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.raw-points label{min-width:0}.raw-points label span{display:block;min-height:14px;margin-bottom:3px;overflow:hidden;color:var(--color-text-muted);font-size:9px;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap}.raw-points input{width:100%;height:42px;padding:4px 8px;border-radius:7px;text-align:center;font:700 19px system-ui,sans-serif}.raw-points input::placeholder{color:var(--color-text-muted);font-size:11px;font-weight:600}.declarations-panel{padding:3px 12px}.declaration-row{position:relative;min-height:47px;display:grid;grid-template-columns:minmax(80px,1fr) 165px;align-items:center;gap:10px;border-bottom:1px solid var(--color-border)}.declaration-row:last-child{border-bottom:0}.declaration-team-name{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 27px;align-items:center;gap:6px}.declaration-team-name strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.declaration-team-name span{color:var(--color-accent);font-size:9px;font-weight:800;text-align:right}.declaration-quick{position:relative;display:grid;grid-template-columns:repeat(4,39px);gap:3px}.declaration-quick>button{min-height:32px;padding:0;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface-raised);color:var(--color-text);font-size:9px;font-weight:750}.declaration-quick .more-declaration{color:var(--color-accent);font-size:15px}.declaration-popover{position:absolute;z-index:8;right:0;top:36px;display:flex;gap:4px;padding:5px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-raised);box-shadow:var(--shadow)}.declaration-popover button{min-width:54px;min-height:38px;border:0;border-radius:6px;background:var(--color-primary);color:#fff;font-size:10px;font-weight:700}.compact-declaration-chips{grid-column:1/-1;display:flex;gap:3px;overflow-x:auto;padding:0 0 4px;scrollbar-width:none}.compact-declaration-chips button{flex:0 0 auto;border:0;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent);padding:3px 7px;font-size:8px}.active-specials{display:flex;gap:5px;overflow-x:auto;padding:6px 10px;border-bottom:1px solid var(--color-border)}.active-specials button{min-height:27px;border:1px solid color-mix(in srgb,var(--color-accent) 55%,transparent);border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent);padding:3px 9px;font-size:9px;font-weight:700}.compact-validation,.editing-banner{margin:0;border-radius:0;border-bottom:1px solid var(--color-border)}.compact-validation{padding:7px 10px}.compact-action-bar{position:sticky;z-index:4;bottom:72px;display:grid;grid-template-columns:88px minmax(0,1fr);gap:7px;padding:8px;background:var(--color-navigation-background);border-radius:0 0 11px 11px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.compact-action-bar.with-undo{grid-template-columns:88px 43px minmax(0,1fr)}.more-actions-button,.undo-button{min-height:43px;border:1px solid var(--color-border);border-radius:7px;background:var(--color-surface-raised);color:var(--color-text);padding:0 12px;font-size:10px;font-weight:700}.undo-button{width:43px;padding:0;font-size:18px}.calculate-button{min-width:0;min-height:43px}.sheet-backdrop{position:fixed;z-index:30;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:12px;background:var(--color-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.action-sheet{width:min(520px,100%);max-height:min(82dvh,650px);overflow-y:auto;padding:8px 14px calc(14px + env(safe-area-inset-bottom));border:1px solid var(--color-border);border-radius:20px 20px 13px 13px;background:var(--color-surface);color:var(--color-text);box-shadow:0 30px 80px #00000073;animation:sheet-in .18s ease-out}@keyframes sheet-in{0%{transform:translateY(22px);opacity:.5}}.sheet-handle{width:38px;height:4px;margin:0 auto 12px;border-radius:99px;background:var(--color-border)}.sheet-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sheet-title h2,.cancel-confirmation h2{margin:0;font:400 25px Georgia}.sheet-title .eyebrow{margin-bottom:3px}.sheet-title>button{width:36px;height:36px;border:0;border-radius:50%;background:var(--color-surface-raised);color:var(--color-text);font-size:21px}.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.sheet-actions>button{min-height:62px;display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-raised);color:var(--color-text);text-align:left}.sheet-actions>button>b{flex:0 0 28px;color:var(--color-accent);font-size:20px;text-align:center}.sheet-actions span,.sheet-actions small{display:block}.sheet-actions span{font-size:11px;font-weight:750}.sheet-actions small{margin-top:2px;color:var(--color-text-muted);font-size:8px;font-weight:500}.sheet-actions>button.selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.sheet-actions>button.danger-action{color:var(--color-danger)}.sheet-actions>button.danger-action b{color:var(--color-danger)}.cancel-confirmation{padding:4px 2px 6px;text-align:center}.cancel-confirmation p{max-width:390px;margin:9px auto 17px;color:var(--color-text-muted);font-size:12px;line-height:1.5}.cancel-confirmation>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.button-danger-solid{background:var(--color-danger);color:#fff}.theme-settings{max-width:760px;margin:0 auto 14px;padding:17px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.theme-choice{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border-radius:8px;background:var(--color-surface-raised)}.theme-choice button{min-width:74px;min-height:34px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--color-text-muted);font-size:10px;font-weight:700}.theme-choice button.selected{border-color:var(--color-border);background:var(--color-selected);color:var(--color-text)}@media(min-width:760px){.compact-action-bar{bottom:12px}}@media(max-width:430px){.page-frame:has(app-active-game){width:calc(100% - 18px);padding-top:7px}.hand-meta{gap:6px}.compact-score-header{margin-bottom:5px}.compact-scoreboard{height:62px}.compact-scoreboard>div{padding-inline:11px}.compact-scoreboard strong{font-size:34px}.declaration-row{grid-template-columns:minmax(80px,1fr) 153px}.declaration-quick{grid-template-columns:repeat(4,36px)}.more-actions-button{padding-inline:10px}}@media(max-width:360px){.hand-meta>span:nth-child(2){display:none}.hand-meta{grid-template-columns:1fr auto}.bid-state-row{grid-template-columns:132px 1fr}.bid-state-row{grid-template-columns:minmax(108px,.7fr) minmax(0,1.3fr);gap:8px}.bid-stepper{grid-template-columns:29px minmax(42px,1fr) 29px}.declaration-row{grid-template-columns:minmax(72px,1fr) 137px}.declaration-quick{grid-template-columns:repeat(4,32px)}.sheet-actions{grid-template-columns:1fr}}@media(max-width:430px)and (max-height:740px){.compact-scoreboard{height:56px}.compact-scoreboard strong{font-size:30px}.compact-scoreboard small{font-size:9px}.hand-meta{min-height:21px}.bidding-row{min-height:38px}.compact-segment button{min-height:29px}.bid-state-row{min-height:43px}.trump-row{padding-block:5px}.trump-buttons button,.raw-points input{height:32px;min-height:32px}.declaration-row{min-height:36px}.declaration-quick>button{min-height:29px}.compact-action-bar{padding:4px}.more-actions-button,.undo-button,.calculate-button{min-height:40px}}
