.cp{gap:12px;min-width:0;display:grid}.cp-row{gap:6px;min-width:0;display:grid}.cp-lbl,.cp-other>span{color:var(--muted);font-size:13px;font-weight:700}.cp-other small{font-weight:600}.cp-grades{grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;display:grid}.cp-letters{flex-wrap:wrap;gap:6px;display:flex}.cp-grades button,.cp-letters button{font:700 17px/1 var(--display);cursor:pointer;border:2px solid var(--line);background:var(--surface);min-width:0;min-height:44px;color:var(--ink);border-radius:12px;padding:0 6px;transition:transform .1s,background .12s,border-color .12s}.cp-letters button{width:48px}.cp-letters .cp-none{width:auto;font:700 14px/1 var(--body);padding:0 14px}.cp-grades button:hover:not(:disabled),.cp-letters button:hover:not(:disabled){border-color:var(--brand)}.cp-grades button:active:not(:disabled),.cp-letters button:active:not(:disabled){transform:scale(.96)}.cp-grades button[aria-pressed=true],.cp-letters button[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.cp-grades button:focus-visible,.cp-letters button:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.cp-letters button:disabled{opacity:.4;cursor:default}.cp-other{gap:6px;display:grid}.cp-other input{font:700 16px var(--body);border:2px solid var(--line);background:var(--surface);color:var(--ink);box-sizing:border-box;border-radius:12px;width:100%;min-width:0;padding:10px 14px}.cp-out{margin:0;font-size:15px}.cp-out b{font:700 20px/1.2 var(--display);overflow-wrap:anywhere}.cp-hint{color:var(--muted);background:var(--surface-2);border-radius:12px;margin:0;padding:8px 12px;font-size:13px}.cp-hint.ok{color:#0a5a3e;background:#e3f8f1}@media (max-width:560px){.cp-grades{grid-template-columns:repeat(6,minmax(0,1fr))}.cp-letters button{flex:1 0 40px;width:auto}.cp-letters .cp-none{flex:1 0 100%}}.cp.compact{gap:8px}.cp.compact .cp-row{gap:4px}.cp.compact .cp-lbl,.cp.compact .cp-other>span{font-size:12px}.cp.compact .cp-grades{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.cp.compact .cp-letters{gap:4px}.cp.compact .cp-grades button,.cp.compact .cp-letters button{border-width:1.5px;border-radius:9px;min-height:34px;padding:0 4px;font-size:14px}.cp.compact .cp-letters button{flex:1 0 30px;width:auto}.cp.compact .cp-letters .cp-none{flex:1 0 100%;padding:0 8px;font-size:12px}.cp.compact .cp-other{gap:4px}.cp.compact .cp-other input{border-width:1.5px;border-radius:10px;padding:7px 10px;font-size:14px}.cp.compact .cp-out{font-size:13px}.cp.compact .cp-out b{font-size:15px}.kl-new{gap:14px;display:grid}.kl-new h2{margin:0}.kl-new .btn{justify-self:start}.kl-new .btn:disabled,.cp-acts .btn:disabled{opacity:.5;cursor:default;transform:none}.cp-dialog{box-sizing:border-box;background:var(--surface);width:min(560px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border:0;border-radius:24px;padding:20px;box-shadow:0 30px 60px -20px #16122b73}.cp-dialog::backdrop{background:#16122b80}.cp-dialog form{gap:12px;display:grid}.cp-dialog h2{font:700 22px/1.2 var(--display);margin:0}.cp-dialog .muted,.cp-dialog .msg{margin:0}.cp-acts{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.wp-fix{font:inherit;color:var(--brand);background:var(--brand-soft);cursor:pointer;border:0;border-radius:999px;margin:0 4px;padding:3px 10px;font-size:13px;font-weight:700}.wp-fix:hover{text-decoration:underline}.wp-fix:focus-visible{outline:3px solid var(--sun);outline-offset:2px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cp-hint.ok{color:#7ce8c8;background:#1fc7a029}}:root[data-theme=dark] .cp-hint.ok{color:#7ce8c8;background:#1fc7a029}
