*{box-sizing:border-box}body{margin:0;background:#eeeaf2;color:#281637;font:16px Arial,sans-serif}header{padding:18px 24px;background:#fff;border-bottom:1px solid #ddd;display:flex;gap:18px;align-items:center;flex-wrap:wrap}header a{color:#5c2a87;text-decoration:none;font-size:14px}h1{font:22px Georgia,serif;margin:0;flex:1}.state{font-size:11px;letter-spacing:.12em;color:#675a70}nav{position:sticky;top:0;z-index:2;display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;background:#fdfcfe;padding:12px;box-shadow:0 2px 8px #28163712}button{border:1px solid #d3c5df;border-radius:6px;padding:10px 14px;color:#5c2a87;background:#fff;font:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #9b72bb;outline-offset:2px}input{width:68px;padding:8px;border:1px solid #bbb;border-radius:4px;font:inherit}#total{min-width:48px}.zoom{display:flex;gap:6px;margin-left:15px}main{padding:24px 12px;overflow:auto;text-align:center;min-height:60vh}#sheet{width:min(100%,1000px);height:auto;box-shadow:0 4px 24px #28163722;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}#sheet.wide{max-width:none}footer{padding:8px 20px 24px;text-align:center;font-size:13px;color:#665a70}@media(max-width:600px){header{padding:14px;gap:10px}h1{flex-basis:100%;font-size:21px}nav{gap:6px;padding:9px}button{padding:9px;font-size:14px}.zoom{margin-left:3px}main{padding:12px 0}}@media print{body{display:none}}
