*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#000;color:#143849;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}button:focus,input:focus,a:focus{outline:4px solid #e8a600;outline-offset:3px}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}
#viewport{position:fixed;top:0;left:0;right:0;bottom:0;inset:0;width:100%;height:100%;overflow:hidden;background:#000;cursor:default;outline:none}#board{position:absolute;width:1058px;height:704px;transform-origin:0 0;overflow:hidden;pointer-events:none}#artwork{position:absolute;top:0;left:0;display:block;width:1058px;height:704px;max-width:none;user-select:none}.value{position:absolute;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;line-height:1;white-space:nowrap;overflow:hidden;font-variant-numeric:tabular-nums;letter-spacing:0;background:transparent}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#overlay{position:fixed;top:0;left:0;right:0;bottom:0;inset:0;z-index:10;overflow:auto;background:rgba(0,0,0,.78);padding:28px 24px;overscroll-behavior:contain}.panel{margin:0 auto;width:100%;max-width:840px;background:#f3f8fb;border-radius:14px;padding:28px;box-shadow:0 18px 70px #0008}.panel.menu-panel{max-width:550px;margin-top:5vh}.panel h1{font-size:28px;margin:0;color:#207fa5;line-height:1.2}.panel h2{font-size:19px;line-height:1.35;margin:0 0 18px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;color:#578095;margin:0 0 9px}.head{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;padding-bottom:22px;border-bottom:1px solid #d4e3eb}.head button{flex-shrink:0}.close{border:1px solid #bdd3df;border-radius:7px;background:#fff;color:#275a70;padding:11px 17px}.status{background:#e1edf3;padding:12px 14px;border-radius:7px;font-size:13px;line-height:1.6;margin:18px 0;color:#355768}.status.bad{background:#fff0d9;color:#7d511d}.muted{font-size:14px;color:#5d7885;line-height:1.65}.small{font-size:12px}.menu-grid{display:flex;flex-direction:column;gap:12px;margin-top:22px}.primary,.secondary,.menu-button{min-height:48px;padding:13px 18px;border:0;border-radius:8px;font-weight:700;font-size:16px}.primary{background:#218fba;color:#fff}.secondary{background:#e2edf3;color:#1a596f;border:1px solid #bfd5df}.menu-button{text-align:left;background:#fff;color:#245974;border:1px solid #cbdfe9}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.metric-card{background:#fff;border:1px solid #d3e2e9;border-radius:10px;padding:19px}.metric-card h2{margin-bottom:16px;font-size:17px;color:#277a9b;min-height:40px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;color:#385d70;font-size:13px;font-weight:700;line-height:1.5}input:not([type=checkbox]){display:block;width:100%;margin-top:7px;padding:12px 11px;min-height:48px;border:1px solid #b6ccd8;border-radius:7px;background:#fff;color:#163b50;font-size:20px;font-variant-numeric:tabular-nums}.lti-card{background:#fff;border:1px solid #d3e2e9;border-radius:10px;padding:19px}.lti-card input{max-width:300px}.lti-card p{margin-bottom:0}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:23px}.actions button{flex:1}.message{margin-top:17px;padding:13px 15px;border:1px solid #ead49f;background:#fff6e2;border-radius:7px;color:#83521f;line-height:1.5;font-size:14px}.message.success{background:#e8f4ed;border-color:#b5d7c4;color:#256747}.login-form{max-width:520px}.login-form label{margin:18px 0}.check{display:flex;gap:10px;align-items:center;font-size:14px}.check input{width:20px;height:20px}.linkbox{overflow-wrap:anywhere;word-break:break-word;background:#fff;border:1px solid #c2d9e6;border-radius:8px;padding:18px;font-size:19px;line-height:1.5;color:#247795}.notice{padding:16px;background:#fff2dc;border-left:4px solid #d3a036;line-height:1.7;font-size:14px;margin:18px 0}#global-warning{margin-bottom:16px}#login-error:empty,#edit-message:empty{display:none}.key-help{font-size:12px;color:#657e8b;line-height:1.7;margin:20px 0 0}#last-saved{font-size:12px;line-height:1.6;color:#647a86;margin:17px 0 0}.auth-note{font-size:13px;line-height:1.7;color:#526f7e}#share-url{user-select:all}
@media(min-width:1400px){.panel{max-width:1000px;padding:36px}.panel h1{font-size:34px}.panel h2{font-size:22px}.metric-card h2{font-size:21px}.muted{font-size:17px}label{font-size:16px}input:not([type=checkbox]){font-size:24px;min-height:54px}.primary,.secondary,.menu-button{min-height:55px;font-size:19px}.status{font-size:16px}.panel.menu-panel{max-width:660px}}
@media(max-width:600px){#overlay{padding:12px 9px}.panel{padding:20px 16px;border-radius:11px}.panel h1{font-size:24px}.head{gap:8px;padding-bottom:17px}.close{padding:10px 12px;font-size:13px}.form-grid{grid-template-columns:1fr;gap:12px}.metric-card{padding:16px}.metric-card h2{min-height:0;margin-bottom:12px}.pair input{font-size:23px}.actions{gap:9px}.actions button{font-size:14px;padding:12px 10px}.panel.menu-panel{margin-top:6vh}.linkbox{font-size:15px}}
.message:empty{display:none}.pair-code{font-size:66px;font-weight:700;letter-spacing:10px;text-align:center;margin:30px 0;color:#218fba}#approve-section{margin-top:28px}#password-form{margin-top:30px}.noscript{position:fixed;z-index:30;top:0;background:white;padding:20px}#account-message{margin-top:24px}.login-form{margin-top:20px}#copy-result:empty{display:none}@media(max-width:600px){.pair-code{font-size:47px;letter-spacing:7px}.head{align-items:center}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
