@font-face{font-family:IBM Plex Sans KR;font-style:normal;font-weight:300;font-display:swap;src:url(/hanguksa/assets/ibm-plex-sans-kr-300-_EHTJYiS.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans KR;font-style:normal;font-weight:500;font-display:swap;src:url(/hanguksa/assets/ibm-plex-sans-kr-500-DH3S3qIH.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans KR;font-style:normal;font-weight:600;font-display:swap;src:url(/hanguksa/assets/ibm-plex-sans-kr-600-DWacVOon.woff2) format("woff2")}@font-face{font-family:Nanum Myeongjo;font-style:normal;font-weight:700;font-display:swap;src:url(/hanguksa/assets/nanum-myeongjo-700-BlYrDBZQ.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/hanguksa/assets/ibm-plex-mono-400-BsAwgrzp.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/hanguksa/assets/ibm-plex-mono-500-qBTveIDm.woff2) format("woff2")}:root{--paper: #f5f7f3;--surface: #ffffff;--ink: #1b1f22;--ink-2: #4e5a61;--ink-3: #7c8a91;--rule: #cbd6d6;--rule-soft: #e2e9e5;--red: #b03a2b;--red-soft: #f3e2de;--teal: #1f5361;--teal-soft: #e0ebec;--ochre: #8a6420;--ochre-soft: #f2e9d6;--app-max: 1360px;--f-display: "Nanum Myeongjo", "AppleMyungjo", "Batang", serif;--f-body: "IBM Plex Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--f-mono: "IBM Plex Mono", ui-monospace, monospace;--hl-core: rgba(240, 196, 40, .38);--hl-memorize: rgba(76, 175, 110, .3);--hl-unsure: rgba(226, 92, 92, .28);--hl-note: rgba(74, 144, 226, .26);--ul-core: #c99a00;--ul-memorize: #2f8a52;--ul-unsure: #c0392b;--ul-note: #2f6fb8;color-scheme:light}@media(prefers-color-scheme:dark){:root{--paper: #14181a;--surface: #1b2124;--ink: #e6eae5;--ink-2: #a8b5ba;--ink-3: #78868c;--rule: #313c41;--rule-soft: #262f33;--red: #e1806d;--red-soft: #35211d;--teal: #7fbcc9;--teal-soft: #17282c;--ochre: #d3ab62;--ochre-soft: #2c2617;--hl-core: rgba(240, 196, 40, .3);--hl-memorize: rgba(90, 200, 130, .26);--hl-unsure: rgba(240, 110, 110, .28);--hl-note: rgba(110, 170, 240, .28);--ul-core: #e6bd3c;--ul-memorize: #5cc685;--ul-unsure: #f08a7c;--ul-note: #7fb0ea;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{overscroll-behavior:none}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-weight:300;font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}button,.chip,.nav,.mode-sub,.topbar,.omr-cell{-webkit-user-select:none;user-select:none}b,strong{font-weight:600}a{color:var(--teal)}h1,h2,h3{font-family:var(--f-display);font-weight:700;line-height:1.35;letter-spacing:-.01em}h1{font-size:1.6rem;margin:0 0 .4rem}h2{font-size:1.15rem;margin:1.75rem 0 .75rem}h3{font-size:1rem;margin:0 0 .3rem}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}main{max-width:var(--app-max);margin:0 auto;padding:1.5rem calc(1.25rem + env(safe-area-inset-right)) calc(6rem + env(safe-area-inset-bottom)) calc(1.25rem + env(safe-area-inset-left))}.lede{color:var(--ink-2);margin:0 0 1.1rem}.hint{color:var(--ink-3);font-size:.85rem;margin:0 0 1rem}.meta{font-family:var(--f-body);font-size:.72rem;color:var(--ink-3);letter-spacing:.02em}.notice{background:var(--ochre-soft);border:1px solid var(--ochre);color:var(--ink);padding:.6rem .9rem;border-radius:2px;font-size:.88rem;margin:0 0 1rem}kbd{font:.78rem var(--f-mono);border:1px solid var(--rule);border-bottom-width:2px;border-radius:2px;padding:0 .4rem;background:var(--surface)}footer{color:var(--ink-3);font-size:.78rem;text-align:center;padding:1.5rem 1rem 5rem;line-height:1.9}footer a,footer .link-btn{color:var(--ink-3);font-size:.78rem}.topbar{background:var(--paper);padding:env(safe-area-inset-top) calc(1.25rem + env(safe-area-inset-right)) 0 calc(1.25rem + env(safe-area-inset-left))}.topbar-row{max-width:var(--app-max);margin:0 auto;display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;border-top:2.5px solid var(--ink);padding:.85rem 0 .6rem}.brand{font-family:var(--f-display);font-weight:700;font-size:1.35rem;letter-spacing:-.01em;background:none;border:0;padding:0;cursor:pointer;text-align:left;white-space:nowrap;color:var(--ink)}.brand small{display:block;font-family:var(--f-body);font-size:.6rem;font-weight:400;letter-spacing:.02em;color:var(--ink-3)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:1rem;white-space:nowrap;font-family:var(--f-body);font-size:.72rem;color:var(--ink-3)}.topbar-right .link-btn{font-family:var(--f-body);font-size:.72rem;color:var(--ink-2);letter-spacing:.02em}.level-toggle{display:flex;border:1px solid var(--rule);border-radius:2px;overflow:hidden;align-self:center}.level-toggle button{border:0;background:none;padding:.2rem .65rem;cursor:pointer;white-space:nowrap;font-family:var(--f-body);font-size:.72rem;color:var(--ink-2)}.level-toggle button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.nav{max-width:var(--app-max);margin:0 auto;display:flex;border-bottom:1px solid var(--rule);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav::-webkit-scrollbar{display:none}.nav button{flex:1 0 auto;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;padding:.6rem .9rem;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--ink-2);white-space:nowrap}.nav button:hover{color:var(--ink);background:var(--surface)}.nav button[aria-current=page]{color:var(--red);border-bottom-color:var(--red);font-weight:600}.mode-sub{max-width:var(--app-max);margin:.6rem auto 0;display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.2rem}.mode-sub::-webkit-scrollbar{display:none}.mode-sub button{flex:0 0 auto;white-space:nowrap;cursor:pointer;border:1px solid var(--rule);background:var(--surface);color:var(--ink-2);font-size:.82rem;padding:.25rem .8rem;border-radius:999px}.mode-sub button:hover{color:var(--ink)}.mode-sub button[aria-current=page]{border-color:var(--red);background:var(--red-soft);color:var(--red);font-weight:600}.announce{width:min(var(--app-max),calc(100% - 2.5rem));margin:.75rem auto 0;padding:.55rem .9rem;display:flex;gap:.75rem;justify-content:space-between;align-items:center;font-size:.86rem;border-radius:2px;background:var(--teal-soft);border:1px solid var(--teal)}.announce.warn{background:var(--ochre-soft);border-color:var(--ochre)}.ptrail{--topbar-h: env(safe-area-inset-top);--page-max: var(--app-max);--gutter: 1.25rem;--radius: 2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid var(--rule);background:transparent;color:var(--ink-2);padding:.45rem 1rem;cursor:pointer;border-radius:2px;font-weight:500;font-size:.86rem;text-decoration:none;line-height:1.4}.btn:hover{border-color:var(--ink-3);color:var(--ink)}.btn.primary{border-color:var(--ink);background:var(--ink);color:var(--paper)}.btn.primary:hover{opacity:.88;color:var(--paper)}.btn.danger{color:var(--red);border-color:var(--red)}.btn:disabled,.btn.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.link-btn{border:0;background:none;color:var(--teal);cursor:pointer;padding:0 2px;font-size:.86rem;text-decoration:none}.link-btn:hover{text-decoration:underline}.back{display:inline-block;font-family:var(--f-body);font-size:.75rem;letter-spacing:.02em;color:var(--ink-3);text-decoration:none;margin-bottom:.75rem}.back:hover{color:var(--ink)}.row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.chips{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem 0 1rem}.chip{font-family:var(--f-body);font-size:.75rem;padding:.3rem .65rem;border:1px solid var(--rule);background:transparent;color:var(--ink-2);border-radius:2px;cursor:pointer;text-decoration:none;display:inline-block}.chip:hover{border-color:var(--ink-3)}.chip[aria-pressed=true]{border-color:var(--red);color:var(--red);background:var(--red-soft)}.tag{display:inline-block;font-family:var(--f-body);font-size:.64rem;letter-spacing:.02em;white-space:nowrap;padding:.08rem .4rem;border:1px solid var(--rule);border-radius:2px;color:var(--ink-3)}.tag.core{border-color:var(--red);color:var(--red);background:var(--red-soft)}.tag.often{border-color:var(--ochre);color:var(--ochre);background:var(--ochre-soft)}.tag.ok{border-color:var(--teal);color:var(--teal);background:var(--teal-soft)}input,select,textarea{color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:2px;padding:.45rem .65rem;max-width:100%}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--teal);outline-offset:-1px}textarea{width:100%;resize:vertical}label{display:flex;flex-direction:column;gap:.25rem;font-family:var(--f-body);font-size:.7rem;letter-spacing:.02em;color:var(--ink-3)}label>input,label>select,label>textarea,label>span{font-family:var(--f-body);font-size:.92rem;letter-spacing:0}label.check{flex-direction:row;align-items:center;gap:.5rem;font-family:var(--f-body);font-size:.86rem;letter-spacing:0;color:var(--ink-2)}.form-grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:.5rem 0 1.25rem}.filters input[type=search]{flex:1;min-width:140px}.card{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--rule);border-radius:2px;padding:1rem 1.15rem;cursor:pointer;color:inherit;text-decoration:none}a.card:hover,button.card:hover{border-color:var(--ink-3)}.card h3{margin:.1rem 0 .25rem;font-size:1.02rem}.card .meta{display:block}.card.static{cursor:default}.panel{background:var(--surface);border:1px solid var(--rule);border-radius:2px;padding:1.15rem 1.3rem}.grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.stats{margin-bottom:.5rem}.stats .card{border-top:2px solid var(--ink)}.stats h3{font-size:1.35rem;margin:.15rem 0 .35rem;font-variant-numeric:tabular-nums}.goal{margin-bottom:1.1rem}.bar{height:6px;background:var(--rule-soft);overflow:hidden}.bar>span{display:block;height:100%;background:var(--teal)}table.plain{border-collapse:collapse;width:100%;font-size:.9rem}table.plain th,table.plain td{padding:.45rem .5rem;border-top:1px solid var(--rule-soft);text-align:left;vertical-align:top}table.plain th{font-family:var(--f-body);font-size:.7rem;font-weight:400;color:var(--ink-3);letter-spacing:.02em}table.plain td.num{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#14181a73;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:var(--surface);border:1px solid var(--rule);border-top:2.5px solid var(--ink);border-radius:2px;padding:1.3rem 1.4rem;max-width:560px;width:100%;max-height:86vh;overflow:auto}.modal h2{margin-top:0}.auth{max-width:1080px;margin:0 auto;padding:calc(2.5rem + env(safe-area-inset-top)) 1.25rem 3rem;display:grid;gap:2.5rem;grid-template-columns:1.25fr 1fr;align-items:start}.auth{row-gap:.75rem}.auth-head{grid-column:1;grid-row:1}.auth-body{grid-column:1;grid-row:2}.auth-form{grid-column:2;grid-row:1 / span 2}.auth-body .auth-sample{margin-top:0}@media(max-width:760px){.auth{grid-template-columns:1fr;gap:1.5rem;padding-top:1.5rem}.auth-head,.auth-body,.auth-form{grid-column:1;grid-row:auto}}.auth-kicker{font-family:var(--f-body);font-size:.68rem;letter-spacing:.02em;color:var(--ink-3);margin:0 0 .6rem}.auth-brand{font-family:var(--f-display);font-weight:700;font-size:2.1rem;line-height:1.3;margin:0 0 .75rem;word-break:keep-all}.auth-points{list-style:none;padding:0;margin:1.5rem 0;display:grid;gap:1rem}.auth-points b{display:block;font-family:var(--f-display);font-weight:700;font-size:1rem;margin-bottom:.15rem}.auth-points span{color:var(--ink-2);font-size:.9rem}.auth-sample{border:1px solid var(--rule);background:var(--surface);padding:.9rem 1rem;border-radius:2px;font-size:.88rem}.auth-form{padding:1.4rem 1.5rem}.auth-form h2{margin:0;font-size:1.25rem}.auth-form .sub{font-family:var(--f-body);font-size:.62rem;letter-spacing:.02em;color:var(--ink-3);margin:.1rem 0 1rem}.auth-form label{margin-bottom:.75rem}.auth-form input:not([type=checkbox]){width:100%}.auth-foot{grid-column:1 / -1;color:var(--ink-3);font-size:.78rem}.auth-foot a{color:var(--ink-3)}.turnstile-box{margin:.4rem 0}.prose{line-height:1.9;font-size:1rem}.prose h3{font-size:1.05rem;margin:1.8rem 0 .5rem;padding-top:.6rem;border-top:1px solid var(--rule-soft)}.prose h2{font-size:1.12rem}.prose strong{font-weight:600;color:var(--ink)}.prose table{border-collapse:collapse;width:100%;font-size:.9rem;margin:.9rem 0}.prose th,.prose td{border:1px solid var(--rule);padding:.4rem .55rem;text-align:left;vertical-align:top}.prose th{background:var(--rule-soft);font-weight:500}.prose ul,.prose ol{padding-left:1.3em}.prose blockquote{margin:.8rem 0;padding:.4rem 0 .4rem .9rem;border-left:2px solid var(--red);color:var(--ink-2)}.prose.small{font-size:.92rem;line-height:1.75}.prose.small h3{border-top:0;padding-top:0;margin-top:1rem}.table-wrap{overflow-x:auto}.timeline{list-style:none;margin:.75rem 0 0;padding:0 0 0 1rem;border-left:1px solid var(--rule)}.timeline li{position:relative;margin:0 0 .45rem;padding-left:.6rem;font-size:.92rem}.timeline li:before{content:"";position:absolute;left:-1.33rem;top:.62em;width:7px;height:7px;background:var(--red)}.timeline .y{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:.8rem;color:var(--red);margin-right:.6rem}.section-list{list-style:none;margin:0;padding:0}.section-list li a,.section-list li>button{width:100%;text-align:left;border:0;border-top:1px solid var(--rule-soft);background:none;color:inherit;text-decoration:none;padding:.65rem .2rem;display:flex;gap:.75rem;align-items:center;cursor:pointer;font-size:.92rem}.section-list li:first-child a,.section-list li:first-child>button{border-top:0}.section-list li a:hover,.section-list li>button:hover{background:var(--rule-soft)}.section-list .mark{width:1.2em;font-family:var(--f-mono);color:var(--teal);text-align:center}.section-list .hint{margin:0;font-family:var(--f-body);font-size:.72rem}.shelf-era h2{display:flex;align-items:baseline;gap:.6rem;border-bottom:1px solid var(--ink);padding-bottom:.35rem}.shelf-era h2 a{color:inherit;text-decoration:none}.shelf-era h2 .hint{font-family:var(--f-body);font-size:.72rem;margin:0}.reader{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:2rem;align-items:start}.reader-main{max-width:46rem}.reader-side{position:sticky;top:70px;max-height:calc(100vh - 90px);overflow:auto;border-left:1px solid var(--rule);padding-left:1rem}.reader-side h3{font-family:var(--f-body);font-size:.68rem;letter-spacing:.02em;color:var(--ink-3);font-weight:400;margin:0 0 .6rem}@media(max-width:61.99rem){.reader{grid-template-columns:1fr}.reader-side{display:none}}.reader-rp{--rp-rw: 260px;--rp-top: 70px;--rp-gap: 1.5rem}.reader-rp>.rp-main>.reader-main{margin:0 auto}.reader-rp.is-narrow>.rp-right{display:none}.reader-rp.is-narrow>.rp-left{margin-bottom:-.25rem}.side-tabs{display:flex;gap:.2rem;border-bottom:1px solid var(--rule);margin-bottom:.7rem}.side-tabs button{border:0;background:none;padding:.35rem .6rem;font:inherit;font-size:.82rem;color:var(--ink-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.side-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--red);font-weight:600}.reader-side-inline{margin-top:1rem;border-top:1px solid var(--rule);padding-top:.6rem}.side-gichul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.side-gichul a{display:flex;flex-direction:column;gap:.15rem;padding:.45rem .55rem;border:1px solid var(--rule);border-radius:2px;color:inherit;text-decoration:none}.side-gichul a:hover{border-color:var(--ink-3)}.side-gichul-no{font-size:.74rem;color:var(--red)}.side-gichul-no .ok{color:var(--teal)}.side-gichul-no .bad{color:var(--red)}.side-gichul-stem{font-size:.82rem;color:var(--ink-2);line-height:1.5}.term-link{text-decoration:underline dotted 1.5px;text-underline-offset:.22em;cursor:pointer}.term-pop-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65}.term-pop{position:fixed;width:320px;background:var(--surface);border:1px solid var(--rule);border-top:2.5px solid var(--ink);border-radius:2px;padding:.9rem 1rem;box-shadow:0 10px 30px #00000029}.term-pop strong{font-family:var(--f-display);font-weight:700;font-size:1.05rem}.term-pop p{margin:.5rem 0;line-height:1.75;font-size:.9rem}.report-box{width:100%;margin-top:.5rem}::highlight(hk-h-core){background-color:var(--hl-core)}::highlight(hk-h-memorize){background-color:var(--hl-memorize)}::highlight(hk-h-unsure){background-color:var(--hl-unsure)}::highlight(hk-h-note){background-color:var(--hl-note)}::highlight(hk-u-core){text-decoration:underline 2px var(--ul-core);text-underline-offset:.22em}::highlight(hk-u-memorize){text-decoration:underline 2px var(--ul-memorize);text-underline-offset:.22em}::highlight(hk-u-unsure){text-decoration:underline 2px var(--ul-unsure);text-underline-offset:.22em}::highlight(hk-u-note){text-decoration:underline 2px var(--ul-note);text-underline-offset:.22em}.ann-bar{position:fixed;z-index:66;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;max-width:340px;padding:.35rem .5rem;background:var(--surface);border:1px solid var(--rule);border-radius:2px;box-shadow:0 10px 28px #00000029}.ann-bar .hint{font-size:.78rem}.ann-sep{width:1px;height:1.3rem;background:var(--rule);margin:0 .15rem}.c-core{background:var(--hl-core)}.c-memorize{background:var(--hl-memorize)}.c-unsure{background:var(--hl-unsure)}.c-note{background:var(--hl-note)}.notes-panel{display:grid;gap:.5rem}.note-card{display:flex;flex-direction:column;gap:.25rem;text-align:left;border:1px solid var(--rule);border-left-width:4px;border-radius:2px;padding:.55rem .7rem;cursor:pointer;color:inherit;text-decoration:none}.note-card.c-core,.note-card.c-memorize,.note-card.c-unsure,.note-card.c-note{background:var(--surface)}.note-card.c-core{border-left-color:var(--ul-core)}.note-card.c-memorize{border-left-color:var(--ul-memorize)}.note-card.c-unsure{border-left-color:var(--ul-unsure)}.note-card.c-note{border-left-color:var(--ul-note)}.note-card q{font-size:.86rem;color:var(--ink-2)}.note-text{font-size:.84rem;white-space:pre-wrap;color:var(--ink)}.note-more{color:var(--teal);cursor:pointer}.quote{margin:.6rem 0;padding:.4rem 0 .4rem .9rem;border-left:2px solid var(--red)}.q-card{background:var(--surface);border:1px solid var(--rule);border-radius:2px;padding:1.15rem 1.25rem}.q-head{display:flex;gap:.4rem;align-items:center;margin-bottom:.6rem;flex-wrap:wrap}.q-num{font-family:var(--f-mono);font-size:.85rem;color:var(--red);font-weight:500;margin-right:.2rem}.q-stem{font-size:1.02rem;font-weight:500;margin:0 0 .75rem;border-left:2px solid var(--red);padding:.2rem 0 .2rem .85rem}.q-source{border:1px solid var(--rule);background:var(--paper);border-radius:2px;padding:.75rem 1rem;margin:0 0 .9rem;white-space:pre-wrap;font-size:.93rem;line-height:1.85;font-family:var(--f-display);font-weight:700;color:var(--ink-2)}.choices{display:grid;gap:.35rem}.choice{display:flex;flex-direction:column;gap:.25rem;text-align:left;width:100%;border:1px solid var(--rule);border-radius:2px;background:var(--surface);padding:.6rem .8rem;cursor:pointer}.choice:hover:not(:disabled){border-color:var(--ink-3)}.choice:disabled{cursor:default}.choice .line{display:flex;gap:.6rem}.choice .bullet{font-family:var(--f-mono);color:var(--ink-3)}.choice.correct{border-color:var(--teal);background:var(--teal-soft)}.choice.correct .bullet{color:var(--teal)}.choice.wrong{border-color:var(--red);background:var(--red-soft)}.choice.wrong .bullet{color:var(--red)}.choice.picked{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.why{font-size:.85rem;color:var(--ink-2);padding-left:1.65em;line-height:1.6}.why.ok:before{content:"○ ";color:var(--teal);font-weight:600}.why.no:before{content:"✗ ";color:var(--red);font-weight:600}.keypoint{margin-top:.9rem;padding:.75rem .9rem;background:var(--paper);border:1px solid var(--rule-soft);border-radius:2px;font-size:.92rem}.keypoint>strong:first-child{font-family:var(--f-body);font-size:.68rem;letter-spacing:.02em;color:var(--red);font-weight:500;margin-right:.4rem}.exam-bar{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;border-top:2.5px solid var(--ink);border-bottom:1px solid var(--rule);padding:.6rem 0;margin-bottom:.9rem;position:sticky;top:0;z-index:8;background:var(--paper)}.exam-bar strong{font-family:var(--f-display);font-weight:700;font-size:1.15rem}.timer{font-family:var(--f-mono);font-size:1.5rem;color:var(--ink);font-variant-numeric:tabular-nums}.timer.low{color:var(--red)}.exam{display:grid;gap:1rem;grid-template-columns:1fr 260px;align-items:start}@media(max-width:760px){.exam{grid-template-columns:1fr}}.omr{position:sticky;top:80px;background:var(--surface);border:1px solid var(--rule);border-radius:2px;padding:.75rem}.omr strong{font-family:var(--f-body);font-size:.68rem;letter-spacing:.02em;color:var(--ink-3);font-weight:400}.omr-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.25rem}.omr-cell{border:1px solid var(--rule);border-radius:2px;background:none;padding:.25rem 0;font-size:.75rem;cursor:pointer;font-family:var(--f-mono);font-variant-numeric:tabular-nums;color:var(--ink-3)}.omr-cell.filled{color:var(--teal);border-color:var(--teal);background:var(--teal-soft)}.omr-cell.current{border-color:var(--ink);color:var(--ink);background:var(--rule-soft)}.omr-cell.ok{background:var(--teal);color:var(--paper);border-color:var(--teal)}.omr-cell.no{background:var(--red);color:#fff;border-color:var(--red)}.score-big{font-family:var(--f-display);font-weight:700;font-size:3.25rem;line-height:1;font-variant-numeric:tabular-nums}.plan-route{display:flex;height:8px;overflow:hidden;gap:2px;margin:.25rem 0 1rem}.plan-route .seg{background:var(--tone, var(--ink-3));min-width:6px}.plan-road{list-style:none;margin:0;padding:0}.road-stop{display:flex;gap:.75rem;position:relative;padding-bottom:.85rem}.road-stop:before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:1px;background:var(--rule)}.road-stop:last-child:before{display:none}.road-dot{flex:none;width:27px;height:27px;display:grid;place-items:center;font-family:var(--f-mono);font-size:.78rem;color:var(--paper);background:var(--tone, var(--ink-3));border-radius:2px}.road-body{flex:1;background:var(--surface);border:1px solid var(--rule);border-radius:2px;padding:.7rem .9rem}.road-body strong{font-weight:500}.road-body .hint{margin:.15rem 0 .45rem}.road-stop.is-now .road-body{border-color:var(--tone);border-left-width:3px}.tone-review,.tone-unsure{--tone: var(--red)}.tone-read{--tone: var(--teal)}.tone-drill,.tone-diagnose{--tone: var(--ink)}.tone-terms{--tone: var(--ink-2)}.tone-mock{--tone: var(--ochre)}.tone-recalc{--tone: var(--ink-3)}.plan-block-head{list-style:none;margin:.4rem 0 .6rem calc(27px + .75rem);padding:.45rem .75rem;border-left:3px solid var(--teal);display:grid;gap:.1rem}.plan-block-n{font-size:.72rem;font-weight:600;color:var(--teal)}.plan-block-head .hint{margin:0}@media(max-width:40rem){.plan-block-head{margin-left:0}}.legend{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.legend .hint{margin:0 0 0 .4rem}.cmap-era h2{border-bottom:1px solid var(--ink);padding-bottom:.3rem}.heat{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.4rem}.heat-cell{border-radius:2px;padding:.55rem .65rem;border:1px solid var(--rule);background:var(--surface);text-align:left;cursor:pointer}.heat-cell .t{font-weight:500;font-size:.86rem;line-height:1.45}.heat-cell .n{font-family:var(--f-body);font-size:.66rem;color:var(--ink-3);margin-top:.2rem}.heat-cell.lv-none{border-style:dashed}.heat-cell.lv-read{background:var(--rule-soft)}.heat-cell.lv-weak,.chip.lg-weak{background:var(--red-soft);border-color:var(--red)}.heat-cell.lv-mid,.chip.lg-mid{background:var(--ochre-soft);border-color:var(--ochre)}.heat-cell.lv-strong,.chip.lg-strong{background:var(--teal-soft);border-color:var(--teal)}.heat-cell.imp-핵심,.chip.lg-핵심{background:var(--red-soft);border-color:var(--red)}.heat-cell.imp-자주,.chip.lg-자주{background:var(--ochre-soft);border-color:var(--ochre)}.heat-cell .dot{color:var(--red);margin-left:4px;font-size:.7rem}.heat-cell{position:relative}.heat-cell .heat-diff{position:absolute;top:.3rem;right:.35rem;color:var(--ink-3);line-height:0}.heat-cell:has(.heat-diff) .t{padding-right:.7rem}.cmap-sky{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.5rem}.cmap-sky-legend .cst-notes-body{display:flex;flex-direction:row;flex-wrap:wrap;gap:.25rem 1.1rem;margin:0}.cmap-sky-nb{display:flex;flex-direction:column;gap:.55rem;border-top:1px solid var(--rule-soft);padding-top:.7rem}.cmap-sky-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem}.cmap-sky-row .hint{margin:0}.cmap-sky-rel{display:flex;flex-direction:column;gap:.25rem}.cmap-sky-rel .hint,.cmap-sky-nb .row{margin:0}.flash{min-height:240px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:var(--surface);border:1px solid var(--rule);border-top:2.5px solid var(--ink);border-radius:2px;padding:2rem 1.25rem;cursor:pointer;width:100%}.flash .term{font-family:var(--f-display);font-size:1.8rem;font-weight:700}.flash .def{font-size:1rem;line-height:1.8;max-width:34em;color:var(--ink-2)}.bars14{display:flex;gap:.35rem;align-items:flex-end;height:140px;padding:.5rem 0;border-bottom:1px solid var(--rule)}.b14{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}.b14 span{width:100%;background:var(--teal);min-height:2px}.b14 span.alt{background:var(--ochre)}.b14 small{font-family:var(--f-mono);font-size:.62rem;color:var(--ink-3);margin-top:.2rem}.clock{position:fixed;left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:.35rem;padding:.2rem .6rem .2rem .2rem;border:1px solid var(--rule);border-radius:2px;background:var(--surface);font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:.82rem}.clock a{color:inherit;text-decoration:none;font-weight:500}.clock-pause{border:0;border-radius:2px;width:24px;height:24px;cursor:pointer;font-size:.6rem;color:var(--paper);background:var(--ink-3)}.clock.st-running .clock-pause{background:var(--teal)}.clock.st-idle .clock-pause{background:var(--ochre)}.clock.st-paused{border-style:dashed}.sources{font-family:var(--f-body);font-size:.7rem;color:var(--ink-3);padding-left:1.4em;margin:.3rem 0}.update{position:fixed;bottom:16px;left:50%;transform:translate(-50%);z-index:50;background:var(--ink);color:var(--paper);padding:.6rem .9rem;border-radius:2px;display:flex;gap:.6rem;align-items:center}.update .btn{padding:.2rem .6rem;color:var(--paper);border-color:var(--paper)}@media(max-width:520px){main{padding-top:1.1rem}h1{font-size:1.4rem}.topbar-row{gap:.6rem;padding-top:.7rem}.brand{font-size:1.15rem}.brand small{display:none}.topbar-right{gap:.7rem}.topbar-right .shortcut-link{display:none}.score-big{font-size:2.6rem}}.q-original{margin:.4rem 0 .8rem}.crop{display:block;width:100%;max-width:760px;height:auto;border:1px solid var(--rule);border-radius:2px;background:#fff}.crop-wait{padding:2rem 1rem;color:var(--ink-3);font-size:.85rem;text-align:center}.keypoint .reading{margin:0 0 .4rem}.keypoint .sources a{color:inherit}.paper-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.5rem}.found{border-top:1px solid var(--rule);padding:.9rem 0}.found .crop{max-width:520px}.pack-list{list-style:none;padding:0;margin:.5rem 0 1rem;display:grid;gap:.4rem}.pack-list li{display:flex;gap:.75rem;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:.5rem .75rem;border:1px solid var(--rule);border-radius:2px;background:var(--surface)}.account-pro{margin:16px 0 24px;scroll-margin-top:90px}.account-pro>.hint{margin-top:6px}.free-pages{margin:-4px 0 12px}.mascot-state.is-compact{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:.6rem .9rem;margin:.75rem 0 1rem}.mascot-state.is-compact p{max-width:none}.card .mascot-state{padding:.5rem 0}.auth-mascot{width:104px;height:104px;margin:0 0 .4rem -6px}.section-mascot{width:96px;height:96px;margin:0 auto .25rem}.error-mascot{width:112px;height:112px;margin:0 auto .5rem}@media(max-width:640px){.mascot-state .mascot{width:96px;height:96px}.mascot-state.is-compact .mascot{width:56px;height:56px}.auth-mascot,.section-mascot{width:72px;height:72px}}
