:root{font-family:system-ui,-apple-system,"Apple SD Gothic Neo",sans-serif;background:#f5f3eb;color:#183f35;font-synthesis:none;--line:#d5dccc;--green:#204d3f}*{box-sizing:border-box}body{margin:0}button,input,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit;border:1px solid var(--line);border-radius:10px;background:#fffdf6;min-height:46px;padding:10px 15px;cursor:pointer;font-weight:650}button:disabled{opacity:.38;cursor:default}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #dc9c3e;outline-offset:3px}a{color:inherit;text-decoration:none}header{height:80px;margin:auto;max-width:1400px;padding:0 7%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-weight:800}.brand b{background:var(--green);color:#fff8e7;border-radius:10px;font-size:30px;padding:0 8px}.brand span{font-size:10px;letter-spacing:2px;font-weight:400;margin-left:15px}#login{margin-right:45px;font-size:12px}main{display:grid;grid-template-columns:minmax(220px,300px) minmax(320px,570px) minmax(110px,160px);gap:4%;max-width:1360px;margin:36px auto;padding:0 5%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700}h1{font-size:64px;letter-spacing:-3px;margin:25px 0}h1 span{display:block;font-weight:450;font-size:31px;letter-spacing:-1px;line-height:1.4;margin-top:15px}p{font-size:13px;line-height:1.8;color:#687c6c}.lead{font-size:17px}.settings{border-top:1px solid var(--line);padding-top:18px;margin-top:25px}.settings label{display:block;font-size:12px;margin:12px 0}.settings select{width:100%;margin-top:8px}.settings output{float:right;font-weight:700}.primary{background:var(--green);border-color:var(--green);color:#fffbed}#create{width:100%;margin:8px 0}.pair{display:flex;gap:8px}.pair>*{flex:1}.small{font-size:11px;text-align:center;color:#7e8d7d}.table{min-width:0;align-self:start}.table-top{display:flex;align-items:center;justify-content:space-between;min-height:26px;font-size:9px;letter-spacing:1.7px}.table-top button{min-height:26px;padding:3px 8px;font-size:11px}.scores{display:flex;align-items:center;justify-content:space-between;background:#fffcf4;border:1px solid var(--line);border-radius:14px 14px 0 0;padding:16px;font-size:13px}.scores b{font-size:23px;padding:0 5px;font-weight:500}#turn-label{font-size:11px}#stage{width:100%;aspect-ratio:1/1;position:relative;border-radius:0 0 12px 12px;overflow:hidden;background:#244b3d;touch-action:none;box-shadow:0 14px 35px #12382c22}#stage canvas{display:block;width:100%;height:100%;touch-action:none}#loading{position:absolute;inset:0;display:grid;place-items:center;color:#eee4c7;font-size:13px;pointer-events:none}.board-tools{display:flex;gap:8px;align-items:center;padding-top:9px}.board-tools button{font-size:11px;min-height:32px;padding:5px 10px}#clock{margin-left:auto;font-size:12px}#status{font-size:13px;text-align:center;min-height:24px;margin:9px 0;color:#234d3b}.controls{background:#e9ecdf;border-radius:14px;padding:16px}.power-title{display:flex;justify-content:space-between;font-size:13px;font-weight:700}.power-title output{font-size:20px;font-variant-numeric:tabular-nums}input[type=range]{width:100%;height:38px;accent-color:var(--green);cursor:pointer}input[type=range]::-webkit-slider-thumb{height:28px;width:28px}.control-row{display:flex;gap:7px;align-items:center;margin:0 0 10px}.control-row button{flex:1;padding:9px 5px;font-size:13px}#stick{width:54px;height:54px;border-radius:50%;background:#ccd7bf;display:grid;place-items:center;touch-action:none;flex-shrink:0}#stick span{display:grid;place-items:center;background:#fffdf0;border-radius:50%;width:32px;height:32px;box-shadow:0 2px 5px #0002}.safe{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;margin-top:12px}.safe input{width:21px;height:21px;accent-color:var(--green)}aside{padding-top:160px}aside h2{font-weight:500;font-size:24px;line-height:1.5}aside p{font-size:11px}aside a{font-size:11px;line-height:2.5}footer{display:flex;justify-content:space-between;max-width:1100px;margin:25px auto;padding:25px;border-top:1px solid var(--line);font-size:10px;color:#7c8b7e}#lobby{padding:18px;background:#e7ecdf;border-radius:12px;margin:10px 0}#lobby button{width:100%;margin-top:8px}#lobby input{width:100%;height:46px}#seats{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px}#seats div{background:#fff9ed;padding:12px;border-radius:8px}dialog{border:1px solid var(--line);border-radius:20px;background:#faf7ed;color:#183f35;padding:30px;max-width:90vw;min-width:300px}dialog::backdrop{background:#15372e99}dialog button{width:100%;margin-top:10px}#toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#123e32;color:white;padding:14px 20px;border-radius:12px;max-width:90vw;z-index:999999;font-size:13px}[hidden]{display:none!important}@media(max-width:1100px){main{grid-template-columns:250px minmax(320px,570px);gap:5%}aside{display:none}}@media(max-width:700px){header{height:62px;padding:0 18px}.brand span{display:none}main{display:flex;flex-direction:column;padding:0 14px;margin:22px auto;gap:20px;max-width:540px}h1{font-size:45px;margin:10px 0}h1 span{display:inline;font-size:20px;margin-left:18px}h1 br{display:none}.welcome .lead,.welcome>p:not(.eyebrow):not(.small){display:none}.settings{margin-top:18px}.settings label{margin:8px 0}.settings select{min-height:44px}.playing .welcome,.playing aside{display:none}.playing main{margin-top:9px}.controls{padding:12px}.scores{padding:10px 13px}.playing footer{display:none}.board-tools{padding-top:5px}.small{margin:6px 0}.safe{margin-top:10px}}@media(max-height:500px) and (orientation:landscape){.playing main{display:block;max-width:700px}.playing .table{display:grid;grid-template-columns:minmax(250px,1fr) 260px;gap:10px}.playing #stage{grid-column:1;grid-row:2/6}.playing .controls{grid-column:2;grid-row:2/6}.playing .scores{grid-column:1/3}.playing .table-top{grid-column:1/3}.playing #status{grid-column:1/3}.playing .board-tools{grid-column:1/3}}

@media(min-width:701px){.playing main{grid-template-columns:minmax(320px,650px) minmax(110px,160px);justify-content:center}}
