/* Omerica Studios visual theme, sampled from its live design tokens 2026-09-07.
   Shared by the campus and both iframe workspaces. Geometry and controls retain
   their own layout rules; this layer owns typography, surfaces and interaction states. */
@font-face{font-family:Cinzel;font-style:normal;font-weight:400 900;font-display:swap;src:url('floor/fonts/cinzel-latin.woff2') format('woff2')}
:root{
 --studio-mint:#eef9f6;--studio-white:#f6fcfb;--studio-ink:#0b333d;
 --studio-body:#1f4e58;--studio-teal:#0c5a6d;--studio-gold:#ffd34d;
 --studio-line:#bad8d5;--studio-muted:#4e6a66;--studio-pale:#dff2ec;
 --studio-display:Cinzel,'Cormorant Garamond',Georgia,serif;
 --studio-serif:'Cormorant Garamond',Georgia,serif;
 --studio-shadow:0 8px 28px #08303a14;
 --paper:var(--studio-white);--ink:var(--studio-ink);--muted:var(--studio-muted);
 --line:var(--studio-line);--accent:var(--studio-teal);
 color:var(--studio-ink);background:var(--studio-mint)
}
body{color:var(--studio-ink);background:var(--studio-mint);-webkit-font-smoothing:antialiased}
::selection{background:var(--studio-teal);color:white}
button,select,input{accent-color:var(--studio-teal)}
button{transition:background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--studio-teal);outline-offset:3px;box-shadow:0 0 0 5px white}
button:disabled{cursor:default}
a{color:var(--studio-teal);text-underline-offset:4px}
/* Campus: the scene remains the hero; polished, quiet chrome frames it. */
.facility-header,.school-header{background:var(--studio-white);border-bottom:2px solid #182226;box-shadow:0 2px 16px #0b333d0a}
.facility-brand{font-family:var(--studio-display);color:var(--studio-ink);font-weight:600;letter-spacing:.1em}
.facility-brand span{font-family:Inter,Arial,sans-serif;color:var(--studio-muted);letter-spacing:.2em}
.facility-header nav button{color:var(--studio-body)}
.facility-header nav button:hover{background:var(--studio-pale);color:var(--studio-ink)}
.facility-header nav button[aria-current]{color:var(--studio-teal)}
.facility-header nav button[aria-current]:after{background:var(--studio-gold);height:3px}
.solid-button,.light-button{border-radius:2px;font-weight:600;letter-spacing:.025em}
.solid-button{background:var(--studio-teal);color:white;border:1px solid var(--studio-teal)}
.solid-button:hover:not(:disabled){background:var(--studio-ink);border-color:var(--studio-ink)}
#openAssembly,.place-actions .light-button{background:var(--studio-gold);color:#182226;border:1px solid #182226;box-shadow:0 3px 10px #0b333d12}
#openAssembly:hover,.place-actions .light-button:hover{background:#f2c53d}
#openEquipment{background:transparent;color:var(--studio-teal);border-color:var(--studio-line)}
#openEquipment:hover{background:var(--studio-pale)}
.place-caption h1{font-family:var(--studio-display);font-size:40px;line-height:1.12;font-weight:500;letter-spacing:-.018em;text-shadow:0 2px 22px #08262f55}
.place-caption .eyebrow{color:#dff2ec;letter-spacing:.22em}
.place-caption .eyebrow:before{content:'';display:inline-block;width:24px;height:1px;background:var(--studio-gold);vertical-align:middle;margin-right:12px}
.place-caption>p:not(.eyebrow){color:#e3efec}
.scene-shade{background:linear-gradient(0deg,#062b36da 0%,#062b3670 35%,transparent 100%)}
.view-tools,.travel-feedback{background:#f6fcfbf2;color:var(--studio-ink);border-color:#bad8d5;border-radius:6px;box-shadow:var(--studio-shadow)}
.view-tools button{background:var(--studio-pale);color:var(--studio-teal)}
.view-tools button:hover,.movement-buttons button:hover{background:#c4e9e2}
.movement-buttons button{background:var(--studio-white);color:var(--studio-teal);border-color:var(--studio-line);border-radius:4px;box-shadow:0 2px 8px #062b3620}
.scene-note{background:#082f3acf;color:#e2efeb;border-top-color:#b2ddd840}
.scene-note span{color:#c6dedc}
#useNearby{background:var(--studio-gold);color:var(--studio-ink);border-color:var(--studio-ink);border-radius:3px}
.loading-message{background:var(--studio-mint);color:var(--studio-teal)}
/* Equipment collection: gallery labels and softly framed reference cards. */
.equipment-gallery article{background:radial-gradient(ellipse at top right,#fff8e6a0,transparent 45%),var(--studio-mint);border-left:1px solid var(--studio-line)}
.equipment-gallery h1{font-family:var(--studio-display);font-size:34px;font-weight:500;line-height:1.15;letter-spacing:-.018em;color:var(--studio-ink)}
.equipment-gallery h2{color:var(--studio-ink);font-size:11px;text-transform:uppercase;letter-spacing:.15em}
.equipment-gallery p{color:var(--studio-body)}
.equipment-gallery .eyebrow{color:var(--studio-teal);letter-spacing:.22em}
.equipment-gallery button,.equipment-gallery select{background:var(--studio-white);color:var(--studio-ink);border-color:var(--studio-line);border-radius:3px;min-height:44px}
.equipment-gallery button:hover{background:var(--studio-pale)}
.equipment-gallery .tools label{background:var(--studio-white);color:var(--studio-ink);border-radius:4px;box-shadow:var(--studio-shadow)}
.equipment-gallery .build{background:var(--studio-gold);color:#182226;border-color:#182226;font-weight:600}
.equipment-gallery .build:hover{background:#f2c53d}
#partNames{border-color:var(--studio-line)}
#partNames details{background:#ffffffb8;border-color:var(--studio-line);border-radius:5px;padding:15px;box-shadow:0 3px 10px #08303a06}
#partNames details[open]{border-left:3px solid var(--studio-teal);padding-left:13px}
#partNames summary{color:var(--studio-ink)}
#partNames dt{color:var(--studio-muted)}
#partNames a{color:var(--studio-teal)}
/* Workbench: retain Inter for numbers and technical instructions. */
.school-header .brand{font-family:var(--studio-display);font-size:23px;color:var(--studio-ink)}
.school-header .brand>span{color:var(--studio-teal)}
.lesson-panel,.lesson-dock{background:var(--studio-white)}
.lesson-scroll{background:radial-gradient(ellipse at top left,#fff8e670,transparent 55%);scrollbar-color:var(--studio-line) transparent}
.lesson-intro,.lesson-detail,.model-hint{color:var(--studio-body)}
#lessonTitle{font-family:var(--studio-serif);font-weight:600;font-size:38px}
.lesson-eyebrow,.small-label{color:var(--studio-teal);letter-spacing:.14em}
#lessonPhase{background:var(--studio-pale);padding:3px 7px;border-radius:2px;letter-spacing:.06em}
.model-caption{background:linear-gradient(110deg,var(--studio-white),var(--studio-mint));border-bottom:1px solid var(--studio-line)}
#modelPart{font-family:var(--studio-serif);color:var(--studio-ink);font-weight:600;font-size:30px}
.model-zoom button,.secondary,.build-picker select{background:var(--studio-white);border-color:var(--studio-line);color:var(--studio-ink);border-radius:3px}
.model-controls{background:#f6fcfbf2;border:1px solid var(--studio-line);box-shadow:var(--studio-shadow);border-radius:5px}
.model-controls button{color:var(--studio-teal);border-radius:3px}
.model-controls button[aria-pressed=true]{background:var(--studio-teal);color:white}
.primary{background:var(--studio-gold);color:#182226;border:1px solid #182226;font-weight:600;border-radius:2px}
.primary:hover:not(:disabled){background:#f2c53d}
.secondary:hover:not(:disabled){background:var(--studio-pale)}
.progress{background:var(--studio-pale);height:3px}
.progress>span{background:var(--studio-teal)}
.simulation-entry button,.component-guide-open{background:var(--studio-mint);color:var(--studio-teal);border:1px solid var(--studio-line);border-radius:3px;line-height:1.5}
.simulation-entry button:hover,.component-guide-open:hover{background:var(--studio-pale);border-color:var(--studio-teal)}
/* Shared overlays, including training, vending, fasteners and rack layout. */
dialog,#mechanicalDialog,#practicePicker,#datacenterDialog{background:var(--studio-white);color:var(--studio-ink);border:1px solid var(--studio-line);border-radius:8px;box-shadow:0 20px 80px #082f3a40}
dialog::backdrop,#mechanicalDialog::backdrop,#practicePicker::backdrop,#datacenterDialog::backdrop{background:#082f3a80}
dialog h2,.mechanical-header h2,#datacenterDialog h2{font-family:var(--studio-serif);font-weight:600;color:var(--studio-ink)}
.mechanical-header{background:linear-gradient(110deg,var(--studio-mint),#fff8e6);border-bottom-color:var(--studio-line)}
.mechanical-header p,#datacenterDialog header p{color:var(--studio-teal);letter-spacing:.14em}
.mechanical-controls label,.mechanical-controls p{color:var(--studio-body)}
.mechanical-controls input,.mechanical-controls select,#mechanicalDialog button,#practicePicker button,#datacenterDialog button,#datacenterDialog select,#vendingChoices button{background:white;color:var(--studio-ink);border-color:var(--studio-line);border-radius:3px}
.mechanical-controls a{color:var(--studio-teal)}
#mechanicalDialog button:hover:not(:disabled),#practicePicker button:hover,#datacenterDialog button:hover:not(:disabled),#vendingChoices button:hover:not(:disabled){background:var(--studio-pale)}
#fastenerChoices button[aria-pressed=true]{background:var(--studio-gold);border-color:var(--studio-ink)}
#mechanicalContinue{background:var(--studio-teal)!important;color:white!important}
#rackElevation{background:var(--studio-ink);border:3px solid var(--studio-ink);border-radius:3px}
#rackElevation button{background:var(--studio-mint)}
#rackElevation button.occupied{background:#b4ded6;color:var(--studio-ink);border-left:3px solid var(--studio-gold)}
#dcLinks p{background:var(--studio-mint);border-left:2px solid var(--studio-teal)}
#dcValidate{background:var(--studio-teal)!important;color:white!important}
#dcValidation,.dc-note{color:var(--studio-muted)}
.training-panel{background:var(--studio-white);color:var(--studio-ink);border-color:var(--studio-line);box-shadow:var(--studio-shadow)}
@media(max-width:700px){
 .place-caption h1,body[data-room]:not([data-room=outside]) .place-caption h1{font-size:28px;line-height:1.12}
 .facility-brand{font-size:13px;letter-spacing:.07em}
 .equipment-gallery h1{font-size:29px}.equipment-gallery article{border-left:0;border-top:1px solid var(--studio-line)}
 .equipment-gallery .tools{gap:4px;left:8px;right:8px}.equipment-gallery .tools label{min-width:0;font-size:10px;padding-left:7px}
 .equipment-gallery .tools select{max-width:190px;margin-left:3px;font-size:11px;padding-left:6px;padding-right:4px}
 .equipment-gallery .rotate{gap:4px;left:8px;right:8px}.equipment-gallery .rotate button{font-size:11px;padding:10px 8px}
 .school-header .brand{font-size:21px}#modelPart{font-size:26px}
}
@media(prefers-reduced-motion:reduce){button{transition:none}}
/* Keep the specimen controls visible while its longer parts notes scroll. */
@media(min-width:701px){.equipment-gallery .scene{position:sticky;top:0;height:100dvh;align-self:start;min-height:500px}}
/* Technical inspection surfaces. */
#mechanicalPartReadout{padding:12px;border:1px solid var(--studio-line);border-left:3px solid var(--studio-teal);background:var(--studio-mint);font-size:12px;line-height:1.6}
#mechanicalExploded[aria-pressed=true]{background:var(--studio-gold);color:var(--studio-ink);border-color:var(--studio-ink)}
.training-stations button{background:var(--studio-mint);color:var(--studio-teal);border-color:var(--studio-line)}
.training-stations button[aria-pressed=true],.training-footer #trainingBuild{background:var(--studio-teal);color:white;border-color:var(--studio-teal)}
.training-body span{color:var(--studio-body)}
.training-stations button,#fastenerChoices button{transition:none}
