@font-face{font-family:Pretendard;src:url('../PretendardVariable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--bg:#FAF9F6;--surface:#fff;--text:#1E2126;--text-2:#5D636B;--accent:#3E5C76;--on-accent:#fff;--correct:#3F7A5A;--wrong:#A5513F;--select:#ECEFF1;--correct-bg:#ECF2EE;--wrong-bg:#F6EEEC;--chip:#F2F2F2;--line:#E4E4E5;--scrim:rgba(20,22,25,.40);--question:1.0625rem;color-scheme:light}
[data-theme=sepia]{--bg:#F4ECDC;--surface:#FAF4E8;--text:#3A3125;--text-2:#6B5E4C;--accent:#3F566B;--correct:#4A6E4B;--wrong:#984731;--select:#E7E4DC;--correct-bg:#E8E7D8;--wrong-bg:#F0E3D6;--chip:#EEE8DC;--line:#E3DDD1;--scrim:rgba(40,30,15,.35)}
[data-theme=dark]{--bg:#15171A;--surface:#1E2125;--text:#E4E1DA;--text-2:#9AA0A6;--accent:#8FB0CC;--on-accent:#15171A;--correct:#7DB596;--wrong:#D98C78;--select:#303840;--correct-bg:#2D3937;--wrong-bg:#3C3232;--chip:#2A2D30;--line:#36383B;--scrim:rgba(0,0,0,.55);color-scheme:dark}
[data-font=s]{--question:.9375rem}[data-font=l]{--question:1.1875rem}[data-font=xl]{--question:1.3125rem}
*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Pretendard,system-ui,sans-serif;font-size:100%;-webkit-text-size-adjust:100%}body{margin:0;font-size:.9375rem;line-height:1.47}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{border:0;background:none;color:var(--accent);min-height:48px;min-width:48px;padding:12px;cursor:pointer;text-align:start;overflow-wrap:anywhere}button:active{background:var(--select)}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent);overflow-wrap:anywhere}img{max-width:100%}h1{font-size:1.25rem;line-height:1.4;font-weight:600;margin:0}h2{font-size:.9375rem;line-height:1.47;font-weight:600;margin:24px 0 8px}p{margin:8px 0 16px;overflow-wrap:anywhere}small,.muted{font-size:.8125rem;line-height:1.4;color:var(--text-2)}.page{max-width:680px;margin:0 auto;padding:24px 16px 100px;min-height:100dvh}.page.solve{padding:0 16px 80px}.topbar{min-height:56px;display:flex;align-items:center;gap:4px;position:sticky;top:0;background:var(--bg);z-index:3;margin:-24px -16px 16px;padding:0 8px}.topbar h1{flex:1;min-width:0}.topbar button{flex-shrink:0}.back{font-size:0}.back:before{content:'←';font-size:1.25rem}.solve-top{margin:0 -16px 0;justify-content:space-between}.solve-top>button:nth-child(2){min-width:0;flex:1;text-align:center;padding:8px 0}.solve-top>button:first-child{font-size:0}.solve-top>button:first-child:before{content:'←';font-size:1.25rem}.timer{font-size:.8125rem;color:var(--text-2);padding:8px 2px;font-variant-numeric:tabular-nums}.list-row{width:100%;display:block;padding:12px 0;min-height:56px;color:var(--text);border-bottom:1px solid var(--line)}.list-row>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center}.list-row small{grid-column:1;grid-row:2;display:block}.list-row .chevron{grid-column:2;grid-row:1/3;color:var(--text-2)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:4;display:flex;justify-content:center;background:var(--bg);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{width:25%;max-width:170px;min-height:64px;text-align:center;color:var(--text-2);padding:4px}.bottom-nav button>span{display:block}.bottom-nav button>span:first-child{font-size:1.5rem;line-height:28px;max-width:64px;border-radius:999px;margin:auto}.bottom-nav button>span:last-child{font-size:.75rem;line-height:1.34}.bottom-nav button[aria-current=page]{color:var(--accent)}.bottom-nav button[aria-current=page]>span:first-child{background:var(--select)}.segments{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 16px}.segments button{border-radius:999px;flex:0 1 auto;padding:8px 12px;min-height:48px}.segments button[aria-pressed=true]{background:var(--select)}.continue-card{position:relative;display:block;width:100%;background:var(--surface);border-radius:12px;padding:16px;color:var(--text);min-height:150px}.continue-card h2{margin:0 0 12px;padding-right:144px}.continue-card .list-row{border:0}.continue-lines{min-height:44px;white-space:pre-line;line-height:22px;overflow:hidden}.card-cta{display:block;text-align:end;color:var(--accent);margin-top:12px}.today-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px;flex-wrap:wrap}.today-row p{margin:0}.dino-band{height:96px;position:relative}.dino{position:absolute;right:8px;padding:0;min-width:0;min-height:0;z-index:1}.dino img{display:block;width:100%;height:100%;pointer-events:none}.dino.greet{width:88px;height:88px;bottom:0}.dino.rest{width:136px;height:64px;bottom:-12px;clip-path:inset(0 0 12px 0)}.bubble{position:absolute;left:0;right:108px;bottom:24px;min-height:52px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);line-height:22px;display:flex;align-items:center}.bubble:after{content:'';position:absolute;right:-7px;bottom:12px;width:12px;height:12px;transform:rotate(45deg);border-right:1px solid var(--line);border-top:1px solid var(--line);background:var(--surface)}.banner{display:flex;align-items:center;gap:4px;border-radius:8px;background:var(--chip);padding:8px;margin-bottom:16px;font-size:.8125rem}.banner>span{flex:1;min-width:0}.banner button{flex-shrink:0;padding:8px}.source-line{display:flex;align-items:center;gap:4px;color:var(--text-2);font-size:.8125rem;min-height:48px}.source-line>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.source-line button{flex-shrink:0}.question{font-size:var(--question);line-height:1.7;overflow-wrap:anywhere}.question p{margin:16px 0}.passage{border:1px solid var(--line);padding:12px;border-radius:8px;margin:16px 0}.passage p{margin:4px 0}.choice{border-left:2px solid transparent;border-radius:8px;margin:4px 0}.choice>button{width:100%;font-size:inherit;line-height:inherit;color:var(--text);display:flex;gap:8px;padding:12px 8px;align-items:flex-start}.choice-no{flex-shrink:0}.choice-blocks{flex:1;min-width:0;display:block}.choice-blocks p{margin:0}.choice-result{flex:0 0 18px}.choice.picked{background:var(--select)}.choice.correct{background:var(--correct-bg)}.choice.correct .choice-result,.choice.right-answer .choice-result{color:var(--correct)}.choice.wrong{background:var(--wrong-bg)}.choice.wrong .choice-result{color:var(--wrong)}.choice.right-answer{border-left-color:var(--correct)}.answer-note{font-size:.8125rem;line-height:24px;height:24px;color:var(--text-2);white-space:nowrap;overflow:hidden}.stepbar{position:fixed;bottom:0;left:0;right:0;z-index:3;display:flex;justify-content:center;background:var(--bg);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line)}.stepbar button{width:50%;max-width:340px;min-height:56px}.stepbar button:last-child{text-align:end}.image-wrap{display:block;position:relative}.question-image{width:min(100%,calc(var(--image-width)*var(--image-scale,1)));height:auto;display:block;background:#fff;margin:8px 0}.image-zoom{display:block;padding:0 8px;font-size:.875rem;min-height:48px;text-align:end;margin-left:auto}[data-font=s]{--image-scale:.8824}[data-font=l]{--image-scale:1.1176}[data-font=xl]{--image-scale:1.2353}.backdrop{position:fixed;inset:0;z-index:20;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center}.sheet,.dialog{background:var(--surface);width:100%;max-width:680px;max-height:85dvh;overflow:auto;overscroll-behavior:contain;padding:0 16px 16px;border-radius:16px 16px 0 0}.sheet.large{height:85dvh}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:0;background:var(--surface);z-index:1}.modal-head h2{margin:16px 0;min-width:0}.modal-head button{flex-shrink:0}.modal-content>button{display:block;width:100%}.dialog{margin:auto 16px;width:calc(100% - 32px);max-width:440px;border-radius:16px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.dialog-actions button{flex:0 1 auto}.omr-row{display:grid;grid-template-columns:32px repeat(5,minmax(44px,1fr)) minmax(24px,1fr);align-items:center;min-width:280px;font-variant-numeric:tabular-nums}.omr-row>button{min-width:0;min-height:44px;text-align:center;padding:4px;border-radius:50%}.omr-row>button:first-child{border-radius:0}.omr-row.current{background:var(--select)}.omr-row button.filled{background:var(--accent);color:var(--on-accent)}.omr-row button.answer{outline:2px solid var(--correct);outline-offset:-4px}.sheet-submit{position:sticky;bottom:-16px;background:var(--surface);text-align:end;width:100%}.display{font-size:2rem;line-height:1.25;font-weight:600;margin:32px 0 8px}.result-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));font-variant-numeric:tabular-nums}.result-grid button{padding:8px 2px;text-align:center}.box-filters{position:sticky;top:0;z-index:2;background:var(--bg);padding:8px 0}.box-filters .segments{margin-bottom:4px}.item-row{display:flex;align-items:center;gap:4px}.item-row>.list-row{flex:1;min-width:0}.item-row>.list-row small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.item-row>span{font-size:.8125rem;white-space:nowrap;color:var(--text-2)}.stat-line{display:grid;grid-template-columns:minmax(0,1fr) auto 3.5em;gap:8px;align-items:center;min-height:48px;font-variant-numeric:tabular-nums}.stat-line span:not(:first-child){text-align:end}details>summary{list-style:none;cursor:pointer}details>summary .stat-line>span:first-child:after{content:' ▾';color:var(--text-2)}details>.stat-line{padding-left:12px;color:var(--text-2);font-size:.8125rem}select{display:block;max-width:100%;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;min-height:48px;padding:8px}.empty{padding:48px 16px;text-align:center;color:var(--text-2)}.font-preview{height:180px;overflow:auto;background:var(--bg);padding:12px;border-radius:8px}.zoom-stage{width:100%;height:calc(100dvh - 80px);display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}.zoom-stage img{max-width:100%;max-height:100%;object-fit:contain;user-select:none}.sheet.image-viewer{height:100dvh;max-height:100dvh;max-width:none;border-radius:0;background:var(--bg)}.install-icon{width:96px;display:block;margin:16px auto}#snackbar:empty{display:none}#snackbar{position:fixed;z-index:30;left:16px;right:16px;bottom:calc(80px + env(safe-area-inset-bottom));max-width:648px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;background:var(--surface);border:1px solid var(--line);border-radius:8px}#snackbar>span{min-width:0}#snackbar button{flex-shrink:0}@media(prefers-reduced-motion:no-preference){.page{animation:appear 180ms cubic-bezier(.2,0,0,1)}.sheet{animation:slide 200ms cubic-bezier(.2,0,0,1)}.bubble{animation:appear 150ms}.dino{transition:opacity 200ms}@keyframes appear{from{opacity:.5}to{opacity:1}}@keyframes slide{from{transform:translateY(24px)}to{transform:translateY(0)}}}

body{word-break:keep-all}.image-open{display:block;width:100%;padding:0;min-width:0}.image-open img{margin:8px 0}.bubble{color:var(--text)}

:root{--question-weight:500}[data-font-weight='400']{--question-weight:400}[data-font-weight='500']{--question-weight:500}.question{font-weight:var(--question-weight)}

.page,.sheet{animation:none!important}.page{position:relative;z-index:1;background:var(--bg)}.page-layer,.question-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.question-layer{z-index:2}.question{touch-action:pan-y}body{overflow-x:clip}

.modal-content>button[aria-pressed='true']{background:var(--select);border-radius:999px}
