:root{--ink: #201a17;--muted: #655d53;--jade: #0f4c45;--jade-soft: #dcece6;--persimmon: #c9352b;--persimmon-soft: #f6d7c5;--dancheong-blue: #194f90;--dancheong-green: #176b4f;--dancheong-gold: #d4a33f;--ink-blue: #25345f;--hanji: #f3ead8;--paper: #fff8ea;--line: #d9c6a9;--shadow: 0 24px 74px rgba(32, 26, 23, .13);font-family:Noto Sans Thai,Noto Sans KR,Sarabun,sans-serif;color:var(--ink);background:radial-gradient(circle at 9% 3%,rgba(201,53,43,.18) 0,transparent 28%),radial-gradient(circle at 92% 8%,rgba(25,79,144,.16) 0,transparent 32%),linear-gradient(135deg,#fff8ea 0%,var(--hanji) 45%,#e8f1eb 100%);line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(90deg,rgba(15,76,69,.035) 1px,transparent 1px),linear-gradient(rgba(15,76,69,.028) 1px,transparent 1px),repeating-linear-gradient(135deg,rgba(255,255,255,.18) 0 2px,transparent 2px 9px);background-size:34px 34px,34px 34px,18px 18px}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(201,53,43,.055) 0 13%,transparent 13% 17%,rgba(25,79,144,.05) 17% 31%,transparent 31% 36%,rgba(212,163,63,.06) 36% 49%,transparent 49%),radial-gradient(circle at 84% 22%,rgba(201,53,43,.18),transparent 18rem),radial-gradient(circle at 10% 74%,rgba(25,79,144,.12),transparent 18rem);opacity:.92}a{color:inherit;text-decoration:none}.app-shell{max-width:1180px;margin:0 auto;padding:16px}.topbar{position:sticky;top:8px;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(217,198,169,.86);border-radius:20px;background:linear-gradient(90deg,rgba(201,53,43,.06),transparent 16%,rgba(25,79,144,.06) 84%,transparent),#fff8eadb;box-shadow:0 12px 34px #201a1714;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:1.05rem;font-weight:900;letter-spacing:.02em}.brand small{display:block;margin-top:-5px;color:var(--dancheong-blue);font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.brand-mark{display:inline-grid;width:38px;height:38px;place-items:center;border:2px solid rgba(255,248,234,.76);border-radius:999px;color:var(--paper);background:linear-gradient(90deg,rgba(255,248,234,.18),transparent),conic-gradient(from 35deg,var(--persimmon) 0 49%,var(--dancheong-blue) 49% 100%);box-shadow:0 10px 24px #201a172e;font-family:Noto Sans KR,serif;font-size:1.15rem}.menu{display:flex;flex-wrap:wrap;gap:8px}.menu-link{padding:8px 10px;border-radius:999px;font-size:.92rem;color:#39443f;transition:color .15s ease,background .15s ease,transform .15s ease}.menu-link:hover{color:var(--dancheong-blue);background:#194f9014;transform:translateY(-1px)}.menu-link.active{color:var(--paper);background:linear-gradient(90deg,var(--persimmon),var(--dancheong-blue))}.auth-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.user-chip{display:inline-flex;align-items:center;border:1px solid #c8d7ce;border-radius:999px;padding:8px 10px;font-size:.85rem;color:var(--jade);background:#fff8eab8}.page-wrap{padding:26px 0 50px}.seo-static-page{display:grid;gap:16px;max-width:980px;margin:0 auto;padding:28px;border:1px solid rgba(217,198,169,.92);border-radius:24px;background:#fff8eaf0;box-shadow:var(--shadow)}.seo-static-page h1,.seo-static-page h2,.seo-static-page p{margin:0}.seo-static-page h1{font-size:clamp(2rem,5vw,3.4rem)}.seo-static-page section{border-top:1px solid rgba(217,198,169,.74);padding-top:12px}.seo-static-page nav{display:flex;flex-wrap:wrap;gap:10px}.seo-static-page a{border-radius:999px;padding:10px 12px;color:#fff8ea;background:linear-gradient(90deg,var(--persimmon),var(--dancheong-blue));font-weight:900}.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:28px;align-items:center;min-height:520px;padding:clamp(30px,6vw,72px);border:1px solid rgba(217,198,169,.9);border-radius:32px;background:linear-gradient(90deg,rgba(201,53,43,.09) 0 12%,transparent 12% 18%,rgba(25,79,144,.08) 18% 30%,transparent 30%),linear-gradient(120deg,#fff8eaf5,#f3ead8c2),radial-gradient(circle at 86% 24%,rgba(201,53,43,.24),transparent 20rem),radial-gradient(circle at 72% 78%,rgba(25,79,144,.2),transparent 20rem);box-shadow:var(--shadow);isolation:isolate;animation:section-rise .55s ease both}.hero:before{content:"한국어";position:absolute;right:32px;top:18px;z-index:-1;color:#194f900f;font-family:Noto Sans KR,serif;font-size:clamp(5rem,16vw,12rem);font-weight:900;letter-spacing:-.12em}.hero:after{content:"";position:absolute;inset:auto 0 0;height:12px;z-index:0;background:linear-gradient(90deg,var(--persimmon) 0 18%,var(--dancheong-blue) 18% 38%,var(--dancheong-gold) 38% 54%,var(--dancheong-green) 54% 76%,var(--ink-blue) 76% 100%);opacity:.88}.hero-copy{max-width:680px}.eyebrow{margin:0;font-size:.9rem;color:var(--persimmon);font-weight:900;letter-spacing:.06em}h1{margin:10px 0;font-size:clamp(2.15rem,5vw,4.2rem);line-height:1.08;letter-spacing:-.045em}.lead{margin:0;max-width:720px;color:var(--muted);font-size:clamp(1rem,1.6vw,1.18rem)}.action-row{display:flex;gap:10px;margin-top:18px}.highlight-grid{margin-top:22px;padding-left:20px;display:grid;gap:8px}.btn{border:none;border-radius:999px;min-height:46px;padding:11px 16px;font-size:.95rem;font-weight:800;cursor:pointer;touch-action:manipulation;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.65}.btn.primary{color:#fff8ea;background:linear-gradient(90deg,var(--persimmon),var(--dancheong-blue));box-shadow:0 12px 26px #201a172e}.btn.ghost{color:var(--ink-blue);border:1px solid rgba(25,79,144,.22);background:#fff8eac7}.hero-visual{position:relative;min-height:380px;border:1px solid rgba(217,198,169,.26);border-radius:30px;padding:28px;background:linear-gradient(135deg,rgba(255,248,234,.1) 0 18%,transparent 18% 24%,rgba(212,163,63,.14) 24% 43%,transparent 43%),radial-gradient(circle at 68% 30%,rgba(201,53,43,.95),transparent 7.2rem),radial-gradient(circle at 72% 58%,rgba(25,79,144,.92),transparent 8rem),linear-gradient(145deg,#0f4c45f5,#201a17e6);color:var(--paper);box-shadow:0 28px 70px #201a173d}.hero-visual:before,.hero-visual:after{content:"";position:absolute;border-radius:999px}.hero-visual:before{inset:42px 36px auto auto;width:132px;height:132px;background:radial-gradient(circle at 48% 31%,rgba(255,248,234,.78) 0 13%,transparent 14%),conic-gradient(from 32deg,var(--persimmon) 0 50%,var(--dancheong-blue) 50% 100%);opacity:.92}.hero-visual:after{left:32px;bottom:42px;width:160px;height:160px;border:1px solid rgba(255,248,234,.35)}.korean-seal{position:relative;z-index:1;display:grid;width:92px;height:92px;place-items:center;border:1px solid rgba(255,248,234,.7);border-radius:30px;background:linear-gradient(135deg,rgba(255,248,234,.22),transparent),var(--persimmon);color:var(--paper);font-family:Noto Sans KR,serif;font-size:3.1rem;font-weight:900}.visual-kicker,.visual-title,.visual-script{position:relative;z-index:1}.visual-kicker{margin:58px 0 0;color:#fff8eac7;font-family:Noto Sans KR,sans-serif;font-weight:800}.visual-title{margin:4px 0 0;font-size:clamp(2.1rem,4vw,3.4rem);font-weight:950;letter-spacing:-.04em}.visual-lines{position:relative;z-index:1;display:grid;gap:9px;max-width:260px;margin-top:30px}.visual-lines span{height:10px;border-radius:999px;background:#fff8ea3d}.visual-lines span:nth-child(2){width:76%;background:#d4a33f8f}.visual-lines span:nth-child(3){width:52%;background:#c9352b85}.visual-script{margin:26px 0 0;color:#fff8ead1;font-family:Noto Sans KR,sans-serif;font-weight:800}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:18px;overflow:hidden;border:1px solid rgba(217,198,169,.92);border-radius:24px;background:linear-gradient(90deg,var(--persimmon),var(--dancheong-blue),var(--dancheong-gold),var(--dancheong-green));box-shadow:0 12px 38px #201a1714}.metric-item{display:grid;gap:4px;padding:18px;background:#fff8eae6}.metric-item span{color:var(--muted);font-size:.82rem;font-weight:800;text-transform:uppercase}.metric-item strong{color:var(--ink-blue);font-size:clamp(1rem,2vw,1.25rem)}.card,.exam-shell,.plan-card{border:1px solid rgba(217,198,169,.92);border-radius:22px;background:#fff8eae6;box-shadow:0 16px 44px #201a1714}.card,.exam-shell{padding:24px}.form-grid{display:grid;gap:12px;margin-top:14px}.form-grid label{display:grid;gap:5px;font-weight:600}input{border:1px solid rgba(25,79,144,.18);border-radius:14px;padding:10px;font-size:1rem;background:#ffffffc7}.helper-text{margin-top:16px;color:#4b5563}.status-message{margin:0;font-size:.9rem}.status-error{color:#b91c1c}.status-success{color:#166534}.exam-workspace{display:grid;align-items:start;gap:18px;grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.question-map-panel,.exam-paper{border:1px solid rgba(217,198,169,.92);border-radius:22px;background:#fff8eaeb;box-shadow:0 16px 44px #201a1714}.question-map-panel{position:sticky;top:92px;display:grid;gap:16px;max-height:calc(100vh - 116px);overflow:auto;padding:20px}.question-map-panel h2,.part-flow-panel h3{margin:0;text-align:center}.question-map-grid{display:grid;gap:8px;grid-template-columns:repeat(5,minmax(38px,1fr))}.question-map-cell{display:grid;min-width:0;height:42px;place-items:center;border:0;border-radius:12px;color:#8fa0b3;background:#e6eef1;font-weight:900;opacity:1}.question-map-cell:disabled{cursor:default;opacity:1}.question-map-cell.current{color:#fff;background:var(--persimmon)}.question-map-cell.answered{color:#fff;background:var(--dancheong-green)}.question-map-cell.reading:not(.current):not(.answered){background:#edf0e7}.question-map-cell.writing:not(.current):not(.answered){background:#f5ead1}.part-flow-panel,.map-legend{display:grid;gap:8px;border:1px solid rgba(25,79,144,.12);border-radius:16px;padding:14px;background:#ffffff9e}.part-flow-row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#3f4d63;font-weight:800}.part-flow-row.active{color:var(--persimmon)}.map-legend span{display:inline-flex;align-items:center;gap:8px;color:#3f4d63}.legend-dot{width:11px;height:11px;border-radius:999px;background:#cbd5e1}.legend-dot.current{background:var(--persimmon)}.legend-dot.answered{background:var(--dancheong-green)}.map-reset-btn{justify-content:center;width:100%}.exam-paper{padding:24px}.exam-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.exam-header h2{margin:0;font-size:clamp(1.25rem,3vw,1.8rem)}.exam-header p{margin-top:0;color:var(--muted)}.section-eyebrow{display:inline-flex;margin:0 0 8px;border-radius:999px;padding:8px 12px;color:var(--dancheong-blue);background:#dceafe;font-size:.85rem;font-weight:900}.question-count-badge{flex:0 0 auto;border-radius:999px;padding:8px 12px;color:#166534;background:#dcfce7;font-weight:900}.exam-section-strip{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.section-step{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(25,79,144,.12);border-radius:14px;padding:10px 12px;color:#4b5563;background:#ffffff9e;font-weight:800}.section-step.active{border-color:#c9352b47;color:var(--persimmon);background:#f6d7c573}.question-card{border:0;border-radius:0;padding:10px 0 0;margin-top:14px;background:transparent}.question-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.question-label{margin:0;font-size:.88rem;color:#4b5563}.question-mode-pill{border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:900}.question-mode-pill.listening{color:var(--dancheong-blue);background:#dceafe}.question-mode-pill.reading{color:var(--jade);background:var(--jade-soft)}.question-mode-pill.writing{color:#92400e;background:#fef3c7}.question-text{font-size:1.05rem}.exam-question-text{margin:18px auto 24px;max-width:820px;text-align:center;color:#111827;font-family:Noto Sans KR,Noto Sans Thai,sans-serif;font-size:clamp(1.45rem,3.7vw,2.35rem);font-weight:900;line-height:1.45}.picture-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px}.picture-choice-grid.compact{gap:10px;margin:10px 0 14px}.picture-choice-card{position:relative;display:grid;gap:10px;min-height:250px;padding:12px;border:1px solid rgba(25,79,144,.18);border-radius:16px;color:#111827;background:#ffffffc7;text-align:left;box-shadow:0 12px 28px #1c274012;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}button.picture-choice-card{width:100%;font:inherit;cursor:pointer}button.picture-choice-card:hover:not(:disabled){transform:translateY(-1px);border-color:#2563eb80}button.picture-choice-card:disabled{cursor:not-allowed}.picture-choice-card.compact{min-height:216px;padding:10px}.picture-choice-card.selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 3px #2563eb29,0 14px 30px #2563eb1f}.picture-choice-card.correct{border-color:#15803d;background:#eefaf2}.picture-choice-card.selected.correct{box-shadow:0 0 0 3px #15803d29,0 14px 30px #15803d1f}.picture-choice-letter{position:absolute;z-index:1;top:16px;left:16px;display:grid;width:38px;height:38px;place-items:center;border-radius:999px;color:#fff;background:#111827;font-weight:900;box-shadow:0 8px 18px #1118272e}.picture-choice-card.selected .picture-choice-letter{background:#2563eb}.picture-choice-card.correct .picture-choice-letter{background:#15803d}.picture-scene{overflow:hidden;border-radius:14px;border:1px solid rgba(25,79,144,.12);background:#f8fafc}.picture-scene-svg{display:block;width:100%;aspect-ratio:16 / 9}.picture-token{fill:#e8eef7;stroke:#194f9026;stroke-width:1.5}.picture-token.map,.picture-token.bus,.picture-token.laptop{fill:#dbeafe}.picture-token.umbrella,.picture-token.camera,.picture-token.paint{fill:#fde2e2}.picture-token.paper,.picture-token.ticket,.picture-token.book,.picture-token.sign{fill:#fef3c7}.picture-token.cleaning,.picture-token.box,.picture-token.plant,.picture-token.room{fill:#dcfce7}.picture-token.money,.picture-token.food,.picture-token.medicine,.picture-token.sport,.picture-token.key,.picture-token.music{fill:#ede9fe}.picture-token-text{fill:#111827;font-family:Noto Sans KR,Noto Sans Thai,sans-serif;font-size:13px;font-weight:900}.picture-choice-caption{display:grid;gap:6px}.picture-choice-caption span{display:flex;align-items:flex-start;gap:7px;min-height:28px;padding:6px 8px;border-radius:10px;background:#f8fafce0;color:#334155;font-family:Noto Sans KR,Noto Sans Thai,sans-serif;font-size:.86rem;font-weight:800;line-height:1.35;overflow-wrap:anywhere}.picture-choice-caption strong{flex:0 0 auto;color:#111827}.choice-list{display:grid;gap:12px}.choice-btn{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid rgba(25,79,144,.18);border-radius:16px;min-height:64px;padding:12px 14px;color:#111827;background:#ffffffbd;font-size:1.06rem;font-weight:800;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.choice-btn span{display:grid;flex:0 0 auto;width:38px;height:38px;place-items:center;border-radius:999px;color:#334155;background:#e2e8f0;font-size:.9rem;font-weight:900}.choice-btn.selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 3px #2563eb29}.choice-btn.selected span{color:#fff;background:#2563eb}.choice-btn:disabled{cursor:not-allowed}.listening-box{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding:14px;border-radius:16px;background:#dcebe2b8;border:1px solid rgba(25,79,144,.14)}.listening-box h4,.listening-box p{margin:0}.exam-footer{margin-top:16px;display:flex;justify-content:space-between;gap:12px}.table-wrap{overflow-x:auto;margin-top:12px}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #e5e7eb;text-align:left}.superadmin-card{display:grid;gap:16px}.superadmin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.superadmin-head h2{margin:4px 0 0}.superadmin-token-form{max-width:640px}.superadmin-summary{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.superadmin-stat{display:grid;gap:4px;border:1px solid rgba(25,79,144,.12);border-radius:16px;padding:14px;background:#ffffff9e}.superadmin-stat span{color:#4b5563;font-size:.86rem;font-weight:800}.superadmin-stat strong{color:var(--ink-blue);font-size:1.45rem}.superadmin-table th{white-space:nowrap;color:#3f4d63;font-size:.86rem}.superadmin-table td{vertical-align:top}.superadmin-table td strong,.superadmin-table td small{display:block}.superadmin-table td small{margin-top:4px;color:#64748b}.package-pill,.membership-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:900;white-space:nowrap}.package-pill.free{color:#475569;background:#e2e8f0}.package-pill.plus{color:#1d4ed8;background:#dbeafe}.package-pill.pro{color:#92400e;background:#fef3c7}.membership-pill.active{color:#166534;background:#dcfce7}.membership-pill.inactive{color:#991b1b;background:#fee2e2}.pricing-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.pricing-status{margin:0 0 16px;padding:12px 14px;border-radius:14px;border:1px solid rgba(217,198,169,.88);background:#fff8eadb;font-weight:800}.plan-card{padding:20px;position:relative;overflow:hidden;display:grid;gap:8px;align-content:start}.plan-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--persimmon),var(--jade))}.plan-card.current{border-color:#125e58ad;box-shadow:0 18px 48px #125e581f}.plan-card.selected{outline:3px solid rgba(25,79,144,.2)}.plan-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.plan-name{margin:0;color:var(--muted);font-weight:900;letter-spacing:.08em;text-transform:uppercase}.plan-badge{border-radius:999px;padding:4px 9px;color:#166534;background:#dcfce7;font-size:.78rem;font-weight:900;white-space:nowrap}.plan-period{margin-top:-4px;color:var(--muted)}.plan-card ul{padding-left:20px;min-height:120px}.plan-default-note{margin:8px 0 0;border-radius:14px;padding:11px 12px;color:#125e58;background:#d1fae59e;font-weight:900}.pricing-checkout-panel{margin-top:18px;display:grid;gap:16px;padding:22px;border:1px solid rgba(217,198,169,.92);border-radius:22px;background:#fff8eae6;box-shadow:0 16px 44px #201a1714}.pricing-checkout-panel h2{margin:8px 0}.auth-mode-switch{display:inline-flex;gap:8px;flex-wrap:wrap}.auth-mode-switch button{border:1px solid rgba(25,79,144,.18);border-radius:999px;padding:9px 14px;color:var(--ink-blue);background:#ffffffb8;font-weight:900;cursor:pointer}.auth-mode-switch button.active{color:#fff8ea;border-color:transparent;background:var(--ink-blue)}.pricing-auth-form{max-width:520px}.exam-start-card,.exam-result-card{display:grid;gap:14px}.mode-switch{display:flex;gap:8px;flex-wrap:wrap}.exam-option-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.exam-option{text-align:left;border:1px solid rgba(217,198,169,.92);border-radius:20px;background:#fff8ead1;padding:14px;cursor:pointer;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.exam-option:hover{transform:translateY(-1px);box-shadow:0 14px 34px #201a1714}.exam-option.selected{border-color:var(--jade);background:var(--jade-soft)}.exam-option h3{margin:0}.exam-option p{margin:6px 0 4px;font-size:.95rem}.exam-option small{color:#4b5563}.timer-row{position:sticky;top:88px;z-index:8;display:flex;flex-wrap:wrap;gap:10px;border:1px solid rgba(25,79,144,.16);border-radius:16px;background:#dcebe2b8;padding:10px 12px;font-weight:600}.score-dashboard{display:grid;grid-template-columns:minmax(240px,1.1fr) minmax(220px,.95fr) minmax(220px,.9fr);gap:12px}.score-overview-card,.level-graph-card,.weak-area-card{border:1px solid rgba(25,79,144,.13);border-radius:18px;padding:14px;background:#ffffffad}.score-overview-card{background:linear-gradient(115deg,rgba(201,53,43,.1),transparent 38%,rgba(25,79,144,.1)),#ffffffbd}.score-hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:8px}.score-hero-row strong{color:var(--ink-blue);font-size:clamp(2rem,5vw,3.3rem);line-height:1}.score-hero-row span{border-radius:999px;padding:8px 10px;color:#fff8ea;background:linear-gradient(90deg,var(--persimmon),var(--dancheong-blue));font-weight:900;white-space:nowrap}.score-meter,.level-band i{overflow:hidden;display:block;height:10px;border-radius:999px;background:#94a3b842}.score-meter{margin-top:14px}.score-meter span,.level-band b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--persimmon),var(--dancheong-blue))}.comparison-pass,.comparison-gap{margin:12px 0 0;font-weight:900}.comparison-pass{color:#15803d}.comparison-gap{color:#b91c1c}.level-band-list{display:grid;gap:8px;margin-top:10px}.level-band{display:grid;grid-template-columns:70px minmax(0,1fr) 52px;align-items:center;gap:8px;color:#64748b;font-size:.9rem;font-weight:900}.level-band.active{color:var(--ink-blue)}.level-band.active b{background:linear-gradient(90deg,#15803d,var(--dancheong-blue))}.weak-area-card h3{margin:8px 0 6px;color:var(--persimmon);font-size:1.6rem}.weak-area-card p:last-child{margin:0;color:#475569}.result-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.result-grid h3{margin:4px 0 0}.result-label{margin:0;color:#4b5563;font-size:.88rem}.review-wrap{margin-top:8px;border-top:1px solid #e5ece8;padding-top:14px}.review-list{display:grid;gap:12px}.review-item{border:1px solid rgba(217,198,169,.9);border-radius:18px;padding:12px;background:#fff8ead6}.review-head{margin:0 0 6px;font-weight:600}.review-choice-list{list-style:none;padding:0;margin:8px 0;display:grid;gap:6px}.review-choice{border:1px solid rgba(25,79,144,.14);border-radius:12px;padding:8px;background:#ffffffb8}.review-choice.is-selected{border-color:#b6921d;background:#fff7d7}.review-choice.is-correct{border-color:#1f7a4d;background:#e8f7ef}.review-listening-box{display:grid;gap:6px;margin-top:8px}.exam-writing-section{display:grid;gap:14px}.writing-exam-note{border:1px solid rgba(25,79,144,.12);border-radius:16px;padding:14px;background:#fef3c794}.writing-exam-note h3,.writing-exam-note p{margin:0}.writing-exam-note p{margin-top:4px;color:#4b5563}.exam-writing-task{border:1px solid rgba(217,198,169,.9);border-radius:18px;padding:16px;background:#ffffffb3}.writing-page{display:grid;align-items:start;gap:18px;grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.writing-sidebar,.writing-form,.writing-loading-card{border:1px solid rgba(217,198,169,.92);border-radius:22px;background:#fff8eaeb;box-shadow:0 16px 44px #201a1714}.writing-sidebar{position:sticky;top:92px;display:grid;gap:16px;padding:20px}.writing-sidebar h2{margin:0}.writing-map-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.writing-map-cell{display:grid;gap:2px;min-height:58px;place-items:center;border-radius:14px;color:#8fa0b3;background:#e6eef1;font-weight:900}.writing-map-cell.answered{color:#fff;background:var(--dancheong-green)}.writing-map-cell span{font-size:1.1rem}.writing-map-cell small{font-size:.78rem}.writing-stat-panel,.writing-rubric-panel{display:grid;gap:8px;border:1px solid rgba(25,79,144,.12);border-radius:16px;padding:14px;background:#ffffff9e}.writing-stat-panel div{display:flex;align-items:center;justify-content:space-between;gap:10px}.writing-stat-panel span,.writing-rubric-panel p{margin:0;color:#4b5563}.writing-stat-panel strong{color:var(--ink-blue)}.writing-rubric-panel h3{margin:0}.writing-form{display:grid;gap:16px;padding:24px}.writing-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.writing-header h1{margin:0;font-size:clamp(1.5rem,3.8vw,2.25rem)}.writing-task-card,.writing-score-panel{border:1px solid rgba(217,198,169,.9);border-radius:20px;padding:18px;background:#ffffffad}.writing-task-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(25,79,144,.12);padding-bottom:12px}.writing-task-head h2{margin:6px 0 0;font-size:clamp(1.2rem,2.5vw,1.55rem)}.writing-task-head p{max-width:520px;margin:0;color:#4b5563}.writing-task-badge{display:inline-flex;border-radius:999px;padding:6px 10px;color:var(--dancheong-blue);background:#dceafe;font-size:.82rem;font-weight:900}.writing-passage{display:grid;gap:10px;margin-top:14px;color:#111827;font-family:Noto Sans KR,Noto Sans Thai,sans-serif;font-size:1.05rem;font-weight:650}.writing-passage p{margin:0}.writing-inline-answer{display:grid;gap:6px}.writing-inline-answer span,.writing-textarea-wrap>span{color:var(--jade);font-weight:900}.writing-inline-answer input{width:100%;font-family:Noto Sans KR,Noto Sans Thai,sans-serif}.writing-material{margin-top:14px;border:1px solid rgba(25,79,144,.12);border-radius:16px;padding:14px;background:#dcebe28f}.writing-material h3{margin:0 0 10px}.writing-material-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.writing-material-grid div{display:grid;gap:3px;border-radius:12px;padding:10px;background:#ffffffb8}.writing-material-grid span{color:#4b5563;font-size:.85rem}.writing-condition-list{display:grid;gap:6px;margin:14px 0;padding-left:22px}.writing-condition-list li{color:#273447}.writing-textarea-wrap{display:grid;gap:8px}.writing-count{justify-self:end;border-radius:999px;padding:6px 10px;color:#92400e;background:#fef3c7;font-size:.84rem}.writing-count.ok{color:#166534;background:#dcfce7}textarea{width:100%;resize:vertical;border:1px solid rgba(25,79,144,.18);border-radius:16px;padding:12px;color:#111827;background:#ffffffc7;font-family:Noto Sans KR,Noto Sans Thai,sans-serif;font-size:1.02rem;line-height:1.7}.writing-submit-bar{display:flex;justify-content:space-between;gap:12px}.writing-score-panel{display:grid;gap:14px;background:#dcebe28f}.writing-score-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.writing-score-hero h2{margin:4px 0;color:var(--ink-blue);font-size:clamp(2rem,6vw,3.4rem);line-height:1}.writing-score-hero p,.writing-overall-feedback{margin:0;color:#4b5563}.score-mode-pill{flex:0 0 auto;border-radius:999px;padding:8px 11px;color:#92400e;background:#fef3c7;font-weight:900}.score-mode-pill.ai{color:#166534;background:#dcfce7}.writing-score-list{display:grid;gap:12px}.writing-score-item{border:1px solid rgba(25,79,144,.12);border-radius:16px;padding:14px;background:#ffffffb3}.writing-score-item header{display:flex;align-items:center;justify-content:space-between;gap:10px}.writing-score-item h3,.writing-score-item p,.writing-score-item h4{margin:0}.writing-score-item header strong{color:var(--persimmon);font-size:1.2rem}.writing-criteria-grid,.writing-feedback-grid{display:grid;gap:10px;margin-top:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.writing-criteria-grid div,.writing-feedback-grid div{border-radius:14px;padding:10px;background:#fff8eac7}.writing-criteria-grid span{color:#4b5563;font-size:.88rem}.writing-criteria-grid strong{display:block;margin:2px 0;color:var(--jade)}.writing-feedback-grid ul{display:grid;gap:5px;margin:6px 0 0;padding-left:18px}.content-page{display:grid;gap:18px}.content-hero,.content-section{border:1px solid rgba(217,198,169,.92);border-radius:28px;background:#fff8eae6;box-shadow:0 14px 44px #201a1712}.content-hero{position:relative;overflow:hidden;padding:38px;background:linear-gradient(90deg,rgba(201,53,43,.08) 0 10%,transparent 10% 18%,rgba(25,79,144,.07) 18% 28%,transparent 28%),radial-gradient(circle at 92% 8%,rgba(201,53,43,.16) 0,transparent 28%),linear-gradient(135deg,#fff8eaf5 8%,#e7efe9d1);animation:section-rise .45s ease both}.content-hero:after{content:"";position:absolute;right:-48px;bottom:-80px;width:210px;height:210px;border:1px solid rgba(25,79,144,.14);border-radius:999px}.content-hero>*{position:relative;z-index:1}.content-section{padding:24px;animation:section-rise .45s ease both}.home-guides{margin-top:18px}.home-review-preview{position:relative;overflow:hidden;margin-top:18px;background:radial-gradient(circle at 100% 0%,rgba(25,79,144,.13),transparent 12rem),linear-gradient(135deg,#fff8eaf5,#e8f1ebd6)}.home-review-preview:after{content:"해설";position:absolute;right:18px;bottom:-48px;color:#0f4c4512;font-family:Noto Sans KR,serif;font-size:clamp(4.5rem,13vw,9rem);font-weight:900;line-height:1;pointer-events:none}.review-preview-heading,.review-preview-topline,.review-preview-answer-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.review-preview-rotate-badge{flex:0 0 auto;border:1px solid rgba(25,79,144,.16);border-radius:999px;padding:8px 11px;color:var(--dancheong-blue);background:#ffffff9e;font-size:.85rem;font-weight:800}.review-preview-card,.review-preview-loading{position:relative;z-index:1;border:1px solid rgba(217,198,169,.82);border-radius:22px;background:#ffffffa8;box-shadow:0 16px 36px #201a1712}.review-preview-card{overflow:hidden;display:grid;gap:16px;padding:22px}.review-preview-timer{position:absolute;top:0;left:0;height:4px;width:100%;transform-origin:left;background:linear-gradient(90deg,var(--persimmon),var(--dancheong-blue),var(--dancheong-green));animation:review-preview-countdown 12s linear both}.review-preview-label{margin:0;color:var(--muted);font-size:.88rem;font-weight:800}.review-preview-topline h3{margin:4px 0 0;color:var(--jade);font-size:clamp(1.25rem,2.5vw,1.7rem)}.review-preview-question{display:grid;gap:8px;border:1px solid rgba(25,79,144,.12);border-radius:18px;padding:16px;background:linear-gradient(90deg,rgba(201,53,43,.06),transparent 24%,rgba(25,79,144,.05)),#fff8eab8}.review-preview-question p,.review-preview-question strong{margin:0;color:#111827;font-family:Noto Sans KR,Noto Sans Thai,sans-serif;line-height:1.65}.review-preview-question p{font-size:clamp(1.12rem,2.4vw,1.42rem);font-weight:900}.review-preview-question span{color:var(--muted);font-size:.92rem;font-weight:800}.review-preview-question strong{white-space:pre-wrap;font-size:1.02rem;font-weight:700}.review-preview-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.review-preview-choice{display:flex;align-items:flex-start;gap:10px;min-height:68px;border:1px solid rgba(25,79,144,.14);border-radius:16px;padding:12px;background:#ffffffb8}.review-preview-choice span{display:grid;flex:0 0 auto;width:34px;height:34px;place-items:center;border-radius:999px;color:#334155;background:#e2e8f0;font-weight:900}.review-preview-choice p{margin:0;color:#1f2937;font-family:Noto Sans KR,Noto Sans Thai,sans-serif;font-weight:800;line-height:1.45}.review-preview-choice.correct{border-color:#1f7a4d57;background:linear-gradient(135deg,#dcece6f5,#ffffffc2);box-shadow:0 0 0 3px #1f7a4d17}.review-preview-choice.correct span{color:#fff;background:var(--dancheong-green)}.review-preview-answer-row{align-items:stretch}.review-preview-answer-row div{flex:1;display:grid;gap:4px;border:1px solid rgba(217,198,169,.78);border-radius:16px;padding:12px 14px;background:#fff8eab8}.review-preview-answer-row span{color:var(--muted);font-size:.85rem;font-weight:800}.review-preview-answer-row strong{color:var(--ink-blue);font-size:1rem}.review-preview-explanation,.review-preview-loading{display:grid;gap:8px;border-radius:18px;padding:16px;background:#f8f5eee0}.review-preview-explanation{border:1px solid rgba(196,145,72,.2)}.review-preview-explanation.transcript{border-color:#194f902e;background:#dcece69e}.review-preview-explanation strong,.review-preview-loading strong{color:#7c4d10}.review-preview-explanation p{margin:0;color:#4d463f;line-height:1.75}.review-preview-loading span{height:10px;border-radius:999px;background:linear-gradient(90deg,#d9c6a95c,#ffffffd1,#d9c6a95c);animation:review-preview-shimmer 1.1s ease-in-out infinite alternate}.review-preview-loading span:nth-child(3){width:74%}.review-preview-loading span:nth-child(4){width:48%}.section-heading{margin-bottom:16px}.section-heading h2,.content-section h2{margin:4px 0 0;font-size:clamp(1.25rem,2.6vw,1.75rem);line-height:1.25}.content-section h3{margin:0 0 6px;color:var(--jade)}.content-section p{color:var(--muted)}.split-section{display:grid;gap:22px;grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr)}.info-panel,.script-sample{border-radius:22px;background:#dcebe294;border:1px solid rgba(25,79,144,.14);padding:18px}.content-note{border-left:4px solid var(--persimmon);padding:10px 12px;border-radius:12px;background:#fff8eabd}.link-list,.clean-list{display:grid;gap:8px;margin:0;padding-left:20px}.link-list a{color:var(--jade);font-weight:700;text-decoration:underline;text-underline-offset:3px}.step-list{display:grid;gap:10px;margin:0;padding-left:24px}.step-list li,.clean-list li{color:#273447}.check-grid,.strategy-row{display:flex;flex-wrap:wrap;gap:10px}.check-grid span,.strategy-row span{border:1px solid #cfe0d7;border-radius:999px;padding:9px 12px;background:#fff8ead1;color:var(--jade);font-weight:600}.guide-link-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.guide-link-card{position:relative;overflow:hidden;display:grid;gap:6px;min-height:110px;align-content:start;border:1px solid rgba(217,198,169,.92);border-radius:22px;padding:16px;background:linear-gradient(135deg,rgba(201,53,43,.08) 0 18%,transparent 18% 24%,rgba(25,79,144,.07) 24% 39%,transparent 39%),radial-gradient(circle at 100% 0%,rgba(212,163,63,.16),transparent 7rem),linear-gradient(140deg,#fff8eaf0,#ffffffb3);color:var(--jade);font-weight:800;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.guide-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:14px;background:var(--jade);color:var(--paper);font-family:Noto Sans KR,serif;font-size:1.2rem;font-weight:900}.guide-link-card span{color:var(--muted);font-size:.9rem;font-weight:500}.guide-link-card .guide-icon{color:var(--paper);font-size:1.2rem;font-weight:900}.guide-link-card:hover{border-color:#194f9047;box-shadow:0 18px 42px #201a171f;transform:translateY(-2px)}.vocab-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.vocab-card,.pattern-grid article,.timeline-grid article{border:1px solid rgba(217,198,169,.9);border-radius:20px;padding:16px;background:#ffffffad}.vocab-card h3{margin:0;font-family:Noto Sans KR,Noto Sans Thai,sans-serif;font-size:1.35rem}.vocab-meaning{margin:2px 0 10px;color:var(--persimmon);font-weight:800}.example-ko{margin:0;color:#111827;font-family:Noto Sans KR,Noto Sans Thai,sans-serif;font-weight:700}.example-th{margin:4px 0 0;color:#4b5563;font-size:.95rem}.script-sample{display:grid;gap:10px;align-content:center;font-family:Noto Sans KR,Noto Sans Thai,sans-serif;font-size:clamp(1.3rem,4vw,2rem);font-weight:800;color:var(--jade)}.pattern-grid,.timeline-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.faq-list{display:grid;gap:10px}.faq-item{border:1px solid rgba(217,198,169,.9);border-radius:18px;background:#ffffffad;padding:0}.faq-item summary{cursor:pointer;padding:16px;color:var(--jade);font-weight:800}.faq-item p{margin:0;border-top:1px solid #e6eee9;padding:0 16px 16px}.final-cta{background:radial-gradient(circle at 88% 20%,rgba(201,53,43,.14),transparent 12rem),radial-gradient(circle at 18% 90%,rgba(25,79,144,.12),transparent 10rem),linear-gradient(135deg,#dcebe2bd,#fff8eaf0)}@keyframes section-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes review-preview-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes review-preview-shimmer{0%{opacity:.44}to{opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (max-width: 700px){.app-shell{padding:12px}.topbar{position:static}.menu{width:100%}.menu-link{flex:1;text-align:center}.auth-links{width:100%}.auth-links .btn{flex:1;text-align:center}.action-row{flex-direction:column}.action-row .btn{width:100%;text-align:center}.hero{grid-template-columns:1fr;min-height:auto;border-radius:24px}.hero-visual{min-height:320px}.metric-strip{grid-template-columns:repeat(2,1fr)}.review-preview-heading,.review-preview-topline,.review-preview-answer-row{display:grid}.review-preview-rotate-badge{width:fit-content}.review-preview-choice-grid,.picture-choice-grid{grid-template-columns:1fr}.picture-choice-card{min-height:226px}.hero,.content-hero,.content-section{padding:22px}.split-section,.exam-workspace{grid-template-columns:1fr}.question-map-panel{position:static;max-height:none;padding:16px}.question-map-grid{grid-template-columns:repeat(6,minmax(34px,1fr))}.question-map-cell{height:38px;border-radius:10px}.exam-paper{padding:18px}.exam-header,.listening-box,.exam-footer{flex-direction:column;align-items:stretch}.question-count-badge{width:fit-content}.exam-section-strip{grid-template-columns:1fr}.exam-question-text{text-align:left;font-size:1.45rem}.timer-row{top:8px;font-size:.95rem}.score-dashboard{grid-template-columns:1fr}.score-hero-row{align-items:flex-start;flex-direction:column}.choice-btn{min-height:58px}.writing-page{grid-template-columns:1fr}.writing-sidebar{position:static;padding:16px}.writing-form{padding:18px}.writing-header,.writing-task-head,.writing-score-hero,.writing-submit-bar{flex-direction:column;align-items:stretch}.writing-task-head p{max-width:none}.writing-map-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.score-mode-pill{width:fit-content}.superadmin-head{flex-direction:column;align-items:stretch}}
