:root{color:#153438;font-synthesis:none;background:#f2f5f2;font-family:Noto Sans JP,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:4px;outline:4px solid #cb830a}button:disabled{opacity:.4;cursor:not-allowed}button{border:0;border-radius:14px;font-weight:700}a{color:#086858;text-underline-offset:5px}.board{flex-direction:column;max-width:1440px;min-height:100dvh;margin:auto;padding:28px 40px;display:flex}header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}h1{letter-spacing:-.04em;margin:4px 0 8px;font-size:clamp(22px,3vw,32px)}header p{margin:0;font-size:14px}.eyebrow{letter-spacing:.16em;color:#627a76;font-weight:700;font-size:11px!important}.divider{color:#bccac4;padding:0 10px}.status{color:#55706b;margin-left:16px}.connection{white-space:nowrap;background:#fff4de;border:1px solid #dfb87c;border-radius:30px;padding:10px 15px;font-size:13px}.connection.online{color:#19794e;background:#e3f1e8;border-color:#c4e0cd}.teams{flex:1;grid-template-columns:1fr 1fr;gap:24px;display:grid}.team{text-align:center;background:#fff;border:1px solid #dce5df;border-top:5px solid #177968;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;padding:22px 24px;display:flex}.team-B{border-top-color:#c78335}.team-label{letter-spacing:.22em;color:#177968;margin:0 0 12px;font-size:11px;font-weight:700}.team-B .team-label{color:#a76b28}h2{overflow-wrap:anywhere;margin:0;font-size:clamp(22px,3.4vw,40px)}.score{letter-spacing:-.06em;font-variant-numeric:tabular-nums;margin:14px 0 22px;font-size:clamp(80px,15vw,200px);font-weight:900;line-height:1.2}.points{gap:12px;width:100%;display:flex}.points button{color:#fff;background:#167a67;flex:1;min-height:86px;font-size:clamp(28px,4vw,48px);box-shadow:0 4px #0b584a}.team-B .points button{background:#b8752c;box-shadow:0 4px #885219}.points button:active{box-shadow:none;transform:translateY(3px)}.points small{font-size:20px}footer{text-align:center;margin-top:24px}.undo{color:#36534b;background:#e3eae5;min-height:56px;padding:16px 30px;font-size:16px}.feedback{color:#5b7169;min-height:24px;margin:12px 0 0;font-size:13px}.warning{color:#815113;background:#fff0cf;border-radius:12px;margin-bottom:18px;padding:15px;font-weight:600}.setup{max-width:760px;margin:50px auto;padding:32px}.setup h1{font-size:36px}.intro,.hint{color:#5e736d;font-size:14px;line-height:1.8}.form-grid{grid-template-columns:1fr 1fr;gap:0 22px;display:grid}label{margin:20px 0 0;font-size:13px;font-weight:600;display:block}input,select{color:#183a30;background:#fff;border:1px solid #c9d7ce;border-radius:9px;width:100%;min-height:48px;margin-top:8px;padding:13px 14px;display:block}.primary{color:#fff;background:#167a67;width:100%;margin-top:15px;padding:18px}.created{background:#fff;border:1px solid #c9d7ce;border-radius:16px;margin-top:30px;padding:26px}.created h2{font-size:22px}.created p{font-size:13px}.created a{margin-top:12px;display:inline-block}.display{color:#fff;background:#102327;max-width:none}.display .team{background:#193236;border-color:#365054}.display .team-B{border-top-color:#d8a058}.display .score{font-size:clamp(90px,20vw,290px)}.display .eyebrow,.display .feedback,.display .status{color:#a4bdb5}.display .team-label{color:#66c8ab}.display .team-B .team-label{color:#edb874}@media (width<=600px){.board{padding:18px 12px}.teams{gap:10px}.team{padding:20px 10px}header{align-items:flex-start}.connection{padding:8px;font-size:10px}header p{font-size:12px}.status{margin:5px 0 0;display:block}.points{flex-direction:column;gap:12px}.points button{min-height:60px}.score{margin:10px 0 20px;font-size:85px}h2{font-size:23px}.setup{margin:0;padding:28px 20px}.form-grid{grid-template-columns:1fr}.team-label{margin-bottom:8px}footer{margin-top:18px}}@media (height<=650px) and (width>=601px){.board{padding:14px 24px}header{margin-bottom:12px}.team{padding:12px}.score{margin:0 0 12px;font-size:100px}.points button{min-height:64px}footer{margin-top:12px}}
