*{box-sizing:border-box}body{color:#111827;background:#f9fafb;margin:0;font-family:Noto Sans KR,sans-serif}i{font-style:normal!important}button,input{font:inherit}.center-page{place-items:center;min-height:100vh;padding:24px;display:grid}.app-page{min-height:100vh}.topbar{background:#fff;border-bottom:1px solid #e5e9f2;justify-content:space-between;align-items:center;padding:18px max(20px,50% - 480px);display:flex}.content{max-width:960px;margin:0 auto;padding:32px 20px}.panel{background:#fff;border:1px solid #e5e9f2;border-radius:16px;padding:24px;box-shadow:0 8px 24px #1c2c4a0d}.login-panel{gap:16px;width:min(100%,400px);display:grid}.brand{color:#2563eb;font-size:22px;font-weight:800}h1,h2,p{margin:0}h1{font-size:28px}h2{font-size:18px}.muted{color:#718096;font-size:14px}label{gap:7px;font-size:14px;font-weight:700;display:grid}input{border:1px solid #d8deea;border-radius:10px;width:100%;padding:12px}.primary-button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:10px;padding:12px 16px;font-weight:700}.primary-button:disabled{opacity:.55;cursor:wait}.secondary-button{color:#2563eb;border:1px solid #d8deea;border-radius:10px;padding:10px 14px;font-weight:700;text-decoration:none;display:inline-block}.danger-button{color:#fff;cursor:pointer;background:#dc2626;border:0;border-radius:10px;padding:12px 16px;font-weight:700}.danger-text{color:#c53030}.text-button{color:#526174;cursor:pointer;background:0 0;border:0}.site-footer{text-align:center;padding:8px 20px 20px}.install-link{color:#9aa5b5;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;font-size:12px;text-decoration:underline}.install-link:hover{color:#2563eb}.error{color:#c53030;font-size:14px}.notice{margin-bottom:16px;font-size:14px}.success{color:#247a4b}.number-row{align-items:end;gap:10px;display:flex}.number-row label{flex:1}.save-button{white-space:nowrap}.section-heading{justify-content:space-between;margin-bottom:22px;display:flex}.point-pill{color:#9a6700;background:#fff7d6;border:1px solid #f4df8a;border-radius:999px;padding:8px 12px;font-weight:700;text-decoration:none}.quick-section{gap:10px;margin-top:32px;display:grid}.narrow{max-width:700px}.back-link{color:#526174;margin-bottom:16px;text-decoration:none;display:inline-block}.record-panel{gap:16px;display:grid}.passage{white-space:pre-wrap;font-size:18px;line-height:1.8}.record-list{gap:10px;margin-top:24px;display:grid}.record-row{grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.record-row audio{max-width:280px;height:34px}.quick-recording-page{padding-top:24px}.quick-recording-form{gap:20px;padding:24px;display:grid}.quick-recording-form h1{margin-bottom:6px;font-size:24px}.quick-form-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.quick-close{color:#9ca3af;cursor:pointer;background:0 0;border:0;border-radius:999px;width:32px;height:32px;font-size:24px;line-height:1}.quick-close:hover{color:#374151;background:#f3f4f6}.quick-recording-form .primary-button,.quick-recording-form .danger-button{width:100%;min-height:48px}.quick-status{color:#9ca3af;font-size:12px;line-height:1.5}@keyframes quick-onair-glow{0%,to{box-shadow:0 0 8px 2px #ef444473}50%{box-shadow:0 0 22px 8px #ef4444bf}}.quick-onair{animation:1.2s ease-in-out infinite quick-onair-glow;background:linear-gradient(135deg,#dc2626,#f97316)!important}.record-list-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.record-list-heading h2{font-size:18px}.record-list-heading span{color:#9ca3af;font-size:13px}.quick-empty{color:#9ca3af;text-align:center;padding:28px 20px}.quick-recording-row{border-radius:16px;gap:16px;padding:18px}.quick-recording-title{text-overflow:ellipsis;white-space:nowrap;color:#374151;min-width:0;font-weight:700;overflow:hidden}.quick-recording-row audio{width:100%;max-width:none}.quick-delete{justify-self:end;padding:6px 4px}.reading-card{color:inherit;text-decoration:none}.reading-card>span{color:#2563eb;font-weight:700}.reading-solve{gap:20px;display:grid}.reading-solve form{gap:18px;display:grid}.big-points{color:#9a6700;margin:20px 0;font-size:48px;font-weight:800}.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.stat{gap:8px;display:grid}.stat strong{font-size:30px}.admin-users{gap:12px;display:grid}.user-row{border-top:1px solid #edf0f5;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:10px;padding-top:12px;display:grid}.label{color:#6b7280;margin-bottom:.35rem;font-size:.75rem;font-weight:600;display:block}.input{border:1px solid #e5e7eb;border-radius:.75rem;outline:0;width:100%;padding:.65rem .75rem;font-size:.875rem}.input:focus{box-shadow:0 0 0 2px #93c5fd}.hint{color:#9ca3af;margin-top:.35rem;font-size:.7rem}.group-choice{white-space:nowrap;align-items:center;gap:.35rem;font-weight:500;display:inline-flex!important}.group-choice input{width:1rem;height:1rem}main:has(table.min-w-\[1040px\]){width:calc(100% - 2rem);max-width:1600px!important}table.min-w-\[1040px\]{min-width:1400px!important}table.min-w-\[1040px\] th,table.min-w-\[1040px\] td{white-space:nowrap}table.min-w-\[1040px\] th:nth-child(4),table.min-w-\[1040px\] td:nth-child(4){min-width:140px}table.min-w-\[1040px\] th:nth-child(5),table.min-w-\[1040px\] td:nth-child(5),table.min-w-\[1040px\] th:nth-child(7),table.min-w-\[1040px\] td:nth-child(7){min-width:190px}table.min-w-\[1040px\] td:nth-child(4) input[type=time],table.min-w-\[1040px\] td:nth-child(5) input[type=time],table.min-w-\[1040px\] td:nth-child(7) input[type=time]{width:9rem!important}table.min-w-\[1040px\] td:first-child>span{display:none!important}main:has(table.min-w-\[1040px\]) i{font-style:normal!important}:is(main:has(table.min-w-\[1040px\]) i.text-green-600,main:has(table.min-w-\[1040px\]) i.text-blue-600){font-style:normal!important}@media (max-width:650px){.stats-grid{grid-template-columns:repeat(2,1fr)}.user-row{grid-template-columns:1fr 1fr}.user-row input{grid-column:1/-1}}.card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.problem-card{gap:16px;display:grid}main span.tracking-normal{letter-spacing:normal!important}.problem-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.problem-title span{color:#2563eb;font-weight:700}@media (max-width:600px){.content{padding-top:24px}.topbar{padding:16px 20px}.record-row{grid-template-columns:1fr auto}.record-row audio{grid-column:1/-1;width:100%;max-width:100%}}
