:root{color-scheme:light;font-family:Pretendard,SUIT,Apple SD Gothic Neo,Noto Sans KR,sans-serif;line-height:1.5;font-weight:400;background:radial-gradient(circle at top left,rgba(205,155,95,.18),transparent 28%),radial-gradient(circle at top right,rgba(33,67,59,.1),transparent 24%),linear-gradient(180deg,#f6f1e8,#eee3d1);color:#1f2329;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #f6f1e8;--surface: rgba(255, 252, 246, .88);--surface-strong: rgba(255, 249, 240, .96);--surface-tint: rgba(244, 237, 227, .9);--line: rgba(81, 70, 58, .12);--text: #1f2329;--muted: #616975;--brand: #21433b;--brand-strong: #18342d;--brand-soft: rgba(33, 67, 59, .1);--accent: #b56c50;--accent-soft: rgba(181, 108, 80, .14);--shadow: 0 22px 48px rgba(54, 44, 35, .12);--shadow-soft: 0 14px 30px rgba(54, 44, 35, .08);--radius-xl: 30px;--radius-lg: 24px;--radius-md: 18px;--radius-sm: 14px}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;color:var(--text);background:var(--bg)}body.body--locked{overflow:hidden}button,input,textarea{font:inherit}button{color:inherit}button:disabled{opacity:.48;cursor:not-allowed}#app{min-height:100vh}.app-shell{width:min(100%,780px);margin:0 auto;padding:18px 16px 36px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.brand-stack{display:grid;gap:4px}.brand-kicker{margin:0;color:var(--accent);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.brand-name{font-size:clamp(1.2rem,5vw,1.8rem);line-height:1.12}.brand-subcopy{margin:0;max-width:34rem;color:var(--muted);font-size:.92rem}.menu-button{min-width:92px;min-height:52px;padding:0 16px;border:1px solid var(--line);border-radius:18px;background:#fffffff2;box-shadow:var(--shadow-soft);color:var(--brand);font-weight:700;cursor:pointer}.menu-button:hover,.menu-button:focus-visible{transform:translateY(-1px);border-color:#21433b38;box-shadow:0 14px 28px #362c231a;outline:none}.search-shell,.utility-deck,.mindmap-shell{margin-top:18px}.search-shell{padding:18px;border:1px solid rgba(255,255,255,.46);border-radius:var(--radius-xl);background:linear-gradient(180deg,#fffcf7e6,#f9f3eaf5),var(--surface);box-shadow:var(--shadow-soft)}.search-shell__header,.utility-hub-header{display:grid;gap:8px}.search-shell__header h2,.utility-hub-header h2,.utility-card-header h3,.mindmap-center strong,.utility-panel h3{margin:0}.search-form{display:grid;gap:10px;margin-top:16px}.search-field{position:relative;display:grid;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:22px;background:var(--surface-strong)}.field-label{color:var(--muted);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase}.search-field input{width:100%;min-height:48px;padding:13px 110px 13px 2px;border:0;background:transparent;color:var(--text);font-size:1rem}.search-field input:focus-visible{outline:none}.search-submit{position:absolute;right:14px;bottom:14px;min-width:76px;min-height:42px;padding:0 14px;border:1px solid rgba(33,67,59,.12);border-radius:14px;background:#21433b1a;color:var(--brand);font-weight:700;cursor:pointer}.search-submit:hover,.search-submit:focus-visible{border-color:#21433b3d;background:#21433b29;outline:none}.search-notice{margin:12px 0 0;color:var(--muted);font-size:.9rem}.search-result-card,.utility-hub-card,.mindmap-card{border:1px solid var(--line);border-radius:var(--radius-xl);background:linear-gradient(180deg,#fffcf7f5,#f9f3eaf0),var(--surface);box-shadow:var(--shadow-soft)}.search-result-card{margin-top:14px;padding:16px}.utility-card-header{display:flex;justify-content:space-between;gap:12px;align-items:start}.search-result-list{display:flex;gap:10px;margin-top:14px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:2px}.search-result-button{flex:0 0 clamp(210px,34vw,250px);max-width:min(100%,250px);padding:14px;border:1px solid rgba(81,70,58,.08);border-radius:18px;text-align:left;cursor:pointer;display:grid;gap:8px}.search-result-button__chapter{color:var(--accent);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}.search-result-button strong{font-size:.94rem;line-height:1.35}.search-result-button span:last-child{color:var(--muted);font-size:.82rem}.note-utility-button{background:linear-gradient(180deg,#fbf5ddf5,#f6edcdf5)}.utility-hub-card{padding:16px}.utility-hub-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.utility-hub-pill{min-height:42px;padding:9px 14px;border:1px solid rgba(81,70,58,.08);border-radius:999px;background:#ffffffe6;display:inline-grid;gap:2px;cursor:pointer;text-align:left}.utility-hub-pill strong{font-size:.92rem}.utility-hub-pill span{color:var(--muted);font-size:.78rem}.utility-hub-pill.is-active{border-color:#21433b2e;background:#21433b14}.utility-panel-shell{margin-top:14px}.utility-panel{display:grid;gap:14px;padding:16px;border-radius:22px;background:#ffffffd1;border:1px solid rgba(81,70,58,.08)}.utility-panel p,.utility-panel h3{margin:0}.utility-panel__eyebrow,.mindmap-center__eyebrow{color:var(--accent);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.utility-panel__actions,.utility-panel__chips{display:flex;flex-wrap:wrap;gap:8px}.utility-panel__chip{min-height:40px;padding:0 12px;border:1px solid rgba(81,70,58,.08);border-radius:999px;background:#f6f0e6eb;color:var(--text);cursor:pointer}.scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.scope-stat{padding:12px;border-radius:18px;background:#f8f4ecb3;border:1px solid rgba(81,70,58,.08);display:grid;gap:4px}.scope-stat span{color:var(--muted);font-size:.82rem}.scope-stat strong{font-size:1rem}.mindmap-card{position:relative;padding:26px 22px;overflow:hidden}.mindmap-card:before{content:"";position:absolute;inset:18px auto auto 18px;width:180px;height:180px;border-radius:999px;background:radial-gradient(circle,rgba(33,67,59,.08),transparent 72%);pointer-events:none}.mindmap-center{display:grid;gap:6px;padding:18px;border-radius:28px;background:linear-gradient(145deg,#18342df5,#21433beb);color:#f8f4ea;box-shadow:var(--shadow)}.mindmap-center__eyebrow{color:#f8f4ecb8}.mindmap-center strong{font-size:clamp(1.1rem,4vw,1.6rem)}.mindmap-center span:last-child{color:#f8f4ecc2;font-size:.9rem}.mindmap-grid{display:grid;gap:12px;margin-top:16px}.mindmap-branch{display:grid;gap:10px;padding:16px;border-radius:22px;background:#ffffffbd;border:1px solid rgba(81,70,58,.08)}.mindmap-branch__header{display:flex;justify-content:space-between;gap:12px;align-items:start}.mindmap-branch__header span{color:var(--muted);font-size:.82rem}.mindmap-node-list{display:flex;flex-wrap:wrap;gap:8px}.mindmap-node{min-height:40px;padding:9px 12px;border:1px solid rgba(81,70,58,.08);border-radius:999px;background:#efe1c785;color:var(--text);cursor:pointer;text-align:left}.mindmap-node--ghost{background:#ffffffbd;color:var(--muted)}.hero{position:relative;overflow:hidden;padding:22px;border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-xl);background:radial-gradient(circle at top right,rgba(255,248,235,.12),transparent 28%),linear-gradient(145deg,#18342dfa,#21433bf0),var(--surface);color:#f8f4ec;box-shadow:var(--shadow)}.hero:before{content:"";position:absolute;inset:auto -10% -28% 40%;height:180px;background:radial-gradient(circle,rgba(181,108,80,.22),transparent 60%);pointer-events:none}.hero__topline{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.hero h1{margin:10px 0 12px;font-size:clamp(2.15rem,8vw,3rem);line-height:1}.hero__body{position:relative;z-index:1;display:grid;gap:18px;margin-top:14px}.hero__copy{display:grid;gap:0}.hero__eyebrow,.subject-card__eyebrow,.modal-header__eyebrow{margin:0;font-size:.84rem;letter-spacing:.04em;text-transform:uppercase;opacity:.8}.hero__utility{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(248,244,236,.16);background:#f8f4ec14;color:#f8f4ece6;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.hero__summary{margin:0;max-width:32rem;color:#f8f4ecd6;font-size:1rem}.hero__microcopy{margin:0;max-width:33rem;color:#f8f4ecb8;font-size:.9rem}.hero__panel{position:relative;z-index:1;padding:14px;border-radius:22px;border:1px solid rgba(248,244,236,.14);background:#f8f4ec14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero__panel-label{margin:0 0 12px;color:#f8f4ecb8;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.hero__frequent-panel{margin-top:14px;padding-top:14px;border-top:1px solid rgba(248,244,236,.12)}.hero__frequent-title{margin:0;color:#f8f4ecc7;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hero-stat{padding:12px;border-radius:18px;background:#f8f4ec1f;border:1px solid rgba(248,244,236,.12)}.hero-stat strong{display:block;margin-top:4px;font-size:1.05rem}.hero-stat__label{color:#f8f4ecb8;font-size:.82rem}.hero__subject-rail{position:relative;z-index:1;display:flex;gap:10px;margin-top:18px;overflow-x:auto;padding-bottom:2px}.subject-jump{min-width:150px;padding:12px 14px;border-radius:20px;border:1px solid rgba(248,244,236,.14);background:#f8f4ec14;color:inherit;text-decoration:none;display:grid;gap:4px}.subject-jump:hover,.subject-jump:focus-visible{border-color:#f8f4ec3d;background:#f8f4ec1f;outline:none}.subject-jump strong{font-size:.96rem}.subject-jump__label{color:#f8f4ecb8;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase}.hero__rail-note{position:relative;z-index:1;margin:14px 0 0;color:#f8f4ecb8;font-size:.88rem}.subject-stage-banner{display:flex;justify-content:center;width:100%;margin-top:14px}.subject-stage-banner p{margin:0;min-height:48px;padding:12px 18px;border-radius:18px;background:#fffffff0;border:1px solid rgba(81,70,58,.08);box-shadow:var(--shadow-soft);font-size:.96rem;font-weight:800}.section-shell{margin-top:18px;padding:18px;border:1px solid rgba(255,255,255,.46);border-radius:var(--radius-xl);background:linear-gradient(180deg,#fffcf7d1,#f9f3eaeb),var(--surface);box-shadow:var(--shadow-soft)}.section-shell__header{display:grid;gap:8px}.section-shell__eyebrow{margin:0;color:var(--accent);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.section-shell__header h2{margin:0;font-size:clamp(1.25rem,4vw,1.55rem)}.section-shell__summary{margin:0;color:var(--muted);font-size:.92rem}.version-heading{margin:18px 0 0}.version-heading p{margin:0;min-height:56px;display:flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:22px;background:#ffffffeb;border:1px solid rgba(81,70,58,.08);box-shadow:var(--shadow-soft);font-size:clamp(1.1rem,2vw,1.4rem);font-weight:900}.subject-list{margin-top:18px;display:grid;gap:16px}.dashboard-stack{margin-top:18px;display:grid;gap:14px}.dashboard-card{padding:18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fffcf7f5,#faf4ebeb),var(--surface);box-shadow:var(--shadow-soft)}.dashboard-card__header,.dashboard-card__subhead,.blank-card__header,.footer-tool__header,.note-card__foot{display:flex;justify-content:space-between;gap:12px}.dashboard-card__header{align-items:start}.dashboard-card__eyebrow{margin:0;color:var(--accent);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.dashboard-card__header h2,.dashboard-card__subhead strong,.blank-card__header h3{margin:4px 0 0}.dashboard-count{flex-shrink:0;padding:8px 12px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:.84rem;border:1px solid rgba(33,67,59,.08)}.dashboard-card__empty,.quiz-meta,.quiz-answer--muted,.footer-tool__header p,.blank-card__header p,.note-card__foot{margin:0;color:var(--muted)}.dashboard-card__subhead{align-items:center;margin-top:14px;color:var(--muted);font-size:.86rem}.queue-list{margin-top:14px;display:grid;gap:10px}.queue-list--compact{margin-top:10px}.queue-note{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);text-align:left;cursor:pointer;display:grid;gap:4px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.queue-note:hover,.queue-note:focus-visible{transform:translateY(-1px);border-color:#21433b3d;box-shadow:0 12px 24px #21433b14;outline:none}.queue-note strong{font-size:.94rem}.queue-note span{color:var(--muted);font-size:.82rem}.quiz-meta{margin-top:14px;font-size:.86rem}.quiz-question,.quiz-answer{margin:10px 0 0;padding:14px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface-strong)}.quiz-question{font-weight:600}.note-card,.cornell-card,.self-check-card,.summary-card,.blank-card,.answer-lock-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.subject-card{position:relative;overflow:visible;padding:0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;scroll-margin-top:20px}.subject-card:before{display:none}.subject-card__header,.chapter-card__header,.note-card__top,.modal-header,.modal-meta{display:flex;justify-content:space-between;gap:12px}.subject-card__header,.chapter-card__header{align-items:start}.subject-card__header h2,.chapter-card__header h3,.modal-header h2{margin:6px 0 0}.subject-card__scope{margin:8px 0 0;color:var(--brand);font-size:.92rem;font-weight:600}.subject-card__description,.chapter-card__header p,.note-card__summary,.modal-footer p{margin:0;color:var(--muted)}.status-pill,.chapter-count,.weight-pill,.chip,.view-tab,.secondary-button,.icon-button{border-radius:999px}.status-pill,.chapter-count,.weight-pill{flex-shrink:0;padding:6px 10px;border:1px solid var(--line);font-size:.82rem;background:var(--surface-strong)}.status-pill{background:var(--brand-soft);border-color:#21433b24;color:var(--brand)}.chapter-count{background:var(--accent-soft);border-color:#b56c5024;color:#8e5039}.chip-row,.subject-meta{display:flex;flex-wrap:wrap;gap:8px}.chip-row{margin-top:14px}.chip{padding:6px 10px;background:var(--accent-soft);color:#8e5039;font-size:.82rem}.chip--soft{background:var(--brand-soft);color:var(--brand)}.chip-row--hero{margin-top:10px}.chip--hero{background:#f8f4ec1f;color:#fff8ef}.subject-meta{margin-top:12px;color:var(--muted);font-size:.87rem}.chapter-list,.note-list,.self-check-list,.stack-list{display:grid;gap:12px}.chapter-list{margin-top:18px;gap:18px}.chapter-card{padding:18px 0 0;border:0;border-top:1px solid rgba(81,70,58,.12);border-radius:0;background:transparent;box-shadow:none}.chapter-card:first-child{padding-top:0;border-top:0}.note-list{margin-top:14px}.note-card{position:relative;overflow:hidden;width:100%;padding:16px;text-align:left;cursor:pointer;background:linear-gradient(180deg,#fbf5ddf0,#f6edcdf5),var(--surface-strong);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.note-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--brand),var(--accent))}.note-card:hover,.note-card:focus-visible{transform:translateY(-2px);border-color:#21433b3d;box-shadow:0 18px 34px #362c231f;outline:none}.note-card__title{display:block;margin-top:12px;font-size:1rem}.note-card__summary{margin-top:10px;font-size:.92rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.note-card__keywords{margin-top:12px;padding:0}.note-card__foot{margin-top:12px;padding-top:12px;border-top:1px solid rgba(81,70,58,.08);font-size:.82rem}.note-card__pages{color:var(--muted);font-size:.82rem}.weight-pill--high{background:#9a242414;color:#8b1e1e}.weight-pill--mid{background:#ad7f1c1f;color:#8a6310}.weight-pill--low{background:#153f5214;color:var(--brand)}#modal-root{position:relative;z-index:20}.modal-layer{position:fixed;inset:0;display:grid;place-items:end center;padding:8px}.modal-backdrop{position:absolute;inset:0;border:0;background:#121d228c}.modal-panel{position:relative;width:min(100%,860px);height:min(96dvh,980px);max-height:calc(100dvh - 16px);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-xl);background:linear-gradient(180deg,#fffcf7fc,#fbf4eafa),var(--surface-strong);box-shadow:0 28px 60px #121d2247;overflow-y:auto;overflow-x:hidden}.modal-header,.modal-meta,.modal-footer,.view-tabs{padding-left:18px;padding-right:18px}.modal-header{align-items:start;padding-top:18px;padding-bottom:16px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fffbf4d6,#fcf6eefa)}.modal-header h2{font-size:1.2rem;line-height:1.35}.modal-header__copy{display:grid;gap:6px}.modal-meta{flex-wrap:wrap;gap:8px;padding-top:10px;padding-bottom:12px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.86rem}.modal-meta span{padding:7px 10px;border-radius:999px;background:#fff9f0f0;border:1px solid rgba(81,70,58,.08)}.view-tabs{display:none}.view-tab,.secondary-button,.icon-button{border:1px solid var(--line);background:var(--surface-strong)}.view-tab{padding:10px 14px;white-space:nowrap;cursor:pointer}.view-tab--active{background:var(--brand);border-color:var(--brand);color:#fff8ef}.modal-body{min-height:auto;overflow:visible;padding:18px;display:grid;gap:14px;background:#fdf7efb8}.modal-section{display:grid;gap:10px}.modal-section-card{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#fffcf7f5,#fcf6eef0),var(--surface-strong);box-shadow:var(--shadow-soft)}.modal-section-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-section-card__copy{display:grid;gap:6px}.modal-section-card__copy h3,.modal-detail-block h4,.cornell-card h4,.answer-lock-card h4{margin:0;font-size:1rem}.modal-section-card__copy p{margin:0;color:var(--muted);font-size:.88rem}.modal-section-card__body,.modal-detail-stack{display:grid;gap:12px}.modal-detail-block{display:grid;gap:10px;padding:14px;border:1px solid rgba(81,70,58,.08);border-radius:18px;background:#ffffffb8}.modal-section-toggle{min-width:78px;justify-content:center}.blank-card,.answer-lock-card{padding:14px}.blank-card,.cornell-card,.summary-card,.self-check-card,.answer-lock-card{background:linear-gradient(180deg,#fffcf7fa,#fcf6eef5),var(--surface-strong)}.blank-card__textarea{width:100%;min-height:120px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-strong);color:var(--text);resize:vertical}.blank-card__textarea:focus-visible{outline:2px solid rgba(33,67,59,.18);border-color:#21433b3d}.answer-lock-card h3,.answer-lock-card p{margin:0}.modal-section h3,.cornell-card h3{margin:0;font-size:.98rem}.stack-list{margin:0;padding-left:18px}.stack-list li{padding-left:2px}.cornell-grid{display:grid;gap:12px}.cornell-card,.summary-card,.self-check-card{padding:14px}.summary-card{margin:0}.self-check-card{display:grid;gap:10px}.self-check-card__question{margin:0;font-weight:600}.inline-actions,.confidence-row,.footer-tools{display:flex;flex-wrap:wrap;gap:8px}.secondary-button,.icon-button{width:fit-content;padding:9px 12px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.secondary-button:hover,.secondary-button:focus-visible,.icon-button:hover,.icon-button:focus-visible{transform:translateY(-1px);border-color:#21433b3d;box-shadow:0 10px 20px #362c2314;outline:none}.icon-button{width:48px;min-width:48px;height:48px;padding:0;display:inline-grid;place-items:center;border-radius:999px;background:#fffffffa;color:#111;box-shadow:var(--shadow-soft);font-size:0}.icon-button:before{content:"×";font-size:1.6rem;line-height:1;font-weight:700}.secondary-button--active{background:var(--brand);border-color:var(--brand);color:#fff8ef}.confidence-button{min-width:74px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:var(--surface-strong);color:var(--text);display:grid;justify-items:center;gap:2px;cursor:pointer}.confidence-button span{font-weight:700}.confidence-button small{color:var(--muted)}.confidence-button--active{border-color:var(--brand);background:var(--brand-soft)}.self-check-card__answer{display:none;margin:0;color:var(--text)}.modal-footer{padding-top:0;padding-bottom:calc(14px + env(safe-area-inset-bottom));background:transparent}.footer-tools{flex-direction:column;padding-top:14px;border-top:1px solid var(--line)}.footer-tool{display:grid;gap:10px}.footer-tool__header strong{display:block;margin-bottom:2px}@media(min-width:720px){.app-shell{padding-top:28px;padding-bottom:48px}.search-shell__header,.utility-hub-header{grid-template-columns:minmax(0,1fr) minmax(260px,.95fr);align-items:end}.mindmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:28px}.hero__body{grid-template-columns:minmax(0,1.25fr) minmax(260px,.85fr);align-items:end}.section-shell{padding:22px}.section-shell__header{grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);align-items:end}.dashboard-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.cornell-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr)}}@media(max-width:719px){.topbar{align-items:stretch}.menu-button{min-width:84px}.search-shell,.utility-hub-card,.mindmap-card,.section-shell,.hero,.dashboard-card{border-radius:24px}.modal-layer{padding:0}.modal-panel{width:100%;height:100dvh;max-height:100dvh;border-radius:28px 28px 0 0}.hero__stats,.scope-grid{grid-template-columns:1fr}.subject-jump{min-width:180px}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}#modal-root{position:relative;z-index:30}.note-modal-layer{position:fixed;inset:0;z-index:30}.note-modal-backdrop{position:absolute;inset:0;border:0;background:#171b2157}.note-modal{position:absolute;inset:min(28px,4vh) min(24px,4vw);max-width:980px;height:min(920px,calc(100vh - 56px));height:min(920px,calc(100svh - 56px));height:min(920px,calc(100dvh - 56px));margin:auto;display:flex;flex-direction:column;gap:14px;min-height:0;padding:22px;border-radius:28px;border:1px solid rgba(33,67,59,.14);background:#fffaf3fa;box-shadow:0 24px 80px #171b212e;overflow:hidden;animation:modal-fade-in .28s ease both}.note-modal-controls{position:absolute;top:14px;right:14px;z-index:2;display:inline-flex;align-items:center;gap:8px}.note-modal-speech,.note-modal-rate,.note-modal-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border:1px solid rgba(33,67,59,.1);border-radius:15px;background:#fffffff5;box-shadow:var(--shadow-soft);color:#1f2329;cursor:pointer;font-weight:700}.note-modal-close{width:44px;min-width:44px;border-radius:999px;font-size:1.45rem;line-height:1}.note-modal-close span{transform:translateY(-1px)}.note-modal-speech.is-active,.note-modal-rate.is-active{background:#21433bf0;border-color:#21433bf0;color:#f8f4ea}.note-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-right:180px}.note-kicker{margin:0;color:var(--accent);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.note-modal-header h3{margin:6px 0 0;font-size:clamp(1.3rem,2.2vw,2rem);line-height:1.2}.mode-inline.is-modal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:0;padding:6px;border:1px solid rgba(33,67,59,.08);border-radius:20px;background:#f6f0e6eb;box-shadow:inset 0 1px #ffffffb3}.mode-inline.is-modal .mode-button{min-height:40px;padding:8px 10px;font-size:.82rem;border-radius:14px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer}.mode-inline.is-modal .mode-button.is-active{background:#21433bf0;border-color:#21433bf0;color:#f8f4ea}.note-modal-toolbar{display:grid;grid-template-columns:max-content max-content minmax(0,1fr) minmax(0,1fr);gap:6px;align-items:center}.note-toolbar-chip,.note-action{display:flex;align-items:center;justify-content:center;min-width:0;min-height:36px;padding:6px 10px;border-radius:13px;font-size:.78rem;line-height:1.2;text-align:center;border:1px solid rgba(33,67,59,.08)}.note-toolbar-chip{background:#ffffffbd;color:var(--muted);white-space:nowrap}.note-toolbar-chip--weight{color:var(--brand);font-weight:700}.note-action{background:#fffffff5;color:var(--text);cursor:pointer;box-shadow:var(--shadow-soft);font-weight:700}.note-action:hover,.note-action:focus-visible,.note-modal-speech:hover,.note-modal-speech:focus-visible,.note-modal-rate:hover,.note-modal-rate:focus-visible,.note-modal-close:hover,.note-modal-close:focus-visible,.note-nav-button:hover,.note-nav-button:focus-visible,.practice-mode-button:hover,.practice-mode-button:focus-visible,.note-modal-study-toggle:hover,.note-modal-study-toggle:focus-visible{outline:none;transform:translateY(-1px);border-color:#21433b33;box-shadow:0 14px 28px #362c231a}.note-action.is-active,.note-modal-study-toggle.is-open,.practice-mode-button.is-active{background:#f9f2def5;color:var(--brand-strong);border-color:#b56c5029}.note-action--soft{background:#f6f0e6eb;color:var(--muted)}.note-modal-body{flex:1 1 auto;display:flex;flex-direction:column;gap:14px;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-right:4px}.note-modal-body>*{flex:0 0 auto}.note-modal-content-slot,.mode-panel,.quiz-grid{display:grid;gap:12px}.mode-panel-card,.cornell-card,.memory-aid-card,.recall-card,.practice-lab-card,.review-coach-card,.self-check-card,.answer-lock-card{display:grid;gap:12px;padding:15px 16px;border-radius:18px;border:1px solid rgba(33,67,59,.08);background:#ffffffc2}.mode-panel-card,.answer-lock-card,.recall-card,.review-coach-card{background:linear-gradient(180deg,#fffbf3fa,#f7efdef5)}.section-label{margin:0;color:var(--accent);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}.mode-panel-card h3,.cornell-card h3,.answer-lock-card h3,.self-check-card h3{margin:0;font-size:1rem}.summary-card{margin:0;padding:14px 15px;border-radius:16px;background:#ffffffb8}.cornell-grid{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(0,1.35fr);gap:12px}.cue-panel{background:#efe1c759}.core-panel{background:#ffffffad}.note-summary-band{background:#faf4e7e6}.memory-aid-card{background:linear-gradient(180deg,#fcf5dffa,#f7edcdfa);border-color:#b56c5029}.note-media-card{display:grid;gap:12px;padding:15px 16px;border-radius:18px;border:1px solid rgba(33,67,59,.08);background:linear-gradient(180deg,#fffcf6fa,#f6efe3f5)}.note-media-card--fallback{background:linear-gradient(180deg,#faf4e7fa,#f4ead8f5)}.note-media-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.note-media-copy{display:grid;gap:6px}.note-media-copy strong{display:block}.note-media-caption{margin:0;color:var(--muted);font-size:.88rem;line-height:1.55}.note-media-preview{display:block;width:100%;padding:0;border:1px solid rgba(33,67,59,.12);border-radius:20px;overflow:hidden;background:#faf5eceb;cursor:zoom-in}.note-media-preview.is-expanded{cursor:zoom-out}.note-media-preview img{display:block;width:100%;max-height:320px;aspect-ratio:16 / 10;object-fit:contain;background:#f5efe2eb}.note-media-preview.is-expanded img{max-height:min(68vh,760px)}.note-media-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.86rem}.note-media-open{color:var(--accent);font-weight:700;text-decoration:none}.note-media-open:hover,.note-media-open:focus-visible{text-decoration:underline}.note-media-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(112px,132px);gap:10px;overflow-x:auto;padding-bottom:4px}.note-media-thumb{display:grid;gap:8px;min-width:0;padding:8px;border-radius:16px;border:1px solid rgba(33,67,59,.08);background:#ffffffe6;text-align:left}.note-media-thumb.is-active{border-color:#b56c5047;background:#f9f2def5;box-shadow:0 10px 24px #38251814}.note-media-thumb img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:12px;background:#f5efe2eb}.note-media-thumb span{display:block;color:var(--muted);font-size:.8rem;line-height:1.4}.memory-aid-head,.recall-card-header,.practice-lab-header,.practice-panel-copy,.review-coach-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.memory-aid-head strong,.recall-card-header strong,.practice-lab-header strong,.practice-panel-copy strong,.review-coach-copy strong{display:block}.memory-aid-chip,.status-pill,.practice-status{min-height:32px;padding:6px 10px;border-radius:999px;border:1px solid rgba(33,67,59,.08);background:#ffffffeb;color:var(--muted);font-size:.76rem;font-weight:700}.memory-aid-chip.is-revealed,.status-pill.is-active,.practice-status.is-live{background:#21433bf0;border-color:#21433bf0;color:#f8f4ea}.memory-aid-prompt,.practice-copy,.review-coach-copy p,.recall-card-header p,.answer-lock-card p{margin:0;color:var(--muted)}.memory-aid-actions,.recall-actions,.practice-actions{display:flex;flex-wrap:wrap;gap:8px}.memory-aid-breakdown{display:grid;gap:10px}.memory-aid-answer-copy{margin:0;padding:12px 13px;border-radius:15px;background:#fffcf4eb}.memory-aid-breakdown-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.memory-aid-item{display:grid;gap:8px;padding:12px 13px;border-radius:15px;background:#ffffffc7}.memory-aid-item h4{margin:0}.note-modal-study-toggle-wrap{display:flex;justify-content:center;padding-top:4px;scroll-margin-top:12px}.note-modal-study-toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border:1px solid rgba(33,67,59,.08);border-radius:999px;background:#fffffff5;color:#1f2329b8;font-weight:700;box-shadow:var(--shadow-soft);cursor:pointer}.note-modal-study-tools{display:grid;gap:14px;max-height:0;padding-top:0;border-top:1px solid transparent;overflow:hidden;transform-origin:top center;opacity:0;transform:translateY(-6px);pointer-events:none}.note-modal-study-tools.is-open{max-height:1400px;padding-top:14px;border-top-color:#21433b14;opacity:1;transform:translateY(0);pointer-events:auto}.recall-textarea,.cloze-input{width:100%;min-height:128px;padding:14px 15px;border-radius:16px;border:1px solid rgba(33,67,59,.08);background:#ffffffe0;color:var(--text)}.recall-textarea{resize:vertical}.recall-textarea:focus-visible{outline:2px solid rgba(33,67,59,.18);border-color:#21433b3d}.recall-answer-card,.cloze-result-card,.practice-action-island{display:grid;gap:8px;padding:12px 13px;border-radius:15px;background:#fffcf4eb}.practice-mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;border-radius:18px;background:#f6f0e6eb}.practice-mode-button{min-height:38px;padding:8px 10px;border-radius:13px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer}.practice-lab-panel-shell,.practice-panel,.cloze-field{display:grid;gap:10px}.practice-actions-island{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.field-label{margin:0;font-weight:700}.cloze-input{min-height:56px;display:flex;align-items:center}.cloze-result-card.is-revealed{background:#fff9efeb}.confidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.confidence-button{display:grid;gap:4px;padding:11px 12px;border-radius:15px;border:1px solid rgba(33,67,59,.08);background:#ffffffe6;cursor:pointer}.confidence-button--active{background:#efe1c7eb;border-color:#b56c502e}.self-check-list{display:grid;gap:10px}.self-check-card__question,.self-check-card__answer{margin:0}.self-check-card__answer{display:none}.self-check-card__answer.is-visible{display:block}.note-modal-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center;padding-top:10px;border-top:1px solid rgba(33,67,59,.08)}.note-nav-button{min-height:42px;padding:9px 12px;border-radius:16px;border:1px solid rgba(33,67,59,.08);background:#ffffffc7;cursor:pointer}.note-nav-button.is-next{justify-self:end}.note-nav-progress{display:grid;justify-items:center;gap:2px;color:var(--muted)}.note-nav-progress strong{font-size:1.05rem;color:var(--brand)}@media(max-width:719px){.note-modal{inset:0;height:100dvh;border-radius:28px 28px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}.note-modal-header{padding-right:152px}.note-modal-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.note-toolbar-chip,.note-action{white-space:normal}.cornell-grid,.memory-aid-breakdown-grid,.confidence-grid,.practice-actions-island{grid-template-columns:1fr}.note-media-head,.note-media-meta{display:grid;grid-template-columns:1fr}.note-media-preview img{max-height:280px}.note-media-preview.is-expanded img{max-height:min(60vh,560px)}.note-media-strip{grid-auto-columns:minmax(100px,118px)}}
