/* Mobile navigation remains named; scroll is contained within each content surface. */
@media(max-width:700px){
 :root{--header:calc(96px + env(safe-area-inset-top))}
 #nebulaControls{position:absolute;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:9;display:flex;width:min(220px,calc(100vw - 24px));flex-direction:column;align-items:flex-end;gap:6px;pointer-events:none}
 #nebulaControls>*{pointer-events:auto}
 #nebulaControls:not(.expanded) :is(.stats,.canvas-tools){display:none}
 #nebulaControls .stats,#nebulaControls .canvas-tools{position:static;inset:auto;width:100%;margin:0}
 #nebulaControls .stats{display:flex;flex-direction:column;align-items:stretch;padding:4px}
 #nebulaControls .stats button{width:100%;min-height:36px;padding:6px 9px 6px 30px;font-size:10px;text-align:left}
 #nebulaControls .stats button:nth-child(2){display:inline-flex}
 #nebulaControls .canvas-tools{display:flex}
 #nebulaControls .canvas-tools button{flex:1;width:auto;min-width:0;min-height:42px}
 #nebulaControls .canvas-tools #galaxyMotion{flex:1.8;padding:0 5px;font-size:11px}
 #nebulaControlsToggle{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(232,198,109,.45);border-radius:12px;background:rgba(15,24,39,.96);color:#f2d98d;font-size:25px;box-shadow:0 10px 30px #0008}
 #nebulaControlsToggle[aria-expanded=true]{background:#263348}
 .topbar{grid-template-rows:48px 38px;gap:4px 8px;padding:env(safe-area-inset-top) 10px 0}
 .topbar>.search-tools{min-width:0}
 .search-tools .search-wrap{grid-column:1/-1;width:100%;min-width:0}
 .search-tools :is(.review-weak-button,.study-tools-button){width:100%;min-width:0;height:52px;padding:4px 1px;gap:3px;flex-direction:column;border-radius:12px}
 .search-tools .review-weak-label,.search-tools .study-tools-button>span:last-child{display:block;font-size:11px;letter-spacing:0}
 .mobile-features-menu>button{font-family:inherit;font-size:11px;font-weight:400;line-height:1.4;letter-spacing:.04em}
 .mobile-features-menu :is(.favorite-notes-button>span:nth-child(2),.review-weak-label,.study-tools-button>span:last-child){font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit}
 .search-tools :is(.weak-orbit,.tools-orbit){width:22px;height:22px;flex-shrink:0}
 .search-tools input{font-size:16px}
 .search-results{max-height:calc(var(--visible-height,100dvh) - 130px);overflow:auto}
 .reader{padding-bottom:100px}.reader-head{flex-wrap:wrap}.reader-head h1{overflow-wrap:anywhere}
 .reader-pane .markdown-body,.modal-card .markdown-body,.subpage-card .markdown-body{overflow-x:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;font-size:14px}
 .markdown-body table{display:table;width:max-content;min-width:max(100%,640px);max-width:none;table-layout:auto}
 .markdown-body :is(th,td){min-width:5.5em;word-break:normal;overflow-wrap:normal}
 .markdown-body pre{display:block;width:max-content;min-width:100%;max-width:none;overflow-x:auto}
 .markdown-body img{max-width:100%;height:auto}
 body:has(#listView:not(.hidden)) #aiOrb{width:56px!important;height:68px!important;left:auto!important;top:auto!important;right:12px!important;bottom:max(12px,env(safe-area-inset-bottom))!important}
 body:has(:is(#flashcardModal,#exerciseModal,#mistakeModal,#toolModal,#writingAssistantModal,#noteModal,#subpageModal):not(.hidden)) #aiOrb,body:has(#aiPanel:not([hidden])) #aiOrb{visibility:hidden;pointer-events:none}
 #flashcardModal .flashcard-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
 #flashcardModal .flashcard-toolbar label:first-child{grid-column:auto}
 #flashcardModal .flashcard-toolbar :is(select,button),#flashcardModal .flashcard-motion-toggle{min-height:44px}
 #flashcardModal .flashcard-directory{max-height:min(240px,45dvh);grid-template-columns:minmax(0,1fr)}
 #flashcardModal .flashcard-support{position:static;padding-top:5px}
 #flashcardModal .flashcard-core{max-height:80%;overflow:auto}
 #flashcardModal .flashcard-reading{font-size:14px}
 #flashcardModal .flashcard-meaning{font-size:15px;max-height:none}
 #studyPlanDialog :is(button,input,select),#registration [data-close]{min-height:44px}
 #studyPlanDialog .schedule-row{grid-template-columns:18px minmax(0,1fr);gap:8px}
 #studyPlanDialog .schedule-row>label:last-of-type{grid-column:2}
 #studyPlanDialog .schedule-days input{width:80px}
 #studyPlanDialog .schedule-row>small{grid-row:auto;overflow-wrap:anywhere}
 #registration .registration-form{padding:20px 16px}#registration input{font-size:16px}
 #dailyFortune>header{flex-wrap:wrap;gap:8px}#dailyFortune>header nav{flex-wrap:wrap;gap:6px}#dailyFortune>header button{min-height:44px}
 #aiPanel{top:calc(var(--visible-top,0px) + 8px);bottom:auto;height:calc(var(--visible-height,100dvh) - 16px);max-height:calc(var(--visible-height,100dvh) - 16px)}
 #aiPanel header,#aiPanel nav,#aiPanel form{flex-shrink:0}
 #aiPanel nav{display:flex;flex-wrap:wrap;gap:6px}#aiPanel nav button{flex:1;min-height:44px;padding:8px 5px;font-size:13px;white-space:nowrap}
 #aiPanel textarea{font-size:16px;max-height:24dvh}#aiPanel .ai-content{min-height:0}
 #accessNotice{bottom:max(12px,env(safe-area-inset-bottom));max-height:30dvh;overflow:auto}
 dialog[open]{max-height:calc(var(--visible-height,100dvh) - 16px)}
}
@media(max-height:500px){
 .login-overlay{overflow:auto;align-items:flex-start;padding:12px}.login-card{margin:auto;max-height:none}
 #flashcardModal .flashcard-shell{display:block}#flashcardModal .flashcard-stage{height:260px;margin:12px 0;container-type:size}
 #flashcardModal .flashcard-actions{margin-top:12px}
}
@media(max-height:500px){
 body:has(:is(#flashcardModal,#exerciseModal,#mistakeModal,#toolModal,#writingAssistantModal,#noteModal,#subpageModal):not(.hidden)) #aiOrb{visibility:hidden;pointer-events:none}
}
@media(max-width:700px){
 #toolModal .tool-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:7px 5px;overflow:visible}
 #toolModal .tool-tabs :is(button,a){display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:52px;gap:3px;padding:4px 1px}
 #toolModal .tool-tabs :is(button,a) .tool-icon{width:27px;height:27px}
 #toolModal .tool-tabs :is(button,a) b{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;font-size:9px;font-weight:400;text-align:center;white-space:nowrap}
 #toolModal .tool-tabs :is(button,a) small{display:none}
 #toolModal .tool-actions{position:static;margin:12px 0;padding:8px 0;background:none}
 #aiPanel .ai-message{min-width:0;overflow-wrap:anywhere}
}
.mobile-reader-nav,.reader-drawer-backdrop{display:none}
@media(max-width:900px){
 #listView{grid-template-columns:minmax(0,1fr);padding-top:48px}
 .mobile-reader-nav{display:flex;position:absolute;inset:0 0 auto;height:48px;gap:6px;padding:3px 10px;background:#0b1523;z-index:9;border-bottom:1px solid #c6ac6830}
 .mobile-reader-nav button{flex:1;min-width:0;border:1px solid #b99c5840;border-radius:8px;background:#142234;color:#e5cf92;font-size:13px}
 .reader-drawer-backdrop{position:absolute;inset:48px 0 0;z-index:6;border:0;background:#020813aa}
 #listView .file-panel,#listView .toc-panel{position:absolute;top:48px;bottom:0;z-index:8;background:#0c1726;transition:transform .18s;visibility:hidden;overscroll-behavior:contain}
 #listView .file-panel{width:var(--mobile-file-width,min(340px,88%))}
 #listView .toc-panel{width:var(--mobile-toc-width,min(340px,88%))}
 #listView .file-panel{left:0;transform:translateX(-100%)}
 #listView .toc-panel{display:flex;right:0;transform:translateX(100%)}
 #listView.mobile-files-open .file-panel,#listView.mobile-toc-open .toc-panel{transform:none;visibility:visible}
 #listView:is(.mobile-files-open,.mobile-toc-open) .reader-drawer-backdrop{display:block}
 #listView .column-resizer{display:none;top:48px;width:24px;z-index:10}
 #listView .column-resizer::after{left:10px;width:4px;background:rgba(232,198,109,.5)}
 #listView.mobile-files-open .column-resizer-left{display:block;left:var(--mobile-file-width,min(340px,88%))}
 #listView.mobile-toc-open .column-resizer-right{display:block;left:calc(100% - var(--mobile-toc-width,min(340px,88%)))}
 .mobile-reader-nav button[aria-expanded=true]{border-color:#e7cb83;background:#263348}
 #listView .panel-title{min-height:44px}
}
@media(prefers-reduced-motion:reduce){#listView .file-panel,#listView .toc-panel{transition:none}}
@media(max-width:900px){#listView{overflow:hidden}}
@media(max-width:900px){
 .mobile-reader-nav{padding-right:62px}
 body:has(#listView:not(.hidden)) #aiOrb{width:42px!important;height:46px!important;left:auto!important;right:10px!important;top:calc(var(--header) + 1px)!important;bottom:auto!important}
}
@media(max-width:900px){
 #listView .toc-panel>.panel-title{display:flex;padding:12px 16px}
 #listView .toc-panel nav{display:block;min-height:0;overflow:auto}
 #listView .toc-panel .exercise-launcher{display:none}
 #listView .toc-panel nav a{font-size:14px;min-height:44px;padding:12px}
}
