@font-face{font-family:GFS Didot;font-style:normal;font-weight:400;font-display:swap;src:url(../media/639e350e011c983f-s.3etsb6ev08186.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:GFS Didot;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0fabae9f11ea0e84-s.p.30l3t3tv_uztz.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:GFS Didot;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dc30270bf13cde01-s.3e-072rl9tyxz.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:GFS Didot;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b6d2e1aeb79bbc6a-s.23g2v_xyretdr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:GFS Didot Fallback;src:local(Times New Roman);ascent-override:83.63%;descent-override:24.46%;line-gap-override:2.21%;size-adjust:113.23%}.gfs_didot_9cd5a18b-module__nIfJpa__className{font-family:GFS Didot,GFS Didot Fallback;font-style:normal;font-weight:400}.gfs_didot_9cd5a18b-module__nIfJpa__variable{--font-greek:"GFS Didot", "GFS Didot Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fbfaf6;--surface:#fff;--ink:#1f2421;--muted:#6a706b;--line:#e6e3da;--accent:#2b4f8c;--accent-soft:#eaf0f9;--ok:#2c7a4b;--ok-soft:#e4f3e9;--bad:#b0442f;--bad-soft:#fcebe6;--shadow:0 1px 2px #1f24210a, 0 2px 8px #1f24210d;--display:var(--font-display), "Noto Serif KR", "AppleMyungjo", serif;--body:var(--font-body), "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--greek:var(--font-greek), var(--font-display), serif;--col:560px;--gutter:20px;--bar-h:88px;--top-h:72px;--ease:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{word-break:keep-all;overflow-wrap:break-word;background:var(--bg);color:var(--ink);font-family:var(--body);margin:0;font-size:17px;line-height:1.75}button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[data-autofocus]:focus{outline:none}h1,h2,p{margin:0}.app{max-width:var(--col);flex-direction:column;min-height:100dvh;margin:0 auto;display:flex}.content{padding:24px var(--gutter) calc(var(--bar-h) + 40px + env(safe-area-inset-bottom));flex:1}.topbar{z-index:2;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:calc(6px + env(safe-area-inset-top)) var(--gutter) 10px;position:sticky;top:0}.topbar-row{grid-template-columns:44px 1fr auto;align-items:center;gap:4px;min-height:44px;display:grid}.icon-btn{cursor:pointer;width:44px;height:44px;color:var(--ink);background:0 0;border:0;border-radius:50%;place-items:center;margin-left:-12px;display:grid}.icon-btn:active{background:var(--line)}.topbar-title{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.topbar-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.progress{grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;display:grid}.progress-seg{background:var(--line);border-radius:2px;height:4px;overflow:hidden}.progress-fill{background:var(--accent);transform-origin:0;height:100%;transition:transform .4s var(--ease);display:block}.bottombar{z-index:3;background:var(--surface);border-top:1px solid var(--line);transition:background-color .25s,border-color .25s;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #1f24210a}.bottombar-inner{max-width:var(--col);padding:14px var(--gutter) calc(14px + env(safe-area-inset-bottom));flex-direction:column;gap:10px;margin:0 auto;display:flex}.bottombar.ok{background:var(--ok-soft);border-color:var(--ok)}.bottombar.no{background:var(--bad-soft);border-color:var(--bad)}.feedback{font-size:17px;font-weight:600}.feedback:empty{display:none}.bottombar.ok .feedback{color:var(--ok)}.bottombar.no .feedback{color:var(--bad)}.cta{background:var(--accent);width:100%;min-height:54px;color:var(--surface);cursor:pointer;border:0;border-radius:12px;font-size:17px;font-weight:600;transition:transform .1s,opacity .2s}.cta:active:not(:disabled){transform:scale(.98)}.cta:disabled{opacity:.35;cursor:default}.cta.ghost{color:var(--accent);border:1.5px solid var(--accent);background:0 0}.bottombar.ok .cta{background:var(--ok)}.bottombar.no .cta{background:var(--bad)}@media (prefers-reduced-motion:no-preference){.view{animation:in-fwd .32s var(--ease) both}.view[data-direction=back]{animation-name:in-back}.feedback:not(:empty){animation:pop .3s var(--ease) both}.reveal{animation:rise .45s var(--ease) both}.tap-hint{animation:2.4s ease-in-out infinite breathe}.pause .bridge,.pause-prompt,.pause-choices{animation:rise .45s var(--ease) both}.pause-prompt{animation-delay:.1s}.pause-choices{animation-delay:.35s}.pause-reply,.pause-bridge{animation:rise .45s var(--ease) both;animation-delay:var(--delay,0s)}.pause.settled *{animation:none}.question-block .step-label,.question-block .question{animation:rise .45s var(--ease) both;animation-delay:var(--delay,0s)}.question-block .opt{animation:rise .4s var(--ease) both}.question-block .opt:first-child{animation-delay:calc(var(--delay,0s) + .55s)}.question-block .opt:nth-child(2){animation-delay:calc(var(--delay,0s) + .65s)}.question-block .opt:nth-child(3){animation-delay:calc(var(--delay,0s) + .75s)}.question-block .opt:nth-child(4){animation-delay:calc(var(--delay,0s) + .85s)}}@keyframes in-fwd{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes in-back{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes breathe{0%,to{opacity:.5}50%{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.eyebrow,.step-label{letter-spacing:.12em;color:var(--accent);font-size:13px;font-weight:600}.step-label{margin-bottom:10px}h2{font-family:var(--display);text-wrap:balance;font-size:26px;font-weight:700;line-height:1.4}.prose{flex-direction:column;gap:14px;margin-top:22px;display:flex}.src{color:var(--muted);margin-top:24px;font-size:13px;line-height:1.6}.intro{flex-direction:column;gap:16px;padding-top:6vh;display:flex}.intro h1{font-family:var(--display);font-size:clamp(38px,11vw,52px);font-weight:700;line-height:1.2}.lede{color:var(--muted)}.timeline{border-left:2px solid var(--line);flex-direction:column;gap:16px;margin:12px 0 0;padding:0 0 0 18px;list-style:none;display:flex}.timeline li{flex-direction:column;line-height:1.45;display:flex;position:relative}.timeline li:before{content:"";background:var(--bg);border:2px solid var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:6px;left:-24px}.tl-year{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.tl-title{font-weight:500}.hint{color:var(--muted);font-size:14px}.scene-year{font-family:var(--display);color:var(--accent);font-variant-numeric:tabular-nums;margin-bottom:12px;font-size:44px;line-height:1.1}.scene-who{color:var(--muted);margin-top:6px;font-size:14px}.story{cursor:default}.scene:not(.answering) .story{cursor:pointer}.scene.answering .prose{color:var(--muted);transition:color .4s}.tap-hint{color:var(--muted);text-align:center;margin-top:18px;font-size:13px}.pause{scroll-margin-top:calc(var(--top-h) + env(safe-area-inset-top) + 8px)}.question-block{scroll-margin-top:calc(var(--top-h) + env(safe-area-inset-top) + 100px);margin-top:32px}.bridge{color:var(--accent);align-items:center;gap:12px;margin-bottom:14px;font-size:14px;font-weight:600;display:flex}.bridge:before,.bridge:after{content:"";background:var(--line);flex:1;height:1px}.question{font-family:var(--display);text-wrap:balance;margin:0;font-size:22px;font-weight:700;line-height:1.5}.question:focus{outline:none}.opts{flex-direction:column;gap:10px;margin-top:24px;display:flex}.opt{text-align:left;background:var(--surface);box-shadow:var(--shadow);border:1.5px solid var(--line);cursor:pointer;border-radius:12px;grid-template-columns:24px 1fr;gap:8px;min-height:56px;padding:14px 16px;line-height:1.55;transition:border-color .15s,background-color .15s,opacity .2s,transform .1s;display:grid}.opt:active:not(:disabled){transform:scale(.985)}.opt .k{color:var(--muted);font-variant-numeric:tabular-nums}.opt:disabled{cursor:default}.opt.selected{border-color:var(--accent);background:var(--accent-soft)}.opt.selected .k{color:var(--accent)}.opt.right{background:var(--ok-soft);border-color:var(--ok)}.opt.wrong{background:var(--bad-soft);border-color:var(--bad)}.opt.dim{opacity:.45}@media (hover:hover){.opt:hover:not(:disabled):not(.selected){border-color:var(--accent)}}.answer-chip{border-radius:10px;flex-direction:column;gap:2px;margin-top:18px;padding:12px 14px;font-size:15px;line-height:1.55;display:flex}.answer-chip span{letter-spacing:.08em;font-size:12px;font-weight:600}.answer-chip.ok{background:var(--ok-soft)}.answer-chip.ok span{color:var(--ok)}.answer-chip.no{background:var(--accent-soft)}.answer-chip.no span{color:var(--accent)}.word-step{text-align:center;flex-direction:column;align-items:center;gap:10px;padding-top:8vh;display:flex}.greek{font-family:var(--greek);text-wrap:balance;font-size:clamp(38px,12vw,56px);line-height:1.25}.reading{color:var(--accent);font-weight:600}.word-text{text-align:left;background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:12px;margin-top:18px;padding:16px 18px;font-size:16px}.score{font-variant-numeric:tabular-nums;font-size:64px;line-height:1}.score span{color:var(--muted);font-size:28px}.recap{border-top:1px solid var(--line);flex-direction:column;margin:28px 0 0;padding:0;list-style:none;display:flex}.recap li{border-bottom:1px solid var(--line);grid-template-columns:28px 1fr;gap:10px;padding:12px 0;line-height:1.5;display:grid}.mark{font-size:18px;font-weight:700}.mark.ok{color:var(--ok)}.mark.no{color:var(--bad)}.recap-text{flex-direction:column;display:flex}.recap-year{color:var(--muted);font-size:13px}.closing{margin-top:24px}.question-block.settled *{animation:none!important}.term{font:inherit;color:inherit;cursor:pointer;-webkit-text-decoration:underline dotted var(--accent);text-decoration:underline dotted var(--accent);text-underline-offset:4px;background:0 0;border:0;margin:0;padding:0;text-decoration-thickness:1.5px;display:inline}.term-q{background:var(--accent-soft);width:15px;height:15px;color:var(--accent);font-family:var(--body);vertical-align:super;border-radius:50%;place-items:center;margin-left:2px;font-size:10px;font-weight:700;line-height:1;display:inline-grid}.term[aria-expanded=true]{background:var(--accent-soft);border-radius:4px}.scene.answering .term{color:inherit}.bubble{z-index:10;background:var(--ink);color:var(--surface);border-radius:12px;padding:12px 14px 14px;font-size:15px;line-height:1.6;position:fixed;box-shadow:0 8px 24px #1f24212e}.bubble:before{content:"";left:var(--arrow);background:inherit;border-radius:2px;width:12px;height:12px;margin-left:-6px;position:absolute;top:-6px;transform:rotate(45deg)}.bubble.above:before{top:auto;bottom:-6px}.bubble-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.bubble-head strong{font-size:15px}.bubble-close{width:32px;height:32px;color:inherit;opacity:.7;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;margin:-6px -8px -6px 0;display:grid}.bubble p{opacity:.92;margin:0}@media (prefers-reduced-motion:no-preference){.bubble{animation:bubble-in .18s var(--ease) both}}@keyframes bubble-in{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:none}}.scene-lead{color:var(--muted);margin-bottom:10px;font-size:14px}.pause{margin-top:36px}.pause-prompt{font-family:var(--display);text-wrap:balance;font-size:20px;font-weight:700;line-height:1.5}.pause-choices{flex-direction:column;gap:8px;margin-top:16px;display:flex}.pause-choice{text-align:left;cursor:pointer;background:var(--surface);border:1.5px solid var(--line);min-height:50px;box-shadow:var(--shadow);border-radius:26px;padding:12px 18px;line-height:1.5;transition:border-color .15s,background-color .15s,opacity .25s,transform .1s}.pause-choice:active:not(:disabled){transform:scale(.985)}.pause-choice:disabled{cursor:default}.pause-choice.chosen{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.pause-choice.dim{opacity:.45}@media (hover:hover){.pause-choice:hover:not(:disabled){border-color:var(--accent)}}.pause-reply{border-left:3px solid var(--accent-soft);color:var(--muted);margin-top:18px;padding-left:14px}.pause-bridge{color:var(--ink);scroll-margin-bottom:calc(var(--bar-h) + 24px + env(safe-area-inset-bottom));margin-top:14px;font-weight:600}.resume{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:8px;padding:16px 18px;display:flex}.resume-count{color:var(--muted);font-size:15px}.resume-count strong{font-family:var(--display);color:var(--accent);margin-right:2px;font-size:26px}.resume-bar{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.resume-bar span{background:var(--accent);transform-origin:0;height:100%;display:block}.resume-where{font-size:15px;line-height:1.6}.text-btn{color:var(--accent);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:6px 0;font-size:14px;text-decoration:underline}.timeline li.done:before{background:var(--accent)}.timeline li.done .tl-title{color:var(--muted)}.timeline li.current:before{box-shadow:0 0 0 4px var(--accent-soft)}.tl-mark{color:var(--accent);font-weight:600}.src-links{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.src-links a{color:var(--accent);text-underline-offset:3px;padding:4px 0;text-decoration:underline;display:inline-block}.course-progress{color:var(--muted);font-size:15px}.course-progress strong{font-family:var(--display);color:var(--accent);margin-right:2px;font-size:22px}.parts{flex-direction:column;gap:12px;margin:8px 0 0;padding:0;list-style:none;display:flex}.part-card{flex-direction:column;display:flex}.part-open{text-align:left;cursor:pointer;background:var(--surface);border:1.5px solid var(--line);width:100%;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:4px;padding:16px 18px;line-height:1.5;transition:border-color .15s,transform .1s;display:flex}.part-open:active{transform:scale(.99)}@media (hover:hover){.part-open:hover{border-color:var(--accent)}}.part-card.inProgress .part-open{border-color:var(--accent)}.part-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.part-number{letter-spacing:.08em;color:var(--accent);font-size:13px;font-weight:700}.part-chip{background:var(--bg);color:var(--muted);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.part-chip.inProgress{background:var(--accent-soft);color:var(--accent)}.part-chip.done{background:var(--ok-soft);color:var(--ok)}.part-title{font-family:var(--display);font-size:20px;font-weight:700;line-height:1.4}.part-meta{color:var(--muted);font-size:13px}.part-summary{color:var(--ink);font-size:15px}.part-bar{background:var(--line);border-radius:3px;height:5px;margin-top:8px;display:block;overflow:hidden}.part-bar span{background:var(--accent);transform-origin:0;height:100%;display:block}.part-restart{align-self:flex-end;margin-top:2px}.next-part{background:var(--accent-soft);border-radius:14px;flex-direction:column;gap:2px;margin-top:24px;padding:16px 18px;display:flex}.next-part-label{letter-spacing:.08em;color:var(--accent);font-size:12px;font-weight:700}.next-part-title{font-family:var(--display);font-size:19px;font-weight:700}.next-part-summary{color:var(--muted);font-size:14px;line-height:1.6}.result-actions{flex-wrap:wrap;gap:18px;margin-top:18px;display:flex}.review-card{text-align:left;cursor:pointer;background:var(--accent-soft);border:1.5px solid var(--accent);width:100%;color:var(--ink);border-radius:16px;flex-direction:column;gap:4px;padding:16px 18px;line-height:1.5;transition:transform .1s;display:flex}.review-card:active{transform:scale(.99)}.review-card-label{color:var(--accent);letter-spacing:.02em;font-size:12px;font-weight:700}.review-card-title{font-family:var(--display);font-size:20px}.review-card-desc{color:var(--muted);font-size:14px}.review-offer{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:12px;margin-top:20px;padding:16px 18px;display:flex}.review-offer p{font-size:15px}.secondary-btn{border:1.5px solid var(--accent);background:var(--surface);min-height:48px;color:var(--accent);cursor:pointer;border-radius:12px;align-self:stretch;padding:10px 16px;font-size:16px;font-weight:600}.secondary-btn:active{background:var(--accent-soft)}.review-tag{color:var(--accent);background:var(--accent-soft);border-radius:999px;margin-bottom:14px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.review-story{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:16px}.review-story summary{color:var(--accent);cursor:pointer;padding:12px 0;font-size:14px;list-style:none}.review-story summary::-webkit-details-marker{display:none}.review-story summary:before{content:"▸ "}.review-story[open] summary:before{content:"▾ "}.review-story .prose{padding-bottom:12px}.review-question{margin-top:24px}.back-link{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;align-self:flex-start;align-items:center;gap:4px;margin:-6px 0 0 -6px;padding:6px;font-size:14px;display:inline-flex}.back-link:active{background:var(--line)}.course-meta{color:var(--muted);margin-top:-8px;font-size:14px}.course-title{font-size:24px}.share-btn{justify-content:center;align-items:center;gap:8px;width:100%;margin-top:20px;display:inline-flex}
