.dartboard{height:100%}.dartboard__stage{position:relative;height:100%}.dartboard__viewport{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;cursor:crosshair;overflow:hidden}.dartboard__viewport svg{display:block}.zoom-controls{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:6px}.zoom-controls__reset{font-size:12px;font-variant-numeric:tabular-nums}.nudge-menu{position:absolute;right:10px;bottom:10px;display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);gap:4px;grid-template-areas:". up ." "left ok right" ". down .";padding:6px;border-radius:14px;background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line)}.nudge-up{grid-area:up}.nudge-left{grid-area:left}.nudge-ok{grid-area:ok}.nudge-right{grid-area:right}.nudge-down{grid-area:down}.turn-panel{display:grid;grid-template-columns:1fr auto;align-items:stretch;gap:12px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}.turn-table{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:280px}.turn-table__head,.turn-row{display:grid;grid-template-columns:32px 1fr 56px;align-items:center;padding:0 10px;text-align:left}.turn-table__head{height:24px;font-size:12px;color:var(--hint)}.turn-row{height:34px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--fg);font:inherit;font-size:16px;font-variant-numeric:tabular-nums;touch-action:manipulation}.turn-row:disabled{color:var(--hint)}.turn-row:not(:disabled){cursor:pointer;background:var(--surface-2)}.turn-row--active{border-color:var(--line);border-left:3px solid var(--accent)}.turn-row--selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--surface))}.turn-row:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.turn-panel__actions{display:flex;flex-direction:column;justify-content:center;gap:8px}.turn-panel__actions .btn{min-width:132px;min-height:52px}:root{color-scheme:dark;--bg: var(--tg-theme-bg-color, #14161b);--fg: var(--tg-theme-text-color, #eceae4);--hint: var(--tg-theme-hint-color, #8d93a1);--surface: var(--tg-theme-secondary-bg-color, #1c1f26);--surface-2: color-mix(in srgb, var(--surface) 70%, var(--fg) 12%);--line: color-mix(in srgb, var(--fg) 14%, transparent);--accent: var(--tg-theme-button-color, #2ee6ff);--accent-fg: var(--tg-theme-button-text-color, #04222a)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.app{display:flex;flex-direction:column;height:100dvh;padding-top:env(safe-area-inset-top)}.app__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px}.app__title{font-size:15px}.app__header .btn{min-height:38px;font-size:14px;padding:0 12px}.app__main{flex:1;min-height:0}.btn{min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--fg);font:inherit;font-size:15px;cursor:pointer;touch-action:manipulation}.btn:active:not(:disabled){filter:brightness(1.2)}.btn:disabled{opacity:.4;cursor:default}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn--icon{width:44px;padding:0;font-size:18px}.btn--primary{background:var(--accent);border-color:transparent;color:var(--accent-fg);font-weight:600}
