:root{font-family:Inter,system-ui,sans-serif;color:#f8f9fa;background:radial-gradient(circle at top,#1d3557,#0b1320 65%);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100vh;overflow-x:hidden}button,input{font:inherit}.shell{min-height:100vh;padding:32px;display:grid;place-items:center;overflow-x:hidden}.card{width:min(1100px,100%);background:#091221e0;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:28px;box-shadow:0 20px 80px #00000059}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#8ecae6}.lead{color:#cbd5e1;max-width:60ch}.controls{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.controls label{display:grid;gap:6px;color:#cbd5e1}.controls input,.controls button{border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#fff;padding:12px}.controls button{background:linear-gradient(135deg,#ffb703,#fb8500);color:#111;font-weight:700}.primary-action{min-width:220px}.auth-card{text-align:center}.user-pill{display:inline-block;margin-top:12px;padding:8px 12px;border-radius:999px;background:#ffffff14;color:#8ecae6}.error-banner{margin:16px 0;padding:12px 14px;border-radius:12px;background:#dc262626;border:1px solid rgba(248,113,113,.4);color:#fecaca}.workspace{margin-top:20px}.stage{position:relative;min-height:360px;border-radius:18px;overflow:hidden;background:#ffffff0a}.stage img,.stage canvas{display:block;max-width:100%;width:100%;height:auto}.stage canvas{position:absolute;top:0;right:0;bottom:0;left:0;cursor:crosshair}.placeholder{padding:80px;text-align:center;color:#94a3b8}.result{max-width:100%}.result pre{overflow:auto;max-width:100%;background:#020817;padding:16px;border-radius:16px;white-space:pre-wrap;word-break:break-word}.link-button{margin-top:12px}.practice-toolbar,.practice-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0}.pill{padding:8px 12px;border-radius:999px;background:#ffffff14;color:#cbd5e1}.practice-controls{display:grid;gap:14px;margin-top:16px}.practice-meta{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:8px}.practice-meta label,.practice-meta-note{display:grid;gap:6px}.practice-meta input,.practice-meta button{border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#fff;padding:12px}.practice-meta button{background:linear-gradient(135deg,#8ecae6,#219ebc);color:#07111f;font-weight:700}.practice-controls .full{display:grid;gap:8px}.practice-controls textarea,.practice-controls input[type=file]{border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#fff;padding:12px}.practice-stage{position:relative;min-height:280px;border-radius:18px;overflow:hidden;background:#ffffff0a}.practice-stage img,.practice-stage canvas{display:block;max-width:100%;width:100%;height:auto}.practice-stage canvas{position:absolute;top:0;right:0;bottom:0;left:0;cursor:crosshair}.hint{color:#8ecae6}.practice-zonebar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.teacher-meta{display:grid;gap:12px;margin:18px 0}.teacher-meta label,.teacher-grid label,.teacher-card .full{display:grid;gap:6px}.teacher-meta input,.teacher-meta textarea,.teacher-grid input,.teacher-grid select,.teacher-grid textarea,.teacher-card input,.teacher-card textarea{border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#fff;padding:12px}.teacher-list{display:grid;gap:16px;margin-top:18px}.teacher-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px}.teacher-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.teacher-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:12px}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.home-nav{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.home-nav button{min-height:64px;display:grid;gap:6px;text-align:left;align-content:center}.home-nav button span{color:#cbd5e1;font-size:.95rem;font-weight:400}.teacher-page{display:grid;gap:18px}.teacher-tabs{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.teacher-tabs button{border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#fff;padding:10px 14px}.teacher-tabs button.active{background:linear-gradient(135deg,#ffb703,#fb8500);color:#111;font-weight:700}.teacher-review{display:grid;gap:18px}.teacher-summary{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.summary-card{display:grid;gap:6px;padding:16px;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.summary-card strong{font-size:1.9rem;line-height:1}.summary-card p{margin:0;color:#cbd5e1}.summary-label{color:#8ecae6;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.review-toolbar{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end}.review-toolbar label,.review-panel-grid label{display:grid;gap:6px;color:#cbd5e1}.review-toolbar input,.review-toolbar select,.review-detail input,.review-detail textarea,.review-detail pre,.review-panel-grid input,.review-panel-grid textarea,.teacher-tabs button{font:inherit}.review-toolbar input,.review-toolbar select,.review-detail input,.review-detail textarea,.teacher-tabs button,.submission-card,.review-actions button{border-radius:12px;border:1px solid rgba(255,255,255,.14)}.review-toolbar input,.review-toolbar select,.review-detail input,.review-detail textarea,.teacher-meta input,.teacher-meta textarea,.teacher-grid input,.teacher-grid select,.teacher-grid textarea,.teacher-card input,.teacher-card textarea{background:#ffffff0f;color:#fff;padding:12px}.review-layout{display:grid;gap:16px;grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start}.submission-list{display:grid;gap:10px}.submission-card{width:100%;padding:14px;background:#ffffff0a;color:#fff;text-align:left;display:grid;gap:12px;cursor:pointer}.submission-card.is-active{border-color:#ffb703cc;box-shadow:0 0 0 1px #ffb70359}.submission-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.submission-label{margin:0 0 4px;color:#8ecae6;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}.submission-summary{margin:0;color:#dbe4f0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.submission-meta{display:flex;gap:8px;flex-wrap:wrap}.status-chip{padding:6px 10px;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}.status-neutral{background:#94a3b82e;color:#e2e8f0}.status-success{background:#22c55e2e;color:#bbf7d0}.status-warning{background:#f59e0b2e;color:#fde68a}.status-info{background:#3b82f62e;color:#bfdbfe}.review-detail{min-width:0;padding:18px;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.review-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:18px}.review-score-stack{display:grid;gap:8px;justify-items:end}.review-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.review-block{display:grid;gap:10px;padding:14px;border-radius:16px;background:#02081759;border:1px solid rgba(255,255,255,.06)}.review-block.full-width{grid-column:1 / -1}.review-field{display:grid;gap:8px}.review-field label{color:#8ecae6;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem}.review-field pre{margin:0;padding:12px;border-radius:12px;background:#020817;overflow:auto;white-space:pre-wrap;word-break:break-word}.evidence-list,.zone-list{margin:0;padding-left:18px;display:grid;gap:8px}.evidence-preview{border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.evidence-preview img{display:block;width:100%;height:auto}.review-panel-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.review-panel-grid .full{grid-column:1 / -1}.review-actions{display:flex;gap:10px;flex-wrap:wrap}.review-actions button{background:#ffffff0f;color:#fff;padding:12px 14px}.review-actions .approve{background:linear-gradient(135deg,#ffb703,#fb8500);color:#111;font-weight:700}.review-actions .flag{background:#ef444429;border-color:#f8717159;color:#fecaca}.empty-state{padding:22px;border-radius:16px;border:1px dashed rgba(255,255,255,.12);color:#cbd5e1;background:#ffffff08}.teacher-config{display:grid;gap:16px}.teacher-config .practice-toolbar{margin-top:0}.teacher-config .full{display:grid;gap:6px}.teacher-config .file-button{align-self:start}@media(max-width:920px){.review-layout,.review-grid{grid-template-columns:1fr}.review-detail-head{flex-direction:column}}
