.wrong-panel-root{display:flex;flex-direction:column;height:100%;min-height:400px;overflow:hidden}.wrong-panel-root h2{margin-bottom:16px;text-align:center}.legend-line{align-items:center;display:flex;flex-wrap:wrap;font-size:13px;gap:10px;justify-content:center;margin-bottom:12px;opacity:.9}.legend-red{color:#ffd8d8}.round-tabs,.session-tabs,.subject-tabs{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:8px 0 12px}.tab-btn{-webkit-appearance:none;appearance:none;background:var(--surface);border:1px solid var(--line);border-radius:999px;color:var(--ink);cursor:pointer;font-size:13px;font-weight:700;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.tab-btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--primary)}.tab-btn.active{background:var(--primary);border-color:var(--primary);box-shadow:0 2px 8px #7ea2ff4d;color:#fff}.tab-btn:disabled{background:var(--surface);border-color:var(--line);color:var(--muted);cursor:not-allowed;opacity:.4}.tab-content{flex:1 1;min-height:250px;overflow:hidden;padding:8px;position:relative}.btn-grid{align-content:start;display:grid;height:100%;overflow:visible;padding:4px;width:100%}.btn-grid,.qbtn{box-sizing:border-box;justify-content:center}.qbtn{-webkit-tap-highlight-color:transparent;align-items:center;-webkit-appearance:none;appearance:none;background:#ffffff0a;border:1.5px solid var(--line);border-radius:8px;color:var(--ink);display:flex;font-weight:800;line-height:1;margin:0;min-height:0;min-width:0;padding:0;transition:all .2s ease;-webkit-user-select:none;user-select:none}.qbtn,.qbtn.sample{cursor:default;position:relative}.legend-example{align-items:center;display:inline-flex;gap:6px}.legend-label{font-weight:600;white-space:nowrap}.spinner{animation:spin 1s linear infinite;border:3px solid #7ea2ff33;border-top:3px solid var(--primary);height:40px;margin:0 auto;width:40px}@media (max-width:600px){.wrong-panel-root{min-height:350px}.wrong-panel-root h2{font-size:18px;margin-bottom:12px}.tab-btn{font-size:12px;padding:6px 10px}.round-tabs,.session-tabs,.subject-tabs{gap:4px;margin:6px 0 10px}.tab-content{min-height:200px;padding:4px}.btn-grid{padding:2px}.qbtn{border-radius:6px;border-width:1px}.legend-line{font-size:12px;margin-bottom:8px}}@media (max-width:400px){.wrong-panel-root h2{font-size:16px}.tab-btn{font-size:11px;padding:5px 8px}.round-tabs,.session-tabs,.subject-tabs{gap:3px}}@media (min-width:601px) and (max-width:900px){.tab-btn{font-size:13px;padding:7px 12px}.tab-content{padding:6px}}@media (min-width:901px){.wrong-panel-root h2{font-size:22px}.tab-btn{font-size:14px;padding:8px 16px}.tab-content{padding:10px}}@media (prefers-reduced-motion:reduce){.tab-btn{transition:none}}.tab-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.qbtn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}@media (hover:none) and (pointer:coarse){.tab-btn:hover:not(:disabled){background:var(--surface)}.tab-btn:active:not(:disabled){background:var(--surface-2);transform:scale(.98)}}.pdf-modal-root,.pdf-modal-root *{animation:none!important;-webkit-backface-visibility:visible!important;backface-visibility:visible!important;transform:none!important;transform-style:flat!important}.tab-content .loading-container{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center;min-height:200px}.tab-content .loading-text{font-size:14px;font-weight:600;text-align:center}.tab-content .error-container{color:var(--bad)}.tab-content .empty-container,.tab-content .error-container{align-items:center;display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center;min-height:200px;text-align:center}.tab-content .empty-container{color:var(--muted)}.tab-content .empty-container .empty-icon{font-size:48px;opacity:.5}.tab-content .empty-container .empty-text{font-size:16px;font-weight:600}.tab-content .empty-container .empty-subtitle{font-size:14px;opacity:.8}:root{--bg:#000;--surface:#11172b;--surface-2:#151d36;--line:#213056;--ink:#e8eeff;--muted:#9db0d6;--primary:#7ea2ff;--ok:#22c55e;--warn:#f59e0b;--bad:#ef4444}*{box-sizing:border-box}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#000;background:var(--bg);color:#e8eeff;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,Roboto,Helvetica Neue,Arial;margin:0;padding:0}a{color:#7ea2ff;color:var(--primary);text-decoration:none}img{display:block;max-width:100%}.container{margin:24px auto;max-width:1100px;padding:0 16px}.header{display:none!important}h1{font-size:24px;font-weight:800;margin:0 0 6px;text-align:center}h2{font-size:18px;font-weight:700;margin:8px 0}.small,h2{color:#9db0d6;color:var(--muted)}.small{font-size:12px}.grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(12,1fr)}.col-12{grid-column:span 12}.col-6{grid-column:span 6}@media (max-width:860px){.col-6{grid-column:span 12}}.card{background:linear-gradient(180deg,#151d36e6,#11172b);background:linear-gradient(180deg,#151d36e6,var(--surface));border:1px solid #213056;border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 30px #00000040;height:-webkit-fit-content;height:fit-content;min-height:auto;padding:16px}.card.narrow{margin:0 auto;max-width:480px}.flex{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.flex-column{display:flex;flex-direction:column;gap:12px}.kpi{align-items:baseline;display:flex;gap:10px}.kpi .num{font-size:28px;font-weight:800;letter-spacing:.2px}.kpi .sub{color:#9db0d6;color:var(--muted);font-size:13px}.badge{border:1px solid #0000;border-radius:999px;display:inline-block;font-weight:700;letter-spacing:.2px;padding:6px 10px}.badge.pass{background:#22c55e2e;border-color:#22c55e8c}.badge.fail{background:#ef44442e;border-color:#ef44448c}.badge.invalid{background:#6b21a82e;border-color:#6b21a88c;color:#e9d5ff}.btn{-webkit-appearance:none;appearance:none;background:#151d36;background:var(--surface-2);border:1px solid #213056;border:1px solid var(--line);border-radius:10px;color:#e8eeff;color:var(--ink);cursor:pointer;font-weight:700;padding:8px 12px}.btn:hover{background:#0f1526}.btn:disabled{cursor:not-allowed;opacity:.5}.btn.secondary{background:#7ea2ff1f;border-color:#7ea2ff73}.btn.secondary:hover{background:#7ea2ff2e}.input{background:#151d36;background:var(--surface-2);border:1px solid #213056;border:1px solid var(--line);border-radius:10px;color:#e8eeff;color:var(--ink);font-weight:700;letter-spacing:.2px;outline:none;padding:10px 12px}.input:focus{border-color:#7ea2ff;border-color:var(--primary)}hr.sep{background:#213056;background:var(--line);border:none;height:1px;margin:14px 0}.progress{background:#1b2542;border-radius:999px;height:10px;overflow:hidden;position:relative;width:100%}.progress>.bar{background:linear-gradient(90deg,#7ea2ff,#4cc9ff);height:100%;transition:width .25s ease}.progress .cutline{background:#ffffff8c;bottom:0;left:60%;pointer-events:none;position:absolute;top:0;width:2px}.group-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(12,1fr)}.group-box{background:#151d36;background:var(--surface-2);border:1px solid #213056;border:1px solid var(--line);border-radius:12px;padding:12px}.group-box.ok{background:#22c55e1f;border-color:#22c55e8c}.group-box.fail{background:#ef44441f;border-color:#ef44448c}.span-12{grid-column:span 12}.group-head{align-items:center;display:flex;gap:10px;justify-content:space-between}.subj-row{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:6px}.subj-chip{background:#0000;border:none;border-radius:999px;font-weight:800;padding:4px 8px}.subj-chip .muted{font-weight:600;opacity:.7}.pill{border:1px solid #33416f;border-radius:999px;color:#9db0d6;color:var(--muted);font-size:12px;padding:3px 8px}.pill.green{border-color:#22c55e99;color:#d9ffe7}.pill.warn{border-color:#f59e0b99;color:#fff4d6}.pill.red{border-color:#ef4444b3;color:#ffd8d8}.flip-card{height:-webkit-fit-content;height:fit-content;margin-bottom:16px;perspective:1200px}.flip-card .flip-inner{min-height:-webkit-fit-content;min-height:fit-content;position:relative;transform-style:preserve-3d;transition:transform .6s ease;width:100%}.flip-card.is-flipped .flip-inner,.flip-inner.is-flipped{transform:rotateY(180deg)}.flip-card .flip-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:16px;left:0;overflow:hidden;position:absolute;top:0;width:100%}.flip-card .flip-front{height:auto;position:relative;transform:rotateY(0deg)}.flip-card .flip-back{-webkit-overflow-scrolling:touch;box-sizing:border-box;color:#e8eeff;color:var(--ink);height:100%;position:absolute;scroll-behavior:smooth;transform:rotateY(180deg)}.flip-card .flip-back::-webkit-scrollbar{width:6px}.flip-card .flip-back::-webkit-scrollbar-track{background:#ffffff0d;border-radius:6px}.flip-card .flip-back::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:6px}.cards-grid{grid-gap:12px;display:grid;gap:12px;margin-top:12px}.alert{background:#ef444424;border:1px solid #ef44448c;border-radius:10px;color:#ffd8d8;font-weight:700;margin-top:10px;padding:10px 12px}@media print{:root{--bg:#fff;--ink:#000;--muted:#444}body{background:#fff;color:#000}.btn{display:none!important}.card{background:#fff;border-color:#ddd;box-shadow:none}.badge{border-color:#999}}.flip-front.rc-pass{background:#22c55e26;border:1px solid #22c55e73}.flip-front.rc-fail{background:#ef444426;border:1px solid #ef444473}.flip-front.rc-invalid{background:#6b21a826;border:1px solid #6b21a873}.flip-back.pass,.round.pass{background:#22c55e26;border:1px solid #22c55e73}.flip-back.fail,.round.fail{background:#ef444426;border:1px solid #ef444473}.flip-back.invalid,.round.invalid{background:#6b21a826;border:1px solid #6b21a873}.card.rc-pass{background:linear-gradient(180deg,#22c55e29,#11172b);background:linear-gradient(180deg,#22c55e29,var(--surface));border-color:#22c55e73}.card.rc-fail{background:linear-gradient(180deg,#ef444429,#11172b);background:linear-gradient(180deg,#ef444429,var(--surface));border-color:#ef444473}.card.rc-invalid{background:linear-gradient(180deg,#6b21a829,#11172b);background:linear-gradient(180deg,#6b21a829,var(--surface));border-color:#6b21a873}.rc-pass .progress>.bar{background:linear-gradient(90deg,#22c55e,#72f2b1);background:linear-gradient(90deg,var(--ok),#72f2b1)}.rc-fail .progress>.bar{background:linear-gradient(90deg,#ef4444,#ff6b6b);background:linear-gradient(90deg,var(--bad),#ff6b6b)}.flip-back.rc-pass .accordion .session-header{background:#22c55e2e;border-bottom:1px solid #22c55e73;color:#d9ffe7}.flip-back.rc-fail .accordion .session-header{background:#ef44442e;border-bottom:1px solid #ef444473;color:#ffd8d8}.flip-back.rc-invalid .accordion .session-header{background:#6b21a82e;border-bottom:1px solid #6b21a873;color:#e9d5ff}.flip-back.rc-pass .accordion .acc-btn{background:#22c55e1f;border-color:#22c55e73}.flip-back.rc-pass .accordion .acc-btn:hover{background:#22c55e2e}.flip-back.rc-fail .accordion .acc-btn{background:#ef44441f;border-color:#ef444473}.flip-back.rc-fail .accordion .acc-btn:hover{background:#ef44442e}.flip-back.rc-invalid .accordion .acc-btn{background:#6b21a81f;border-color:#6b21a873}.flip-back.rc-invalid .accordion .acc-btn:hover{background:#6b21a82e}.flip-back.rc-pass .pill{border-color:#22c55e8c;color:#d9ffe7}.flip-back.rc-fail .pill{border-color:#ef44448c;color:#ffd8d8}.flip-back.rc-invalid .pill{border-color:#6b21a88c;color:#e9d5ff}.flip-face.flip-back.card,.flip-face.flip-back.card.rc-fail,.flip-face.flip-back.card.rc-invalid,.flip-face.flip-back.card.rc-pass{background:linear-gradient(180deg,#151d36eb,#0f1731);border-color:#213056;border-color:var(--line)}.flip-face.flip-back .accordion .session-header{background:linear-gradient(90deg,#7ea2ff,#4cc9ff);background:linear-gradient(90deg,var(--primary),#4cc9ff);border-bottom:1px solid #213056;border-bottom:1px solid var(--line);color:#fff}.flip-face.flip-back .accordion .acc-btn{background:#11172b;background:var(--surface);border-color:#213056;border-color:var(--line);color:#e8eeff;color:var(--ink)}.flip-face.flip-back .accordion .acc-btn:hover{background:#151d36;background:var(--surface-2)}.flip-face.flip-back .pill{border-color:#33416f;color:#9db0d6;color:var(--muted)}.qgrid{display:flex;flex-wrap:wrap;gap:6px;max-height:none;overflow:visible;padding-right:0;scrollbar-width:none}.qgrid::-webkit-scrollbar{display:none}.flip-card .flip-back .panel{max-height:none!important;overflow:visible!important}.flip-card .flip-back .session-content{overflow:visible!important}.flip-card .flip-back{overflow-x:hidden;overflow-y:auto}.spinner{animation:spin .8s linear infinite;border:4px solid #213056;border-top-color:#7ea2ff;border:4px solid var(--line);border-radius:50%;border-top-color:var(--primary);height:36px;margin:0 auto 10px;width:36px}@keyframes spin{to{transform:rotate(1turn)}}.card.narrow{margin:16px auto;max-width:520px}.form{gap:16px}.field,.form{display:flex;flex-direction:column}.field{gap:8px}.label-row{align-items:baseline;display:flex;justify-content:space-between}.label-row label{font-weight:800;letter-spacing:.2px}.label-row .hint{color:#9db0d6;color:var(--muted);font-size:12px}.input.big{background:#151d36;background:var(--surface-2);border:1px solid #213056;border:1px solid var(--line);border-radius:12px;color:#e8eeff;color:var(--ink);font-size:15px;font-weight:700;height:44px;outline:none;padding:10px 12px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.input.big::placeholder{color:#7b86a5;font-weight:600}.input.big:focus{background:#121a2f;border-color:#7ea2ff;border-color:var(--primary);box-shadow:0 0 0 3px #7ea2ff2e}.input-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr auto}.btn.primary{background:#7ea2ff1f;border:1px solid #7ea2ff;border:1px solid var(--primary);border-radius:12px;color:#e8eeff;color:var(--ink);font-weight:800;height:44px;padding:10px 14px;transition:transform .15s ease,background .15s ease,border-color .15s ease}.btn.primary:hover{background:#7ea2ff33;transform:translateY(-1px)}.btn.primary.wide{width:100%}.actions,.form-alert{margin-top:4px}.form-alert{background:#ef444424;border:1px solid #ef44448c;border-radius:10px;color:#ffd8d8;font-weight:700;padding:10px 12px}@media (max-width:560px){.card.narrow{margin:12px auto;padding:14px}.input-row{grid-template-columns:1fr}.btn.primary{width:100%}}
/*# sourceMappingURL=main.2d9d9612.css.map*/