/* Shared application surfaces. Printed paper and answer cards keep their own styles. */
:root{--sys-bg:#f6f7fb;--sys-surface:#fff;--sys-soft:#f0f3f8;--sys-border:#dce2ed;--sys-text:#1e293b;--sys-muted:#64748b;--sys-accent:#4f46e5;--sys-radius:12px}
html.dark{--sys-bg:#11151d;--sys-surface:#191f2b;--sys-soft:#232c3b;--sys-border:#354154;--sys-text:#edf2fa;--sys-muted:#adbbce}
body{background:var(--sys-bg);color:var(--sys-text)}
[hidden]{display:none!important}
body>header{background:var(--sys-surface)!important;border-color:var(--sys-border)!important;box-shadow:none!important}
#workspaceDropdownBtn{cursor:default;background:transparent!important;transform:none!important}
#codexRail,#statsOpenBtn,#workspaceDropdownMenu{display:none!important}
#workspaceNav{display:flex;gap:6px;padding:10px;background:var(--sys-surface);border-bottom:1px solid var(--sys-border);min-width:0}
#workspaceSideNav #workspaceNav{flex-direction:column;border-bottom:0}
#workspaceNav button{display:flex;align-items:center;gap:9px;min-height:42px;border:0;border-radius:9px;padding:10px 14px;background:transparent;color:var(--sys-muted);font-size:14px;white-space:nowrap}
#workspaceNav button:hover{background:var(--sys-soft);color:var(--sys-text)}
#workspaceSideNav #workspaceNav button[aria-current=page],#paperWorkspaceSection #workspaceNav button[aria-current=page]{background:color-mix(in srgb,var(--sys-accent) 12%,var(--sys-surface));color:var(--sys-accent);font-weight:700}
#workspaceSideNav{background:var(--sys-surface);border-color:var(--sys-border);width:180px}
.home-inner{padding-top:24px}
.home-hero{align-items:center;gap:16px}
.home-primary-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.home-primary-actions button,.home-card button,.ws-card button,.ws-content>div>button,.ws-header button,.system-pager button,.studio-category-tools button,.system-notice button{min-height:36px;border:1px solid var(--sys-border);background:var(--sys-surface);color:var(--sys-text);border-radius:8px;padding:7px 12px;font-size:13px;font-weight:500;line-height:1.4}
.home-primary-actions button:hover,.home-card button:hover,.ws-card button:hover,.ws-header button:hover{border-color:var(--sys-accent);color:var(--sys-accent);background:var(--sys-soft)}
.home-primary-actions button:first-child,.home-card .home-primary,.system-primary{background:var(--sys-accent)!important;border-color:var(--sys-accent)!important;color:#fff!important}
.home-primary-actions button:first-child *{color:#fff!important}
#sidebarQuickStart{display:none!important}
.home-card,.ws-card{border:1px solid var(--sys-border);background:var(--sys-surface);border-radius:var(--sys-radius);box-shadow:none}
.home-card-heading h2,.ws-card h3{font-size:16px;color:var(--sys-text)}
.home-card>p,.ws-card>p,.ws-header p{font-size:13px;line-height:1.7;color:var(--sys-muted)}
.home-question-panel #sidebarSection{background:transparent!important}
.question-card{border:1px solid var(--sys-border)!important;border-radius:10px!important;background:var(--sys-surface)!important;padding:16px!important;margin:8px 0!important;gap:9px;box-shadow:none!important}
.question-card:hover{border-color:var(--sys-accent)!important}
.question-card .card-formula-render{font-size:15px!important;line-height:1.8;color:var(--sys-text)}
.question-card>div:first-child span{font-size:12px!important}
.question-card button[aria-label]{min-width:32px;min-height:32px}
.question-card .home-add-to-paper{border-color:var(--sys-accent);color:var(--sys-accent);font-weight:600}
.home-cart-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--sys-border)}
#homePaperSummary{position:sticky;top:20px;align-self:start;max-height:calc(100dvh - 130px);overflow:auto}
.ws-paper-tools,.ws-stats-tools,.ws-resource-tools{gap:10px;align-items:center}
.paper-archive-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:18px}
.paper-archive-row h3{width:100%;margin:0}.paper-archive-row p{margin:0;width:100%}
.paper-archive-row button{margin-top:8px}
.paper-archive-row button:last-child:has(+ :empty){margin-left:auto}
.ws-content input,.ws-content select,.studio-category-tools input[type=search],.studio-category-tools select,.ws-card input[type=month]{background:var(--sys-surface);color:var(--sys-text);border:1px solid var(--sys-border);border-radius:8px;min-height:36px;padding:7px 10px;max-width:100%;font-size:13px}
.statistics-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:12px}
.statistics-calendar span{font-size:12px;padding:8px 3px;border:1px solid var(--sys-border);border-radius:6px;overflow-wrap:anywhere;color:var(--sys-muted)}
.statistics-calendar .has-additions{background:var(--sys-soft);color:var(--sys-accent);font-weight:600}
.system-dialog{display:flex;align-items:center;justify-content:center;position:fixed;inset:0;z-index:100000;background:rgba(9,17,31,.5);padding:20px}
.system-dialog-panel{background:var(--sys-surface);color:var(--sys-text);border:1px solid var(--sys-border);border-radius:16px;padding:24px;width:min(100%,460px);max-height:85dvh;overflow:auto}
.system-dialog-panel h2{font-size:18px;font-weight:700;margin-bottom:12px}
.system-dialog-panel p{white-space:pre-wrap;line-height:1.7;font-size:14px}
.system-dialog-panel input{width:100%;margin-top:14px}
.system-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.system-dialog-actions button{min-height:38px;border:1px solid var(--sys-border);border-radius:8px;padding:8px 20px}
.system-notice{position:fixed;right:20px;bottom:48px;max-width:min(440px,calc(100vw - 32px));z-index:1000;background:var(--sys-surface);color:var(--sys-text);border:1px solid var(--sys-border);border-radius:14px;padding:18px;box-shadow:0 8px 32px #0002;font-size:14px}
.system-notice p{margin-bottom:12px;line-height:1.7}.system-notice button{margin:4px}
#importRecoveryNotice{bottom:220px}
.studio-category-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}
.system-picker{flex-basis:100%;position:relative;border:1px solid var(--sys-border);border-radius:10px;background:var(--sys-surface)}
.system-picker summary{padding:12px;cursor:pointer;font-size:14px;font-weight:600}
.system-picker-options{display:flex;flex-direction:column;gap:12px;padding:14px;border-top:1px solid var(--sys-border);max-height:400px;overflow:auto}
.system-picker-options>div{display:flex;flex-wrap:wrap;gap:8px}.system-picker-options label{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--sys-border);border-radius:8px;font-size:13px}
.system-picker-options label:has(input:checked){border-color:var(--sys-accent);background:var(--sys-soft)}
.system-picker-options input[type=checkbox]{accent-color:var(--sys-accent);width:16px;height:16px}
.system-pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 0;font-size:13px}
button:disabled{opacity:.5;cursor:not-allowed}
.studio-navigation{background:var(--sys-surface);border-color:var(--sys-border)}
.studio-disclosure:not(.a4-paper-sheet *){border-color:var(--sys-border);background:var(--sys-surface);box-shadow:none}
#admin-panel>div{background:var(--sys-surface)!important;color:var(--sys-text)}
#admin-panel :is(h2,h3,h4,td,label){color:var(--sys-text)}
#admin-panel :is(input,select,textarea){background:var(--sys-soft);color:var(--sys-text);border-color:var(--sys-border)}
#admin-panel .bg-white{background:var(--sys-surface)}
#compactPaperCart{display:none}
@media(max-width:1100px){#workspaceSideNav{width:150px}#workspaceNav button{padding:9px 10px;font-size:13px}.home-hero{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:760px){
 #workspaceSideNav{width:100%;position:static!important}#workspaceNav,#workspaceSideNav #workspaceNav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%;overflow:visible}
 #workspaceNav button{justify-content:center;font-size:12px;padding:8px 3px;gap:5px;min-width:0;white-space:normal}
 .home-inner{padding:16px 12px 90px}.home-hero{gap:12px}.home-primary-actions{width:100%}.home-primary-actions button{flex:1;padding:8px 5px}
 #homePaperSummary{display:none;position:fixed;left:12px;right:12px;bottom:100px;top:auto;max-height:60dvh;width:auto;z-index:990;box-shadow:0 8px 40px #0004}
 #homePaperSummary.compact-open{display:block!important}
 #compactPaperCart{display:block;position:fixed;bottom:38px;right:12px;left:12px;min-height:44px;background:var(--sys-accent)!important;color:#fff!important;border-radius:10px;z-index:991;font-size:14px}
 body:not([data-section=bank]) #compactPaperCart,body[data-ws=paper] #compactPaperCart,body.bank-editing #compactPaperCart{display:none}
 .question-card{padding:12px!important}.question-card .card-formula-render{font-size:15px!important}.question-card>div:first-child{gap:8px;flex-wrap:wrap}
 #codexStatusBar>span:first-child{display:none}.ws-header{flex-wrap:wrap}.ws-card{padding:14px}
 .statistics-calendar span{padding:6px 2px;font-size:11px}.studio-category-tools{gap:7px}.system-picker-options{max-height:50dvh}
 .system-notice{right:12px;bottom:95px}#importRecoveryNotice{bottom:250px}.system-dialog{padding:12px}
}
@media(prefers-reduced-motion:reduce){body :not(.a4-paper-sheet):not(.a4-paper-sheet *){scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.system-notice,.system-dialog,#compactPaperCart,#workspaceNav{display:none!important}}

/* Studio has two navigation rows; page content owns the remaining row. */
#paperWorkspaceSection:not(.hidden) {
 grid-template-columns:minmax(0,1fr);
 grid-template-rows:auto auto minmax(0,1fr);
 min-width:0; min-height:0;
}
#paperWorkspaceSection > #workspaceNav { grid-column:1; grid-row:1; flex-wrap:wrap; }
#paperWorkspaceSection > .studio-navigation { grid-column:1; grid-row:2; min-width:0; }
#paperWorkspaceSection > #studioQuestionSection,
#paperWorkspaceSection > #paperCanvasSection {
 grid-column:1; grid-row:3; min-height:0; min-width:0;
}
