:root{font-family:Avenir Next,Segoe UI,sans-serif;color:#263d34;background:#f5f3ed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--green: #146c55;--green-dark: #104e3f;--muted: #66716a;--border: #e0e3da;--paper: #fffef9;--gold: #d2ad53}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button,select{cursor:pointer}button{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.48}input,select{color:inherit;min-width:0}input{width:100%;border:1px solid #b9c4b9;border-radius:9px;padding:12px 14px;background:#fff;font-size:16px;min-height:48px}input::placeholder{color:#7d877f}input[aria-invalid=true]{border-color:#a43832;background:#fff5f0}input:focus{border-color:var(--green);outline:3px solid #146c5524}:focus-visible{outline:3px solid #237cba;outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,Times New Roman,serif;font-weight:500;letter-spacing:-.04em}h1{font-size:clamp(32px,4vw,46px);line-height:1.2;overflow-wrap:anywhere}h2{font-size:29px;line-height:1.2}h3{font-size:16px;font-weight:650}label,legend{font-size:14px;font-weight:650}fieldset{padding:0;border:0;margin:0;min-width:0}.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}.skip-link{position:absolute;top:-60px;left:10px;z-index:10;background:var(--paper);color:var(--green);padding:12px}.skip-link:focus{top:10px}.site-header{background:#fffef9d9;border-bottom:1px solid var(--border)}.header-inner{max-width:1160px;margin:auto;min-height:96px;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--green-dark)}.brand img{width:47px;height:47px}.brand>span{font-family:Georgia,serif;font-size:36px;line-height:.85;font-weight:700;letter-spacing:-.07em}.brand-seven{color:var(--green)}.brand small{display:block;font-family:Segoe UI,sans-serif;font-size:8px;font-weight:650;letter-spacing:.16em;margin-top:9px}.header-actions{display:flex;align-items:center;gap:26px}.language-control select{min-height:44px;padding:9px 10px;border:1px solid #bdcbbd;border-radius:8px;background:var(--paper);font-size:12px;max-width:170px}.brand small{text-transform:uppercase}.local-badge{color:var(--muted);font-size:12px;display:flex;gap:7px;align-items:center}.local-badge>span{color:var(--green);font-size:18px}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 21px;border-radius:9px;font-size:14px;font-weight:650;min-height:48px;line-height:1.3}.primary{color:#fff;background:var(--green);box-shadow:0 3px #0a493b}.primary:hover:not(:disabled){background:var(--green-dark)}.secondary{background:var(--paper);border-color:#bdcbbd;color:var(--green-dark)}.secondary:hover:not(:disabled){background:#edf2e9}.small{min-height:44px;padding:10px 14px;font-size:13px}.text-button{color:var(--green);font-size:13px;border:0;background:none;padding:10px 0;min-height:44px;font-weight:600;text-decoration-thickness:1px;text-underline-offset:4px}.text-button:hover:not(:disabled){text-decoration:underline}.icon-button{border:0;background:transparent;color:var(--muted);width:44px;min-width:44px;height:44px;border-radius:50%;font-size:27px;display:grid;place-items:center}.icon-button:hover{background:#eef0e8}.app-shell{max-width:1160px;padding:0 32px;margin:auto}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:42px 0 30px}.eyebrow{color:var(--green);font-size:10px;font-weight:700;letter-spacing:.16em;line-height:1.7;margin-bottom:8px}.game-meta{font-size:13px;color:var(--muted);margin-top:10px;display:flex;flex-wrap:wrap;gap:10px}.game-heading-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex-shrink:0}.save-status{display:flex;align-items:center;gap:7px;font-size:11px;color:#4c6756;min-height:20px}.status-dot{display:inline-block;background:#4a8062;border-radius:100%;width:6px;height:6px}.saving .status-dot{background:#a07a21}.error.save-status{color:#a43832}.error .status-dot{background:#a43832}.new-game-link{font-size:12px}.tabs{display:flex;gap:28px;border-bottom:1px solid #d5dbd0;margin-bottom:26px}.tabs button{position:relative;display:flex;align-items:center;gap:8px;min-height:49px;background:none;border:0;color:var(--muted);padding:12px 3px;font-size:13px;font-weight:600}.tabs button.active{color:var(--green)}.tabs button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;border-radius:3px 3px 0 0;background:var(--green)}.tabs button>span:first-child{font-size:18px}.draft-dot{height:6px;width:6px;background:#b38321;border-radius:100%}.game-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:26px;align-items:start}.main-column,aside{min-width:0}aside{position:sticky;top:24px}.panel{background:var(--paper);border:1px solid var(--border);border-radius:15px;padding:28px;box-shadow:0 3px 8px #263d3403}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading .eyebrow{font-size:9px;margin-bottom:7px}.panel-intro{font-size:13px;color:var(--muted);margin:12px 0 24px;line-height:1.6}.pill{display:inline-flex;padding:5px 9px;border:1px solid #d4decd;border-radius:5px;background:#f2f5ec;color:#52654a;font-size:10px;font-weight:650;white-space:nowrap}.score-table-wrap{width:100%}.score-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}.score-table thead{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.score-table th,.score-table td{padding:15px 5px;border-bottom:1px solid #e6e8df}.score-table th:first-child{width:40%;padding-left:0}.score-table th:nth-child(2),.score-table th:nth-child(3){width:17%;text-align:center}.score-table th:last-child{width:26%;text-align:right;padding-right:0}.score-table td{font-size:17px;text-align:center;overflow-wrap:anywhere}.score-table td:last-child{padding-right:0}.score-table th{font-weight:600}.player-cell{display:flex;align-items:center;gap:11px;min-width:0}.player-cell>span:last-child{overflow-wrap:anywhere}.score-table .player-cell{font-size:14px}.avatar{width:33px;height:33px;min-width:33px;display:inline-flex;justify-content:center;align-items:center;background:#e7eddc;color:#527044;border-radius:10px;font-size:12px;font-weight:600}.tone-1{background:#f5e9d3;color:#896321}.tone-2{background:#e3eaf1;color:#4b6d8a}.tone-3{background:#f1e3e1;color:#975a52}.tone-4{background:#eae4f1;color:#756086}.score-input{text-align:center;font-size:21px;font-weight:600;padding:10px 3px;max-width:95px;height:52px;border-style:solid;border-color:#c6d1c3;border-radius:8px;font-variant-numeric:tabular-nums}.score-input:placeholder-shown{border-style:dashed;background:#fcfcf7}.score-input.is-zero{background:#eff4e9}.muted,.secondary-text{color:var(--muted)}.tabular{font-variant-numeric:tabular-nums}.input-error{font-size:10px;color:#a43832;display:block;padding-top:5px;line-height:1.4;text-align:left}.entry-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:7px 0 16px;font-size:11px;color:var(--muted)}.entry-tools .text-button{font-size:11px}.round-actions{display:flex;gap:18px;align-items:center}.finish{flex:1;justify-content:space-between}.scorecard>.help-text{margin-top:17px}.help-text{font-size:12px;color:var(--muted);line-height:1.65;font-weight:400}.table-note{display:flex;align-items:center;gap:12px;padding:24px 4px;color:#647568;font-size:11px}.table-note>span:first-child{color:#9a8150;font-size:23px}.note-line{flex:1;height:1px;background:#dce0d5}.standings{padding:25px}.standings h2{font-size:26px}.standings .eyebrow{font-size:8px}.standings select{font-size:11px;padding:8px;min-height:44px;border:1px solid var(--border);border-radius:6px;background:var(--paper);max-width:100px}.standings-legend{text-align:right;font-size:9px;color:var(--muted);margin-top:23px}.standings-legend span{margin-left:12px}.standings-list{list-style:none;padding:0;margin:4px 0 0}.standings-list li{border-bottom:1px solid #e6e8df;padding:17px 0 11px}.standing-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.standing-top .player-cell{gap:9px;flex:1}.standing-name{font-size:13px;font-weight:600}.standing-score{font-variant-numeric:tabular-nums;text-align:right;font-size:10px;color:var(--muted)}.standing-score strong{font-size:21px;color:#3a4c40;font-weight:650}.standing-score small{margin-right:10px;font-size:11px}.player-badges{display:flex;flex-wrap:wrap;gap:6px;font-size:9px;font-weight:500;color:var(--muted);margin-top:3px}.player-badges:empty{display:none}.winner-label,.leader-label{color:var(--green)}.progress-track{background:#edf0e6;height:4px;border-radius:4px;margin-top:12px;overflow:hidden}.progress-track>span{height:100%;background:#a9b69b;display:block;border-radius:4px}.is-leading .progress-track>span{background:var(--green)}.remaining{font-size:10px;color:var(--muted);margin-top:7px;text-align:right}.standings-note{font-size:10px;color:var(--muted);line-height:1.7;padding-top:18px}.site-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid #dce0d5;padding:23px 0 30px;margin-top:48px;color:#667267;font-size:10px;line-height:1.7}.winner-banner{display:flex;align-items:center;gap:22px;padding:25px 28px;background:#e9eedc;border:1px solid #d6ddc6;border-radius:13px;margin:0 0 23px}.winner-star{color:#9b7829;font-size:46px}.winner-banner h2{font-size:28px;overflow-wrap:anywhere}.winner-banner p:last-child{font-size:12px;color:#5b6a53;margin-top:8px;line-height:1.6}.winner-banner .eyebrow{font-size:9px}.completed-card{text-align:center;padding:40px 28px}.empty-symbol{display:inline-block;font-size:40px;color:#a28b52;margin-bottom:12px}.completed-card>p{color:var(--muted);font-size:14px;line-height:1.8;margin:15px 0 24px}.completed-card .button-row{justify-content:center}.rematch-button{max-width:100%}.empty-small{text-align:center;padding:28px 0;color:var(--muted);font-size:13px}.empty-small h3{margin:0 0 9px;color:#3a4c40}.empty-small p{margin-bottom:15px;line-height:1.7}.button-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.history-list{margin-top:12px}.history-list details{border:1px solid var(--border);border-radius:9px;margin:10px 0;padding:0 16px}.history-list summary{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:62px;cursor:pointer;font-size:14px;font-weight:600;list-style:none}.history-list summary::-webkit-details-marker{display:none}.history-summary{font-size:10px;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:14px}.history-summary>span{font-size:20px}.history-list details[open] .history-summary>span{transform:rotate(180deg)}.history-list .button-row{padding:6px 0 15px}.round-scores{margin:0;padding:8px 0;border-top:1px solid var(--border)}.round-scores>div{display:flex;justify-content:space-between;padding:9px 0;font-size:13px;gap:20px}.round-scores dt{overflow-wrap:anywhere}.round-scores dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}.post-game{background:#f4f3ed;border-style:dashed!important}.undo-button{margin-top:10px}.correction-panel{border:1px solid #ccd9c1;background:#f8faf2;border-radius:10px;margin:20px -10px;padding:20px 12px}.correction-panel>.help-text{margin-top:9px}.correction-panel .button-row{margin-top:20px}.draft-notice{padding:7px 16px;margin-bottom:16px;border:1px solid #daceaa;border-radius:8px;background:#f9f0d9;font-size:12px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px}.settings-block{padding:24px 0;border-bottom:1px solid var(--border)}.settings-block .help-text{margin:8px 0 14px}.inline-form{display:flex;gap:10px}.inline-form>.button{flex-shrink:0}#target-score{max-width:160px}.player-setting{margin:15px 0;display:flex;flex-wrap:wrap;align-items:center;gap:5px 16px}.player-setting form{display:flex;gap:8px;width:100%}.player-setting .button{flex-shrink:0}.player-setting .text-button{font-size:11px;min-height:44px}.player-setting .help-text{margin:0}.add-player-form{margin-top:22px}.danger{color:#a43832}.destructive{background:#a43832;color:#fff}.danger-zone{border:0;padding-bottom:0}.danger-zone h3{color:#8a4c3c}.welcome{padding-top:70px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.welcome h1{font-size:clamp(50px,6vw,78px);line-height:1.08;letter-spacing:-.065em}.welcome h1 em{color:var(--green);font-weight:500}.welcome-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.9;max-width:350px;margin:24px 0 28px}.welcome .eyebrow{margin-bottom:20px;font-size:9px}.welcome-note{display:block;margin-top:22px;font-size:11px;color:var(--muted)}.welcome-art{position:relative;min-height:450px;display:grid;place-items:center;background:radial-gradient(ellipse,#e6ebda 0,#e6ebda00 66%)}.decorative-card{position:absolute;width:205px;height:300px;border-radius:20px;box-shadow:5px 12px 25px #263d3415;display:flex;align-items:center;justify-content:center}.card-back{background:#d4b66c;color:#eddfb6;transform:rotate(-17deg) translate(-33px,-9px);font-family:Georgia,serif;font-size:220px;border:7px solid #e1c88a}.card-seven{background:var(--paper);border:1px solid #e4e4d7;transform:rotate(10deg) translate(30px,-5px);flex-direction:column}.card-seven>span{font-family:Georgia,serif;font-size:200px;line-height:1;color:var(--green)}.card-seven small{font-size:8px;letter-spacing:.15em;color:#8a936f;margin-top:12px}.art-note{position:absolute;bottom:12px;font-family:Georgia,serif;font-size:17px;font-style:italic;color:#6f7c60;transform:rotate(-5deg)}.welcome-features{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:40px 0 12px;padding:30px 0 0;border-top:1px solid var(--border)}.welcome-features>div>span{font-size:11px;color:#99824e}.welcome-features h3{font-family:Georgia,serif;font-size:19px;font-weight:400;margin:10px 0 8px}.welcome-features p{font-size:11px;color:var(--muted);line-height:1.7}dialog{border:1px solid var(--border);border-radius:18px;width:min(500px,calc(100% - 28px));max-height:calc(100dvh - 48px);padding:28px;background:var(--paper);color:inherit;box-shadow:0 25px 100px #132a3540;overscroll-behavior:contain}dialog::backdrop{background:#18372e80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.dialog-header h2{font-size:29px}.new-game-form{display:flex;flex-direction:column;gap:10px}.new-game-form>.help-text:first-child{margin-bottom:9px}.new-game-form label{margin-top:10px}.optional{font-weight:400;color:var(--muted);font-size:11px}.new-game-form fieldset{margin:18px 0 12px}.new-game-form legend{margin-bottom:12px}.setup-player{display:flex;align-items:center;gap:10px;margin-bottom:10px}.seat-number{font-size:11px;color:#7a886f;width:23px}.new-game-form .text-button{font-size:12px}.center{text-align:center}.confirm-description{font-size:14px;color:var(--muted);line-height:1.8;margin:14px 0 28px}.form-error{border-radius:8px;padding:12px;background:#fae9e3;color:#8f302b;font-size:13px;line-height:1.7;margin:10px 0}.error-banner{margin-top:24px;padding:18px;background:#fae9e3;border:1px solid #d6afa4;border-radius:10px;font-size:13px;color:#8f302b;line-height:1.7}.error-banner .button-row{margin-top:10px}.games-list{display:flex;flex-direction:column;gap:14px}.saved-game{text-align:left;background:#fffef9;border:1px solid var(--border);border-radius:10px;padding:17px;display:flex;flex-direction:column;gap:9px}.saved-game.selected{border-color:#8eaa7c;background:#f3f6ed}.saved-game:hover{border-color:var(--green)}.saved-game-title{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:650;overflow-wrap:anywhere}.saved-game-result{color:var(--green);font-size:12px;overflow-wrap:anywhere}.loading{padding:100px 0;color:var(--muted);text-align:center}@media(min-width:1000px){.scorecard{padding:32px}.score-table th:first-child{width:43%}.score-table th:nth-child(2),.score-table th:nth-child(3){width:17%}.score-table th:last-child{width:23%}}@media(max-width:850px){.header-inner{min-height:82px;padding:12px 24px}.app-shell{padding:0 24px}.game-layout{grid-template-columns:1fr;gap:5px}aside{position:static}.panel{padding:25px}.standings-list{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}.standings-legend{margin-top:12px}.welcome-art{transform:scale(.85)}}@media(max-width:520px){.header-inner{min-height:76px;padding:12px 18px}.header-inner{flex-wrap:wrap;gap:14px}.header-actions{width:100%;justify-content:space-between;gap:10px}.brand img{width:37px;height:37px}.brand>span{font-size:30px}.brand small{font-size:7px;margin-top:7px}.local-badge{display:none}.app-shell{padding:0 16px}.game-heading{padding:29px 0 17px;flex-wrap:wrap;gap:10px}.game-heading .eyebrow{font-size:8px;margin-bottom:6px}.game-heading h1{font-size:34px}.game-meta{font-size:11px;gap:7px;margin-top:9px}.game-heading-actions{width:100%;flex-direction:row;align-items:center;justify-content:space-between}.save-status{font-size:10px}.new-game-link{font-size:11px;min-height:44px}.tabs{gap:0;justify-content:space-between;margin-bottom:19px}.tabs button{padding:11px 8px;font-size:12px;gap:7px}.panel{padding:21px 16px;border-radius:12px}.panel h2{font-size:27px}.panel-intro{font-size:11px;margin:9px 0 15px}.score-table thead{font-size:9px}.score-table th,.score-table td{padding:13px 3px}.score-table th:first-child{width:37%}.score-table th:nth-child(2){width:18%}.score-table th:nth-child(3){width:18%}.score-table th:last-child{width:27%}.score-table .avatar{display:none}.score-table .player-cell{font-size:13px}.score-table td{font-size:16px}.score-input{font-size:20px;height:52px;width:100%}.round-actions{gap:15px;flex-wrap:wrap}.round-actions .finish{min-width:155px}.entry-tools{flex-wrap:wrap}.entry-tools{margin-bottom:14px}.help-text{font-size:11px}.scorecard>.help-text{margin-top:16px}.standings{padding:22px 18px}.standings-list{display:block}.standings-legend{margin-top:18px}.standings h2{font-size:26px}.standing-name{font-size:14px}.standing-score strong{font-size:23px}.table-note{font-size:10px;padding:18px 4px}.site-footer{margin-top:28px;padding-bottom:max(25px,env(safe-area-inset-bottom));font-size:9px;gap:6px}.winner-banner{padding:20px 16px;gap:13px;margin-bottom:14px}.winner-banner h2{font-size:23px}.winner-banner p:last-child{font-size:11px}.winner-star{font-size:30px}.settings-block{padding:22px 0}.inline-form{gap:8px;flex-wrap:wrap}.inline-form>input{flex:1;min-width:110px}.player-setting form{flex-wrap:wrap}.player-setting form>input{flex:1;min-width:130px}.standings .panel-heading{flex-wrap:wrap}.inline-form .button{padding:10px 12px;font-size:12px}.history-list details{padding:0 12px}.history-summary{font-size:9px;gap:9px}.history-list summary{font-size:13px}.button-row{gap:10px}.button-row .button{font-size:12px;padding:12px 14px}.correction-panel{margin:18px -5px;padding:16px 9px}.completed-card{padding:32px 20px}.welcome{padding-top:32px;grid-template-columns:1fr;gap:15px}.welcome h1{font-size:55px}.welcome-copy>p:not(.eyebrow){font-size:13px;margin:20px 0 24px;max-width:300px}.welcome .eyebrow{font-size:8px;margin-bottom:16px}.welcome-art{min-height:270px;transform:scale(.75);margin:-8px 0}.welcome-art .art-note{bottom:-53px}.welcome-features{grid-template-columns:1fr;gap:23px;margin-top:30px;padding-top:23px}.welcome-features h3{display:inline;margin-left:12px;font-size:18px}.welcome-features p{margin-top:8px;margin-left:30px}dialog{padding:22px;max-height:calc(100dvh - 24px)}.dialog-header h2{font-size:26px}}@media(max-width:360px){.app-shell{padding:0 10px}.panel{padding:18px 12px}.score-table .player-cell{font-size:12px}.score-table th:first-child{width:34%}.score-table th:last-child{width:30%}.round-actions{gap:12px}.round-actions .button{padding:12px 15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
