:root{--ink:#10233f;--action:#1d6fe8;--action-dark:#1558b8;--bg:#f4f8fc;--surface:#ffffff;--line:#d5e2f0;--muted:#5c6d82;--ok:#0f8a4b;--warm:#e37a32;--bad:#b42318}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(880px 420px at 0 -8%,#d7e7ff 0,transparent 62%),radial-gradient(640px 360px at 100% 0,#ffe7d4 0,transparent 58%),var(--bg);min-height:100dvh}a{color:var(--action)}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:0;font-size:52px;font-weight:700;letter-spacing:-.045em;line-height:1.15}h2{margin:28px 0 12px;font-size:22px}.preview-note{width:-moz-fit-content;width:fit-content;margin:16px auto 0;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.8);color:var(--muted);font-size:13px;font-weight:500}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;width:min(1120px,calc(100% - 32px));margin:16px auto 0;padding:12px 16px;border:1px solid rgba(255,255,255,.7);border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 10px 30px rgba(16,39,68,.06);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{color:var(--ink);font-weight:700;text-decoration:none;font-size:18px;letter-spacing:-.03em}.answer-row,.inline-form,.section-head,.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.quiet-button,.top-link{border:0;background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none}.who{padding:8px 12px;border-radius:999px;background:#e8f1ff;color:#1558b8;font-weight:700}.page{padding:28px 8px 72px;max-width:1120px;margin:0 auto}.status{padding:48px 20px;text-align:center;color:var(--muted)}.login-screen{min-height:100dvh;display:grid;place-items:center;padding:32px 20px}.login-stage{width:min(980px,100%);display:grid;grid-template-columns:1.1fr .9fr;grid-gap:48px;gap:48px;align-items:center}.login-copy h1{font-size:64px}.login-copy .lead{max-width:420px;font-size:18px}.card,.login-card{width:min(420px,100%);display:grid;grid-gap:10px;gap:10px;padding:28px;border-radius:28px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.8);box-shadow:0 24px 60px rgba(16,39,68,.1)}.login-card h1{font-size:28px}.quiet-note{margin:0;color:var(--muted);font-size:14px}.card{width:auto}.answer-row .primary-button,.primary-button{display:inline-flex;justify-content:center;align-items:center;width:-moz-fit-content;width:fit-content;padding:14px 22px;border:0;border-radius:999px;background:var(--action);color:white;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:0 10px 20px rgba(29,111,232,.28)}.primary-button:hover{background:var(--action-dark)}.primary-button:disabled{opacity:.5;cursor:default}.primary-button.wide{width:100%}.eyebrow,.lead{color:var(--muted)}.eyebrow{margin:0 0 10px;font-weight:700;letter-spacing:.04em}.lead{margin:16px 0 22px;font-size:18px;line-height:1.6}.journey-hero{margin-bottom:28px}.journey{display:grid;grid-template-columns:minmax(0,1.15fr) 320px;grid-gap:36px;gap:36px;align-items:start}.section-label{margin:8px 0 12px;font-size:15px;color:var(--muted);letter-spacing:.04em}.activity-grid,.stations{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.activity-grid{grid-template-columns:1fr 1fr;margin-bottom:12px}.station a,.station.locked{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.9);box-shadow:0 10px 24px rgba(16,39,68,.05);text-decoration:none;color:inherit}.station a:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(29,111,232,.12)}.station.locked{color:var(--muted);background:rgba(255,255,255,.55);box-shadow:none}.station-index{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#e8f1ff;color:#1558b8;font-weight:700}.station.locked .station-index{background:#eef2f6;color:#8aa0b8}.station-copy{flex:1 1}.station-copy small,.station-copy strong{display:block}.station-copy small{margin-top:3px;color:var(--muted);font-weight:500}.station em{font-style:normal;font-weight:700;color:var(--action)}.station.locked em{color:#8aa0b8}.resume-sheet{position:-webkit-sticky;position:sticky;top:24px;max-height:calc(100dvh - 48px);overflow:auto;min-height:460px;padding:28px 26px 22px;border-radius:28px;background:linear-gradient(#12315c,#12315c) top /100% 92px no-repeat,white;color:var(--ink);box-shadow:0 24px 50px rgba(16,39,68,.12)}.resume-sheet .sheet-kicker,.resume-sheet h2{color:white}.resume-sheet h2{margin:8px 0 18px;font-size:28px}.sheet-kicker{margin:0;letter-spacing:.08em;font-size:12px;font-weight:700}.sheet-block{margin-top:16px}.sheet-block h3{margin:0 0 8px;font-size:12px;letter-spacing:.04em;color:var(--muted)}.sheet-caption{margin:28px 0 12px;color:var(--muted)}.sheet-answer{margin:0 0 8px;font-size:14px;line-height:1.55}.sheet-rule{display:block;height:10px;margin-top:16px;border-radius:999px;background:#e7eef6}.sheet-rule.short{width:62%}.practice-head,.section-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.practice-head h1,.section-head h1{margin-right:auto}.back-link{color:var(--action);font-weight:700;text-decoration:none}.practice-layout{display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:20px;gap:20px}.practice-list,.practice-panel{display:grid;grid-gap:10px;gap:10px;align-content:start}.item-button{display:grid;grid-template-columns:auto 1fr auto;grid-gap:8px;gap:8px;width:100%;padding:12px;border-radius:14px;border:1px solid var(--line);background:white;color:inherit;text-align:left;font:inherit;cursor:pointer}.item-button.active{border-color:var(--action);box-shadow:inset 0 0 0 1px var(--action)}.item-button.done{background:#f3fbf6}.pattern-card{display:grid;grid-gap:12px;gap:12px;padding:22px;border-radius:22px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.8);box-shadow:0 12px 28px rgba(16,39,68,.05)}.pattern-card.solved{border-color:var(--warm)}.extension-title,.pattern-label{font-weight:700}.sentence-num{display:inline-block;margin-right:8px;padding:2px 8px;border-radius:999px;background:#e7f0fb;color:var(--action)}.template-card{background:#f7fbff}.template-lines{margin:0;padding-left:20px}.extension-desc,.locked-note,.pos-note,.vocab-title{margin:0;color:var(--muted)}.english-paragraph{margin:0;font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:6px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chip{padding:4px 10px;border-radius:999px;background:#eef3f8}.chip.adj{background:#e7f0fb;color:var(--action-dark)}.answer-input,select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font:inherit;color:inherit;background:white}.paragraph-input{min-height:120px;resize:vertical}.answer-row .answer-input{flex:1 1}.result{margin:0;padding:10px 12px;border-radius:12px}.result.ok{background:#e9f8ef;color:var(--ok)}.result.bad{background:#fdecea;color:var(--bad)}.list-back{display:none}.reading-block{display:grid;grid-gap:8px;gap:8px;padding:16px;border-radius:16px;background:#f7fbff}.reading-block p{margin:0;line-height:1.55}.ox-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:14px;gap:14px}.ox-item{display:grid;grid-gap:8px;gap:8px}.ox-item p{margin:0}.ox-choices{display:flex;gap:8px}.chip-button,.ox-button{border:1px solid var(--line);background:white;color:inherit;font:inherit;cursor:pointer}.ox-button{min-width:48px;padding:8px 12px;border-radius:12px;font-weight:700}.ox-button.on.ok{background:#e9f8ef;border-color:var(--ok);color:var(--ok)}.ox-button.on.bad{background:#fdecea;border-color:var(--bad);color:var(--bad)}.chip-button{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;border-radius:16px;background:#eef3f8}.chip-button small{font-weight:500;color:var(--muted)}.chip-button.on{background:#e7f0fb;border-color:var(--action);font-weight:700}.chip-button.on,.chip-button.on small{color:var(--action-dark)}.picked-qualities{margin:0;padding-left:20px}.job-picker{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.stack{display:grid;grid-gap:16px;gap:16px}.data-table{width:100%;border-collapse:collapse;background:white}.data-table td,.data-table th{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.account-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.steps{margin:0;padding-left:20px;color:var(--muted)}.file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.file-button{width:-moz-fit-content;width:fit-content}.cover-thumb{width:72px;height:96px;object-fit:cover;background:#f3f3f3;display:block}.book-actions{gap:8px;align-items:center}.book-actions,.book-pages{display:flex;flex-wrap:wrap}.book-pages{list-style:none;margin:0;padding:0;gap:16px}.book-page{width:140px;display:grid;grid-gap:6px;gap:6px;align-content:start}.book-page img{width:100%;height:auto;display:block;background:#f3f3f3}.gallery-intro-thumb{width:180px;height:180px;object-fit:cover;display:block;background:#f3f3f3}.danger{color:var(--bad)}.summary-header h1{margin-bottom:8px}.summary-list{display:grid;grid-gap:16px;gap:16px;padding-left:20px}.summary-question{font-weight:700}.summary-empty{color:var(--muted)}.summary-note{padding:10px 12px;border-radius:12px;background:#fff6ea;color:#8a4b12}.free-word{text-decoration:underline;text-underline-offset:3px}.rewrite-line{height:28px;border-bottom:1px solid #9aa8b8;margin-top:8px}.print-only{display:none}.landing{--u:calc(min(100vw, 100dvh * 1024 / 701) / 1024);height:100dvh;width:100%;margin:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);background:#ffffff;color:#0b1725;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,Helvetica Neue,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,sans-serif}.landing-bar{height:max(48px,calc(var(--u) * 54));background:#ffd010}.landing-bar-inner{width:min(100%,calc(var(--u) * 1024));height:100%;margin:0 auto;padding:0 calc(var(--u) * 88) 0 calc(var(--u) * 123);display:flex;align-items:center;justify-content:space-between;gap:16px}.landing-eyebrow{display:inline-flex;align-items:center;justify-content:center;min-width:calc(var(--u) * 253);height:max(28px,calc(var(--u) * 34));margin:0;padding:0 max(14px,calc(var(--u) * 24));border-radius:999px;background:#fef6c7;color:#6b5300;font-size:max(12px,calc(var(--u) * 17));font-weight:700;white-space:nowrap}.landing-login{margin-right:-.1em;padding:6px 0;color:#1f1f1f;font-size:max(14px,calc(var(--u) * 18));font-weight:500;letter-spacing:.1em;line-height:1;text-transform:uppercase;text-decoration:none;white-space:nowrap}.landing-stage{min-height:0;display:flex;flex-direction:column;align-items:center;padding:calc(var(--u) * 12) 0}.landing-stage:after,.landing-stage:before{content:""}.landing-stage:before{flex:1 1}.landing-stage:after{flex:2 1}.landing-content{width:calc(var(--u) * 960);display:grid;grid-template-columns:590fr 324fr;grid-template-rows:auto auto auto 1fr;grid-template-areas:"logo logo" "headline headline" "areas side" "slogan side";grid-column-gap:calc(var(--u) * 46);column-gap:calc(var(--u) * 46)}.landing-content img{display:block;width:100%;height:auto}.landing-logo{grid-area:logo;justify-self:center;width:calc(var(--u) * 623.05);margin:calc(var(--u) * 9) 0 calc(var(--u) * 14);font-size:inherit}.landing-headline{grid-area:headline;justify-self:center;margin:0 0 calc(var(--u) * 6);display:flex;align-items:center;column-gap:calc(var(--u) * 16.32)}.landing-content .landing-headline-first{width:calc(var(--u) * 223.04)}.landing-content .landing-headline-second{width:calc(var(--u) * 264.52)}.landing-areas{grid-area:areas;justify-self:center;width:calc(85% * 1.15);position:relative;margin-top:calc(var(--u) * 32)}.landing-areas-backdrop{display:block;width:100%;height:auto}.landing-areas .landing-kids{position:absolute;top:32.85%;left:12.25%;width:79.2%}.landing-area-list{position:absolute;inset:0;margin:0;padding:0;list-style:none}.landing-area-list li{position:absolute;transform:translate(-50%,-50%)}.landing-area{display:flex;flex-direction:column;align-items:center;padding:calc(var(--u) * 5.1) calc(var(--u) * 8.5);border-radius:999px;color:inherit;text-decoration:none;white-space:nowrap}.landing-area-title{color:rgba(0,0,0,.66);font-size:calc(var(--u) * 17);font-weight:500;letter-spacing:-.01em;line-height:1.2}.landing-area-subtitle{margin-top:calc(var(--u) * 1.7);color:rgba(0,0,0,.4);font-size:calc(var(--u) * 12.75);letter-spacing:-.01em;line-height:1.2}.landing-area:hover .landing-area-title{text-decoration:underline;text-underline-offset:.15em}.landing-slogan{grid-area:slogan;align-self:end;margin:0;display:flex;flex-direction:column;align-items:center;color:#0b1725;font-size:calc(var(--u) * 27.2);font-weight:700;letter-spacing:-.02em;line-height:1.35}.landing-slogan mark{padding:0 calc(var(--u) * 7.65);background:linear-gradient(#ffe758,#ffe758) 0 calc(100% - .08em) /100% .6em no-repeat;color:inherit}.landing-gallery{margin-top:calc(var(--u) * 16);border-radius:999px}.landing-gallery img{transition:filter .15s ease}.landing-gallery:hover img{filter:brightness(1.06)}.landing-side{grid-area:side;align-self:end;min-width:0}.landing-happening,.landing-side{display:flex;flex-direction:column;align-items:center}.landing-happening{position:relative;width:100%}.landing-happening-title{position:relative;height:calc(var(--u) * 47);margin:0;padding:0 calc(var(--u) * 11.5) calc(var(--u) * 4.8);display:flex;align-items:flex-end;color:#2f4a2b;font-family:Pretendard Variable,Pretendard,sans-serif;font-size:calc(var(--u) * 18.2);font-weight:700;letter-spacing:-.03em;line-height:1;white-space:nowrap}.landing-happening-title:after{content:"";position:absolute;right:0;bottom:0;left:0;height:calc(var(--u) * 10);border-radius:calc(var(--u) * 5) calc(var(--u) * 5) 0 0;background:linear-gradient(90deg,#91d854,#c0e55a)}.landing-happening-title a{position:relative;z-index:1;color:inherit;text-decoration:none}.landing-content .landing-happening-pointer{position:absolute;right:calc(var(--u) * -6);bottom:calc(var(--u) * -36);z-index:1;pointer-events:none}.landing-happening-card{position:relative;width:100%;min-width:0;height:calc(var(--u) * 123);padding:calc(var(--u) * 10);border:1px solid #3a3a3a;border-radius:calc(var(--u) * 22);background:#ffffff;display:flex;flex-direction:column}.landing-happening-hint{position:absolute;left:0;right:0;top:calc(100% + (var(--u) * 3));margin:0;color:#61656d;font-family:Pretendard Variable,Pretendard,sans-serif;font-size:calc(var(--u) * 9.9);font-weight:500;line-height:1.2;text-align:center;white-space:nowrap}.landing-happening-list{flex:1 1;min-height:0;margin:0;padding:0;list-style:none;display:flex;gap:calc(var(--u) * 8);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.landing-happening-list::-webkit-scrollbar{display:none}.landing-happening-list li{flex:0 0 100%;min-width:0;scroll-snap-align:start}.landing-happening-list.is-pair li{flex-basis:calc((100% - (var(--u) * 8)) / 2)}.landing-happening-list.is-scrollable li{flex-basis:46%}.landing-happening-item{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;color:#333b45;text-decoration:none}.landing-happening-item img{flex:1 1;min-width:0;min-height:0;width:100%;max-width:100%;height:100%;object-fit:contain;border-radius:calc(var(--u) * 8)}.landing-happening-item:hover{background-color:rgba(255,208,16,.12)}.landing-intro{margin:calc(var(--u) * 38) 0 0;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;word-break:keep-all}.landing-intro-copy{margin:0;color:#5c6d82;font-size:calc(var(--u) * 12.5);font-weight:500;letter-spacing:-.02em;line-height:1.55}.landing-intro-title{margin:calc(var(--u) * 12) 0 0;color:#0b1725;font-size:calc(var(--u) * 19.5);font-weight:700;letter-spacing:-.03em;line-height:1.35}.landing-intro-bulb{position:relative;width:calc(var(--u) * 68);height:calc(var(--u) * 85);margin-top:calc(var(--u) * 10)}.landing-intro-bulb:after{content:"";position:absolute;inset:-28%;z-index:0;border-radius:50%;background:radial-gradient(circle,#fdf3c4 0 42%,rgba(253,243,196,.55) 62%,rgba(253,243,196,0) 78%);filter:blur(10px);opacity:0;animation:landing-intro-glow 1s ease-in-out 2.5s forwards}.landing-content .landing-intro-bulb img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center;transform-origin:50% 55%}.landing-intro-bulb-off{filter:grayscale(1);animation:landing-intro-bulb-off .9s ease-in-out 2.5s forwards}.landing-intro-bulb-on{opacity:0;animation:landing-intro-bulb-on .9s ease-in-out 2.5s forwards}@keyframes landing-intro-bulb-off{to{opacity:0}}@keyframes landing-intro-bulb-on{0%{opacity:0;filter:brightness(.92)}to{opacity:1;filter:brightness(1)}}@keyframes landing-intro-glow{to{opacity:1}}@media (prefers-reduced-motion:reduce){.landing-intro-bulb-off{animation:none;opacity:0}.landing-intro-bulb-on,.landing-intro-bulb:after{animation:none;opacity:1}}.landing-intro strong{color:#5f9479;font-weight:700}.landing-area:focus-visible,.landing-gallery:focus-visible,.landing-happening-item:focus-visible,.landing-happening-title a:focus-visible,.landing-login:focus-visible{outline:3px solid #f07a1a;outline-offset:3px}@media (max-aspect-ratio:4/5){.landing{--u:calc(min(100vw, 640px) / 620);height:auto;min-height:100dvh;overflow:visible}.landing-bar-inner{width:min(100%,640px);padding:0 calc(var(--u) * 15)}.landing-stage{padding:calc(var(--u) * 40) 0}.landing-stage:after,.landing-stage:before{display:none}.landing-content{width:min(100vw,640px);padding:0 calc(var(--u) * 15);grid-template-columns:1fr;grid-template-rows:none;grid-template-areas:"logo" "headline" "areas" "slogan" "side";column-gap:0}.landing-logo{width:68%}.landing-headline{margin:calc(var(--u) * 8) 0 0;flex-direction:column;row-gap:calc(var(--u) * 8.5)}.landing-content .landing-headline-first{width:calc(var(--u) * 301.24)}.landing-content .landing-headline-second{width:calc(var(--u) * 357)}.landing-side{margin-top:calc(var(--u) * 32)}.landing-happening-title{font-size:max(15.6px,calc(var(--u) * 18.2))}.landing-happening-card{height:calc(var(--u) * 200)}.landing-intro-copy{font-size:max(13px,calc(var(--u) * 12.5))}.landing-intro-title{font-size:max(18px,calc(var(--u) * 19.5))}}@media (max-width:800px){.landing-hero h1,.login-copy h1,h1{font-size:40px}.topbar{width:calc(100% - 20px)}.page{padding-left:6px;padding-right:6px}.activity-grid,.journey,.login-stage,.practice-layout{grid-template-columns:1fr}.resume-sheet{position:static;min-height:0}.practice-layout.is-open .practice-list,.practice-layout:not(.is-open) .practice-panel{display:none}.practice-layout.is-open .list-back{display:inline-flex}}@media print{.no-print,.practice-head,.primary-button,.topbar{display:none!important}.print-only{display:block!important}.pattern-card,.resume-sheet,body{background:white}.resume-sheet .sheet-kicker,.resume-sheet h2{color:var(--ink)}.page{max-width:none}}