/* Phone/tablet overrides; desktop terminal layout remains in the base sheets. */
.mobile-brand{display:none}
.panel,.panel-body,.grid-main>*,.grid-two>*,.section-heading>*,.page-heading>*{min-width:0}
.table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.table-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:800px), (max-width:950px) and (orientation:landscape) and (max-height:500px){
 html{scroll-padding-bottom:100px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
 aside{inset:auto 0 0;width:auto;height:calc(70px + env(safe-area-inset-bottom,0px));padding:5px max(5px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(5px,env(safe-area-inset-left,0px));border:0;border-top:1px solid var(--line);background:#171020f5;z-index:30;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 aside .brand,aside .workspace,aside .sidebar-bottom{display:none}
 aside nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;margin:0;height:60px}
 aside nav a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:5px 1px;min-height:54px;font-size:0;border-radius:10px;color:var(--muted)}
 aside nav a span{font-size:21px;width:auto;line-height:22px}
 aside nav a::after{font-size:10px;line-height:14px;letter-spacing:0;font-weight:500}
 aside nav a[data-nav=overview]::after{content:'Overview'}aside nav a[data-nav=market]::after{content:'Market'}aside nav a[data-nav=portfolio]::after{content:'Portfolio'}aside nav a[data-nav=research]::after{content:'Research'}aside nav a[data-nav=global]::after{content:'Global'}aside nav a[data-nav=sources]::after{content:'Sources'}
 aside nav a.active{background:#6d28d92e;border-color:#8056bb80;color:#d4bfff}
 .shell{margin-left:0;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
 header{height:auto;min-height:68px;gap:10px;padding:12px max(14px,env(safe-area-inset-right,0px)) 12px max(14px,env(safe-area-inset-left,0px));align-items:center}
 header{padding-top:max(12px,env(safe-area-inset-top,0px))}.mobile-brand{display:flex;flex-direction:column;font-size:15px;letter-spacing:2px;font-weight:750;line-height:17px;color:#d4bfff}.mobile-brand small{font-size:8px;letter-spacing:1.4px;color:var(--muted)}
 .crumb{display:none}.header-controls{width:auto;margin-left:auto;gap:8px}.mode-label{font-size:0}.header-controls select{max-width:166px;padding:10px 7px;font-size:16px;min-height:44px}.header-controls button{min-width:44px;min-height:44px;padding:8px 11px;font-size:20px}.header-controls button span{display:none}
 .ticker{height:40px;overflow-x:auto;scrollbar-width:none}.ticker::-webkit-scrollbar{display:none}.tick{padding:11px 14px;font-size:11px}
 main{padding:22px max(14px,env(safe-area-inset-right,0px)) 22px max(14px,env(safe-area-inset-left,0px));min-height:calc(100dvh - 220px);width:100%}
 h1{font-size:27px}.subtitle{font-size:13px;line-height:1.7}.eyebrow{font-size:10px}.page-heading,.section-heading{flex-wrap:wrap;align-items:flex-start;gap:14px}.page-heading{margin-bottom:22px}.page-heading>div:first-child,.section-heading>div:first-child{flex:1 1 100%}.section-heading h2{font-size:20px}.page-heading>.primary{width:100%}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:16px 13px}.stat-value{font-size:23px;overflow-wrap:anywhere}.stat-label{font-size:11px}.stat-sub{font-size:10px;line-height:1.6}
 .grid-main,.grid-two,.model-grid,.recommendation-grid,.roadmap-grid{grid-template-columns:minmax(0,1fr)}.grid-main,.grid-two{gap:16px}.panel{max-width:100%}.panel-head{gap:10px;flex-wrap:wrap;padding:17px 16px}.panel-body{padding:18px 16px;overflow-x:auto}.panel h2{font-size:15px}
 button,input,select{min-height:44px}input,select,textarea{font-size:16px!important;max-width:100%}button{touch-action:manipulation}input[type=range]{min-height:44px;width:min(100%,240px)}input[type=checkbox]{min-height:24px}input[type=file]{width:100%}
 .toolbar{flex-wrap:wrap;gap:10px;padding:14px}.toolbar .search,.toolbar .research-filter{width:100%;flex-basis:100%;min-width:0}.toolbar .spacer{display:none}.toolbar>.tabs{flex:1 1 100%}.tabs{display:flex;overflow-x:auto;max-width:100%;white-space:nowrap;flex-wrap:nowrap}.tabs button{flex:0 0 auto;padding:10px 12px;min-height:44px}
 .table-wrap{max-width:100%;max-height:65dvh}.table-wrap.is-scrollable::before{content:'↔ Swipe table to see more columns';display:block;position:sticky;left:0;top:0;z-index:5;background:#21162f;color:#c9b9e5;font-size:11px;padding:9px 12px;text-align:left;white-space:normal;pointer-events:none}.table-wrap.is-scrollable th{top:32px}.table-wrap table{min-width:100%}th,td{font-size:12px}.name-cell,.holdings-table .name-cell,td.name-cell{min-width:155px;max-width:180px}.name-cell small{white-space:normal}.table-foot{font-size:11px;line-height:1.7;padding:13px 15px}
 #stock-table td.name-cell,#stock-table th:nth-child(2){position:sticky;left:0;z-index:2;background:var(--panel)}#stock-table th:nth-child(2){z-index:4}
 .technical-matrix th:first-child,.technical-matrix td:first-child{min-width:105px;max-width:135px}.technical-matrix th{z-index:3}.technical-matrix th:first-child{z-index:4}.technical-matrix td small{max-width:120px}.bias-chip{font-size:12px;min-height:48px}
 .technical-indicator-table table{white-space:normal;min-width:650px}.technical-indicator-table td{min-width:140px;vertical-align:top;line-height:1.6}.technical-indicator-table .technical-note-cell{min-width:210px}
 .technical-tabs,.research-tabs,.portfolio-jump{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;max-width:100%;gap:8px;padding:10px 0;scrollbar-width:thin}.technical-tabs button,.research-tabs button,.portfolio-jump a{flex-shrink:0;font-size:12px;min-height:44px}.portfolio-jump a{display:flex;align-items:center;padding:0 10px}.research-tabs button{padding:10px 12px}
 .research-controls,.analysis-controls,.technical-controls,.diagnostic-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:15px}.research-controls label,.analysis-controls label,.technical-controls label,.diagnostic-controls label{min-width:0;width:100%;font-size:12px;line-height:1.5}.research-controls input,.research-controls select,.analysis-controls input,.analysis-controls select,.technical-controls input,.technical-controls select,.diagnostic-controls select{width:100%;min-width:0;max-width:100%;margin:0}.technical-controls .technical-source,.technical-controls .capacity-value,.research-controls>button,.technical-controls>button,.diagnostic-controls>button,.technical-controls>.link{grid-column:1/-1}.technical-source{font-size:11px;overflow-wrap:anywhere}.research-controls .spacer,.technical-controls .spacer,.diagnostic-controls .spacer{display:none}.capacity-value{padding:8px 0}.research-status{font-size:11px;line-height:1.8}
 .research-metrics,.risk-grid,.resample-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.research-metrics>*{min-width:0}.risk-card{padding:15px 13px}.risk-card h3{font-size:12px}.risk-card strong{font-size:23px;overflow-wrap:anywhere}.risk-card p{font-size:11px}.timeframe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.timeframe-card{padding:16px 13px}.timeframe-card p{font-size:12px}
 .chart,.portfolio-chart,.research-chart,.scatter-chart{width:100%;height:auto;min-height:210px;max-height:350px}.chart text,.portfolio-chart text,.research-chart text,.scatter-chart text{font-size:12px}.chart-legend{font-size:11px;gap:12px;line-height:1.6}.chart-legend small{margin-left:0}.chart-meta{flex-wrap:wrap;gap:8px;font-size:10px}.chart-head{flex-wrap:wrap;gap:10px}.big-price{font-size:28px}.book-summary{gap:12px;flex-wrap:wrap;padding:14px;font-size:11px}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
 .portfolio-actions{gap:10px}.portfolio-actions button{flex:1 1 140px;font-size:12px}.portfolio-actions .subtitle{flex-basis:100%}.scenario-results{grid-template-columns:minmax(0,1fr)}.scenario-controls{gap:16px}.scenario-controls label{max-width:100%}.behaviour-grid{gap:20px 14px}.allocation-row{gap:8px}.contribution-row>b{width:110px;font-size:11px}
 .lot-dialog,.technical-dialog{max-width:calc(100vw - 20px);width:650px;max-height:calc(100dvh - 24px);margin:auto;border-radius:14px}.dialog-head{padding:18px 16px;gap:10px}.dialog-head h2{font-size:19px;overflow-wrap:anywhere}.dialog-head button{flex-shrink:0;min-width:44px;min-height:44px}.dialog-content,.technical-dialog .dialog-content{padding:18px 16px;max-height:calc(100dvh - 190px);overflow:auto}.dialog-footer{padding:14px 16px;flex-wrap:wrap}.dialog-footer button{flex:1}.form-grid{grid-template-columns:minmax(0,1fr);gap:18px}.dialog-content label{font-size:12px}
 .source-info{padding:17px 16px;font-size:12px;overflow-wrap:anywhere}pre{padding:16px;font-size:11px}.notice{font-size:12px;overflow-wrap:anywhere}.empty{padding:28px 18px;font-size:13px}footer{font-size:9px;padding:15px}#toast{bottom:calc(88px + env(safe-area-inset-bottom,0px));left:14px;right:14px;font-size:13px;z-index:50;max-width:500px;margin:auto}
}
@media(max-width:360px){.header-controls select{max-width:145px}.mobile-brand{font-size:13px}.stats,.risk-grid,.research-metrics,.resample-metrics,.timeframe-grid{grid-template-columns:minmax(0,1fr)}.research-controls,.technical-controls,.analysis-controls,.diagnostic-controls{grid-template-columns:minmax(0,1fr)}main{padding-inline:12px}}
@media(max-width:950px) and (orientation:landscape) and (max-height:500px){aside{height:calc(58px + env(safe-area-inset-bottom,0px))}aside nav{height:48px}aside nav a{min-height:46px;gap:1px}aside nav a span{font-size:17px}.shell{padding-bottom:75px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{animation:none!important}}
