:root{color:#17251f;background:#f3f7f4;font-family:Inter,Pretendard,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:20rem;background:#f3f7f4}body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,#dcebe3,transparent 32rem),#f3f7f4}button,input,select,summary{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a.button-link,summary{min-block-size:2.75rem;min-inline-size:2.75rem}button,a.button-link{align-items:center;border:2px solid #1f4b3f;border-radius:.75rem;background:#1f4b3f;color:#fff;cursor:pointer;display:inline-flex;justify-content:center;padding:.65rem 1rem;text-decoration:none;transition:background-color .16s ease,transform .16s ease}button:hover,a.button-link:hover{background:#15382f}button:active,a.button-link:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.62}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:4px solid #f0a500;outline-offset:3px}input:not([type=checkbox]),select{min-block-size:2.75rem;border:2px solid #60776d;border-radius:.6rem;background:#fff;color:#17251f;padding:.5rem .75rem}input[type=checkbox]{block-size:2.75rem;inline-size:2.75rem;accent-color:#1f4b3f}label{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;min-block-size:2.75rem}h1,h2,h3{line-height:1.15;text-wrap:balance}main,#root>section{margin-inline:auto;max-inline-size:80rem;padding:clamp(1rem,4vw,3rem)}section{min-inline-size:0}.app-shell{display:grid;gap:1.5rem}.home-actions,.button-row,.quiz-options{display:flex;flex-wrap:wrap;gap:.75rem}.teacher-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.teacher-tabs button[aria-current=page]{box-shadow:inset 0 -4px #f0a500}.eyebrow{color:#315e50;font-size:.8rem;font-weight:800;letter-spacing:.11em;margin-block-end:.25rem;text-transform:uppercase}.section-heading{align-items:end;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.results-panel,.results-grid{display:grid;gap:1rem}.result-card{background:#fff;border:1px solid #b9cbc2;border-radius:1rem;box-shadow:0 .5rem 1.5rem #17251f17;display:grid;gap:1rem;padding:1rem}.result-card>header{align-items:start;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.result-card h3,.result-card p{margin-block:0}.result-stats{display:grid;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.result-stats div{background:#edf4f0;border-radius:.75rem;padding:.75rem}.result-stats dt{color:#315e50;font-size:.85rem;font-weight:700}.result-stats dd{font-size:1.05rem;font-weight:800;margin:.15rem 0 0}.status-label{align-items:center;color:#244c40;display:inline-flex;font-weight:700;gap:.35rem}.answer-list{display:grid;gap:.75rem;padding-inline-start:1.5rem}.answer-list li{border-inline-start:4px solid #4b7969;display:grid;gap:.25rem;padding-inline-start:.75rem}.danger-button{background:#8b1d2c;border-color:#8b1d2c}.danger-button:hover{background:#6e1521}.empty-state{border:2px dashed #7c958a;border-radius:1rem;padding:1.5rem;text-align:center}.visually-hidden{block-size:1px;clip:rect(0 0 0 0);clip-path:inset(50%);inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap}.confirm-dialog{background:#fff;border:0;border-radius:1rem;color:#17251f;max-inline-size:32rem;padding:1.5rem;width:calc(100% - 2rem)}.confirm-dialog::backdrop{background:#07110fb8}.celebration{display:flex;font-size:clamp(1.8rem,6vw,3rem);gap:.5rem;justify-content:center;pointer-events:none}.celebration span{animation:celebrate .65s cubic-bezier(.18,.89,.32,1.28) both;color:#a86400}.celebration span:nth-child(2){animation-delay:80ms}.celebration span:nth-child(3){animation-delay:.16s}@keyframes celebrate{0%{opacity:0;transform:translateY(.75rem) scale(.5) rotate(-15deg)}to{opacity:1;transform:none}}@media(min-width:37.5rem){.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-card{padding:1.25rem}}@media(min-width:60rem){main,#root>section{padding:2.5rem}.results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:100rem){:root{font-size:112.5%}main,#root>section{max-inline-size:96rem}button,a.button-link,input,select{min-block-size:3rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.celebration,.celebration span{animation:none!important}}
