/* Shared visual foundation. All main surfaces and type use editable theme tokens. */
:root{--body-background:linear-gradient(135deg,#0c111b,#17253b);--panel-background:#141d2b;--header-background:#101827;--header-text:#e9f0fc;--heading:#f5f8ff;--link:#83bdff;--button-text:#091522;--input:#0d1522;--input-text:#e9f0fc;--secondary:#23354b;--body-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--heading-font:var(--body-font);--body-size:16px;--subtext-size:14px;--heading-scale:1;--line-height:1.6;--radius:18px;--button-radius:10px;--content-width:1200px;--spacing:1}
html{scroll-behavior:smooth}body,.home-page,.slide-body{font-family:var(--body-font)!important;font-size:var(--body-size);line-height:var(--line-height);background:var(--body-background);background-attachment:fixed;color:var(--text)}.home-page *{font-family:inherit!important}.wrap{width:min(var(--content-width),92vw)}h1,h2,h3,h4,.big-card b,.brand{font-family:var(--heading-font)!important;color:var(--heading);letter-spacing:-.035em}h1{font-size:calc(2.4rem * var(--heading-scale));line-height:1.15;margin:0 0 12px}h2{font-size:calc(1.6rem * var(--heading-scale));line-height:1.25;margin:0 0 10px}h3{font-size:calc(1.15rem * var(--heading-scale))}.hero h1{font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.05}.slide-card h1{font-size:calc(clamp(1.8rem,3.6vw,3.4rem) * var(--heading-scale));line-height:1.2}
.site-header{background:var(--header-background);border-bottom:1px solid var(--line)}.topbar{padding:18px 0;gap:20px}.site-header .brand,.site-header .nav a,.site-header button,.slide-top{color:var(--header-text)}.brand{font-size:1.2rem;letter-spacing:.015em}.brand small{display:block;font:10px/1.5 var(--body-font);letter-spacing:.17em;color:var(--muted);margin-top:3px}.nav{gap:8px}.nav a,.small-btn{border-radius:var(--button-radius);font-size:var(--subtext-size);cursor:pointer}.nav [aria-current=page]{background:var(--secondary);border-color:var(--accent);color:var(--text)}.slide-top{background:var(--header-background)}
.card,.big-card,.slide-card,.list-item,.analytics-card,.analytics-filter-card,.pageview-chart-card,.question-box,.review-card,.guided-slide-card,.review-question{background:var(--panel-background);border-color:var(--line);border-radius:var(--radius)}.card{padding:calc(24px * var(--spacing))}.big-card:hover{box-shadow:0 12px 35px #0002}.card p,.big-card p{color:var(--text)}.muted,.card p.muted,.lead,.description-text,.list-item p,.analytics-card summary small,.field label,.pill{color:var(--muted)}.muted,.field label,.pill,.analytics-card summary small{font-size:var(--subtext-size)}.lead{font-size:1.125rem}.eyebrow{font-size:11px;letter-spacing:.16em;line-height:1.5;font-weight:750;color:var(--accent2);margin:0 0 10px}
a:not(.btn):not(.brand):not(.nav a):not(.big-card){color:var(--link)}button,.btn,input,select,textarea{min-height:44px}.btn{background:var(--accent);color:var(--button-text);border-radius:var(--button-radius);font-size:var(--subtext-size);font-weight:700;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center}.btn.secondary,.small-btn{background:var(--secondary);color:var(--text)}.btn.danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn.warn{background:var(--warn)}button:disabled{opacity:.5;cursor:wait}button:hover:not(:disabled),.btn:hover{filter:brightness(1.08)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.field input,.field textarea,.field select,input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=color]),select,textarea{font:inherit;background:var(--input);border:1px solid var(--line);color:var(--input-text);padding:11px 13px;border-radius:var(--button-radius);max-width:100%;min-width:0}.field input[type=color]{width:55px;padding:4px}.choice,.option-row,.notice,.survey-settings-section,.guided-options,.analytics-sticky{background:var(--panel2);border-color:var(--line);border-radius:var(--button-radius)}.notice{color:var(--text);overflow-wrap:anywhere}.choice input{min-height:initial;accent-color:var(--accent)}.pill{background:var(--panel2);border-color:var(--line);font-size:12px;padding:4px 9px}.bar,.progress{background:var(--input)}.survey-editor-toolbar{background:var(--panel);backdrop-filter:none;border-radius:var(--radius)}.question-box-head{border-bottom-color:var(--line)}.question-collapse-toggle{background:var(--input);color:var(--text)}.question-box h4{color:var(--heading)}
.admin-workspace{padding-top:34px;padding-bottom:70px}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.workspace-heading p{margin:0}.admin-layout{grid-template-columns:235px minmax(0,1fr);gap:28px}.admin-main{min-width:0}.sidebar{padding:15px;margin:0;top:20px;position:sticky}.nav-group{font-size:10px!important;letter-spacing:.14em;color:var(--muted)!important;margin:12px 12px 8px!important;font-weight:750}.tab-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:3px 0;min-height:45px;padding:10px 12px;font-size:14px;line-height:1.35;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:var(--button-radius);cursor:pointer;font-weight:600}.tab-btn:hover{background:var(--panel2);color:var(--text)}.tab-btn.active{background:var(--secondary);border-color:var(--line);color:var(--text)}.nav-mark{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.sidebar-footer{border-top:1px solid var(--line);margin:20px 10px 0;padding-top:18px;display:grid;gap:12px;font-size:12px}.sidebar-footer .pill{width:fit-content}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px}.section-heading .eyebrow{margin-bottom:4px}.section-heading h2{margin:0}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px}.stat{padding:18px 20px;background:var(--panel-background);border:1px solid var(--line);border-radius:var(--radius)}.stat b{display:block;font-size:30px;letter-spacing:-.045em;line-height:1.2}.stat span{font-size:var(--subtext-size);color:var(--muted)}.list-item{padding:20px;align-items:flex-start;gap:20px}.list-item .row{gap:8px}.list-item h3{margin-bottom:8px}.list-item .row .btn{padding:9px 12px}.item-meta{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.empty-state{padding:38px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);text-align:center}.login-card{max-width:460px;margin:45px auto!important;padding:35px!important}.login-card h1{font-size:2rem}.narrow-card{max-width:650px}.editor-drawer>summary{cursor:pointer;font-weight:700;padding:6px 0}.editor-drawer[open]>summary{margin-bottom:20px}.status-message{min-height:24px}.error{color:var(--danger)!important}.success{color:var(--accent2)!important}.pagination{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:20px 0}.pagination span{color:var(--muted);font-size:14px}.answer-content{padding-top:15px}.manage-results-section>summary{cursor:pointer;display:flex;flex-direction:column;gap:5px}.manage-results-body{padding-top:20px}.file-details{font-size:13px;overflow-wrap:anywhere}.update-drop{border:1px dashed var(--accent);border-radius:var(--radius);padding:28px;background:var(--panel2);margin:16px 0}.update-drop input{width:100%;margin:12px 0}.change-list{max-height:220px;overflow:auto;font:13px/1.8 ui-monospace,monospace}.version-item{display:grid;grid-template-columns:1fr auto;gap:20px}.version-item h3{margin-top:0}.version-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.info-grid div{padding:12px;background:var(--panel2);border-radius:var(--button-radius)}.info-grid small{display:block;color:var(--muted)}
.appearance-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;align-items:start}.appearance-preview{position:sticky;top:20px}.theme-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.theme-toolbar .field{flex:1;margin:0;min-width:210px}.theme-section{margin:12px 0;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-background)}.theme-section>summary{font-weight:700;cursor:pointer}.theme-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.theme-control{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.theme-control>label{min-height:20px}.color-field{display:flex;gap:6px;align-items:center}.color-field input[type=text]{width:100%;min-width:0;font:13px ui-monospace,monospace}.override-toggle{display:flex;align-items:center;gap:6px;font-size:11px;margin-top:2px}.override-toggle input{min-height:0}.theme-control.inherited{opacity:.6}.theme-preview-card{background:var(--body-background);padding:18px;border:1px solid var(--line);border-radius:var(--radius);font-family:var(--body-font);color:var(--text)}.theme-preview-card .preview-header{background:var(--header-background);color:var(--header-text);padding:14px;border-radius:var(--button-radius);font-family:var(--heading-font);font-weight:700}.theme-preview-card .preview-body{background:var(--panel-background);padding:16px;margin:15px 0;border-radius:var(--radius)}.theme-preview-card h3{font-family:var(--heading-font)!important;color:var(--heading)}.theme-preview-card p{font-size:var(--subtext-size);color:var(--muted)}.theme-preview-card input{width:100%;margin-bottom:12px}.appearance-actions{display:flex;gap:10px;flex-wrap:wrap;position:sticky;bottom:10px;background:var(--panel);border:1px solid var(--line);padding:12px;border-radius:var(--radius);z-index:10}.skip-link{position:fixed;top:-100px;left:12px;background:var(--accent);color:var(--button-text)!important;padding:12px;z-index:100}.skip-link:focus{top:12px}#toast{position:fixed;bottom:20px;right:20px;z-index:100;max-width:min(420px,90vw);background:var(--panel);border:1px solid var(--accent);border-radius:12px;box-shadow:0 10px 40px #0006;padding:16px 20px;display:none}#toast.show{display:block}.pageview-chart{min-width:0;height:auto}.analytics-sidebar{max-height:80vh}.analytics-main h2{overflow-wrap:anywhere}.text-response{overflow-wrap:anywhere}.hero{padding-top:65px}.home-admin-indicator{padding:12px}
@media(max-width:1050px){.appearance-layout{grid-template-columns:1fr}.appearance-preview{position:static;max-width:550px}.admin-layout{grid-template-columns:205px minmax(0,1fr)}}
@media(max-width:800px){.admin-layout{grid-template-columns:1fr;gap:20px}.sidebar{position:static;display:flex;flex-wrap:wrap;gap:5px;padding:12px}.sidebar .tab-btn{width:auto;flex:1 1 135px;font-size:13px}.nav-group,.nav-mark,.sidebar-footer{display:none}.workspace-heading{align-items:flex-start;flex-direction:column;gap:16px}.workspace-heading h1{font-size:2rem}.workspace-heading>.btn{width:100%}.section-heading{align-items:flex-start}.stat{padding:14px}.stat b{font-size:25px}.stat span{font-size:12px}.stat-grid{gap:8px}.topbar{flex-direction:column;align-items:flex-start}.nav{width:100%}.nav a,.nav button{flex:1;text-align:center;padding:9px 10px;white-space:nowrap}.list-item{padding:17px}.version-item{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}.theme-fields{grid-template-columns:1fr 1fr}.analytics-sidebar{position:static;max-height:none}.analytics-layout{grid-template-columns:1fr}.slide-main{padding:14px}.slide-card{padding:24px 20px;min-height:initial;max-height:none}.slide-top{padding:15px 18px}.hero{padding-top:42px}.card{padding:20px}.appearance-actions .btn{flex:1}.survey-editor-toolbar{position:static}.pageview-chart-card{overflow:hidden}}
@media(max-width:420px){.theme-fields{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr}.stat{display:flex;gap:14px;align-items:center}.stat b{font-size:24px}.pagination{flex-wrap:wrap}.pagination span{order:-1;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.home-page h1,.home-page h2,.home-page h3,.home-page .big-card b{font-family:var(--heading-font)!important}h1,h2,h3,h4{font-weight:var(--heading-weight,700)}.home-page .hero h1{font-size:calc(clamp(2.4rem,5vw,4.8rem) * var(--heading-scale))}.muted,.lead,.description-text,.field label,.analytics-card summary small,.home-page .lead{font-family:var(--subtext-font,var(--body-font))!important}.site-header .brand,.site-header .nav,.slide-top{font-family:var(--header-font,var(--heading-font))!important}.btn{background:var(--button-background,var(--accent))}.btn.secondary{background:var(--secondary)}.btn.danger{background:transparent}.btn.warn{background:var(--warn)}
