:root{color-scheme:dark;font-family:Georgia,serif;background:#101e1b;color:#eee5d0}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 25% 35%,#244039 0,transparent 70%)}main{max-width:1180px;margin:auto;padding:34px 24px}header{text-align:center;margin-bottom:24px}.eyebrow{font:11px system-ui;letter-spacing:3px;color:#bdad83}h1{font-size:clamp(36px,5vw,60px);font-weight:400;margin:10px 0}h1 em{color:#d4ac6d}header p{color:#b5c1b7;font-size:16px;margin:10px}.layout{display:grid;grid-template-columns:minmax(0,740px) 300px;gap:30px;align-items:start}#table{width:100%;aspect-ratio:1;border-radius:24px;overflow:hidden;box-shadow:0 22px 65px #0006}canvas{display:block;width:100%!important;height:auto!important;touch-action:none}aside{padding:12px 0}.match{display:flex;justify-content:space-between;align-items:center;font:10px system-ui;letter-spacing:2px;color:#c5b584}button{cursor:pointer;border:1px solid #6c7c644f;border-radius:8px;padding:10px 12px;color:#dedcc8;background:#ffffff09;font:12px system-ui}button:hover{background:#ffffff18}button:focus-visible,input:focus-visible{outline:2px solid #f0c37c;outline-offset:4px}button:disabled{opacity:.4;cursor:default}.scores{display:flex;align-items:center;justify-content:space-around;padding:20px 0;border-bottom:1px solid #b0bd9c25}.scores div{text-align:center}small{font:10px system-ui;letter-spacing:1.6px;color:#a8b9a5}strong{display:block;font-size:52px;font-weight:400;line-height:1.2}.scores div:last-child strong{color:#df9a80}#message{min-height:70px;line-height:1.5;font-size:17px;color:#e0d9bd}label{display:block;font:12px system-ui;color:#b6c5b2;margin:20px 0}input{width:100%;display:block;margin-top:12px;accent-color:#dcba7e}output{float:right}.primary{width:100%;padding:16px;background:#dbba7e;color:#1c2c23;border:0;font-weight:650;font-size:15px}.primary:hover{background:#efd19c}.small{text-align:center;font:11px system-ui;color:#92a991;padding:12px}.actions{display:flex;gap:10px}.actions button{flex:1}details{margin-top:24px;border-top:1px solid #ffffff18;padding-top:18px;font-size:13px;color:#b5c1ae;line-height:1.6}summary{cursor:pointer;color:#e2d4b6;font-size:16px}footer{font:10px/1.8 system-ui;color:#849b8c;margin-top:22px}a{color:#bda67c}@media(max-width:800px){main{padding:20px 14px}.layout{grid-template-columns:1fr;gap:8px}aside{max-width:540px;width:100%;margin:auto}header{margin-bottom:20px}#message{min-height:44px}.scores{padding:10px}details{margin-top:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
