:root{font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#202722;background:#f2f5f3;font-synthesis:none;--bg: #fff;--ink: #202722;--muted: #6b746e;--line: #e3e8e4;--accent: #15774e;--soft: #edf5f0;--reading-size: 16px;--inset-top: var(--safe-area-inset-top, env(safe-area-inset-top, 0px));--inset-right: var(--safe-area-inset-right, env(safe-area-inset-right, 0px));--inset-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));--inset-left: var(--safe-area-inset-left, env(safe-area-inset-left, 0px));color-scheme:light;letter-spacing:0}*{box-sizing:border-box;letter-spacing:0}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:none;border:0}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--accent);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #dbad37;outline-offset:3px}button,a{touch-action:manipulation}p{line-height:1.75;overflow-wrap:anywhere}h1,h2,h3{word-break:keep-all;overflow-wrap:anywhere;margin:0;color:var(--ink)}h1{font-size:26px;line-height:1.45;font-weight:750}h2{font-size:19px;line-height:1.5;font-weight:700}h3{font-size:16px;line-height:1.5;font-weight:650}svg{flex-shrink:0}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:20px;height:20px;flex-shrink:0}input:not([type=checkbox]):not([type=radio]),textarea,select{width:100%;border:1px solid var(--line);background:var(--bg);border-radius:6px;padding:12px;min-height:46px;font-size:16px}textarea{resize:vertical;line-height:1.7}label{display:block;font-size:14px;line-height:1.6}label>input:not([type=checkbox]),label>textarea,label>select{margin-top:8px}fieldset{border:0;margin:24px 0;padding:0;min-width:0}form>label{margin-bottom:20px}.app-shell{max-width:760px;margin:0 auto;padding-left:var(--inset-left);padding-right:var(--inset-right);min-height:100dvh;background:var(--bg);box-shadow:0 0 0 1px var(--line)}.topbar{height:calc(64px + var(--inset-top));padding:var(--inset-top) 20px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--bg);gap:12px}[data-platform=android] .topbar{position:sticky;top:0;z-index:20}main:not(.with-tabs){padding-bottom:var(--inset-bottom)}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:750;font-size:20px}.brand-mark{display:grid;place-items:center;width:29px;height:29px;background:var(--accent);border-radius:7px;color:#fff;font-size:20px}.top-title{font-size:13px;color:var(--muted);flex:1}.icon{width:44px;height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:inherit}.icon:hover{background:var(--soft)}.page{padding:28px 24px 40px}.page-heading{margin-bottom:26px}.page-heading h1{margin:5px 0 8px}.page-heading p{margin:8px 0;color:var(--muted);font-size:14px}.meta{font-size:12px;color:var(--muted);line-height:1.6;display:inline-flex;gap:4px;align-items:center;overflow-wrap:anywhere}.with-tabs{padding-bottom:calc(76px + var(--inset-bottom))}.bottom-nav{position:fixed;bottom:0;width:calc(100% - var(--inset-left) - var(--inset-right));max-width:calc(760px - var(--inset-left) - var(--inset-right));height:calc(68px + var(--inset-bottom));padding-bottom:var(--inset-bottom);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--bg);border-top:1px solid var(--line);z-index:10}.bottom-nav a{color:var(--muted);display:flex;gap:5px;align-items:center;justify-content:center;flex-direction:column;font-size:11px}.bottom-nav .router-link-active{color:var(--accent);font-weight:700}.connection{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;padding:7px;background:#fff5d3;color:#725717}.primary,.button{min-height:48px;display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:12px 18px;border-radius:6px;font-weight:650;font-size:14px;text-align:center;line-height:1.6;white-space:normal}.primary{background:var(--accent);color:#fff}.primary:hover{filter:brightness(.94)}.button{background:var(--bg);border:1px solid var(--line);color:var(--ink)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:26px 0 8px}.section-heading a,.section-heading button{font-size:12px;flex-shrink:0}.section-title{margin:32px 0 16px}.daily-band{background:var(--soft);padding:23px 24px 24px;margin:0 -24px;border-top:1px solid #dbece1;border-bottom:1px solid #dbece1}.daily-heading{display:flex;align-items:center;justify-content:space-between;color:var(--accent);font-size:12px;font-weight:700;margin-bottom:12px}.daily-band h2{font-size:23px;max-width:500px}.daily-band p{font-size:14px;color:var(--muted);margin:10px 0 20px}.daily-band .primary{width:100%;justify-content:space-between}.progress-track{height:5px;background:var(--line);margin:20px 0;border-radius:3px;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--accent)}.review-strip{display:flex;align-items:center;gap:14px;padding:23px 0;border-bottom:1px solid var(--line);color:var(--ink)}.review-strip>svg:first-child{color:var(--accent)}.review-strip div{display:flex;flex-direction:column;gap:5px;flex:1;font-size:14px}.review-strip span{font-size:12px;color:var(--muted)}.content-row{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);min-height:100px;padding:16px 0}.row-link{display:flex;align-items:center;gap:14px;flex:1;min-width:0;color:var(--ink)}.row-link>div{flex:1;min-width:0}.row-link img{width:72px;height:72px;object-fit:cover;border-radius:6px;background:var(--soft)}.row-link p{font-size:12px;color:var(--muted);margin:5px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.row-link .meta{margin-top:5px}.knowledge-of-day{margin-top:24px}.search-field{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;padding-left:12px;background:var(--bg);margin:16px 0}.search-field input{border:0!important;min-width:0;background:none!important}.segmented{display:flex;border-bottom:1px solid var(--line);margin:18px 0}.segmented button{flex:1;min-height:46px;padding:10px 5px;font-size:13px;color:var(--muted);border-bottom:2px solid transparent}.segmented button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--accent);font-weight:700}.filter-row{margin:18px 0}.recent{display:flex;flex-wrap:wrap;gap:10px;font-size:12px}.recent button{text-decoration:underline}.topic-actions{display:flex;gap:12px;flex-wrap:wrap}.empty{padding:44px 8px;text-align:center;color:var(--muted)}.empty h2{font-size:17px}.empty p{font-size:14px}.empty a{display:inline-flex;margin-top:12px}.reading-tools{display:flex;justify-content:flex-end;margin-top:-12px}.topic-label{font-size:12px;color:var(--accent);margin:20px 0 12px;font-weight:600}.reading h1{font-size:26px;line-height:1.55;margin-bottom:14px}.lead{font-size:17px;color:var(--muted);margin:24px 0}.reading-image{display:block;width:100%;padding:0;margin:24px 0}.reading-image img{display:block;width:100%;max-height:520px;object-fit:contain;border-radius:6px}.image-credit{display:flex;flex-wrap:wrap;gap:6px 12px;margin:-12px 0 24px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.image-credit span{width:100%}.image-credit button{display:inline-flex;align-items:center;gap:5px;font-size:inherit}.prose{font-size:var(--reading-size);line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}.prose p{line-height:1.85;margin:26px 0}.sources{border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.sources h2{font-size:15px}.sources button{display:flex;gap:8px;align-items:center;text-align:left;font-size:13px;color:var(--accent);padding:12px 0}.reading-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.reading-actions .primary,.reading-actions .button{flex:1 1 160px;min-width:0;word-break:keep-all}.reading-actions .text-action{min-height:44px}.reading-actions svg{flex-shrink:0}.text-action{display:flex;align-items:center;gap:8px;font-size:13px;padding:12px 0;min-height:44px}.practice-progress{display:flex;justify-content:space-between;font-size:14px;color:var(--muted)}.practice h1{font-size:24px;line-height:1.65;margin:18px 0 30px}.practice>.primary{width:100%}.answer-option{padding:17px 14px;display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:6px;margin-bottom:12px;min-height:64px;font-size:16px}.answer-option input{margin:0!important}.answer-option span{flex:1}.answer-option.selected{background:var(--soft);border-color:var(--accent)}.answer-option.correct{border-color:var(--accent);background:var(--soft)}.answer-option.incorrect{border-color:#ad4444;background:#fff3f1}.explanation{padding:22px 0;margin-top:24px;border-top:1px solid var(--line)}.explanation h2{display:flex;align-items:center;gap:10px}.explanation p{font-size:var(--reading-size)}.explanation .primary{width:100%;margin-top:20px}.success{color:var(--accent)}.danger,.error{color:#ad3838}.action-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.score{display:flex;align-items:baseline;gap:12px;padding:25px 0}.score strong{font-size:64px;color:var(--accent)}.score span{color:var(--muted)}.results>.primary,.results>.button{width:100%;margin-top:12px}.result-row{display:flex;text-align:left;align-items:center;gap:12px;padding:18px 0;width:100%;line-height:1.65;font-size:15px}.result-list article{border-bottom:1px solid var(--line)}.review-heading{display:flex;align-items:center;gap:15px;padding:20px 0 24px}.review-heading strong{font-size:32px;flex:1}.review-heading strong span{font-size:13px;margin-left:8px;color:var(--muted)}.review-row{display:flex;gap:10px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.review-row>div{flex:1}.review-row p{margin:8px 0}.learning-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:20px 0 30px;border-bottom:1px solid var(--line);gap:14px}.learning-stats>div{display:flex;flex-direction:column;gap:8px}.learning-stats strong{font-size:32px}.learning-stats span{font-size:12px;color:var(--muted)}.menu-list{margin-top:20px}.menu-list a{display:flex;align-items:center;gap:14px;min-height:64px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink)}.menu-list a span{flex:1}.menu-list a>svg:last-child{margin-left:auto}.calendar-heading{display:flex;justify-content:space-between;align-items:center}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin:20px 0}.calendar span{text-align:center;font-size:11px;color:var(--muted);padding:8px 0}.calendar button{aspect-ratio:1;min-height:38px;border-radius:6px;font-size:13px}.calendar .learned{background:var(--soft);color:var(--accent);font-weight:700}.calendar .selected{outline:2px solid var(--accent);outline-offset:-2px}.history-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:16px 0;color:var(--ink);font-size:13px}.history-row>div{flex:1;min-width:0}.history-row strong{overflow-wrap:anywhere}.history-row p{margin:6px 0 0}.package-base{display:flex;gap:12px;align-items:center;background:var(--soft);padding:20px;margin:20px -24px}.package-base p{margin:6px 0;font-size:12px}.download-row{display:flex;align-items:center;border-bottom:1px solid var(--line);padding:24px 0;gap:8px}.download-row>div{flex:1;min-width:0}.download-row .meta{display:block}.about-details{display:grid;grid-template-columns:100px minmax(0,1fr);font-size:13px;gap:18px 10px;line-height:1.8;margin:32px 0}.about-details dt{color:var(--muted)}.about-details dd{margin:0;overflow-wrap:anywhere}.checkline{display:flex;align-items:center;gap:10px;min-height:48px;margin:10px 0}.font-control{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:15px 0;margin-bottom:32px}.preview{padding-top:16px}.preview h2{font-size:var(--reading-size)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:90px;border-bottom:1px solid var(--line);padding:20px 0;margin:12px 0}.toggle-row>div{flex:1}.toggle-row p{font-size:12px;color:var(--muted);margin:6px 0}.toggle-row input{width:24px;height:24px}.settings>.primary{width:100%;margin-top:20px}.settings>p{font-size:14px}.weekday-checks{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.weekday-checks label{display:flex;align-items:center;gap:4px}.menu-link{display:block;padding:20px 0;border-top:1px solid var(--line);margin-top:24px}.notice{padding:14px 20px;background:var(--soft);display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:13px;line-height:1.7}.notice button{color:var(--accent);display:flex;gap:5px;align-items:center;flex-shrink:0;min-height:40px}.feedback .primary{width:100%}.feedback-body{white-space:pre-wrap}.status-label{display:inline-block;padding:5px 10px;background:var(--soft);font-size:12px;color:var(--accent);border-radius:4px}.modal-backdrop{position:fixed;inset:0;background:#17281d80;display:flex;align-items:center;justify-content:center;z-index:100;padding:max(22px,var(--inset-top)) max(22px,var(--inset-right)) max(22px,var(--inset-bottom)) max(22px,var(--inset-left));overflow-y:auto}.modal{background:var(--bg);max-width:420px;width:100%;padding:28px;border-radius:8px;max-height:90dvh;overflow:auto}.modal h2{font-size:22px}.modal p{font-size:14px;color:var(--muted)}.modal>.primary{width:100%;margin:24px 0 16px}.modal>a{display:block;text-align:center;font-size:13px;min-height:44px;padding:10px}.image-modal{max-width:1000px}.image-modal img{display:block;width:100%;max-height:80dvh;object-fit:contain}.image-modal button{float:right;margin-bottom:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}:root[data-theme=dark]{--bg: #171c19;--ink: #edf2ed;--muted: #a6b5ab;--line: #354239;--accent: #7ed2a0;--soft: #25392e;color:var(--ink);background:#111612;color-scheme:dark}:root[data-theme=dark] .primary{color:#11231a}:root[data-theme=dark] .answer-option.incorrect{background:#412725}@media(prefers-color-scheme:dark){:root[data-theme=system]{--bg: #171c19;--ink: #edf2ed;--muted: #a6b5ab;--line: #354239;--accent: #7ed2a0;--soft: #25392e;color:var(--ink);background:#111612;color-scheme:dark}:root[data-theme=system] .primary{color:#11231a}}@media(min-width:700px){.page{padding:36px 42px 50px}.daily-band{padding:30px 42px;margin:0 -42px}.row-link img{width:88px;height:80px}.content-row{min-height:115px}.topbar{padding-left:36px;padding-right:36px}.reading h1{font-size:30px}.package-base{margin:20px -42px;padding:24px 42px}}@media(max-width:359px){.page{padding:24px 16px 36px}.daily-band{margin:0 -16px;padding:22px 16px}h1{font-size:23px}.daily-band h2{font-size:21px}.row-link img{width:54px;height:62px}.row-link{gap:10px}.section-heading h2{font-size:17px}.content-row .icon{width:38px;min-width:38px}.review-heading{gap:10px}.package-base{margin:20px -16px;padding:18px 16px}}.legal-document .prose h2{margin:28px 0 12px;font-size:20px;line-height:1.5;overflow-wrap:anywhere}.legal-document .prose p{white-space:pre-line;overflow-wrap:anywhere}.software-notices{margin-top:28px}.software-notices summary{cursor:pointer;padding:12px 0}.software-notices h3{font-size:17px;margin:24px 0 10px;overflow-wrap:anywhere}.software-notices p{white-space:pre-line;overflow-wrap:anywhere;line-height:1.7}.about-details dd{overflow-wrap:anywhere;min-width:0}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
