:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eef5f1;background:#101719;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#101719;overscroll-behavior:none}button{font:inherit}.start{min-height:100svh;padding:calc(env(safe-area-inset-top) + 13vh) 26px 40px;display:flex;flex-direction:column;align-items:center;background:radial-gradient(circle at 50% 35%,#203234,#101719 55%)}.mark{border:1px solid #5f8177;color:#72e4ab;letter-spacing:.25em;padding:9px 8px 9px 12px;font-size:11px}.start h1{font-size:44px;letter-spacing:.06em;margin:18px 0 1px}.full{font-size:10px;letter-spacing:.22em;color:#91a29e}.ready{margin:40px 0 68px;color:#72e4ab;font:600 12px ui-monospace;letter-spacing:.18em}.ready i{display:inline-block;width:7px;height:7px;background:#72e4ab;border-radius:50%;box-shadow:0 0 10px #72e4ab;margin-right:10px}.select-label{color:#aab8b4;font-size:13px}.grades{width:100%;max-width:370px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.grade{height:64px;border:1px solid #52635f;background:#182224;color:#fff;border-radius:4px;font-size:20px}.grade:active{border-color:#72e4ab;background:#20332d}.scanner{position:fixed;inset:0;background:#000;overflow:hidden}.scanner video{width:100%;height:100%;object-fit:cover}.analysis{display:none}.overlay,.shade{position:absolute;inset:0;pointer-events:none}.shade{background:rgba(84,89,88,.48);opacity:0;transition:opacity .18s}.lost .shade{opacity:1}.scanner header{position:absolute;left:0;right:0;top:0;padding:calc(env(safe-area-inset-top) + 11px) 13px 8px;display:flex;align-items:center;gap:13px;background:linear-gradient(#07100dcc,transparent);text-shadow:0 1px 3px #000}.scanner header>span{font-size:11px;letter-spacing:.12em;color:#c4d0cc}.counter{font:700 24px ui-monospace;margin-left:auto}.scanner header button{border:1px solid #ffffff55;background:#10171999;color:#fff;border-radius:4px;padding:7px 9px;font-size:11px}.debug-btn{opacity:.5}.banner{position:absolute;z-index:3;left:50%;top:43%;transform:translate(-50%,-50%);padding:13px 18px;background:#111a1bd9;border:1px solid #dbe5e1;color:#fff;font:700 15px ui-monospace;letter-spacing:.14em;white-space:nowrap;opacity:0;pointer-events:none}.banner.show{opacity:1}.counts{position:absolute;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 12px);display:grid;grid-template-columns:repeat(8,1fr);background:#0b1111d9;border:1px solid #ffffff2b;border-radius:5px;backdrop-filter:blur(7px);padding:7px 4px}.counts div{text-align:center;border-right:1px solid #ffffff1a}.counts div:last-child{border:0}.counts span{display:block;font:600 13px ui-monospace;color:#bdc8c4}.counts small{font-size:8px}.counts b{display:block;font:700 19px ui-monospace;margin-top:2px}.results{display:none;position:absolute;left:13px;bottom:calc(env(safe-area-inset-bottom) + 77px);background:#57df94;color:#07120d;border:0;border-radius:4px;padding:13px 18px;font-weight:800}.results.show{display:block}.palm{display:none;position:absolute;z-index:2;left:50%;top:55%;transform:translate(-50%,-50%);flex-direction:column;align-items:center;text-align:center;width:230px;color:#fff}.palm.show{display:flex}.palm b{font-size:54px}.palm span{margin-top:12px;font-size:13px}.debug{display:none;position:absolute;top:85px;left:8px;white-space:pre;font:10px ui-monospace;background:#000c;color:#9fffbf;padding:7px;pointer-events:none}.debugging .debug{display:block}.confirm{background:#182123;color:#fff;border:1px solid #60716c;border-radius:6px;width:min(88vw,360px);padding:22px}.confirm::backdrop{background:#000a}.confirm div{display:flex;gap:10px}.confirm button{flex:1;padding:12px;background:#25302d;border:1px solid #61706c;color:#fff}.confirm .danger{background:#7e262b}.error{height:100%;display:grid;place-content:center;text-align:center;padding:30px}.error p{color:#abb8b5}.error button{margin-top:25px;padding:12px}.result{min-height:100svh;padding:calc(env(safe-area-inset-top) + 20px) 14px calc(env(safe-area-inset-bottom) + 20px);background:#eef2ef;color:#101816}.result>header{display:flex;justify-content:space-between;align-items:center;padding:0 6px 14px}.result header small{color:#60706c;letter-spacing:.1em}.result h1{margin:4px 0 0;font-size:28px}.edit{border:1px solid #93a09d;background:transparent;padding:8px 14px}.table{border-top:2px solid #17221f}.tr{min-height:64px;display:grid;grid-template-columns:90px 1fr 58px;align-items:center;border-bottom:1px solid #aeb8b5;position:relative}.tr.labels{min-height:35px;color:#62706d;font-size:11px}.tr strong{padding-left:8px}.tally{height:34px;overflow:hidden}.tally svg{height:34px;max-width:100%;stroke:#17221f;stroke-width:3;fill:none;stroke-linecap:square}.num{font:800 29px ui-monospace;text-align:right;padding-right:10px}.adjust{display:none;position:absolute;right:58px;gap:5px;background:#eef2ef}.adjust button{width:42px;height:40px;border:1px solid #81908c;background:#fff;font-size:22px}.editing .adjust{display:flex}.total{display:flex;justify-content:space-between;padding:17px 10px;border-bottom:2px solid #17221f}.total b{font:900 34px ui-monospace}.restart{width:100%;margin-top:24px;padding:14px;background:#17221f;color:#fff;border:0}.result.editing .restart{visibility:hidden}
@media (orientation:landscape){body:before{content:'端末を縦向きにしてください';position:fixed;z-index:99;inset:0;display:grid;place-content:center;background:#101719;color:#fff}}
