@font-face{font-family:Pretendard;src:url('fonts/PretendardVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:#f6f4ed;--ink:#25352f;--muted:#596861;--line:#d5ddd5;--green:#17675e;--soft:#e8efe8;--white:#fffefb;--accent:#17675e;font-family:Pretendard,'Malgun Gothic',sans-serif;font-size:18px;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;line-height:1.65}a{color:inherit;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b75b27;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.3;word-break:keep-all}h1{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.055em;font-weight:760}h2{font-size:1.6rem;letter-spacing:-.035em}h3{font-size:1.17rem}p{word-break:keep-all}img{display:block;max-width:100%}small,.small{font-size:.83rem;color:var(--muted)}.skip{position:fixed;top:-100px;padding:12px;background:white;z-index:100}.skip:focus{top:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(24px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--line);background:#fffefbea}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;font-size:.77rem;line-height:1.4}.brand b{display:block;font-size:1rem}.brandmark{display:grid;place-items:center;width:42px;height:42px;background:var(--green);color:white;font-size:24px;font-weight:800;border-radius:50%}.topbar nav{display:flex;gap:20px;align-items:center;font-size:.9rem}.topbar nav a{text-decoration:none}.quiet,.textbutton{border:0;background:none;padding:8px;color:inherit}.textbutton{text-decoration:underline;text-underline-offset:3px;font-size:inherit}.quiet{border:1px solid var(--line);border-radius:6px}#main{max-width:1120px;margin:auto;padding:48px 24px 32px;min-height:60vh}.eyebrow{font-size:.78rem;letter-spacing:.09em;font-weight:700;color:var(--accent);text-transform:uppercase;margin-bottom:16px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:42px;align-items:center;margin-bottom:48px}.hero h1{margin-bottom:20px}.hero .lead{font-size:1.16rem;color:var(--muted);max-width:26em}.hero-art{position:relative}.hero-art img{border-radius:4px 60px 4px 4px;aspect-ratio:1;object-fit:cover}.hero-art .art-note{position:absolute;bottom:14px;left:14px;background:#fffefbf0;padding:8px 14px;font-size:.85rem}.intro-note{padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:16px;align-items:flex-start;margin-bottom:38px}.intro-note svg{min-width:28px}.intro-note p{margin:0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:30px 0 20px}.section-head h2{margin:0}.catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.lesson-card{background:var(--white);border:1px solid var(--line);border-radius:8px;overflow:hidden}.lesson-card img{width:100%;aspect-ratio:3/2;object-fit:cover}.lesson-card .body{padding:24px}.lesson-card .title{font-size:1.35rem;min-height:3.6em}.lesson-card .body p{font-size:.94rem}.lesson-card .meta{font-size:.77rem;color:var(--accent);font-weight:700;display:flex;justify-content:space-between}.lesson-card .button{width:100%}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid var(--accent);background:var(--accent);color:#fff;padding:13px 20px;min-height:50px;border-radius:7px;text-decoration:none;font-weight:650;line-height:1.4}.button.secondary{background:transparent;color:var(--accent)}.button.subtle{background:var(--white);border-color:var(--line);color:var(--ink)}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:24px 0}.actions .small{flex-basis:100%}.cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}.sheet{padding:28px;background:var(--white);border:1px solid var(--line);border-radius:8px}.sheet p:last-child{margin-bottom:0}.note{padding:18px 20px;border-left:3px solid var(--accent);background:var(--soft);margin:20px 0}.warning{background:#fff1df;border-color:#9b4e14}.note p:last-child{margin:0}.module-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.module-top h1{font-size:1.5rem;letter-spacing:-.03em;margin:0}.module-top .module-tag{font-size:.8rem;color:var(--accent);white-space:nowrap}.stepbar{display:flex;list-style:none;padding:0;margin:0 0 32px;gap:4px}.stepbar li{flex:1}.stepbar button{border:0;border-top:3px solid var(--line);background:none;color:var(--muted);padding:9px 4px;width:100%;font-size:.78rem;text-align:left;min-height:52px}.stepbar button[aria-current=step]{border-color:var(--accent);color:var(--accent);font-weight:750}.stepbar .stepnum{display:block;font-size:.72rem}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:32px}.lesson-main{min-width:0}.lesson-main h2{margin-bottom:14px}.aside{align-self:start;position:sticky;top:20px;border-left:1px solid var(--line);padding-left:24px;font-size:.9rem}.aside img{margin-bottom:16px;border-radius:6px}.aside h3{font-size:1rem}.aside p{color:var(--muted)}.module-image{width:100%;max-height:370px;object-fit:cover;border-radius:8px;margin:20px 0}.formfield{display:block;margin:24px 0}.formfield label{display:block;font-weight:650;margin-bottom:9px}.formfield .tip{display:block;color:var(--muted);font-size:.85rem;margin-top:7px}input[type=text],textarea,select{display:block;width:100%;border:1px solid #8eaaa1;border-radius:6px;padding:13px 15px;color:var(--ink);background:white;line-height:1.65}textarea{min-height:160px;resize:vertical}textarea.prompt{min-height:300px;background:#eef3ee;font-size:.97rem}.check{display:flex;align-items:flex-start;gap:12px;padding:13px 0}.check input{width:22px;height:22px;flex-shrink:0;margin-top:4px;accent-color:var(--accent)}.check span{display:block}.tag{display:inline-block;padding:4px 10px;background:var(--soft);color:var(--accent);font-size:.78rem;font-weight:700;border-radius:4px}.resulttext{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.example{border-top:3px solid var(--accent)}details{border:1px solid var(--line);background:var(--white);border-radius:6px;padding:15px 18px;margin:12px 0}summary{cursor:pointer;font-weight:650;line-height:1.5}details p{margin:15px 0 0;color:var(--muted)}.bottomnav{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding-top:24px;margin-top:32px}.error{color:#95340d;font-weight:600;padding:12px 0;display:none}.error.active{display:block}.compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.compare>div{padding:20px;border:1px solid var(--line);border-radius:5px;background:var(--white)}.compare h3{font-size:.86rem;color:var(--accent)}.compare p{margin:0;font-size:.95rem}.diagram{width:100%;border-radius:6px;margin:24px 0}.canvas-wrap{max-width:520px;margin:20px auto;position:relative}.canvas-wrap canvas{display:block;width:100%;height:auto;box-shadow:0 8px 24px #29403819;border:1px solid var(--line);background:#fdf8ef}.upload{padding:18px;border:1px dashed #759286;margin:20px 0;border-radius:8px}.upload input{max-width:100%;font-size:.88rem}.row-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.row-fields .formfield{margin:10px 0}.resource{display:block;border-bottom:1px solid var(--line);padding:18px 0;text-decoration:none}.resource strong{display:block}.resource span{font-size:.88rem;color:var(--muted)}.progress-note{font-size:.84rem;color:var(--muted)}.footer{max-width:1120px;margin:40px auto 0;padding:26px 24px;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}.footer p{margin:0 0 8px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#183e35;color:white;padding:14px 22px;border-radius:8px;z-index:99;max-width:90vw;display:none}#toast.show{display:block}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}.gallery figure{margin:0}.gallery img{border:1px solid var(--line);background:white;border-radius:6px}.gallery figcaption{font-size:.86rem;margin-top:10px}.large{font-size:21px}.fontnote{font-size:.85rem}.badge-number{font-size:2.8rem;color:var(--accent);font-weight:750;line-height:1}.caption{font-size:.78rem;color:var(--muted)}.no-margin{margin:0}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit}.readonly-hint{font-size:.85rem;color:var(--muted)}
@media(max-width:800px){.hero{grid-template-columns:1fr 1fr;gap:22px}.catalog{gap:12px}.lesson-card .body{padding:18px}.lesson-layout{grid-template-columns:1fr}.aside{position:static;border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.aside img{display:none}.lesson-card .title{font-size:1.15rem}.topbar{padding:16px 24px}}
@media(max-width:600px){.topbar{padding:12px 16px;gap:8px}.topbar nav{gap:10px;font-size:.78rem}.brandmark{display:none}.brand{font-size:.65rem}.brand b{font-size:.85rem}.quiet{padding:7px}.topbar nav a:first-child{display:none}#main{padding:28px 18px}.hero{grid-template-columns:1fr;gap:24px}.hero h1{font-size:2.35rem}.hero-art img{aspect-ratio:16/10;object-position:center 70%;border-radius:5px 40px 5px 5px}.hero .lead{font-size:1.06rem}.catalog{grid-template-columns:1fr;gap:22px}.lesson-card .title{min-height:0;font-size:1.35rem}.lesson-card img{aspect-ratio:16/9}.lesson-card .body{padding:22px}.cols,.compare,.gallery{grid-template-columns:1fr}.sheet{padding:22px}.module-top{align-items:flex-start}.module-top h1{font-size:1.25rem}.module-tag{font-size:.73rem!important}.stepbar{gap:3px;margin-bottom:26px}.stepbar button{font-size:.65rem;padding:8px 1px;min-height:64px;word-break:keep-all}.stepnum{font-size:.65rem!important}.actions .button{flex:1 1 auto}.bottomnav .button{padding:12px 16px}.row-fields{grid-template-columns:1fr 1fr;gap:12px}.large .row-fields{grid-template-columns:1fr}.module-image{max-height:250px}.large .topbar nav{gap:6px}.large .brand{font-size:.6rem}.large .stepbar button{font-size:.62rem}.section-head{align-items:start;flex-direction:column}.footer{margin-top:24px}.hero .actions{margin-bottom:0}}
.cols>*,.gallery>*,.catalog>*,.compare>*,.row-fields>*{min-width:0}input[type=file]{width:100%;max-width:100%;font-size:.85rem}.button{max-width:100%;overflow-wrap:anywhere}
.skip{top:0;left:12px;transform:translateY(-200%)}.skip:focus{transform:translateY(0)}#main:focus{outline:none}
.topbar nav a:first-child{display:inline}
.skip{opacity:0;pointer-events:none}.skip:focus{opacity:1;pointer-events:auto}.ai-links{border-top:1px solid var(--line);padding-top:18px}.ai-links a{display:inline-block;min-height:44px;padding:6px 0}#saveStatus{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{.topbar,.footer,.bottomnav,.actions{display:none}#main{padding:0}.aside{display:none}.lesson-layout{display:block}}
