:root{font-family:Geologica,Segoe UI,sans-serif;color:#272923;background:#ece9e1;font-synthesis:none;font-weight:430;--ink: #272923;--muted: #66695f;--paper: #f8f5ed;--line: #d8d6cd;--red: #973a2c;--focus: #286353;color-scheme:light;accent-color:var(--ink)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.42}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::selection{background:#bcd4c8;color:#172920}input{caret-color:var(--red)}*{scrollbar-width:thin;scrollbar-color:#b2b3a7 transparent}a{color:inherit;text-underline-offset:4px}button{color:inherit}svg{display:block}h1,h2,p{margin:0}input[type=range]{min-width:0;cursor:pointer}button,select,input{border-radius:5px}.studio{--header-height: 64px;max-width:1800px;margin:0 auto;min-height:100dvh}.turn-controls svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.studio-workspace{display:grid;grid-template-columns:minmax(0,1fr)}.table-area{min-width:0;padding:22px 24px 0}.stage{height:clamp(510px,calc(100dvh - 275px),880px);min-width:0;position:relative;isolation:isolate;background:#b9b1a0;border-radius:10px;overflow:hidden}.card-scene{position:absolute;inset:0;touch-action:none}.card-scene canvas{display:block;width:100%;height:100%}.card-scene[data-mode=inspect]{cursor:grab}.opponent-label{position:absolute;top:114px;left:50%;transform:translate(-50%);font-size:11px;pointer-events:none;color:#202c27;background:#f8f5edf0;padding:5px 9px;border-radius:4px;white-space:nowrap}.opponent-label span{margin-left:8px;color:#596259}.upload-button svg,.studio-message svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.small-suit{width:15px;height:15px}.turn-controls{display:flex;align-items:center;background:var(--paper);border-radius:6px;padding:4px;gap:2px}.turn-controls button{border:0;background:transparent;min-height:36px;padding:8px 11px;font-size:12px}.turn-controls button:hover{background:#e1e1d7}.zoom-control{display:flex;align-items:center;gap:10px;font-size:11px;background:#f8f5edf0;padding:3px 12px;border-radius:4px}.zoom-control input{width:115px}.hand-controls{padding:17px 3px 13px;display:flex;align-items:center;gap:24px;min-height:72px}.hand-controls-label{display:grid;gap:5px;flex-shrink:0;font-size:12px}.hand-controls-label span+span{font-size:10px;color:var(--muted)}.hand-choices{display:flex;flex-wrap:wrap;gap:6px}.hand-choice{color:var(--ink);min-width:45px;height:44px;padding:0 8px;border:1px solid #c9ccc0;display:flex;align-items:center;justify-content:center;gap:5px;background:#f8f5ed;position:relative;font-family:Sofia Sans Extra Condensed,Arial Narrow,sans-serif;font-size:22px;font-weight:700}.hand-choice.red{color:#973a2c}.hand-choice[aria-pressed=true]{background:#d3e2d5;border-color:#557662}.hand-choice i{position:absolute;width:4px;height:4px;border-radius:50%;background:#416850;bottom:3px;right:4px}.hand-choice:hover{background:#e0e7d9}.game-bar{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 3px 22px}.game-caption p{font-family:Sofia Sans Extra Condensed,Arial Narrow,sans-serif;font-size:25px;font-weight:700;line-height:1}.game-caption span{display:block;font-size:11px;color:var(--muted);margin-top:7px}.game-actions{display:flex;gap:7px;flex-shrink:0}.game-actions button{padding:11px 16px;min-height:42px;font-size:12px;border:1px solid #bcc1b4;background:transparent}.game-actions .primary-action{background:#293b30;color:#f7f2e6;border-color:transparent;min-width:105px}.game-actions button:not(:disabled):hover{background:#d9ded1}.game-actions .primary-action:not(:disabled):hover{background:#3e5948}.draw-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid #c8cbc0;border-radius:7px;background:var(--paper);color:var(--ink)}.draw-copy{display:grid;gap:4px;min-width:0}.draw-copy strong{font-size:13px;font-weight:600}.draw-copy span,.draw-mode-note{color:var(--muted);font-size:11px}.draw-actions{display:flex;flex-shrink:0;gap:7px}.draw-actions button{min-height:44px;padding:10px 13px;border:1px solid #bcc1b4;background:transparent}.draw-actions .primary-action{min-width:112px;border-color:transparent;background:#293b30;color:#f7f2e6}.draw-actions button:not(:disabled):hover{background:#d9ded1}.draw-actions .primary-action:not(:disabled):hover{background:#3e5948}.accessible-bout{font-size:12px;margin-bottom:20px;padding:10px 4px}.accessible-bout summary{cursor:pointer}.accessible-bout ul{padding-left:20px}.accessible-bout li{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.accessible-bout button{background:var(--paper);padding:8px;border:1px solid var(--line)}.appearance-panel{padding:29px 23px 24px;border-left:1px solid var(--line);background:var(--paper);overflow:auto;max-height:calc(100dvh - var(--header-height));position:sticky;top:0}fieldset{border:0;padding:0;margin:25px 0 0;min-width:0}legend{padding:0;font-size:12px;font-weight:600;margin-bottom:12px}.finish-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.finish-options button{padding:0 0 8px;border:1px solid #d4d6cb;background:transparent;overflow:hidden;font-size:10px}.finish-options button[aria-pressed=true]{border:2px solid #57725c}.finish-sample{display:block;height:55px;background:#e6ddc9;position:relative;margin-bottom:8px;overflow:hidden}.finish-sample:before{content:"";position:absolute;inset:11px 18px 9px;border-radius:3px;background:#f9f4e7;transform:rotate(-14deg);box-shadow:4px 6px 8px #40392c29}.finish-sample.satin{background:#c3cbbb}.finish-sample.satin:before{background:linear-gradient(125deg,#d7d9ca,#fffdf5 43%,#e1e2d5 65%)}.finish-sample.foil{background:#b4aca0}.finish-sample.foil:before{background:linear-gradient(125deg,#b19665,#f7e4b9 38%,#b19364 62%,#e1c995)}.field-note{font-size:10px;line-height:1.6;color:var(--muted);margin-top:10px}.color-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:6px 0}.color-value{display:flex;align-items:center;gap:10px;font-size:10px;font-variant-numeric:tabular-nums;color:var(--muted)}input[type=color]{padding:0;width:26px;height:26px;border:1px solid #bcbfb2;border-radius:4px;background:transparent;cursor:pointer;overflow:hidden}input[type=color]::-webkit-color-swatch-wrapper{padding:2px}input[type=color]::-webkit-color-swatch{border:0;border-radius:2px}.range-label{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;font-size:11px;margin-top:17px}.range-label output{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.range-label input{grid-column:1/-1;width:100%;margin:0;height:14px}.appearance-panel select{width:100%;font-size:11px;padding:10px 28px 10px 9px;border:1px solid #c7cabd;background:transparent;color:var(--ink)}.upload-button{display:flex;justify-content:space-between;width:100%;margin-top:9px;font-size:11px;padding:11px 10px;border:1px solid #c7cabd;background:transparent}.upload-button:hover{background:#e8e9de}.text-button{border:0;padding:7px 0;background:transparent;text-decoration:underline;text-underline-offset:4px;color:var(--muted);font-size:10px}.surface-options{display:flex;gap:10px;margin-bottom:15px}.surface-options button{width:43px;height:40px;border:3px solid var(--paper);outline:1px solid #c6c9be}.surface-options button[aria-pressed=true]{outline:2px solid #425e4b}.setup-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.setup-options button{display:flex;gap:7px;align-items:center;text-align:left;border:0;padding:5px 0;background:transparent;font-size:10px}.setup-options button:hover{color:#276442}.setup-swatch{width:29px;height:32px;border-radius:3px;display:grid;place-items:center;flex-shrink:0}.setup-swatch>span{width:13px;height:20px;border:1px solid #f6eddb;transform:rotate(-13deg);border-radius:2px}.save-setup form{display:flex;margin-top:10px;gap:6px}.save-setup input{width:100%;min-width:0;padding:10px 8px;font-size:11px;border:1px solid #c7cabd;background:transparent}.save-setup input::placeholder{color:#6a7064}.save-setup button{padding:8px 10px;font-size:11px;border:0;background:#dce1d3}.reset-style{margin-top:18px}.studio-message{position:fixed;z-index:10;bottom:20px;left:50%;transform:translate(-50%);max-width:min(90vw,540px);display:flex;align-items:center;gap:20px;padding:14px 18px;border-radius:8px;background:#293b30;color:#f9f6ed;box-shadow:0 8px 24px #14291e30;font-size:12px;line-height:1.5}.studio-message button{background:transparent;border:0;color:inherit;font-size:21px;padding:0 4px}.sr-only,.studio.is-playing .game-status .bout-update{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1600px){.appearance-panel{padding-left:28px;padding-right:28px}.table-area{padding:28px 32px 0}.stage{height:calc(100dvh - 275px)}}@media(max-width:1050px){.appearance-panel{padding:25px 18px}.table-area{padding:18px 16px 0}.hand-controls{display:block}.hand-controls-label{display:flex;justify-content:space-between;margin-bottom:10px}.stage{height:540px}.game-actions{gap:5px}.game-actions button{padding:10px 12px}.game-caption span{max-width:210px;line-height:1.5}}@media(max-width:760px){.studio{--header-height: 60px}.table-area{padding:12px 12px 0}.stage{height:540px;border-radius:7px}.appearance-panel{position:static;max-height:none;border-left:0;border-top:1px solid var(--line);padding:25px 24px;display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.reset-style{grid-column:1/-1}.hand-controls{padding-top:14px}.hand-controls-label{gap:10px;font-size:11px}.hand-controls-label span+span{font-size:9px}.game-bar{padding:17px 0}.game-caption p{font-size:25px}.game-caption span{font-size:10px;max-width:150px}.game-actions button{padding:10px 11px}.game-actions .primary-action{min-width:90px}.opponent-label{top:130px;font-size:10px}.turn-controls button{padding:8px 9px;font-size:11px}}@media(max-width:390px){.stage{height:505px}.appearance-panel{grid-template-columns:1fr}.appearance-panel>*{grid-column:1}.game-bar{flex-wrap:wrap}.game-actions{width:100%}.game-actions button{flex:1}.game-caption span{max-width:none}.hand-controls-label{display:grid;gap:4px}}.opponent-label{left:var(--opponent-x);top:var(--opponent-y)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}button:enabled:active{transform:translateY(1px)}@media(prefers-reduced-motion:reduce){button:enabled:active{transform:none}}.game-status{position:sticky;top:0;z-index:4;background:#ece9e1;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px;padding:0 3px 16px}.game-status h1{display:flex;align-items:center;gap:9px;font-family:Sofia Sans Extra Condensed,Arial Narrow,sans-serif;font-size:34px;font-weight:700;line-height:1.1;color:var(--ink)}.game-status[data-tone=human] h1,.game-status[data-tone=won] h1{color:#286353}.game-status[data-tone=lost] h1{color:var(--red)}.game-status p{font-size:12px;line-height:1.5;margin-top:5px}.game-status .bout-update{color:var(--muted);font-size:11px;margin-top:4px}.table-context{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;color:var(--muted);font-size:11px;line-height:1.5;font-variant-numeric:tabular-nums}.table-context>span{white-space:nowrap}.trump-context{display:inline-flex;align-items:center;gap:5px}.trump-context [data-suit=hearts],.trump-context [data-suit=diamonds]{color:var(--red)}.opponent-label[data-active=true]{background:#293b30;color:#f8f5ed}.opponent-label[data-active=true] span{color:#e1e8da}.opponent-label strong{font-size:inherit;font-weight:600;margin-left:9px}.game-result{position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);width:min(360px,calc(100% - 32px));padding:30px 28px;text-align:center;background:var(--paper);border-radius:8px;box-shadow:0 12px 36px #1a251b30}.game-result h2{font-family:Sofia Sans Extra Condensed,Arial Narrow,sans-serif;font-size:64px;font-weight:800;line-height:1;color:#286353}.game-result[data-tone=lost] h2{color:var(--red)}.game-result[data-tone=draw] h2{color:var(--ink)}.game-result h2:focus{outline:none}.game-result p{font-size:13px;line-height:1.6;margin:14px auto 22px;max-width:28ch}.game-result button{min-height:44px;padding:12px 28px;border:0;background:#293b30;color:#f8f5ed;font-size:13px}.game-result button:hover{background:#3e5948}@media(max-width:760px){.game-status{min-height:90px;padding:0 2px 12px;gap:12px}.game-status h1{font-size:30px}.game-status p{font-size:12px}.game-status .bout-update{font-size:10px}.game-result{padding:26px 22px}.game-result h2{font-size:54px}.game-bar{position:sticky;bottom:0;z-index:3;background:#ece9e1;gap:12px}.game-caption span{line-height:1.5}.game-actions button{min-height:44px}}.court-picker{min-width:0;pointer-events:auto}.court-picker select{width:180px;max-width:100%;min-height:44px;padding:10px 24px 10px 10px;color:var(--ink);background:var(--paper);border:1px solid #bcbfb2;border-radius:5px}@media(max-width:760px){.court-picker select{width:156px;font-size:11px}}.back-pattern-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.studio{--header-height: 0px;max-width:none;position:relative}.table-area{position:relative}.table-tools{position:absolute;z-index:8;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));display:flex;gap:8px}.language-switcher{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0;font-size:13px}.language-switcher select{min-height:44px;padding:8px 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.tool-button{width:48px;height:48px;padding:12px;display:grid;place-items:center;background:var(--paper);border:1px solid #babdb0;border-radius:8px}.tool-button:hover{background:#e4e7db}.tool-button svg,.bout-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tool-button span{display:none}.play-preferences{grid-column:1 / -1}.display-preference{display:flex;align-items:center;gap:12px;min-height:48px;font-size:14px;cursor:pointer}.display-preference input{width:20px;height:20px}.table-area[data-view=inspect]{padding-top:80px}.studio.is-playing .table-area{padding:0;height:100svh;min-height:360px}.studio.is-playing .studio-workspace{grid-template-columns:minmax(0,1fr)}.studio.is-playing .stage{position:absolute;inset:0;height:100%;min-height:0;border-radius:0}.table-frame{position:absolute;inset:28px;pointer-events:none}.studio.is-playing .table-frame{top:calc(max(20px,env(safe-area-inset-top)) + 124px);bottom:calc(max(16px,env(safe-area-inset-bottom)) + 128px)}.studio.is-playing .game-status{position:absolute;z-index:2;top:max(20px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:144px;min-height:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:var(--table-ink);background:none;pointer-events:none}.studio.is-playing .game-status h1{color:inherit;font-size:26px}.studio.is-playing .game-status p{max-width:54ch;font-size:12px;margin-top:4px}.studio.is-playing .table-context{color:inherit;font-size:12px;gap:8px 16px}.studio.is-playing .opponent-label{color:var(--table-ink);background:none;padding:0;font-size:12px;transform:translate(-50%,-100%)}.studio.is-playing .opponent-label span{color:inherit}.studio.is-playing .player-controls{position:absolute;z-index:3;bottom:max(16px,env(safe-area-inset-bottom));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;color:var(--table-ink);pointer-events:none}.studio.is-playing .hand-controls{display:grid;min-width:0;padding:0;gap:8px}.studio.is-playing .hand-controls-label{margin:0;display:flex;justify-content:space-between;font-size:12px;color:inherit}.studio.is-playing .hand-controls-label span+span{display:none}.studio.is-playing .hand-choices{flex-wrap:nowrap;min-width:0;overflow-x:auto;padding:4px 3px;gap:8px;scroll-padding-inline:8px;pointer-events:auto}.studio.is-playing .hand-choice{flex:0 0 auto;height:52px;min-width:48px}.studio.is-playing .game-bar{position:static;min-height:0;padding:0 0 4px;border:0;background:none}.studio.is-playing .game-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.studio.is-playing .game-actions{gap:8px;pointer-events:auto}.studio.is-playing .draw-controls{grid-column:auto;width:min(560px,48vw);flex-wrap:wrap;justify-self:end;pointer-events:auto;box-shadow:0 5px 18px #17261c20}.studio.is-playing .draw-copy{min-width:min-content}.studio.is-playing .draw-actions button{font-size:14px}.studio.is-playing .game-actions button{min-height:52px;min-width:80px;padding:12px 16px;font-size:14px;background:var(--paper);color:var(--ink)}.studio.is-playing .game-actions .primary-action{background:#293b30;color:#f8f5ed}.studio.is-playing .game-actions button:disabled{opacity:1;color:#797e73;background:#d8d9cd}.studio.is-playing .game-actions .bout-toggle{display:grid;place-items:center;min-width:48px;width:48px;padding:12px}.studio.is-playing .accessible-bout{position:absolute;bottom:calc(100% + 16px);right:0;width:min(420px,100%);max-height:min(360px,45svh);overflow-y:auto;padding:16px;margin:0;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;pointer-events:auto}.bout-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.bout-heading h2{font-size:16px}.bout-heading button{min-height:44px}@media(max-width:760px){.studio.is-playing .table-frame{top:min(25%,calc(max(16px,env(safe-area-inset-top)) + 160px));bottom:min(55%,calc(max(12px,env(safe-area-inset-bottom)) + 224px))}.studio.is-playing .table-tools{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}.studio.is-playing .game-status{top:max(16px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:128px;gap:6px}.studio.is-playing .game-status h1{font-size:24px}.studio.is-playing .game-status p{font-size:11px}.studio.is-playing .table-context{font-size:11px;gap:4px 12px}.studio.is-playing .player-controls{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);gap:8px}.studio.is-playing .hand-controls{gap:4px}.studio.is-playing .hand-choice{width:56px;height:72px;padding:8px;display:flex;flex-direction:column;justify-content:center;gap:4px;font-size:28px}.studio.is-playing .hand-choice .small-suit{width:22px;height:22px}.studio.is-playing .game-bar{padding:0}.studio.is-playing .game-actions{width:100%}.studio.is-playing .draw-controls{grid-column:1 / -1;width:100%;align-items:stretch;flex-direction:column;gap:8px}.studio.is-playing .draw-actions{width:100%}.studio.is-playing .draw-actions button{flex:1}.studio.is-playing .game-actions button{min-width:0;flex:1;padding:12px 8px;font-size:14px}.studio.is-playing .game-actions .bout-toggle{flex:0 0 48px}}@media(max-height:500px){.studio.is-playing .hand-choice{flex-direction:row;width:auto;height:48px;font-size:24px}.studio.is-playing .hand-choice .small-suit{width:16px;height:16px}.studio.is-playing .game-actions button{min-height:48px}.studio.is-playing .game-status p{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@media(max-height:500px)and (min-width:600px)and (orientation:landscape){.studio.is-playing .table-frame{top:calc(max(20px,env(safe-area-inset-top)) + 76px);bottom:calc(max(16px,env(safe-area-inset-bottom)) + 112px)}.studio.is-playing .draw-controls{grid-column:auto;width:min(560px,48vw);flex-direction:row}.studio.is-playing .draw-actions{width:auto}.studio.is-playing .player-controls{grid-template-columns:minmax(0,1fr) auto;gap:12px}}@media(max-width:760px),(max-height:500px)and (orientation:landscape){.studio.is-playing .draw-copy span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.back-pattern-options button{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:10px 4px;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--ink);font-size:11px}.back-pattern-options button:hover{background:#e8e9de}.back-pattern-options button[aria-pressed=true]{border-color:var(--focus);background:#dce1d3}.back-pattern-options canvas{display:block;width:44px;height:auto;border-radius:3px}.back-pattern-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.back-frame{display:flex;align-items:center;gap:8px;min-height:44px;font-size:11px;cursor:pointer}.back-frame input{width:16px;height:16px;margin:0;accent-color:var(--focus)}.variation-button{min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--ink);font-size:11px}.variation-button:hover{background:#e8e9de}@media(min-width:391px)and (max-width:760px){.back-settings{grid-column:1 / -1}}.drop-feedback{position:absolute;left:50%;transform:translate(-50%);color:var(--table-ink);font-size:12px;pointer-events:none;white-space:nowrap}.cancel-selection{position:absolute;right:0;top:-12px;padding:0 12px;min-height:44px;border:0;background:transparent;color:inherit;text-decoration:underline;text-underline-offset:4px;pointer-events:auto}.hand-controls{position:relative}.play-preferences{display:grid;gap:12px}.draw-preference{display:grid;gap:7px;padding-top:10px;border-top:1px solid var(--line)}.draw-preference>span{color:var(--muted);font-size:11px}[hidden]{display:none!important}.menu-toggle.tool-button{display:flex;width:auto;gap:8px;padding:0 14px;font-size:14px}.menu-toggle.tool-button span{display:inline}.studio.is-menu-open{max-width:none;background:var(--paper)}.is-menu-open .studio-workspace{height:100dvh;min-height:360px;grid-template-columns:minmax(0,1fr) minmax(300px,380px);grid-template-rows:auto auto minmax(0,1fr)}.menu-heading{grid-column:1 / -1;display:flex;align-items:center;gap:16px;padding:max(12px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 12px max(24px,env(safe-area-inset-left))}.menu-heading h1{font-family:Sofia Sans Extra Condensed,Arial Narrow,sans-serif;font-size:32px}.menu-pause{color:var(--muted);font-size:12px}.menu-return{margin-left:auto;background:#293b30;color:var(--paper);min-height:44px;padding:10px 16px;border:0;font-size:14px}.menu-return:hover{background:#3e5948}.menu-sections{grid-column:1 / -1;display:flex;gap:12px;padding:0 24px;border-bottom:1px solid var(--line)}.menu-sections button{min-height:48px;padding:8px 12px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-size:14px}.menu-sections button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--focus)}.menu-sections button:hover{background:#e9eadf;color:var(--ink)}.is-menu-open .table-area{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:0}.is-menu-open .stage{height:100%;min-height:0;border-radius:0}.is-menu-open .card-scene[data-mode=play]{pointer-events:none}.is-menu-open .opponent-label{color:var(--table-ink);background:none}.preview-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;padding:12px max(16px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-bottom));background:var(--paper)}.preview-controls .court-picker select{width:100%;max-width:100%;min-height:44px;font-size:14px}.preview-controls .turn-controls{padding:0}.preview-controls .turn-controls button{min-width:44px;min-height:44px;font-size:13px;padding:6px 10px}.preview-controls .zoom-control{padding:0;font-size:13px;min-height:44px}.preview-controls .zoom-control input{flex:1;width:100%;min-height:44px}.preview-controls output{font-variant-numeric:tabular-nums;min-width:4ch}.preview-side{font-size:12px;color:var(--muted);text-align:right}.menu-content{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) 24px;border-left:1px solid var(--line);scroll-padding-block:16px}.studio .menu-content .appearance-panel{display:block;padding:0;height:auto;max-height:none;overflow:visible;border:0;background:none}.menu-content .appearance-panel fieldset{margin:0 0 28px}.menu-content .appearance-panel legend{font-size:15px;margin-bottom:16px}.menu-content .appearance-panel select,.menu-content .appearance-panel input:not([type=checkbox],[type=radio],[type=color]),.menu-content .appearance-panel button{min-height:44px;font-size:14px}.menu-content .appearance-panel .field-note{font-size:12px;line-height:1.6}.menu-content .color-row,.menu-content .range-label,.menu-content .draw-preference>span{font-size:13px}.menu-content .language-switcher{margin-bottom:28px}.how-to-play{font-size:15px;line-height:1.65;max-width:65ch}.how-to-play section+section{margin-top:28px}.how-to-play h2{font-family:Sofia Sans Extra Condensed,Arial Narrow,sans-serif;font-size:28px;line-height:1.2;margin-bottom:12px}.how-to-play h3{font-size:15px;margin:0 0 4px}.how-to-play p+p,.how-to-play li+li{margin-top:12px}.how-to-play ol{padding-left:24px}.help-now{padding-bottom:24px;border-bottom:1px solid var(--line)}@media(max-width:760px){.studio.is-playing .hand-choice{width:auto;min-width:48px;height:48px;flex-direction:row;gap:5px;font-size:26px}.studio.is-playing .hand-choice .small-suit{width:18px;height:18px}.studio.is-playing .game-status{right:108px}.studio.is-playing .table-frame{top:min(25%,calc(max(16px,env(safe-area-inset-top)) + 132px));bottom:min(55%,calc(max(12px,env(safe-area-inset-bottom)) + 200px))}}@media(max-width:900px){.is-menu-open .studio-workspace{grid-template-columns:minmax(0,1fr) minmax(280px,42%)}.preview-controls{grid-template-columns:minmax(0,1fr);gap:4px}.preview-controls .turn-controls{justify-content:space-between}.preview-side{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}@media(max-width:599px){.is-menu-open .studio-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr)}.menu-heading{gap:8px;flex-wrap:wrap;padding:max(8px,env(safe-area-inset-top)) 12px 4px}.menu-heading h1{font-size:28px}.menu-pause{font-size:11px}.menu-return{padding:10px;font-size:13px}.menu-sections{padding:0 8px;gap:0;flex-wrap:wrap}.menu-sections button{flex:1 0 auto;padding:8px;font-size:13px;min-height:44px}.is-menu-open .table-area{grid-template-rows:clamp(160px,24dvh,220px) auto}.preview-controls{padding:4px 12px 8px;grid-template-columns:minmax(0,1fr) 90px;gap:0 8px}.preview-controls .court-picker,.preview-controls .turn-controls{grid-column:1 / -1}.preview-controls .court-picker select{min-height:44px;font-size:13px}.preview-controls .zoom-control{grid-column:1 / -1;min-height:44px}.preview-controls .zoom-control input{min-height:44px}.menu-content{padding:20px 16px max(20px,env(safe-area-inset-bottom));border-left:0;border-top:1px solid var(--line)}.studio[data-menu-section=game] .table-area,.studio[data-menu-section=help] .table-area{display:none}.studio[data-menu-section=game] .menu-content,.studio[data-menu-section=help] .menu-content{grid-row:3 / 5}}@media(max-height:500px)and (min-width:600px){.menu-heading{padding-block:6px}.menu-sections button{min-height:44px}.preview-controls{grid-template-columns:minmax(0,1fr);padding:4px 12px;gap:0}.preview-controls .court-picker,.preview-controls .zoom-control{min-height:44px}.is-menu-open .table-area{grid-template-rows:minmax(80px,1fr) auto}}
