:root{--th-navy:#0f1e30;--th-navy-2:#1e3450;--th-navy-3:#2b4566;--th-on-navy:#e8eef5;--th-on-navy-2:#a9b8c9;--th-accent:#0f7f9b;--th-accent-hover:#0b6a82;--th-accent-tint:#e3f2f6;--th-accent-text:#0a5f75;--th-bg:#f4f7fb;--th-surface:#fff;--th-surface-2:#f9fbfd;--th-border:#dbe3ec;--th-border-strong:#b9c6d4;--th-text:#14212f;--th-text-2:#46586c;--th-text-3:#6f8195;--th-success:#1a7f4b;--th-success-tint:#e5f4ec;--th-warning:#a35f00;--th-warning-tint:#fdf1dc;--th-danger:#b42318;--th-danger-tint:#fdecea;--th-info:#2c5d9e;--th-info-tint:#e7eef8;--th-font:-apple-system,BlinkMacSystemFont,"Segoe UI","Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR","PingFang SC","Microsoft YaHei","Hiragino Sans",Roboto,"Helvetica Neue",Arial,sans-serif;--th-font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--th-fs:15px;--th-fs-sm:13px;--th-fs-xs:12px;--th-fs-lg:17px;--th-fs-h1:32px;--th-fs-h2:24px;--th-fs-h3:18px;--th-lh:1.55;--th-r-sm:6px;--th-r:8px;--th-r-lg:12px;--th-r-pill:999px;--th-s1:4px;--th-s2:8px;--th-s3:12px;--th-s4:16px;--th-s5:24px;--th-s6:32px;--th-s7:48px;--th-s8:72px;--th-shadow-1:0 1px 2px #0f1e300f,0 1px 1px #0f1e300a;--th-shadow-2:0 4px 16px #0f1e301a;--th-shadow-3:0 12px 40px #0f1e3038;--th-gnb-h:56px;--th-lnb-w:232px;--th-container:1120px;--th-focus:0 0 0 3px #0f7f9b59;--th-dur:.16s}[data-theme=junior]{--th-accent:#0e8a6f;--th-accent-hover:#0a7058;--th-accent-tint:#e2f6ef;--th-accent-text:#09624f;--th-bg:#fff8ec;--th-surface-2:#fffdf7;--th-border:#f0dfbf;--th-border-strong:#e2c58f;--th-navy:#24456b;--th-navy-2:#2f5a88;--th-fs:18px;--th-fs-sm:16px;--th-fs-xs:14px;--th-fs-lg:20px;--th-fs-h1:34px;--th-fs-h2:26px;--th-fs-h3:21px;--th-r-sm:12px;--th-r:16px;--th-r-lg:22px;--th-star:#f2a900}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--th-font);font-size:var(--th-fs);line-height:var(--th-lh);color:var(--th-text);background:var(--th-bg);-webkit-font-smoothing:antialiased;margin:0}[hidden]{display:none!important}h1,h2,h3,h4{margin:0 0 var(--th-s3);letter-spacing:-.01em;line-height:1.25}h1{font-size:var(--th-fs-h1)}h2{font-size:var(--th-fs-h2)}h3{font-size:var(--th-fs-h3)}p{margin:0 0 var(--th-s3)}a{color:var(--th-accent-text)}a:hover{color:var(--th-accent-hover)}img{max-width:100%}code,.th-mono{font-family:var(--th-font-mono);font-variant-numeric:tabular-nums}:focus-visible{box-shadow:var(--th-focus);border-radius:var(--th-r-sm);outline:none}.th-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.th-muted{color:var(--th-text-3)}.th-small{font-size:var(--th-fs-sm)}.th-xs{font-size:var(--th-fs-xs)}.th-nowrap{white-space:nowrap}.th-center{text-align:center}.th-container{width:100%;max-width:var(--th-container);padding:0 var(--th-s5);margin:0 auto}.th-container--narrow{max-width:760px}.th-section{padding:var(--th-s7) 0}.th-section--alt{background:var(--th-surface)}.th-section__head{margin-bottom:var(--th-s5)}.th-section__head p{color:var(--th-text-2);max-width:640px}.th-eyebrow{font-size:var(--th-fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--th-accent-text);margin-bottom:var(--th-s2);font-weight:700;display:inline-block}.th-stack{gap:var(--th-s3);flex-direction:column;display:flex}.th-stack--lg{gap:var(--th-s5)}.th-row{align-items:center;gap:var(--th-s3);flex-wrap:wrap;display:flex}.th-row--between{justify-content:space-between}.th-row--end{justify-content:flex-end}.th-spacer{flex:1}.th-grid{gap:var(--th-s4);display:grid}.th-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.th-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.th-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.th-divider{border:0;border-top:1px solid var(--th-border);margin:var(--th-s5) 0}.th-site-header{z-index:40;background:var(--th-navy);color:var(--th-on-navy);position:sticky;top:0}.th-site-header__inner{align-items:center;gap:var(--th-s4);height:var(--th-gnb-h);display:flex}.th-brand{align-items:center;gap:var(--th-s2);color:#fff;letter-spacing:-.01em;font-size:18px;font-weight:800;text-decoration:none;display:inline-flex}.th-brand:hover{color:#fff}.th-brand__mark{background:var(--th-accent);color:#fff;border-radius:7px;place-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:inline-grid}.th-site-nav{gap:var(--th-s1);margin-left:var(--th-s4);display:flex}.th-site-nav a{color:var(--th-on-navy-2);border-radius:var(--th-r-sm);font-size:var(--th-fs-sm);padding:6px 10px;text-decoration:none}.th-site-nav a:hover,.th-site-nav a[aria-current=page]{color:#fff;background:var(--th-navy-2)}.th-site-header__right{align-items:center;gap:var(--th-s2);margin-left:auto;display:flex}.th-site-footer{background:var(--th-navy);color:var(--th-on-navy-2);padding:var(--th-s6) 0;font-size:var(--th-fs-sm)}.th-site-footer a{color:var(--th-on-navy)}.th-site-footer__cols{gap:var(--th-s5);grid-template-columns:2fr 1fr 1fr 1fr;display:grid}.th-site-footer h4{color:#fff;font-size:var(--th-fs-sm);margin-bottom:var(--th-s2)}.th-site-footer ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.th-site-footer__legal{margin-top:var(--th-s5);padding-top:var(--th-s4);border-top:1px solid var(--th-navy-2);font-size:var(--th-fs-xs)}.th-link-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.th-hero{background:linear-gradient(160deg,var(--th-navy) 0%,var(--th-navy-2) 70%,var(--th-navy-3) 100%);color:var(--th-on-navy);padding:var(--th-s8) 0 var(--th-s7)}.th-hero h1{color:#fff;margin-bottom:var(--th-s3);font-size:44px}.th-hero__lead{color:var(--th-on-navy);max-width:640px;margin-bottom:var(--th-s5);font-size:20px}.th-hero__meta{margin-top:var(--th-s4);font-size:var(--th-fs-sm);color:var(--th-on-navy-2)}.th-hero .th-btn--secondary{color:#fff;border-color:var(--th-on-navy-2);background:0 0}.th-hero .th-btn--secondary:hover{background:var(--th-navy-2)}.th-page-head{padding:var(--th-s6) 0 var(--th-s4)}.th-page-head h1{margin-bottom:var(--th-s2)}.th-breadcrumb{font-size:var(--th-fs-sm);color:var(--th-text-3);margin-bottom:var(--th-s2)}.th-breadcrumb a{color:var(--th-text-2)}.th-shell{grid-template-columns:var(--th-lnb-w) minmax(0,1fr);grid-template-rows:var(--th-gnb-h) 1fr;min-height:100vh;display:grid}.th-gnb{z-index:40;align-items:center;gap:var(--th-s3);padding:0 var(--th-s4);background:var(--th-navy);color:var(--th-on-navy);grid-column:1/-1;display:flex;position:sticky;top:0}.th-gnb__org{align-items:center;gap:var(--th-s2);color:#fff;font-weight:700;display:inline-flex}.th-gnb__logo{border-radius:var(--th-r-sm);background:var(--th-navy-2);color:#fff;min-width:32px;height:32px;font-size:var(--th-fs-xs);place-items:center;padding:0 6px;font-weight:800;display:inline-grid}.th-gnb__nav{margin-left:var(--th-s4);gap:2px;display:flex}.th-gnb__item{color:var(--th-on-navy-2);border-radius:var(--th-r-sm);font-size:var(--th-fs-sm);white-space:nowrap;padding:8px 12px;text-decoration:none}.th-gnb__item:hover{color:#fff;background:var(--th-navy-2)}.th-gnb__item[aria-current=page]{color:#fff;background:var(--th-navy-2);box-shadow:inset 0 -2px 0 var(--th-accent)}.th-gnb__right{align-items:center;gap:var(--th-s2);margin-left:auto;display:flex}.th-gnb__user{align-items:center;gap:var(--th-s2);font-size:var(--th-fs-sm);color:var(--th-on-navy);display:inline-flex}.th-avatar{background:var(--th-accent);color:#fff;width:30px;height:30px;font-size:var(--th-fs-xs);border-radius:50%;place-items:center;font-weight:700;display:inline-grid}.th-lnb{background:var(--th-surface);border-right:1px solid var(--th-border);padding:var(--th-s4) var(--th-s2);top:var(--th-gnb-h);height:calc(100vh - var(--th-gnb-h));align-self:start;position:sticky;overflow-y:auto}.th-lnb__head{padding:var(--th-s3) var(--th-s3) var(--th-s1);font-size:var(--th-fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--th-text-3);font-weight:700}.th-lnb__item{align-items:center;gap:var(--th-s2);border-radius:var(--th-r-sm);color:var(--th-text-2);font-size:var(--th-fs-sm);padding:8px 12px;text-decoration:none;display:flex}.th-lnb__item:hover{background:var(--th-bg);color:var(--th-text)}.th-lnb__item[aria-current=page]{background:var(--th-accent-tint);color:var(--th-accent-text);font-weight:700}.th-lnb__count{font-size:var(--th-fs-xs);color:var(--th-text-3);margin-left:auto}.th-main{padding:var(--th-s5) var(--th-s6) var(--th-s7);min-width:0}.th-main__head{align-items:flex-end;gap:var(--th-s3);margin-bottom:var(--th-s5);flex-wrap:wrap;display:flex}.th-main__head h1{font-size:var(--th-fs-h2);margin:0}.th-main__head .th-row{margin-left:auto}.th-tabbar{display:none}.th-btn{justify-content:center;align-items:center;gap:var(--th-s2);min-height:40px;padding:0 var(--th-s4);border-radius:var(--th-r);font:inherit;font-size:var(--th-fs-sm);white-space:nowrap;cursor:pointer;transition:background var(--th-dur),border-color var(--th-dur),color var(--th-dur);border:1px solid #0000;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.th-btn--primary{background:var(--th-accent);color:#fff}.th-btn--primary:hover{background:var(--th-accent-hover);color:#fff}.th-btn--secondary{background:var(--th-surface);color:var(--th-text);border-color:var(--th-border-strong)}.th-btn--secondary:hover{background:var(--th-bg);color:var(--th-text)}.th-btn--ghost{color:var(--th-accent-text);background:0 0}.th-btn--ghost:hover{background:var(--th-accent-tint)}.th-btn--danger{background:var(--th-surface);color:var(--th-danger);border-color:var(--th-danger)}.th-btn--danger:hover{background:var(--th-danger-tint)}.th-btn--on-dark{color:var(--th-on-navy);border-color:var(--th-navy-3);background:0 0}.th-btn--on-dark:hover{background:var(--th-navy-2);color:#fff}.th-btn--sm{min-height:32px;padding:0 var(--th-s3);font-size:var(--th-fs-xs);border-radius:var(--th-r-sm)}.th-btn--lg{min-height:48px;padding:0 var(--th-s5);font-size:var(--th-fs)}.th-btn--block{width:100%;display:flex}.th-btn[disabled],.th-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.th-btn.is-loading:before{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite th-spin}.th-btn-group{display:inline-flex}.th-btn-group .th-btn{border-radius:0}.th-btn-group .th-btn:first-child{border-radius:var(--th-r) 0 0 var(--th-r)}.th-btn-group .th-btn:last-child{border-radius:0 var(--th-r) var(--th-r) 0}.th-btn-group .th-btn+.th-btn{margin-left:-1px}.th-btn-group .th-btn[aria-pressed=true]{background:var(--th-accent-tint);color:var(--th-accent-text);border-color:var(--th-accent)}@keyframes th-spin{to{transform:rotate(360deg)}}.th-card{background:var(--th-surface);border:1px solid var(--th-border);border-radius:var(--th-r-lg);padding:var(--th-s5);box-shadow:var(--th-shadow-1)}.th-card--flat{box-shadow:none}.th-card--tight{padding:var(--th-s4)}.th-card--link{color:inherit;transition:border-color var(--th-dur),box-shadow var(--th-dur),transform var(--th-dur);text-decoration:none;display:block}.th-card--link.th-stack{display:flex}.th-card--link:hover{border-color:var(--th-accent);box-shadow:var(--th-shadow-2);color:inherit;transform:translateY(-1px)}.th-card__title{font-size:var(--th-fs-h3);margin:0 0 var(--th-s2);font-weight:700}.th-card__sub{font-size:var(--th-fs-sm);color:var(--th-text-2);margin:0 0 var(--th-s3)}.th-card__foot{margin-top:var(--th-s4);padding-top:var(--th-s3);border-top:1px solid var(--th-border);align-items:center;gap:var(--th-s2);font-size:var(--th-fs-sm);display:flex}.th-card__icon{border-radius:var(--th-r);background:var(--th-accent-tint);width:40px;height:40px;color:var(--th-accent-text);margin-bottom:var(--th-s3);place-items:center;font-weight:800;display:inline-grid}.th-kv{gap:4px var(--th-s3);font-size:var(--th-fs-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.th-kv dt{color:var(--th-text-3)}.th-kv dd{margin:0;font-weight:600}.th-stat{flex-direction:column;gap:2px;display:flex}.th-stat__label{font-size:var(--th-fs-xs);color:var(--th-text-3);font-weight:600}.th-stat__value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:800}.th-stat__hint{font-size:var(--th-fs-xs);color:var(--th-text-2)}.th-table-wrap{border:1px solid var(--th-border);border-radius:var(--th-r-lg);background:var(--th-surface);overflow-x:auto}.th-table{border-collapse:collapse;width:100%;font-size:var(--th-fs-sm)}.th-table caption{caption-side:top;text-align:left;padding:var(--th-s3) var(--th-s4);font-weight:700}.th-table th,.th-table td{padding:10px var(--th-s4);text-align:left;border-bottom:1px solid var(--th-border);vertical-align:top}.th-table thead th{background:var(--th-surface-2);font-size:var(--th-fs-xs);color:var(--th-text-2);text-transform:none;white-space:nowrap;font-weight:700}.th-table tbody tr:last-child td,.th-table tbody tr:last-child th{border-bottom:0}.th-table tbody tr:hover{background:var(--th-surface-2)}.th-table .is-num{text-align:right;font-variant-numeric:tabular-nums}.th-table--compact th,.th-table--compact td{padding:6px var(--th-s3)}.th-check-yes:before{content:"✓ ";color:var(--th-success);font-weight:800}.th-check-no:before{content:"— ";color:var(--th-text-3)}.th-badge{border-radius:var(--th-r-pill);font-size:var(--th-fs-xs);white-space:nowrap;background:var(--th-bg);color:var(--th-text-2);border:1px solid #0000;align-items:center;gap:4px;padding:2px 8px;font-weight:700;line-height:1.6;display:inline-flex}.th-badge--accent{background:var(--th-accent-tint);color:var(--th-accent-text)}.th-badge--success{background:var(--th-success-tint);color:var(--th-success)}.th-badge--warning{background:var(--th-warning-tint);color:var(--th-warning)}.th-badge--danger{background:var(--th-danger-tint);color:var(--th-danger)}.th-badge--info{background:var(--th-info-tint);color:var(--th-info)}.th-badge--outline{border-color:var(--th-border-strong);background:0 0}.th-badge--external:before{content:"🔒";font-size:10px}.th-badge--dark{background:var(--th-navy-2);color:#fff}.th-tabs{border-bottom:1px solid var(--th-border);margin-bottom:var(--th-s5);gap:2px;display:flex;overflow-x:auto}.th-tab{font:inherit;font-size:var(--th-fs-sm);color:var(--th-text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 14px;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.th-tab:hover{color:var(--th-text)}.th-tab[aria-selected=true],.th-tab[aria-current=page]{color:var(--th-accent-text);border-bottom-color:var(--th-accent)}.th-tab[disabled],.th-tab[aria-disabled=true]{color:var(--th-text-3);cursor:not-allowed}.th-tabpanel[hidden]{display:none}.th-field{margin-bottom:var(--th-s4);flex-direction:column;gap:6px;display:flex}.th-label{font-size:var(--th-fs-sm);color:var(--th-text);font-weight:700}.th-label__opt{color:var(--th-text-3);font-weight:400}.th-input,.th-select,.th-textarea{border:1px solid var(--th-border-strong);border-radius:var(--th-r);background:var(--th-surface);width:100%;min-height:42px;color:var(--th-text);font:inherit;font-size:var(--th-fs);padding:8px 12px}.th-input:focus,.th-select:focus,.th-textarea:focus{border-color:var(--th-accent);box-shadow:var(--th-focus);outline:none}.th-input--inline{vertical-align:baseline;width:auto;min-width:120px;min-height:34px;margin:0 4px;padding:4px 10px;display:inline-block}.th-textarea{resize:vertical;min-height:180px;line-height:1.6}.th-input[aria-invalid=true],.th-textarea[aria-invalid=true]{border-color:var(--th-danger)}.th-help{font-size:var(--th-fs-xs);color:var(--th-text-3)}.th-field-error{font-size:var(--th-fs-xs);color:var(--th-danger);font-weight:600}.th-field-error:before{content:"⚠ "}.th-check{align-items:flex-start;gap:var(--th-s2);font-size:var(--th-fs-sm);cursor:pointer;display:flex}.th-check input{accent-color:var(--th-accent);margin-top:3px}.th-wordcount{gap:var(--th-s3);font-size:var(--th-fs-xs);color:var(--th-text-2);font-variant-numeric:tabular-nums;justify-content:flex-end;display:flex}.th-wordcount.is-under [data-wc-words]{color:var(--th-warning)}.th-wordcount.is-met [data-wc-words]{color:var(--th-success)}.th-options{gap:var(--th-s2);border:0;margin:0;padding:0;display:grid}.th-option{align-items:flex-start;gap:var(--th-s3);padding:12px var(--th-s4);border:1px solid var(--th-border-strong);border-radius:var(--th-r);background:var(--th-surface);cursor:pointer;transition:border-color var(--th-dur),background var(--th-dur);display:flex;position:relative}.th-option:hover{border-color:var(--th-accent)}.th-option input{opacity:0;pointer-events:none;position:absolute}.th-option__key{border:1px solid var(--th-border-strong);width:28px;height:28px;font-weight:700;font-size:var(--th-fs-sm);border-radius:50%;flex:none;place-items:center;display:inline-grid}.th-option:has(input:checked){border-color:var(--th-accent);background:var(--th-accent-tint)}.th-option:has(input:checked) .th-option__key{background:var(--th-accent);border-color:var(--th-accent);color:#fff}.th-option.is-on{border-color:var(--th-accent);background:var(--th-accent-tint)}.th-option.is-on .th-option__key{background:var(--th-accent);border-color:var(--th-accent);color:#fff}@supports not selector(:has(a)){.th-option:focus-within{box-shadow:var(--th-focus)}}.th-option:has(input:focus-visible){box-shadow:var(--th-focus)}.th-take{flex-direction:column;min-height:100vh;display:flex}.th-take__bar{z-index:35;align-items:center;gap:var(--th-s3);padding:10px var(--th-s5);background:var(--th-surface);border-bottom:1px solid var(--th-border);box-shadow:var(--th-shadow-1);display:flex;position:sticky;top:0}.th-take__title{font-weight:700;font-size:var(--th-fs-sm)}.th-take__body{width:100%;max-width:880px;padding:var(--th-s5);flex:1;margin:0 auto}.th-take__body--split{gap:var(--th-s5);grid-template-columns:1fr 1fr;max-width:1200px;display:grid}.th-take__foot{align-items:center;gap:var(--th-s3);padding:12px var(--th-s5);background:var(--th-surface);border-top:1px solid var(--th-border);display:flex;position:sticky;bottom:0}.th-syscheck__actions{z-index:30;background:var(--th-bg);border-top:1px solid var(--th-border);padding:12px 0;position:sticky;bottom:0;box-shadow:0 -8px 12px -12px #0f172a59}.th-syscheck :is(button,audio,a){scroll-margin-bottom:96px}.th-instructions{font-size:var(--th-fs-sm);color:var(--th-text-2);background:var(--th-info-tint);border-left:3px solid var(--th-info);padding:var(--th-s3) var(--th-s4);border-radius:0 var(--th-r) var(--th-r) 0;margin-bottom:var(--th-s4)}.th-stimulus{background:var(--th-surface-2);border:1px solid var(--th-border);border-radius:var(--th-r-lg);padding:var(--th-s4) var(--th-s5);margin-bottom:var(--th-s4);line-height:1.7}.th-stimulus__title{margin-bottom:var(--th-s2);font-weight:700}.th-question{font-weight:700;font-size:var(--th-fs-lg);margin-bottom:var(--th-s3)}.th-qnum{min-width:28px;height:28px;margin-right:var(--th-s2);border-radius:var(--th-r-sm);background:var(--th-navy);color:#fff;font-size:var(--th-fs-sm);vertical-align:middle;place-items:center;padding:0 6px;font-weight:700;display:inline-grid}.th-take-org{border-radius:var(--th-r-sm);background:var(--th-navy);color:#fff;min-width:36px;height:30px;font-size:var(--th-fs-xs);place-items:center;padding:0 6px;font-weight:800;display:inline-grid}.th-take-meta{flex-direction:column;min-width:0;line-height:1.25;display:flex}.th-take-meta small{font-size:var(--th-fs-xs);color:var(--th-text-2)}.th-take-pos{font-family:var(--th-font-mono);font-weight:700;font-size:var(--th-fs-sm);border:1px solid var(--th-border-strong);border-radius:var(--th-r-pill);white-space:nowrap;padding:3px 10px}.th-take-save{font-size:var(--th-fs-xs);color:var(--th-text-2);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.th-take-save:before{content:"";background:var(--th-success);border-radius:50%;width:9px;height:9px}.th-take-save[data-save=saving]:before{background:var(--th-info);animation:1s infinite th-pulse}.th-take-save[data-save=pending]{color:var(--th-warning);font-weight:700}.th-take-save[data-save=pending]:before{background:var(--th-warning)}.th-take-item-head{justify-content:space-between;align-items:flex-start;gap:var(--th-s3);margin-bottom:var(--th-s2);flex-wrap:wrap;display:flex}.th-take-item[data-r=locked] .th-option,.th-take-item[data-r=disabled] .th-option{cursor:not-allowed;background:var(--th-bg);color:var(--th-text-3);border-style:dashed}.th-take-lockmsg{margin:var(--th-s3) 0 0;font-size:var(--th-fs-sm);color:var(--th-text-2)}.th-take-big{padding:8px 22px;font-size:34px}.th-take-qnav{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.th-take-qnav button{border:1px solid var(--th-border-strong);border-radius:var(--th-r-sm);background:var(--th-surface);min-width:34px;height:34px;font:inherit;font-size:var(--th-fs-xs);color:var(--th-text-2);cursor:pointer;padding:0 4px;font-weight:700;position:relative}.th-take-qnav button.is-answered{background:var(--th-navy-2);border-color:var(--th-navy-2);color:#fff}.th-take-qnav button.is-answered:after{content:"✓";font-size:9px;position:absolute;bottom:0;right:2px}.th-take-qnav button.is-flagged:before{content:"⚑";color:var(--th-warning);background:var(--th-surface);border-radius:50%;font-size:12px;line-height:1;position:absolute;top:-8px;right:-6px}.th-take-qnav button[aria-current=step]{box-shadow:0 0 0 2px var(--th-accent);text-underline-offset:3px;text-decoration:underline}.th-take-qnav-legend{font-size:var(--th-fs-xs);color:var(--th-text-3)}.th-jr-audio{align-items:center;gap:var(--th-s4);flex-wrap:wrap;display:flex}.th-jr-play{background:var(--th-accent);color:#fff;width:84px;height:84px;font:inherit;cursor:pointer;box-shadow:var(--th-shadow-2);border:0;border-radius:50%;place-items:center;font-size:30px;display:inline-grid}.th-jr-play:hover{background:var(--th-accent-hover)}.th-jr-play[disabled]{background:var(--th-border-strong);cursor:not-allowed;box-shadow:none}.th-jr-opts{gap:var(--th-s3);grid-template-columns:repeat(2,minmax(0,1fr))}.th-jr-opts .th-option{text-align:center;padding:var(--th-s4) var(--th-s3);border-width:2px;flex-direction:column;align-items:center;gap:6px}.th-jr-opts .th-option__key{position:absolute;top:10px;left:10px}.th-jr-pic{font-size:60px;line-height:1.1}.th-jr-word{font-weight:700}.th-jr-time{font-size:var(--th-fs-sm);color:var(--th-text-2);align-items:center;gap:8px;font-weight:700;display:inline-flex}.th-jr-time__track{border-radius:var(--th-r-pill);background:var(--th-border);width:90px;height:10px;overflow:hidden}.th-jr-time__bar{background:var(--th-accent);border-radius:inherit;height:100%;transition:width 1s linear}.th-jr-time.is-low .th-jr-time__bar{background:var(--th-star,#f2a900)}.th-timer{border-radius:var(--th-r-pill);background:var(--th-navy);color:#fff;font-family:var(--th-font-mono);font-weight:700;font-size:var(--th-fs);font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:4px 12px;display:inline-flex}.th-timer:before{content:"⏱";font-family:var(--th-font)}.th-timer.is-low{background:var(--th-warning-tint);color:var(--th-warning);box-shadow:inset 0 0 0 1px var(--th-warning)}.th-timer.is-warning{background:var(--th-danger);color:#fff;animation:1s ease-in-out infinite th-pulse}.th-timer.is-warning:after{content:"!";font-family:var(--th-font)}.th-timer.is-done{background:var(--th-text-3);color:#fff;animation:none}.th-timer.is-paused{opacity:.7}@keyframes th-pulse{50%{opacity:.75}}.th-progress{align-items:center;gap:var(--th-s2);font-size:var(--th-fs-sm);color:var(--th-text-2);min-width:120px;font-weight:600;display:flex}.th-progress__track{border-radius:var(--th-r-pill);background:var(--th-border);flex:1;height:8px;overflow:hidden}.th-progress__bar{background:var(--th-accent);border-radius:inherit;width:0;height:100%;transition:width .3s}.th-progress__label{white-space:nowrap;font-variant-numeric:tabular-nums}.th-stepper{gap:var(--th-s2);font-size:var(--th-fs-xs);margin:0;padding:0;list-style:none;display:flex}.th-stepper li{color:var(--th-text-3);align-items:center;gap:6px;display:flex}.th-stepper li:before{content:attr(data-n);border:1px solid var(--th-border-strong);border-radius:50%;place-items:center;width:22px;height:22px;font-weight:700;display:inline-grid}.th-stepper li.is-done{color:var(--th-success)}.th-stepper li.is-done:before{content:"✓";background:var(--th-success-tint);border-color:var(--th-success)}.th-stepper li.is-current{color:var(--th-accent-text);font-weight:700}.th-stepper li.is-current:before{background:var(--th-accent);border-color:var(--th-accent);color:#fff}.th-stars{gap:4px;margin:0;padding:0;font-size:22px;line-height:1;list-style:none;display:inline-flex}.th-stars li{color:var(--th-border-strong)}.th-stars li:before{content:"☆"}.th-stars li.is-done{color:var(--th-star,#f2a900)}.th-stars li.is-done:before{content:"★"}.th-stars li.is-current{color:var(--th-star,#f2a900);transform:scale(1.2)}.th-cheer{border-radius:var(--th-r-pill);background:var(--th-accent-tint);color:var(--th-accent-text);padding:6px 14px;font-weight:700;display:inline-block}.th-rec{align-items:center;gap:var(--th-s3);padding:var(--th-s5);border:1px dashed var(--th-border-strong);border-radius:var(--th-r-lg);background:var(--th-surface-2);flex-direction:column;display:flex}.th-rec__btn{align-items:center;gap:var(--th-s2);min-height:52px;padding:0 var(--th-s5);border-radius:var(--th-r-pill);background:var(--th-danger);color:#fff;font:inherit;cursor:pointer;border:0;font-weight:700;display:inline-flex}.th-rec__btn:before{content:"";background:#fff;border-radius:50%;width:12px;height:12px}.th-rec__btn[data-rec-state=recording]:before{border-radius:2px;animation:1s infinite th-pulse}.th-rec__btn[data-rec-state=done]{background:var(--th-success)}.th-rec__btn[data-rec-state=done]:before{content:"✓";background:0 0;border-radius:0;width:auto;height:auto}.th-rec__status{font-size:var(--th-fs-sm);color:var(--th-text-2);font-variant-numeric:tabular-nums}.th-wave{align-items:center;gap:3px;height:40px;display:flex}.th-wave span{background:var(--th-border-strong);border-radius:2px;width:4px;height:6px}.th-wave.is-active span{background:var(--th-danger);animation:.9s ease-in-out infinite th-wave}.th-wave.is-active span:nth-child(2n){animation-delay:.15s}.th-wave.is-active span:nth-child(3n){animation-delay:.3s}.th-wave.is-active span:nth-child(5n){animation-delay:.45s}@keyframes th-wave{0%,to{height:6px}50%{height:36px}}.th-empty{align-items:center;gap:var(--th-s3);padding:var(--th-s7) var(--th-s5);text-align:center;border:1px dashed var(--th-border-strong);border-radius:var(--th-r-lg);background:var(--th-surface);flex-direction:column;display:flex}.th-empty__text{font-size:var(--th-fs);color:var(--th-text-2);margin:0}.th-error{gap:var(--th-s3);padding:var(--th-s4);border:1px solid var(--th-danger);border-radius:var(--th-r);background:var(--th-surface);border-left-width:4px;align-items:flex-start;display:flex}.th-error__icon{color:var(--th-danger);flex:none;font-weight:800}.th-error__body{flex:1}.th-error__title{margin:0 0 4px;font-weight:700}.th-error__msg{margin:0 0 var(--th-s2);color:var(--th-text-2);font-size:var(--th-fs-sm)}.th-error--warn{border-color:var(--th-warning)}.th-error--warn .th-error__icon{color:var(--th-warning)}.th-error__rid{font-family:var(--th-font-mono);font-size:var(--th-fs-xs);color:var(--th-text-3)}.th-notice{padding:var(--th-s3) var(--th-s4);border-radius:var(--th-r);background:var(--th-warning-tint);border:1px solid var(--th-warning);color:var(--th-text);font-size:var(--th-fs-sm)}.th-notice--info{background:var(--th-info-tint);border-color:var(--th-info)}.th-forbidden{max-width:520px;margin:var(--th-s8) auto;text-align:center}.th-skeleton{background:linear-gradient(90deg,var(--th-border) 25%,var(--th-surface-2) 50%,var(--th-border) 75%);background-size:200% 100%;border-radius:4px;height:14px;animation:1.2s infinite th-shimmer;display:block}@keyframes th-shimmer{to{background-position:-200% 0}}.th-backdrop{inset:0;z-index:60;background:#0f1e3073;position:fixed;inset:0}.th-drawer{z-index:61;background:var(--th-surface);width:min(640px,100vw);box-shadow:var(--th-shadow-3);flex-direction:column;transition:transform .22s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.th-drawer.is-open{transform:none}.th-drawer--wide{width:min(980px,100vw)}.th-drawer__head{align-items:center;gap:var(--th-s3);padding:var(--th-s4) var(--th-s5);border-bottom:1px solid var(--th-border);display:flex}.th-drawer__head h2{font-size:var(--th-fs-h3);margin:0}.th-drawer__body{padding:var(--th-s5);flex:1;overflow-y:auto}.th-drawer__foot{gap:var(--th-s2);padding:var(--th-s3) var(--th-s5);border-top:1px solid var(--th-border);justify-content:flex-end;display:flex}.th-close{border-radius:var(--th-r-sm);cursor:pointer;width:36px;height:36px;color:var(--th-text-2);background:0 0;border:0;margin-left:auto;font-size:20px;line-height:1}.th-close:hover{background:var(--th-bg)}.th-modal{inset:0;z-index:62;padding:var(--th-s4);place-items:center;display:grid;position:fixed;inset:0}.th-modal__dialog{background:var(--th-surface);border-radius:var(--th-r-lg);width:min(480px,100%);box-shadow:var(--th-shadow-3);padding:var(--th-s5);max-height:calc(100vh - 2 * var(--th-s4));max-height:calc(100dvh - 2 * var(--th-s4));overflow-y:auto}.th-modal__dialog h2{font-size:var(--th-fs-h3)}.th-modal__actions{gap:var(--th-s2);margin-top:var(--th-s5);justify-content:flex-end;display:flex}.th-toast-region{left:50%;bottom:var(--th-s5);z-index:70;gap:var(--th-s2);pointer-events:none;flex-direction:column;display:flex;position:fixed;transform:translate(-50%)}.th-toast-region--top{top:calc(var(--th-gnb-h) + 8px);bottom:auto}.th-toast{pointer-events:auto;align-items:center;gap:var(--th-s3);min-width:260px;max-width:min(520px,92vw);padding:12px var(--th-s4);border-radius:var(--th-r);background:var(--th-navy);color:#fff;box-shadow:var(--th-shadow-3);font-size:var(--th-fs-sm);display:flex}.th-toast:before{content:"ℹ";font-weight:800}.th-toast--success:before{content:"✓";color:#7ee0ad}.th-toast--error{background:var(--th-surface);color:var(--th-text);border:1px solid var(--th-danger);border-left-width:4px}.th-toast--error:before{content:"⚠";color:var(--th-danger)}.th-toast--offline{background:var(--th-warning-tint);color:var(--th-text);border:1px solid var(--th-warning)}.th-toast--offline:before{content:"⟳";color:var(--th-warning)}.th-toast .th-close{width:28px;height:28px;color:inherit;font-size:16px}.th-scorecard{gap:var(--th-s5);grid-template-columns:auto 1fr;align-items:center;display:grid}.th-scorecard__primary{background:var(--th-navy);color:#fff;text-align:center;border-radius:50%;place-items:center;width:132px;height:132px;display:grid}.th-scorecard__value{font-variant-numeric:tabular-nums;font-size:44px;font-weight:800;line-height:1}.th-scorecard__label{font-size:var(--th-fs-xs);color:var(--th-on-navy-2);margin-top:4px}.th-bars{gap:var(--th-s2);display:grid}.th-bar{align-items:center;gap:var(--th-s3);font-size:var(--th-fs-sm);grid-template-columns:110px 1fr 56px;display:grid}.th-bar__track{border-radius:var(--th-r-pill);background:var(--th-border);height:10px;overflow:hidden}.th-bar__fill{background:var(--th-accent);border-radius:inherit;height:100%}.th-bar__fill--warn{background:var(--th-warning)}.th-bar__fill--pending{background:repeating-linear-gradient(45deg,var(--th-border-strong) 0 6px,var(--th-border) 6px 12px)}.th-bar__value{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.th-gnb__select{border:1px solid var(--th-navy-3);border-radius:var(--th-r-sm);background:var(--th-navy-2);color:#fff;min-height:32px;font:inherit;font-size:var(--th-fs-sm);padding:2px 8px}.th-day-chips{border:0;flex-wrap:wrap;gap:6px;margin:0;padding:0;display:flex}.th-day-chip{border:1px solid var(--th-border-strong);border-radius:var(--th-r-pill);font-size:var(--th-fs-sm);cursor:pointer;background:var(--th-surface);align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.th-day-chip:has(input:checked){border-color:var(--th-accent);background:var(--th-accent-tint);color:var(--th-accent-text);font-weight:700}.th-day-chip.is-on{border-color:var(--th-accent);background:var(--th-accent-tint);color:var(--th-accent-text);font-weight:700}.th-day-chip input{accent-color:var(--th-accent);margin:0}.th-table tr.is-overdue{background:var(--th-warning-tint)}.th-chart{width:100%;height:auto;display:block}.th-chart .grid{stroke:var(--th-border);stroke-width:1px}.th-chart .axis-label{fill:var(--th-text-3);font-size:11px;font-family:var(--th-font)}.th-chart .line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.th-chart .l-overall{stroke:var(--th-accent);stroke-width:3.5px}.th-chart .l-L{stroke:var(--th-navy-3);stroke-dasharray:6 4}.th-chart .l-R{stroke:var(--th-info);stroke-dasharray:2 4}.th-chart .l-W{stroke:var(--th-warning);stroke-dasharray:10 4 2 4}.th-chart .l-S{stroke:var(--th-success);stroke-dasharray:1 0}.th-chart .pt{stroke:var(--th-surface);stroke-width:2px}.th-chart .pt-overall{fill:var(--th-accent)}.th-chart .val{fill:var(--th-text);font-size:12px;font-weight:700;font-family:var(--th-font)}.th-chart-legend{gap:var(--th-s3);margin-top:var(--th-s2);flex-wrap:wrap;display:flex}.th-chart-legend svg{vertical-align:middle;margin-right:4px}.th-flow{gap:var(--th-s4);counter-reset:flow;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.th-flow li{counter-increment:flow;padding:var(--th-s5);padding-top:calc(var(--th-s5) + 36px);background:var(--th-surface);border:1px solid var(--th-border);border-radius:var(--th-r-lg);position:relative}.th-flow li:before{content:counter(flow);top:var(--th-s5);left:var(--th-s5);background:var(--th-accent);color:#fff;width:28px;height:28px;font-weight:800;font-size:var(--th-fs-sm);border-radius:50%;place-items:center;display:grid;position:absolute}.th-flow h3{font-size:var(--th-fs-lg)}.th-flow p{color:var(--th-text-2);font-size:var(--th-fs-sm);margin:0}.th-plan-name{font-weight:800}.th-plan-col.is-featured{background:var(--th-accent-tint)}@media (max-width:960px){.th-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.th-site-footer__cols{grid-template-columns:1fr 1fr}}@media (max-width:768px){:root{--th-fs-h1:26px;--th-fs-h2:21px}.th-container{padding:0 var(--th-s4)}.th-section{padding:var(--th-s6) 0}.th-grid--2,.th-grid--3,.th-grid--4,.th-flow{grid-template-columns:1fr}.th-site-nav{display:none}.th-hero{padding:var(--th-s7) 0 var(--th-s6)}.th-hero h1{font-size:34px}.th-hero__lead{font-size:17px}.th-shell{grid-template-columns:1fr;padding-bottom:64px}.th-lnb,.th-gnb__nav,.th-gnb__user span:not(.th-avatar){display:none}.th-main{padding:var(--th-s4)}.th-tabbar{z-index:45;background:var(--th-surface);border-top:1px solid var(--th-border);height:60px;display:flex;position:fixed;bottom:0;left:0;right:0}.th-tabbar a{color:var(--th-text-2);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;text-decoration:none;display:flex}.th-tabbar a[aria-current=page]{color:var(--th-accent-text);font-weight:700}.th-take__bar{padding:8px var(--th-s3);flex-wrap:wrap}.th-take__body{padding:var(--th-s4)}.th-take__body--split{grid-template-columns:1fr}.th-take__foot{padding:10px var(--th-s3);flex-wrap:wrap}.th-take-hide-sm{display:none}.th-take-qnav-wrap{flex-basis:100%;order:-1}.th-take-qnav{gap:4px}.th-take-qnav button{min-width:30px;height:30px}.th-take-big{font-size:28px}.th-jr-pic{font-size:48px}.th-scorecard{grid-template-columns:1fr;justify-items:center}.th-bar{grid-template-columns:84px 1fr 48px}.th-site-footer__cols{grid-template-columns:1fr}.th-drawer{width:100vw}.th-hide-mobile{display:none!important}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.th-login{min-height:100vh;padding:var(--th-s7) var(--th-s4);background:var(--th-bg);place-items:start center;display:grid}.th-login__card{width:min(460px,100%)}.th-login__brand{align-items:center;gap:var(--th-s3);margin-bottom:var(--th-s4);display:flex}.th-student{flex-direction:column;min-height:100vh;display:flex}.th-student .th-gnb{position:sticky;top:0}.th-student__main{padding-top:var(--th-s5);padding-bottom:var(--th-s7)}.th-group__stimulus{top:calc(var(--th-gnb-h) + 8px);align-self:start;max-height:calc(100vh - 160px);position:sticky;overflow-y:auto}.th-wordclick{flex-wrap:wrap;gap:6px;line-height:2;display:flex}.th-wordclick__tok{border-radius:var(--th-r-sm);font:inherit;font-size:var(--th-fs-lg);color:var(--th-text);cursor:pointer;background:0 0;border:1px solid #0000;padding:2px 6px}.th-wordclick__tok:hover{border-color:var(--th-border-strong)}.th-wordclick__tok.is-on{background:var(--th-accent-tint);border-color:var(--th-accent);color:var(--th-accent-text);text-underline-offset:4px;font-weight:700;text-decoration:underline;text-decoration-thickness:2px}.th-wordclick__tok[disabled]{cursor:not-allowed;opacity:.7}.th-table tr.is-highlight{background:var(--th-accent-tint)}@media (max-width:768px){.th-group__stimulus{max-height:none;position:static}}
