:root{--bg:#f8f2e6;--panel:#fffdf8;--panel-strong:#fff8ef;--ink:#2f302d;--muted:#6f726b;--line:#e3d7c6;--accent:#4c8f86;--accent-strong:#3b736c;--accent-soft:#e2f3ef;--danger:#c76662;--danger-soft:#fdeceb;--shadow:0 14px 34px rgba(95,79,54,0.08)}*{box-sizing:border-box}html{font-family:Segoe UI,Hiragino Sans,sans-serif;background:radial-gradient(circle at top,rgba(205,235,228,.58) 0,rgba(248,242,230,0) 34%),radial-gradient(circle at 100% 0,rgba(247,220,220,.32) 0,rgba(248,242,230,0) 28%),linear-gradient(180deg,#fffaf2 0,var(--bg) 46%,#f3ead8 100%);color:var(--ink)}body{margin:0;min-height:100vh}a{color:inherit}button,input,select{font:inherit}.page-shell{width:min(1120px,calc(100vw - 24px));margin:0 auto;padding:24px 0 48px}.match-shell{width:min(1400px,calc(100vw - 16px));display:grid;grid-gap:12px;gap:12px}.hero{padding:32px;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,248,239,.96)),linear-gradient(135deg,rgba(76,143,134,.12),rgba(240,246,255,.82));box-shadow:var(--shadow);border:1px solid rgba(227,215,198,.9)}.home-hero{gap:10px;padding-block:22px 18px}.home-brand-shell{position:relative;overflow:hidden}.home-brand-shell:after{content:"";position:absolute;inset:auto -50px -70px auto;width:180px;height:180px;border-radius:999px;background:radial-gradient(circle,rgba(118,181,171,.16),rgba(118,181,171,0));pointer-events:none}.app-logo-link{color:inherit;text-decoration:none}.app-logo{display:grid;grid-gap:10px;gap:10px}.app-logo-hero{justify-items:start}.app-logo-image{width:min(100%,620px);height:auto;display:block;filter:drop-shadow(0 12px 26px rgba(95,79,54,.12))}.app-logo-tagline{margin:0;padding-left:12px;font-size:1rem;font-weight:600}.app-logo-compact{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:16px;background:rgba(255,253,248,.88);border:1px solid rgba(227,215,198,.9);box-shadow:0 6px 16px rgba(95,79,54,.06)}.app-logo-mini-awning{display:inline-grid;grid-template-columns:repeat(4,8px);gap:2px}.app-logo-mini-awning span{width:8px;height:14px;border-radius:5px 5px 3px 3px;background:linear-gradient(180deg,#f8b1ab,#f58f87)}.app-logo-mini-awning span:nth-child(2n){background:linear-gradient(180deg,#b8dfd7,#8ec6bb)}.app-logo-compact-text{font-weight:800;letter-spacing:.01em}.hero h1,.panel h2,.panel h3,.panel h4{margin-top:0}.grid{display:grid;grid-gap:16px;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.home-mode-grid{margin-top:12px}.mode-panel{align-content:start;min-height:100%;position:relative;overflow:hidden}.shop-card{padding:16px 16px 18px;gap:10px}.featured-shop-card{background:linear-gradient(180deg,rgba(255,253,248,.98),rgba(255,247,239,.98));border-color:rgba(76,143,134,.38);box-shadow:0 16px 36px rgba(95,79,54,.1)}.join-shop-card{margin-top:16px}.mode-panel:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:10px;background:linear-gradient(90deg,rgba(248,177,171,.9),rgba(143,198,187,.9),rgba(198,219,244,.9));opacity:.85}.menu-card-title{display:inline-flex;align-items:center;gap:10px;width:-moz-fit-content;width:fit-content;padding:8px 14px;border-radius:999px;background:linear-gradient(180deg,#fffdfa,rgba(255,248,239,.92));border:1px solid rgba(227,215,198,.95);box-shadow:0 6px 14px rgba(95,79,54,.04)}.menu-card-copy{margin:0;font-size:.94rem;line-height:1.45}.menu-card-icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:linear-gradient(180deg,#eef8f5,#e2f3ef);font-size:.95rem}.shop-card-badge{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:5px 10px;border-radius:999px;background:linear-gradient(180deg,#fff1eb,#ffe2d6);color:#b8645d;font-size:.82rem;font-weight:800;letter-spacing:.02em}.secondary-panel{background:rgba(255,253,247,.82)}.panel{background:rgba(255,253,247,.95);border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:var(--shadow)}.stack{display:grid;grid-gap:12px;gap:12px}.label,.muted{color:var(--muted)}.label{display:grid;grid-gap:6px;gap:6px;font-size:.95rem}.shop-form{gap:10px}.shop-form .label{gap:4px}.shop-form .label>:first-child{font-weight:700;color:#6b5f55}.shop-form .input,.shop-form .select{min-height:42px;border-radius:13px;border-color:rgba(214,201,183,.9);background:rgba(255,255,255,.88);box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}.shop-form-note{margin:0;font-size:.88rem;line-height:1.45}.shop-form-submit{min-height:46px;margin-top:2px}.settings-grid{display:grid;grid-gap:12px;gap:12px}.compact-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.button,.ghost-button,.input,.score-button,.select{min-height:44px;border-radius:14px;border:1px solid var(--line)}.input,.select{width:100%;padding:0 14px;background:white}.button,.ghost-button,.score-button{padding:0 16px;cursor:pointer;transition:transform .12s ease,opacity .12s ease,background .12s ease;box-shadow:0 4px 10px rgba(95,79,54,.04)}.button:hover,.ghost-button:hover,.score-button:hover{transform:translateY(-1px)}.button{background:linear-gradient(180deg,var(--accent),var(--accent-strong));color:white;border-color:var(--accent-strong)}.ghost-button{background:rgba(255,255,255,.92);color:var(--ink)}.score-button{background:linear-gradient(180deg,#fffdf9,var(--panel-strong))}.score-button.selected{background:linear-gradient(180deg,var(--accent),var(--accent-strong));color:white;border-color:var(--accent-strong)}.compact-button{min-height:38px;padding:0 12px}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:linear-gradient(180deg,#f4fbf8,var(--accent-soft));color:var(--accent-strong);font-weight:700}.pill.alert{background:var(--danger-soft);color:var(--danger)}.scoreboard{display:grid;grid-gap:12px;gap:12px}.score-card{border-radius:20px;border:1px solid rgba(196,176,149,.8);padding:16px;background:linear-gradient(180deg,rgba(255,255,255,.96),#fffaf1)}.score-card.active{border-color:rgba(76,143,134,.65);background:linear-gradient(135deg,rgba(226,243,239,.95),white)}.score-value{font-size:clamp(2rem,6vw,3.5rem);font-weight:800;line-height:1}.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.dart-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.dart-status-grid.compact .dart-status-card{min-height:76px}.dart-status-card{min-height:88px;padding:12px;border-radius:16px;border:1px solid var(--line);background:white;display:grid;grid-gap:8px;gap:8px;text-align:left;cursor:pointer}.dart-status-card.active{border-color:var(--accent);background:linear-gradient(135deg,rgba(223,242,232,.9),white)}.match-topbar{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.95rem}.compact-status{display:grid;grid-gap:10px;gap:10px;padding:12px 14px;border-radius:20px;border:1px solid rgba(196,176,149,.8);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,248,239,.92))}.turn-banner{display:flex;justify-content:space-between;align-items:center;gap:8px}.remaining-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.mini-score{padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:white}.mini-score strong{display:block;margin-top:4px;font-size:1.35rem}.rules-chip{padding:8px 10px;border-radius:12px;background:linear-gradient(180deg,#fffdfa,rgba(255,248,239,.96));border:1px solid rgba(227,215,198,.95);font-size:.88rem}.playing-focus{display:grid;grid-gap:6px;gap:6px;padding:14px 16px;border-width:2px;border-color:rgba(76,143,134,.26);position:relative}.playing-focus:before{content:"";position:absolute;inset:0 auto 0 0;width:8px;border-radius:20px 0 0 20px;background:linear-gradient(180deg,rgba(248,177,171,.95),rgba(143,198,187,.92))}.playing-focus-caption{font-size:.82rem;font-weight:700;color:var(--muted);letter-spacing:.03em;padding-left:8px}.playing-focus-primary{font-size:clamp(1.15rem,2vw,1.7rem);font-weight:800;line-height:1.15;padding-left:8px}.playing-focus-secondary{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;font-size:.92rem;padding-left:8px}.target-select-panel{gap:10px}.input-stage,.match-workspace{display:grid;grid-gap:12px;gap:12px}.workspace-main,.workspace-side{min-width:0}.workspace-side-left{min-width:240px}.workspace-main{min-width:0}.workspace-side-right{min-width:240px}.desktop-panel{height:100%}.sidebar-round-monitor{display:none}.round-monitor{display:grid;grid-gap:10px;gap:10px;padding:14px;border-radius:20px;border:1px solid rgba(196,176,149,.8);background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,248,239,.95))}.console-label,.round-monitor-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.round-monitor.compact-monitor{gap:8px;padding:10px 12px;border-radius:16px}.round-monitor-header.compact-header{align-items:center}.round-inline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.round-inline.round-inline-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.dart-chip,.total-chip{min-height:0;padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:white;display:grid;grid-gap:2px;gap:2px;text-align:left}.dart-chip{cursor:pointer}.dart-chip.empty{border-style:dashed}.dart-chip.filled{background:#fffdfa}.dart-chip.active{border-color:var(--accent);background:linear-gradient(135deg,rgba(223,242,232,.9),white);box-shadow:0 0 0 2px rgba(17,97,73,.12)}.dart-chip strong,.total-chip strong{font-size:.96rem;line-height:1.2}.total-chip.total-chip-inline{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.panel-soft{padding:14px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.92),var(--panel-strong))}.setup-section{gap:14px}.section-heading{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:18px;border:1px solid rgba(227,215,198,.95);background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,248,239,.96))}.section-step{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:999px;background:linear-gradient(180deg,#eef8f5,var(--accent-soft));color:var(--accent-strong);font-weight:800;flex:0 0 auto}.compact-player-list .result-row{padding:10px 12px}.setup-presets{margin-top:12px}.setup-save-row{align-items:end}.setup-start-card{gap:14px;border-color:rgba(76,143,134,.34);background:linear-gradient(180deg,rgba(226,243,239,.86),rgba(255,250,242,.98))}.setup-start-button{min-height:56px;font-size:1.02rem}.multiplier-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px}.multiplier-grid.main{grid-template-columns:repeat(3,minmax(0,1fr))}.special-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.number-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px}.number-grid.ordered-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.number-grid.main{grid-template-columns:repeat(4,minmax(0,1fr))}.multiplier-grid .score-button,.number-button{min-height:54px;font-weight:700}.multiplier-button{min-height:70px;font-size:1.1rem}.special-button{min-height:64px;font-size:1rem}.number-button.large{min-height:68px;font-size:1.05rem}.round-total-card{padding:14px;border-radius:18px;border:1px solid var(--line);background:white;text-align:center}.round-total-card.compact .score-value{font-size:clamp(1.8rem,8vw,2.8rem)}.input-console{display:grid;grid-gap:12px;gap:12px;padding:16px;border-radius:24px;border:1px solid rgba(196,176,149,.85);background:linear-gradient(180deg,rgba(255,248,235,.96),rgba(255,253,247,.98)),linear-gradient(135deg,rgba(76,143,134,.06),rgba(255,255,255,0));box-shadow:var(--shadow)}.console-block{display:grid;grid-gap:10px;gap:10px}.action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.action-row.compact-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.primary-action{min-height:60px;font-size:1.05rem;grid-column:span 2}.compact-primary{grid-column:auto}.input-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.quick-input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));grid-gap:8px;gap:8px}.quick-input-button{min-height:48px;font-size:.96rem;font-weight:700}.active-dart-badge{background:var(--accent-soft);color:var(--accent)}.experimental-tag{font-size:.75rem;color:var(--muted)}.board-console{display:grid;grid-gap:12px;gap:12px}.board-stage{padding:12px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(246,240,229,.96));border:1px solid rgba(17,97,73,.12)}.board-svg{display:block;width:min(100%,420px);margin:0 auto;overflow:visible}.board-base{fill:#1e2822;stroke:rgba(17,97,73,.22);stroke-width:2}.board-ring-line{fill:none;stroke:rgba(255,255,255,.12);stroke-width:1}.board-segment{cursor:pointer;transition:opacity .12s ease,filter .12s ease}.board-bull-inner:hover,.board-bull-outer:hover,.board-segment:hover{filter:brightness(1.06)}.board-segment.single.is-even{fill:#f2e9d4}.board-segment.single.is-odd{fill:#f9f4e7}.board-segment.double.is-even,.board-segment.triple.is-even{fill:#116149}.board-segment.double.is-odd,.board-segment.triple.is-odd{fill:#a63d40}.board-bull-inner,.board-bull-outer{cursor:pointer}.board-bull-outer{fill:#116149}.board-bull-inner{fill:#a63d40}.board-bull-text,.board-label{-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.board-label{fill:#fffef8;font-size:11px;font-weight:700}.board-bull-text{fill:#fffef8;font-size:10px;font-weight:700}.board-bull-text.strong{font-size:11px}.board-side-actions{display:grid;grid-gap:10px;gap:10px}.board-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;font-size:.86rem;color:var(--muted)}.board-legend div{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:white}.board-chip{width:12px;height:12px;border-radius:999px;display:inline-block}.board-chip.single{background:#f2e9d4;border:1px solid rgba(29,38,31,.18)}.board-chip.triple{background:#116149}.board-chip.double{background:#a63d40}.board-miss-button{width:100%}.details-stack{display:grid;grid-gap:10px;gap:10px}.right-panel{display:grid;grid-gap:12px;gap:12px}.right-panel-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.right-panel-tabs.two-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.right-panel-body{min-height:0}.active-tab{background:linear-gradient(180deg,#eef8f5,var(--accent-soft));color:var(--accent-strong);border-color:rgba(76,143,134,.3)}.room-summary-panel{display:grid;grid-gap:12px;gap:12px}.room-tab-row{min-width:0}.room-break{overflow-wrap:anywhere;word-break:break-word}.room-copy-button{width:100%}.presence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.presence-card{padding:12px 14px;border-radius:16px;border:1px solid rgba(227,215,198,.95);background:linear-gradient(180deg,rgba(255,255,255,.96),#fffaf1)}.presence-card.placeholder{border-style:dashed;color:var(--muted)}.compact-presence,.single-action{grid-template-columns:1fr}.error-panel{padding:12px 14px}.error-actions{display:flex;gap:8px;flex-wrap:wrap}.collapsible-panel summary{cursor:pointer;font-weight:700;list-style:none}.collapsible-panel summary::-webkit-details-marker{display:none}.overlay-backdrop{position:fixed;inset:0;background:rgba(29,38,31,.42);display:grid;place-items:center;padding:16px;z-index:50}.overlay-card{width:min(420px,100%);padding:20px;border-radius:24px;background:white;border:1px solid rgba(196,176,149,.85);box-shadow:0 24px 60px rgba(29,38,31,.2)}.history-list,.result-list,.stats-grid{display:grid;grid-gap:10px;gap:10px}.history-row,.result-row,.stat-card{padding:12px 14px;border-radius:16px;border:1px solid rgba(227,215,198,.95);background:linear-gradient(180deg,rgba(255,255,255,.96),#fffaf1)}.result-screen{gap:14px}.result-hero{display:grid;grid-gap:14px;gap:14px;border-width:2px;border-color:rgba(76,143,134,.24)}.result-title{margin:0;font-size:clamp(1.5rem,3.4vw,2.1rem)}.result-subtitle{font-size:1rem}.result-highlight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:10px;gap:10px}.result-highlight-card{display:grid;grid-gap:4px;gap:4px;padding:12px 14px;border-radius:16px;border:1px solid rgba(227,215,198,.95);background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,248,239,.92))}.result-highlight-label{color:var(--muted);font-size:.84rem;font-weight:600}.result-highlight-value{font-size:1.15rem}.result-actions{grid-template-columns:1fr}.result-actions .primary-action{grid-column:auto}.result-details-panel{padding:12px 14px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.74)}.result-details-panel summary{display:flex;align-items:center;justify-content:space-between}.result-details-panel[open]{background:white}.result-details-panel[open] summary{margin-bottom:12px}.history-row.is-bust{background:var(--danger-soft);border-color:rgba(166,61,64,.25)}.row-between{display:flex;justify-content:space-between;gap:12px;align-items:center}.room-link{display:block;width:100%;padding:12px 14px;background:white;border:1px dashed var(--line);border-radius:14px;word-break:break-all}.badge{display:inline-block;padding:4px 10px;border-radius:999px;background:linear-gradient(180deg,#fffdfa,var(--panel-strong));border:1px solid rgba(227,215,198,.9);font-size:.85rem;font-weight:700}.empty-state{padding:18px;text-align:center;border:1px dashed var(--line);border-radius:16px;color:var(--muted)}@media (min-width:961px){.match-workspace{grid-template-columns:minmax(220px,.9fr) minmax(0,1.7fr) minmax(240px,.95fr);align-items:start}.workspace-side{position:-webkit-sticky;position:sticky;top:16px;display:grid;grid-gap:12px;gap:12px;align-self:start}.workspace-main{min-height:calc(100vh - 140px)}.input-console,.input-stage{gap:14px}.workspace-main .input-stage{min-height:calc(100vh - 140px);grid-template-rows:auto}.right-panel{max-height:calc(100vh - 140px)}.right-panel-body{overflow:auto;padding-right:4px}.room-summary-panel .room-link{max-width:none!important}.mobile-round-monitor{display:grid}.number-grid.ordered-grid{gap:6px}.number-button.large{min-height:58px;font-size:.98rem;padding:0 10px}.action-row.compact-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.board-console{grid-template-columns:minmax(0,1fr) minmax(180px,220px);align-items:center}}@media (min-width:900px) and (max-width:1220px){.match-workspace{grid-template-columns:minmax(240px,320px) minmax(0,1fr)}.workspace-side-right{grid-column:1/-1;position:static}.workspace-side-left{position:-webkit-sticky;position:sticky;top:16px}.workspace-main{min-height:auto}.right-panel{max-height:none}.right-panel-body{overflow:visible}}@media (min-width:640px) and (max-width:899px){.match-workspace{grid-template-columns:1fr}.workspace-main,.workspace-side,.workspace-side-left,.workspace-side-right{min-width:0;position:static}.right-panel,.right-panel-body{max-height:none;overflow:visible}.sidebar-round-monitor{display:none}}@media (max-width:880px){.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.number-grid.main{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-settings{grid-template-columns:1fr}.round-inline{grid-template-columns:repeat(2,minmax(0,1fr))}.number-grid.ordered-grid{gap:8px}.number-button.large{min-height:66px;font-size:1.02rem}}@media (max-width:560px){.page-shell{width:min(100vw - 16px,1120px);padding-top:16px}.hero,.panel{padding:16px;border-radius:18px}.mode-grid{grid-template-columns:1fr}.console-label,.match-topbar,.playing-focus-secondary,.round-monitor-header,.turn-banner{flex-direction:column;align-items:stretch}.action-row,.action-row.compact-actions,.quick-grid{grid-template-columns:1fr}.section-heading{gap:10px}.dart-status-grid,.presence-grid,.round-inline{grid-template-columns:1fr}.multiplier-grid,.multiplier-grid.main,.special-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.number-grid,.number-grid.main{grid-template-columns:repeat(5,minmax(0,1fr))}.row-between{flex-direction:column;align-items:stretch}.primary-action{grid-column:auto}}