.assessment-page{background:#f4f6fb;color:#1f2937;line-height:1.65}
.assessment-page *, .as-hub *{box-sizing:border-box}
.as-header{display:flex;align-items:center;gap:16px;padding:16px max(20px,calc((100vw - 1160px)/2));background:#fff;border-bottom:1px solid #dce3ee;flex-wrap:wrap}
.as-heading{font-weight:800;font-size:19px;flex:1}.as-back{font-weight:700;text-decoration:none}
.as-main{max-width:1160px;margin:0 auto;padding:24px 20px 60px;outline:none}
.assessment-page button,.assessment-page .as-link,.as-hub button,.as-hub .as-link{min-height:44px;touch-action:manipulation}
.assessment-page button:focus-visible,.assessment-page a:focus-visible,.assessment-page input:focus-visible,.as-hub a:focus-visible{outline:3px solid #2563eb;outline-offset:3px}
.assessment-page button:disabled{cursor:default;opacity:.55}
.as-skip{position:fixed;left:16px;top:-100px;background:#fff;padding:12px;z-index:30}.as-skip:focus{top:12px}
.as-notice{background:#fff5d6;border:1px solid #ebcd74;border-radius:12px;padding:12px 16px;margin-bottom:20px;overflow-wrap:anywhere}
.as-notice.good{background:#eaf8ee;border-color:#acd8b7}.as-notice button{margin-left:10px}
.as-intro,.as-card,.as-question,.as-side,.as-success,.as-wallet{background:#fff;border:1px solid #dce3ee;border-radius:18px;padding:24px}
.as-intro h1,.as-success h1{font-size:28px;line-height:1.35;margin:0 0 12px}.as-intro p{margin:8px 0;color:#475569}
.as-intro{margin-bottom:20px}.as-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.as-card{padding:20px;display:flex;flex-direction:column;gap:12px;min-width:0}
.as-card h2{font-size:18px;margin:0}.as-card p{margin:0;color:#475569}.as-card .as-link{margin-top:auto;align-self:flex-start}
.as-link{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:8px 16px;background:#4338ca;color:white;text-decoration:none;font-weight:700;border:1px solid transparent}
.as-link.secondary{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.as-badge{align-self:flex-start;display:inline-block;border-radius:99px;background:#eef2ff;color:#3730a3;padding:3px 10px;font-size:13px;font-weight:700}.as-badge.pass{background:#dcfce7;color:#166534}
.as-workspace{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start}.as-question{min-width:0;padding:26px}.as-question-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}
.as-question-head h2{font-size:22px;margin:0}.as-question-text,.as-readable{white-space:pre-wrap;overflow-wrap:anywhere;font-size:18px;line-height:1.8}.as-readable{font-size:16px;margin-top:12px}
.as-material{margin:12px 0}.as-material img{width:100%;height:auto;display:block;background:#fff}.as-image-button{padding:0!important;border:1px solid #cbd5e1;width:100%;overflow:hidden;cursor:zoom-in!important;border-radius:10px;background:#fff!important}.as-image-caption{font-size:13px;color:#64748b;margin:6px 0 0}
.as-mask-frame{position:relative;display:block;width:100%;background:#fff}.as-mask-frame img{display:block;width:100%;height:auto;max-width:none}.as-number-mask{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.as-image-unavailable{padding:16px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;font-size:15px}.as-image-unavailable p{margin:0 0 10px}
.as-options{border:0;padding:0;margin:24px 0 14px;min-width:0}.as-options legend{font-weight:700;margin-bottom:10px}.as-option{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;margin:8px 0;cursor:pointer;min-height:52px;overflow-wrap:anywhere}
.as-option:has(input:checked){border-color:#4f46e5;background:#eef2ff}.as-option input{width:20px;height:20px;flex:none;margin:3px 0 0;accent-color:#4338ca}.as-option span{font-size:18px}.as-option:has(input:disabled){cursor:default}
.as-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:20px}.as-toolbar .as-next{margin-left:auto}.as-save{font-size:13px;color:#475569;min-height:24px;margin:12px 0}.as-save.error{color:#b45309}
.as-side{padding:20px}.as-side h2{font-size:17px}.as-side p{color:#475569}.as-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.as-map button{padding:4px;position:relative}.as-map button.done{background:#e0e7ff;border-color:#a5b4fc;color:#312e81}.as-map button.correct{background:#dcfce7;border-color:#86c99c;color:#166534}.as-map button.wrong{border-color:#e8b37c;background:#fff4e7;color:#92400e}.as-map button.current{outline:3px solid #4338ca;outline-offset:1px;font-weight:800}.as-map-note{font-size:13px;line-height:1.6;margin:12px 0}
.as-submit{width:100%;margin-top:12px;font-weight:700}.as-progress{height:8px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin:12px 0}.as-progress span{display:block;height:100%;background:#4f46e5;transition:width .2s}
.as-review{background:#f1f5f9;border-radius:12px;padding:18px;margin-top:20px}.as-review h3{font-size:17px;margin:0 0 8px}.as-review p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.as-review details{margin-top:10px}.as-review summary{font-weight:700;cursor:pointer;padding:8px 0}.as-hint{border-left:3px solid #818cf8;padding:4px 0 4px 12px;margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}.as-correct{color:#166534;font-weight:800}.as-wrong{color:#92400e;font-weight:800}
.as-success{margin-bottom:20px;border-color:#a7d4b2;background:#f2fbf4}.as-success p{margin:8px 0}.as-reward{font-size:24px;font-weight:800;color:#166534}.as-loading{text-align:center;padding:50px 10px}
.as-image-dialog{max-width:96vw;max-height:94dvh;width:1100px;padding:0;border:1px solid #94a3b8;border-radius:14px;background:#fff}.as-image-dialog::backdrop{background:#0f172acc}.as-image-tools{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid #cbd5e1}.as-image-tools span{font-weight:700}.as-image-scroll{overflow:auto;max-height:calc(94dvh - 75px);padding:12px}.as-image-scroll .as-mask-frame{width:max(100%,750px);max-width:none}
.as-hub{margin:20px 0}.as-hub .as-intro{padding:20px}.as-hub h2{font-size:20px}.as-hub .as-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.as-hub .as-card{padding:16px}.as-hub .as-card h3{font-size:16px;margin:0}.as-hub .as-card p{font-size:14px}.as-wallet{margin:14px 0;padding:18px}.as-balances{display:flex;gap:24px;flex-wrap:wrap}.as-balances span{display:flex;flex-direction:column;color:#475569;font-size:13px}.as-balances b{font-size:22px;color:#1f2937}.as-balances .available b{color:#166534}.as-balances .locked b{color:#92400e}.as-wallet p{margin:12px 0 0;color:#475569;font-size:14px}.as-unit-wallet{padding:0;margin:16px 0 0;list-style:none}.as-unit-wallet li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #e2e8f0;font-size:14px}.as-unit-wallet li span:last-child{text-align:right}.as-required{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.as-required a{color:#3730a3;padding:6px 10px;background:#eef2ff;border-radius:8px}
.as-teacher .as-card h4{font-size:16px;margin:0}.as-teacher-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.as-teacher-stats div{min-width:0}.as-teacher-stats dt{font-size:12px;color:#64748b}.as-teacher-stats dd{font-weight:700;font-size:17px;margin:0}.as-teacher .as-date{font-size:12px;color:#64748b;margin-top:auto}
@media(max-width:850px){.as-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.as-workspace{grid-template-columns:1fr}.as-side{order:-1}.as-side .as-map{grid-template-columns:repeat(10,minmax(0,1fr))}.as-map button{min-height:38px!important}.as-side .as-submit{width:auto;min-width:160px}.as-header{padding:12px 16px}.as-main{padding:18px 16px 40px}}
@media(max-width:520px){.as-cards{grid-template-columns:1fr}.as-main{padding:14px 12px 32px}.as-question{padding:18px 16px}.as-intro,.as-side,.as-success{padding:18px}.as-intro h1,.as-success h1{font-size:23px}.as-heading{font-size:16px}.as-header{gap:10px}.as-header .as-back{font-size:14px}.as-header button{font-size:14px;padding:6px 10px}.as-side .as-map{grid-template-columns:repeat(6,minmax(0,1fr))}.as-question-text{font-size:17px}.as-toolbar{gap:8px}.as-toolbar button{padding:8px 12px}.as-balances{gap:16px}.as-unit-wallet li{flex-direction:column;gap:2px}.as-unit-wallet li span:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){.as-progress span{transition:none}}
.as-unit-cards,.as-hub .as-unit-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.as-unit-card h2,.as-hub .as-unit-card h2{font-size:19px;margin:0 0 8px}.as-levels{display:flex;flex-direction:column;gap:10px}.as-level{display:flex;align-items:center;gap:12px;justify-content:space-between;border:1px solid #dce3ee;border-radius:12px;padding:14px;background:#fafbff}.as-level>div{min-width:0}.as-level strong{display:block;font-size:16px}.as-level-detail,.as-level-reward{display:block;font-size:13px;line-height:1.6;color:#52627a}.as-level-reward{color:#166534}.as-level.passed{background:#f2fbf4;border-color:#bcdfc5}.as-level.locked{background:#f4f5f8;color:#667085}.as-level .as-link{flex:none;min-width:90px;font-size:14px;margin:0;align-self:center;padding:8px 12px}.as-level .as-link:disabled{background:#e8eaf0;border-color:#d8dce6;color:#6b7280;opacity:1;cursor:default}
.as-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0 0}.as-metrics>div{padding:14px;border-radius:12px;background:#f4f6ff;min-width:0}.as-metrics span{display:block;color:#64748b;font-size:12px}.as-metrics b{display:block;font-size:21px;color:#312e81;overflow-wrap:anywhere}.as-intro .as-badge{margin-bottom:10px}.as-score-note{font-size:13px!important;color:#64748b!important}
.as-ranking{background:#fff;border:1px solid #dce3ee;border-radius:18px;padding:24px;margin:24px 0}.as-rank-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.as-rank-head h2{margin:0;font-size:21px}.as-rank-head p{font-size:14px;color:#64748b;margin:6px 0}.as-rank-head label{font-size:13px;display:flex;gap:8px;align-items:center}.as-rank-head select{min-height:44px;max-width:160px}.as-rank-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 10px}.as-rank-tabs button{border:1px solid #cbd5e1;background:#f8fafc;color:#334155;padding:8px 14px;border-radius:9px;min-height:44px}.as-rank-tabs button[aria-pressed=true]{background:#4338ca;border-color:#4338ca;color:#fff}.as-rank-note{font-size:14px;color:#52627a;min-height:24px;margin:10px 0 16px}.as-my-rank{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:#eef2ff;border:1px solid #c7d2fe;border-radius:12px;padding:16px;margin-bottom:16px}.as-my-rank>b{font-size:23px;color:#3730a3}.as-my-rank>span:last-child{margin-left:auto;font-size:14px}.as-rank-scroll{overflow:auto;max-height:380px;border:1px solid #e2e8f0;border-radius:10px}.as-ranking table{width:100%;border-collapse:collapse;font-size:14px}.as-ranking th,.as-ranking td{padding:12px 16px;border-bottom:1px solid #e2e8f0;text-align:left}.as-ranking th{background:#f8fafc;position:sticky;top:0}.as-ranking tr.mine{background:#f0fdf4;font-weight:700;color:#166534}.as-ranking th:last-child,.as-ranking td:last-child{text-align:right}
.as-unit-record{margin:14px 0;border:1px solid #dce3ee;border-radius:12px;padding:16px;background:#fff}.as-unit-record>summary{cursor:pointer;font-weight:700;min-height:32px}.as-unit-record>summary>span{font-size:13px;font-weight:400;color:#64748b;margin-left:12px}.as-unit-record>.as-cards{margin-top:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.as-unit-record .as-card{min-width:0}.as-teacher .as-metrics{margin:16px 0}
@media(max-width:900px){.as-unit-cards,.as-hub .as-unit-cards{grid-template-columns:1fr}.as-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.as-unit-record>.as-cards{grid-template-columns:1fr}}
@media(max-width:520px){.as-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.as-metrics>div{padding:12px}.as-metrics b{font-size:20px}.as-level{padding:12px;gap:8px}.as-level strong{font-size:15px}.as-level .as-link{min-width:82px;padding:8px;font-size:13px}.as-level-detail{font-size:12px}.as-ranking{padding:18px 14px}.as-rank-head{gap:12px}.as-rank-head h2{font-size:19px}.as-rank-tabs{gap:6px}.as-rank-tabs button{padding:8px 10px;font-size:13px}.as-my-rank{gap:10px}.as-my-rank>span:last-child{margin-left:0;width:100%}.as-unit-record{padding:12px}.as-unit-record>summary>span{display:block;margin:4px 0 0}.as-ranking th,.as-ranking td{padding:10px}.as-option span{white-space:pre-wrap}}

/* 평가도 통합 기록 화면과 같은 보라·금색 카드로 이어진다. 문제 그림은 흰 바탕을 유지한다. */
.assessment-page{background:var(--bg,#f3f4fb);color:var(--ink,#1e1b4b)}
.as-header{background:#fff;border-bottom:1px solid #d9dcf7;box-shadow:0 2px 12px #4338ca08}.as-heading{color:#312e81;font-size:21px}.as-back{color:#4338ca}.as-header button{border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;font-weight:700}
.as-intro,.as-hub .as-intro{padding:26px;border-color:#c7d2fe;border-radius:22px;background:linear-gradient(115deg,#eef2ff,#f5f3ff 58%,#ecfeff);box-shadow:0 5px 18px #4338ca08}.as-intro h1,.as-hub .as-intro h2{font-size:29px;color:#282365;letter-spacing:-.025em;margin:10px 0 12px}.as-intro p{color:#45456c}.as-kicker{display:inline-block;padding:4px 10px;border:1px solid #efcf78;border-radius:9px;background:#fff5cf;color:#765000;font-size:12px;font-weight:800;letter-spacing:.02em}.as-pass-rule{display:flex;gap:8px 16px;align-items:center;flex-wrap:wrap;margin:16px 0!important;padding:12px 14px;border:1px solid #d7d5f5;border-radius:12px;background:#ffffffbf;font-size:14px!important;color:#45456c!important}.as-pass-rule b{color:#3730a3;font-size:16px}.as-pass-rule span{font-size:13px}.as-intro .as-badge{padding:5px 12px;background:#fff;border:1px solid #c7d2fe;font-size:14px;color:#3730a3}
.as-question,.as-side,.as-unit-card,.as-ranking{border-color:#d8dcf3;box-shadow:0 4px 16px #312e8106}.as-question{border-radius:22px}.as-question-head{padding:14px 16px;border:1px solid #ddd6fe;border-radius:14px;background:linear-gradient(110deg,#eef2ff,#f5f3ff);gap:12px;flex-wrap:wrap}.as-question-head h2{font-size:28px;font-weight:850;line-height:1.3;color:#312e81}.as-question-head>span{font-size:14px}.as-question-text{color:#1e1b4b}.as-image-button{border-color:#d5d9ee;box-shadow:0 2px 8px #312e8105}
.as-side{border-radius:20px;border-top:4px solid #8574e8;background:linear-gradient(#f8f7ff,#fff 130px)}.as-side h2{margin:0 0 8px;color:#312e81;font-size:18px}.as-side #as-count{font-size:28px;font-weight:800}.as-pass-goal{margin:8px 0 12px;font-size:13px!important;font-weight:700;color:#45416f!important}.as-progress{height:10px;background:#e5e3fa}.as-progress span{background:linear-gradient(90deg,#8b7ae7,#4f46e5)}.as-map{gap:7px}.as-map button{border:1px solid #d7d8ee;border-radius:9px;background:#fff;color:#45416f;font-weight:650}.as-map button.current{outline-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.assessment-page button.pri,.as-hub button.pri{border-color:#4f46e5;background:#4f46e5;color:#fff;font-weight:750}.as-link{background:#4f46e5;box-shadow:0 2px 5px #4338ca14}.as-option{background:#fafaff;border-color:#e0e3f2}.as-option:has(input:checked){border-color:#4f46e5;background:#eef2ff}
.as-unit-card,.as-hub .as-unit-card{padding:22px;border-radius:20px;border:1px solid #d8dcf3;background:#fff}.as-unit-card>h2,.as-hub .as-unit-card>h2{border-left:5px solid #eab308;padding-left:12px;color:#312e81;font-size:20px;line-height:1.5}.as-level{border-color:#e0e1f1;background:#fafaff;border-radius:13px}.as-level strong{color:#37306a}.as-level-detail{color:#505674}.as-level .as-link{font-weight:750}.as-metrics>div{border:1px solid #dfe1f6;background:#ffffffb3}.as-metrics span{color:#525b77}.as-metrics b{color:#3730a3}.as-success{border-radius:22px}.as-success h1{color:#166534}.as-ranking h2{color:#312e81}
.as-intro .as-score-note{color:#525b77!important}.as-level .as-link:disabled{color:#4b5563}
@media(max-width:850px){.as-question{order:0}.as-side{order:1;border-top-width:3px}.as-side .as-pass-goal{display:inline-block;margin:0 0 12px}.as-question-head{padding:12px 14px}.as-header{gap:12px}}
@media(max-width:520px){.as-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}.as-heading{grid-column:1/-1;grid-row:1;font-size:19px;white-space:nowrap}.as-header .as-back{grid-column:1;grid-row:2}.as-header #as-units{grid-column:2;grid-row:2}.as-intro,.as-hub .as-intro{padding:16px;border-radius:18px}.as-intro h1,.as-hub .as-intro h2{font-size:23px;line-height:1.35;margin:8px 0}.as-intro p{font-size:14px;line-height:1.55;margin:6px 0}.as-intro .as-score-note{font-size:12px!important}.as-pass-rule{padding:10px 11px;gap:4px;margin:12px 0!important}.as-pass-rule b{font-size:14px}.as-pass-rule span{font-size:12px}.as-question{border-radius:18px}.as-question-head h2{font-size:25px}.as-side #as-count{font-size:25px}.as-unit-card,.as-hub .as-unit-card{padding:18px}.as-unit-card>h2,.as-hub .as-unit-card>h2{font-size:19px}.as-map{gap:6px}}
/* 2026-11-12 평가를 마친 뒤 할 일 단추(뽑기·메타버스 공간·다음 단계) */
.as-success.is-pending{border-color:#f5c48a;background:#fff8ef}.as-success.is-pending h1{color:#9a3412}
.as-go{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.as-go-btn{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:64px;padding:12px 14px;border-radius:12px;border:1px solid #c7d2fe;background:#fff;color:#1e1b4b;text-decoration:none;text-align:left;font:inherit;cursor:pointer}
.as-go-btn b{font-size:16px;line-height:1.3}.as-go-btn small{font-size:13px;color:#52627a;line-height:1.4}
.as-go-btn:hover,.as-go-btn:focus-visible{border-color:#4338ca;background:#eef2ff}
.as-go-btn.is-main{background:#4338ca;border-color:#4338ca;color:#fff}.as-go-btn.is-main small{color:#e0e7ff}
.as-go-btn.is-main:hover,.as-go-btn.is-main:focus-visible{background:#3730a3;border-color:#3730a3}
.as-go-note{color:#52627a;font-size:14px}
.as-draw-dialog{width:min(980px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:18px;background:#f8fafc}
.as-draw-dialog::backdrop{background:rgba(15,23,42,.55)}
.as-draw-tools{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border-bottom:1px solid #dce3ee}
.as-draw-tools h2{margin:0;font-size:19px;flex:1}
.as-draw-room{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:9px;border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;font-weight:700;text-decoration:none}
.as-draw-box{padding:16px}
@media(max-width:720px){.as-go{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.as-go{gap:8px}.as-go-btn{min-height:58px;padding:10px 12px}.as-go-btn b{font-size:15px}.as-go-btn small{font-size:12px}}
@media(max-width:400px){.as-draw-tools h2{font-size:17px}.as-draw-room{padding:0 10px;font-size:14px}}
/* 다시 풀기 제한(2026-11-12): 기회를 다 쓴 문제 안내, 정답 잠금 안내 */
.as-retry-done{margin:12px 0 0;padding:10px 14px;border-radius:10px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:700}
.as-answer-locked{margin:10px 0 0;padding:8px 12px;border-radius:8px;background:#f1f5f9;color:#475569;font-size:14px}
#as-retry small{font-weight:600;opacity:.9}
.as-retry-grant{margin-top:8px;min-height:36px;padding:6px 12px;border-radius:8px;border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;font-weight:700;cursor:pointer}
.as-retry-grant:disabled{opacity:.7;cursor:default}
