@font-face{font-family:LomonHanja;src:url('assets/hanja.ttf') format('truetype');font-display:swap}
:root{font-family:'Malgun Gothic','Apple SD Gothic Neo',system-ui,sans-serif;color:#302a29;background:#f8f5ed;--red:#a3232b;--red-light:#f3e5e0;--muted:#716965;--line:#e5ded2;--paper:#fffdf9;--green:#3e705b;--serif:LomonHanja,'Batang',serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0}button:disabled{opacity:.48;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #347c86;outline-offset:4px}h1:focus{outline:0}.hidden,[hidden]{display:none!important}p{line-height:1.85}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,4vw,38px);line-height:1.55;letter-spacing:-.05em;word-break:keep-all}h2{font-size:21px;line-height:1.6;letter-spacing:-.03em}h3{line-height:1.6}img{display:block;max-width:100%;height:auto}a{color:var(--red)}.skip{position:absolute;top:-100px;z-index:10;background:white;padding:12px}.skip:focus{top:10px}.site-header{border-bottom:1px solid var(--line);background:#f8f5edf5}.header-inner{max-width:1032px;margin:auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:10px;align-items:center;background:none;text-align:left;padding:0;font-family:Georgia,serif;font-size:22px}.brand small{display:block;font-family:system-ui,sans-serif;font-size:10px;letter-spacing:.16em;color:var(--muted);margin-top:2px}.seal{display:grid;place-items:center;width:40px;height:44px;border:1px solid var(--red);color:var(--red);font:28px var(--serif);border-radius:3px}nav{display:flex;gap:5px;flex-wrap:wrap}nav button{background:none;font-size:13px;padding:10px 12px;border-radius:7px;color:var(--muted)}nav button[aria-current=page]{color:var(--red);background:#eee6dc;font-weight:750}.shell{max-width:1020px;margin:0 auto;padding:32px 28px 60px;min-height:70vh}.view{animation:appear .18s ease-out}.narrow{max-width:670px;margin:auto}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center;padding:25px 45px 38px;background:radial-gradient(ellipse at 85% 50%,#ece0cd 0%,#f6f1e6 44%,#f8f5ed 73%);border-bottom:1px solid var(--line)}.eyebrow{font-size:12px;color:var(--red);font-weight:750;letter-spacing:.09em;margin-bottom:14px}.hero h1{font-size:clamp(32px,4.9vw,51px);line-height:1.55;margin-bottom:19px;letter-spacing:-.06em}.hero h1 em{font-style:normal;color:var(--red)}.hero-desc{color:var(--muted);font-size:16px;margin-bottom:24px}.hero-copy .mini{margin-top:14px}.hero-book{background:none;padding:0;transform:rotate(3deg);max-width:235px;justify-self:center}.hero-book img{box-shadow:10px 17px 26px #4b321d26,-3px 0 3px #6e503620;border-radius:1px 4px 4px 1px}.hero-book span{display:block;font-size:10px;text-align:center;margin-top:17px;color:var(--muted);transform:rotate(-3deg)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:14px 21px;border-radius:9px;background:var(--red);color:white;font-weight:700;line-height:1.6;text-decoration:none}.secondary{color:var(--red);background:var(--red-light)}.ghost{color:var(--muted);background:var(--paper);border:1px solid var(--line)}.textbtn{background:none;padding:8px 0;color:var(--red);font-size:13px;text-decoration:none}.smallbtn{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:12px;min-height:42px}.wide{display:flex;width:100%;margin-top:20px}.mini{font-size:12px;color:var(--muted);line-height:1.8}.centered{text-align:center}.home-meta{display:flex;justify-content:center;gap:35px;padding:22px 0;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}.home-meta b{font-size:19px;color:#433a35;margin-right:4px}.today-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px 0}.today-card .eyebrow{font-size:11px;margin-bottom:9px}.today-line{display:flex;gap:15px;align-items:center;margin:0}.today-line strong{font-size:25px;color:var(--red)}.today-line span{color:var(--muted);font-size:13px}.book-promo{margin-top:24px}.promo-inner{width:100%;display:flex;align-items:center;gap:22px;text-align:left;border-top:1px solid var(--line);padding:23px 22px;background:#f0e9dd;border-radius:12px}.promo-inner img{width:61px;box-shadow:2px 3px 8px #3828181f;flex-shrink:0}.promo-inner .eyebrow{font-size:10px;margin-bottom:4px}.promo-inner strong{display:block;font-size:16px;line-height:1.6;word-break:keep-all}.promo-inner small{display:block;color:var(--muted);font-size:12px;line-height:1.65;margin-top:5px}.promo-arrow{margin-left:auto;color:var(--red)}.pagehead{margin:18px 0 27px}.pagehead h1{margin-bottom:11px}.pagehead p:last-child{color:var(--muted);font-size:14px}.tabs{display:flex;border-bottom:1px solid var(--line);gap:25px;margin-bottom:22px}.tabs button{background:none;color:var(--muted);padding:14px 5px;border-bottom:3px solid transparent;font-weight:700}.tabs button[aria-selected=true]{border-bottom-color:var(--red);color:var(--red)}.searchlabel{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:12px 0 8px}.searchrow{display:flex;gap:9px;align-items:stretch}input,select{min-width:0;width:100%;border:1px solid #d8cfc2;border-radius:8px;background:var(--paper);padding:12px 14px;min-height:47px}input:focus{border-color:var(--red)}.searchrow input{flex:1}.searchrow button{flex-shrink:0}.part-list{display:grid;gap:10px;margin:20px 0}.part{border:1px solid var(--line);border-radius:12px;background:var(--paper);overflow:hidden}.part summary{list-style:none;display:flex;gap:19px;align-items:center;padding:21px;cursor:pointer;min-height:83px}.part summary::-webkit-details-marker{display:none}.part-no{color:var(--red);font-family:Georgia,serif;font-size:28px;min-width:39px}.part-name{font-size:16px;font-weight:700;line-height:1.6;word-break:keep-all}.part-name small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:4px}.part-chevron{margin-left:auto;font-size:20px;color:var(--muted);transition:transform .15s}.part[open] .part-chevron{transform:rotate(90deg)}.part-body{padding:0 21px 22px;border-top:1px solid var(--line)}.part-start{margin:16px 0}.lesson-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lesson-card{min-width:0;border:1px solid var(--line);padding:15px;border-radius:9px;background:#fffdf9}.lesson-title{display:block;padding:0;background:none;text-align:left;font-size:14px;font-weight:700;line-height:1.8;word-break:keep-all;width:100%;min-height:50px}.lesson-title span{color:var(--red);font-size:11px;margin-right:8px}.lesson-meta{font-size:10px;color:var(--muted);margin:7px 0 11px}.glyphs{display:flex;flex-wrap:wrap;gap:6px}.glyph{font-family:var(--serif);font-size:25px;width:40px;height:44px;background:#f7f1e6;border:1px solid var(--line);border-radius:6px;color:var(--red)}.glyph.learned{background:#edf4ed;border-color:#a3bba5;color:var(--green)}.core-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:20px}.core-card{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:18px 9px;min-width:0}.core-card.learned{border-color:#98b59f}.core-card .big{font:42px/1.4 var(--serif);color:var(--red)}.core-card strong{font-size:12px}.core-card small{font-size:10px;color:var(--muted);line-height:1.65}.list-actions,.actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.list-actions .btn{font-size:13px}.empty{padding:30px;text-align:center;color:var(--muted)}.quiz-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.progressbar{height:5px;background:#e7dfd3;border-radius:8px;overflow:hidden;margin:20px 0 31px}.progressbar i{height:100%;display:block;background:var(--red);transition:width .2s}.question-title{text-align:center;font-size:20px;line-height:1.8;margin-bottom:4px}.question-hanja{font:clamp(105px,20vw,155px)/1.5 var(--serif);color:var(--red);text-align:center;margin:10px 0}.question-prompt{font-size:14px;color:var(--muted);margin-bottom:24px}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.choice{border:1px solid #d8c7b9;border-radius:12px;background:var(--paper);font-size:21px;font-weight:700;line-height:1.6;min-height:88px;padding:17px 8px}.choice:disabled{opacity:1}.choice.selected{border:2px solid var(--red);background:#f5e5df}.choice.correct{border:2px solid var(--green);background:#edf4ed;color:#315b46}.feedback{border-radius:10px;background:#f3e9e1;padding:21px;margin-top:20px;text-align:center;font-size:14px;line-height:1.8}.feedback.good{background:#eaf2e9}.answer-detail{display:flex;justify-content:center;gap:30px;margin-top:12px}.answer-detail small{display:block;color:var(--muted);font-size:11px}.answer-detail b{font-size:18px}.feedback .earned{font-size:11px;margin-top:12px;color:var(--green)}.explanation-word{font:clamp(31px,6vw,45px)/1.7 var(--serif);color:var(--red);letter-spacing:.07em;text-align:center;margin:20px 0 0;overflow-wrap:anywhere}.word-reading{text-align:center;font-size:18px;font-weight:700;margin:7px 0 10px}.word-meaning{text-align:center;color:var(--muted);font-size:14px;margin-bottom:24px}.char-breakdown{display:grid;gap:10px;margin:24px 0}.char-row{display:grid;grid-template-columns:58px 100px 1fr;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px}.char-row .glyph-display{font:35px var(--serif);color:var(--red);text-align:center}.char-row strong{font-size:13px}.char-row p{font-size:12px;color:var(--muted);margin:0}.explanation-box{background:#eeeadd;border-radius:10px;padding:23px;margin:20px 0}.explanation-box h2{font-size:14px;color:var(--red);margin-bottom:10px}.explanation-box p{font-size:14px;margin-bottom:0}.extra-words{margin-top:15px;display:grid;gap:9px}.extra-word{background:var(--paper);padding:14px 18px;border:1px solid var(--line);border-radius:9px;font-size:13px;line-height:1.8}.extra-word b{font-family:var(--serif);font-size:22px;color:var(--red);margin-right:8px}.center-button{display:block;margin:12px auto}.result-card{text-align:center;background:var(--paper);border:1px solid var(--line);padding:36px 25px;border-radius:15px}.result-score{font-size:49px;color:var(--red);font-family:Georgia,serif;margin:10px 0}.result-score small{font:15px system-ui,sans-serif;color:var(--muted)}#resultDetail{font-size:14px;color:var(--muted)}.growth{background:#f0f3e9;padding:17px;border-radius:10px;font-size:13px;line-height:1.8}.result-card .actions{justify-content:center}.nickname-form{background:var(--paper);border:1px solid var(--line);padding:22px;border-radius:12px;margin-bottom:23px}.nickname-form>label{display:block;font-size:14px;margin-bottom:12px;font-weight:700}.nickname-form .mini{margin:8px 0 0}.record-level{padding:25px;background:#eee6d8;border-radius:12px;margin-bottom:25px}.record-level strong{font-size:35px;color:var(--red)}.record-level p{font-size:13px;margin:8px 0}.record-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.record-grid div{text-align:center;padding:16px 7px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.record-grid b{display:block;font-size:25px;margin-bottom:6px;color:var(--red)}.record-grid small{font-size:11px;color:var(--muted)}.part-progress{display:grid;gap:14px}.part-progress-row{font-size:12px;line-height:1.7}.part-progress-row .label{display:flex;justify-content:space-between;gap:15px;margin-bottom:6px}.part-progress-row b{font-weight:600}.part-progress-row .track{height:5px;background:#e7dfd3;border-radius:6px;overflow:hidden}.part-progress-row i{display:block;height:100%;background:#80947a}.storage-note{font-size:12px;color:var(--muted);line-height:1.9;padding-top:20px}.book-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:center;margin:22px 25px 50px}.cover-enlarge{padding:0;background:none;max-width:290px;justify-self:center}.cover-enlarge img{box-shadow:8px 12px 20px #3d2c181f}.book-lead{font-size:19px;line-height:1.8;color:var(--red)}.book-intro p:not(.eyebrow):not(.book-lead){font-size:14px;color:var(--muted)}.book-points{font-size:13px;line-height:2.4;color:var(--muted);padding-left:18px}.publication-note{padding:12px 16px;background:#eee8dc;border-radius:8px;font-size:12px}.preview-section{border-top:1px solid var(--line);padding:32px 0;margin-bottom:15px}.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:23px}.preview-grid button{background:none;padding:0;min-width:0}.preview-grid img{border:1px solid var(--line);box-shadow:2px 3px 10px #3828180d}.preview-grid span{display:block;font-size:12px;color:var(--muted);padding:13px 0}.site-footer{max-width:964px;margin:auto;border-top:1px solid var(--line);padding:23px 0 30px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;color:var(--muted)}.site-footer .textbtn{font-size:11px;color:var(--muted)}dialog{max-width:min(94vw,900px);width:900px;max-height:92vh;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:20px;background:var(--paper);color:inherit}dialog::backdrop{background:#211c18bb}.dialog-head{position:sticky;top:-20px;display:flex;justify-content:space-between;align-items:center;gap:15px;background:var(--paper);padding:10px 0;z-index:1}.dialog-head h2{font-size:15px;margin:0}#largeImage{width:100%;height:auto}#privacyDialog{width:570px}#privacyDialog p{font-size:13px}.ad-area{margin:165px 0 45px;padding-top:18px;border-top:1px solid var(--line);text-align:center;min-height:120px}.ad-label{font-size:10px;color:var(--muted);margin-bottom:14px}.ad-area ins{display:block}@keyframes appear{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.header-inner{padding:14px 17px;gap:10px}.brand{font-size:18px;gap:7px}.seal{width:32px;height:36px;font-size:23px}.brand small{font-size:8px}nav{gap:0}nav button{font-size:11px;padding:10px 7px}.shell{padding:20px 18px 40px}.hero{padding:20px 0 27px;gap:20px;grid-template-columns:1.2fr .8fr}.hero h1{font-size:32px;line-height:1.55}.hero .eyebrow{font-size:10px;letter-spacing:.03em}.hero-desc{font-size:13px;margin-bottom:19px}.hero-book{max-width:160px}.hero-book span{font-size:8px;line-height:1.6}.hero .btn{font-size:12px;padding:12px 14px}.hero .mini{font-size:10px}.home-meta{gap:18px;font-size:10px;padding:18px 0}.home-meta b{font-size:17px;margin-right:2px}.today-card{padding:20px 0}.today-line{gap:10px}.today-line strong{font-size:22px}.today-line span{font-size:11px}.today-card .textbtn{font-size:11px}.promo-inner{padding:19px 15px;gap:15px}.promo-inner strong{font-size:14px}.promo-inner small{font-size:10px}.promo-inner img{width:50px}.book-promo{margin-top:16px}.pagehead{margin-top:12px}.pagehead h1{font-size:27px}.pagehead p:last-child{font-size:12px}.part summary{padding:17px;gap:12px}.part-name{font-size:14px}.part-no{font-size:25px;min-width:32px}.part-body{padding:0 14px 16px}.lesson-list{grid-template-columns:1fr}.lesson-title{min-height:0;font-size:14px}.core-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.core-card{padding:14px 6px}.core-card .big{font-size:37px}.core-card strong{font-size:11px}.list-actions{flex-direction:column}.question-title{font-size:17px}.question-hanja{font-size:120px;margin:10px 0}.question-prompt{font-size:13px}.choice{font-size:19px;min-height:78px}.answer-grid{gap:10px}.quiz-top .mini{font-size:11px}.progressbar{margin-bottom:24px}.feedback{padding:18px 13px}.char-row{grid-template-columns:46px 81px 1fr;gap:9px;padding:13px 9px}.char-row .glyph-display{font-size:33px}.char-row strong{font-size:12px}.char-row p{font-size:11px}.explanation-box{padding:20px 17px}.explanation-box p{font-size:13px}.explanation-word{font-size:36px}.result-card{padding:28px 16px}.actions .btn{font-size:12px;padding:12px 15px}.record-grid b{font-size:22px}.nickname-form{padding:18px 14px}.book-intro{grid-template-columns:1fr;gap:33px;margin:15px 0 35px}.cover-enlarge{width:190px}.book-intro h1{font-size:30px}.book-lead{font-size:18px}.preview-grid{gap:9px}.preview-grid span{font-size:10px}.site-footer{margin:0 18px;padding:20px 0;flex-wrap:wrap;gap:6px}.site-footer span{font-size:9px}dialog{padding:14px;max-height:94vh}.dialog-head{top:-14px}.dialog-head h2{font-size:12px}.explanation-box h2{font-size:13px}}
@media(max-width:360px){.header-inner{padding:12px}.brand{gap:5px;font-size:16px}.brand small{font-size:7px}.seal{width:27px;height:32px}nav button{font-size:10px;padding:9px 6px}.shell{padding:18px 14px 35px}.hero{gap:14px}.hero h1{font-size:28px}.hero-book{max-width:120px}.hero-book span{font-size:7px}.home-meta{gap:13px}.hero .btn{padding:11px;font-size:11px}.today-line span{font-size:10px}.char-row{grid-template-columns:42px 75px 1fr}.promo-inner{gap:12px}.promo-inner strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.footer-links a{font-size:11px;color:var(--muted);text-decoration:none;padding:8px 0}.info-page{max-width:720px}.info-page h2{margin-top:32px;font-size:18px}.info-page p,.info-page li{font-size:14px;line-height:1.95}.info-page li{margin-bottom:9px}.info-page .intro-note{padding:22px;background:#eee8dc;border-radius:10px}.info-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:30px}
