/* Adapted from Automobile v0.4.33 visual conventions; teal accent for TEA. */
:root{--ink:#183039;--muted:#5f737a;--paper:#f3f7f7;--surface:#fff;--soft:#eaf3f3;--line:#b5c9cc;--accent:#117681;--dark:#0c5662;--pale:#e1f2f1;--amber:#b36b18;--red:#b23e29;--shadow:0 18px 48px rgba(24,63,72,.07);--radius:20px}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:26px}body{margin:0;color:var(--ink);background:linear-gradient(160deg,#fafbf8,var(--paper));font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.55}button,input,select,textarea{font:inherit}button,select{cursor:pointer}a{color:var(--dark)}a:hover{color:var(--accent)}img,svg{max-width:100%}svg{height:auto;display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d78b24;outline-offset:3px}
.app-shell{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow:auto;padding:27px 20px;background:linear-gradient(155deg,#124f5b,#123946);color:#fff}.brand{display:flex;gap:12px;text-decoration:none;color:#fff;align-items:center}.brand:hover{color:#fff}.brand img{width:49px;height:58px;object-fit:contain}.brand strong{display:block;font-size:13px;line-height:1.35}.brand small{display:block;color:#bad7db;font-size:10px;line-height:1.5;margin-top:8px}.nav-group{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#aed0d5;margin:25px 10px 7px}.sidebar nav a{display:flex;gap:12px;align-items:center;padding:9px 11px;color:#effafa;text-decoration:none;border-radius:8px;font-size:12px;line-height:1.4;margin:2px 0}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff19}.sidebar nav b{font-size:10px;color:#b6dcdf;min-width:24px}.sidebar-note{font-size:11px;color:#abc9ce;border-top:1px solid #ffffff25;margin:25px 10px;padding-top:18px}.main{padding:0 42px 70px;max-width:1700px;width:100%;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;color:var(--muted);font-size:12px;border-bottom:1px solid #dce7e7;margin-bottom:24px}.topbar #save-status:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#179189;margin-right:8px}
.section{margin:24px 0 38px;padding:30px 32px;background:var(--surface);border:1px solid #dbe6e7;border-radius:var(--radius);box-shadow:var(--shadow);scroll-margin-top:24px}.section-heading{display:flex;gap:17px;align-items:flex-start;margin-bottom:22px}.section-index{min-width:42px;height:42px;background:var(--pale);color:var(--dark);border-radius:12px;display:grid;place-items:center;font-size:18px;font-weight:700}.section-heading h2{margin:1px 0 4px;font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.25}.section-heading p{margin:0;color:var(--muted);font-size:13px}h3{font-size:18px;line-height:1.4;margin:28px 0 12px}h4{margin:18px 0 9px}p{margin:10px 0 16px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 155px;gap:32px;align-items:center}.hero h1{font-size:clamp(2rem,3.7vw,3.5rem);line-height:1.09;letter-spacing:-.035em;margin:14px 0 20px;max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;color:var(--accent);font-weight:700}.lead{font-size:17px;color:var(--muted);max-width:720px}.hero-mark img{width:145px;max-height:180px;object-fit:contain}.hero-links{display:flex;gap:18px;flex-wrap:wrap;margin:20px 0}.hero-links a{font-size:13px;text-decoration:none}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0 18px}.principle{border-top:3px solid #67a6ac;padding:15px;background:#f6f9f9;border-radius:0 0 10px 10px}.principle strong{font-size:13px;display:block;margin-bottom:6px}.principle span{display:block;color:var(--muted);font-size:12px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0;counter-reset:step;list-style:none}.steps li{counter-increment:step;padding:14px;background:var(--soft);border-radius:10px;font-size:12px}.steps li:before{content:counter(step,decimal-leading-zero);display:block;color:var(--accent);font-weight:700;font-size:19px;margin-bottom:8px}
.field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:16px 0}.field{display:flex;flex-direction:column;gap:7px;font-size:13px}.field>span{font-weight:600}.field small{font-size:10px;color:var(--accent);white-space:nowrap;margin-right:4px}.field input,select,textarea{border:1px solid var(--line);border-radius:8px;background:#fcfefe;color:var(--ink);padding:10px 12px;min-width:0;width:100%}.field input:focus,textarea:focus,select:focus{border-color:var(--accent)}.field input{height:44px}textarea{min-height:110px;resize:vertical;font-size:14px}.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:12px 0}.check input{accent-color:var(--accent);margin-top:5px}.controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:18px 0}.controls .field{min-width:150px;flex:1}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:1px solid #9cbabe;background:#f7fbfb;border-radius:9px;color:var(--dark);font-size:13px;text-decoration:none;font-weight:600}.button:hover{background:#e3f1f1}.button-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.button-primary:hover{background:var(--dark);color:#fff}.button:disabled{opacity:.5;cursor:wait}.button-small{padding:5px 9px;font-size:11px}.action-row{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.note{font-size:12px;color:var(--muted);line-height:1.55}.callout{padding:14px 18px;border-left:3px solid var(--accent);background:#edf7f6;border-radius:0 9px 9px 0;font-size:14px;margin:20px 0}.warning{padding:12px 16px;border:1px solid #e4c69d;background:#fff8ed;border-radius:9px;font-size:13px}.error{padding:12px 16px;border:1px solid #e6b8ac;background:#fff1ed;border-radius:9px;color:#92331f;font-size:13px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.kpi{background:#f0f6f6;border:1px solid #d6e5e5;border-radius:11px;padding:16px}.kpi strong{font-size:27px;line-height:1.2;display:block;font-variant-numeric:tabular-nums}.kpi span{color:var(--muted);font-size:11px;display:block;margin-top:7px}.badge{display:inline-block;padding:3px 8px;border-radius:6px;font-size:10px;background:#e5f1f0;color:#205e61;white-space:nowrap}.badge.bad{background:#fae6df;color:#92331f}.badge.warn{background:#fff0d8;color:#85540f}.equation{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 20px;background:#f4f8f8;border:1px solid #e1eaea;border-radius:9px;margin:14px 0;font-family:Cambria,"Times New Roman",serif;font-size:20px}.equation a{font-family:Arial,sans-serif;font-size:12px;color:var(--muted);text-decoration:none}.equation sub{font-size:70%}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.table-wrap{overflow-x:auto;max-width:100%;margin:15px 0;border:1px solid #d5e2e3;border-radius:9px}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{background:#edf3f4;color:#345a61;font-weight:600;font-size:11px;border-bottom:1px solid #c1d5d7;padding:11px 10px;vertical-align:bottom}td{padding:10px;border-bottom:1px solid #e2eaeb;vertical-align:top}tbody tr:last-child td{border-bottom:0}tbody tr:nth-child(even){background:#fafcfc}td input,td select{width:100%;min-width:64px;padding:6px 7px;font-size:12px;line-height:1.3;border:1px solid #b8cdd0;border-radius:5px}td input[type=datetime-local]{min-width:155px}td select{min-width:74px}.compact td{padding:7px 8px}.operation-name{min-width:190px;max-width:340px}.wide-table{min-width:840px}.figure{border:1px solid #dae7e8;padding:15px;background:#fff;border-radius:12px;margin:18px 0}.figure figcaption{font-size:11px;color:var(--ink);font-weight:400;line-height:1.3;margin:8px 0 0}.figure svg{width:100%;min-width:520px}.figure{overflow-x:auto}.chart svg{min-width:560px}details{border:1px solid #d4e2e3;border-radius:9px;margin:14px 0;padding:12px 16px}summary{font-size:13px;font-weight:600;cursor:pointer}.source{font-size:12px;padding:14px 0;border-bottom:1px solid #dfebec;overflow-wrap:anywhere}.source strong{display:block}.source p{margin:5px 0}.export-card{border:1px solid #b8d1d4;border-radius:13px;padding:24px}.export-card h3{margin:0 0 10px}.export-card p{font-size:14px;color:var(--muted)}.export-number{font-size:11px;color:var(--accent);letter-spacing:.1em}.nowrap{white-space:nowrap}#toast{position:fixed;right:24px;bottom:24px;max-width:420px;padding:16px 22px;background:#123f48;color:white;border-radius:12px;box-shadow:0 8px 30px #0003;z-index:10;font-size:13px}.empty{color:var(--muted);font-style:italic}.row-error td{background:#fff1ed}
@media(min-width:1600px){.main{padding-left:65px;padding-right:65px}}@media(max-width:1120px){.main{padding:0 22px 40px}.section{padding:25px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr 110px}.hero-mark img{width:110px}.principles{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.app-shell{display:block}.sidebar{position:relative;height:auto;padding:16px}.brand{max-width:400px}.sidebar nav{display:flex;gap:4px;overflow-x:auto;white-space:nowrap;margin-top:12px}.sidebar nav a{min-width:max-content}.nav-group,.sidebar-note{display:none}.main{padding:0 12px 30px}.section{padding:21px 17px;border-radius:14px}.hero{grid-template-columns:1fr}.hero-mark{display:none}.split{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr 1fr}.figure{margin:16px 0;padding:8px}.section-heading h2{font-size:21px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.input-group{scroll-margin-top:25px;padding:18px 20px}.input-group>summary{font-size:16px;color:var(--dark)}.input-group[open]>summary{margin-bottom:18px}.default-hint{display:block;font-size:10px;color:var(--muted);margin:4px 0}.default-hint.edited{color:#9a5217}.input-group table td{min-width:85px}.input-group table label>span:empty{display:none}.input-group table .field{gap:0}.input-group table .field small:empty{display:none}
/* Readable numbered material, matching Automobile's caption/input conventions. */
caption{caption-side:top;text-align:left;color:var(--ink);font-size:11px;font-weight:600;line-height:1.3;padding:8px 10px;background:transparent;border:0}
.input-group{border-top:1px solid #d8e6e5;margin:28px 0 0;padding:10px 0 5px}.input-group>h3{margin:18px 0;color:var(--dark);font-size:20px}.input-group p{max-width:1000px;font-size:14px}.input-group .note{font-size:12px}
.cell-field{display:flex;flex-direction:column;gap:5px}.input-reference{display:inline-block;color:var(--accent);font:500 10px/1.4 Arial,sans-serif;white-space:nowrap;letter-spacing:.015em}.cell-field .input-reference{align-self:flex-start}.default-hint{max-width:150px;line-height:1.4}.field>span .input-reference{margin-right:5px}
.project-actions{margin-top:28px;padding-top:10px;border-top:2px solid #b8d3d2}.subsection{margin:26px 0}.subsection h3{color:var(--dark)}.reference-list{list-style:none;padding:0;margin:20px 0}.reference-list li{display:flex;gap:12px;margin:0;padding:13px 0;border-bottom:1px solid #dfe9e9;font-size:13px;line-height:1.65;overflow-wrap:anywhere}.reference-number{flex:0 0 30px;color:var(--dark);font-weight:600}.cite{white-space:nowrap;text-decoration:none;font-size:.95em}.field select{min-height:44px;height:auto}.equation>div{min-width:0;overflow-wrap:anywhere}

[id="table-3.3"] td:first-child{white-space:nowrap}
/* 0.3: technological design workspace */
.station-logo{width:130px;max-height:160px;object-fit:contain}.table-wrap{border:1px solid #9cb1b6;border-radius:4px;margin:20px 0;overflow:auto}table{border-collapse:collapse;margin:0;width:100%}th,td{border:1px solid #b2c3c6;padding:9px 10px;vertical-align:top}th{background:#dce9e9;color:#234d59}tbody tr:nth-child(even){background:#f4f7f6}td .field{margin:0;min-width:80px}td .field span{font-size:11px;line-height:1.3}td .field input{min-width:70px;width:100%;padding:7px}td .field:has(input[type=text]){min-width:180px}.fraction{display:inline-flex;flex-direction:column;text-align:center;vertical-align:middle;line-height:1.25;margin:0 .2em}.fraction>span:first-child{border-bottom:1px solid currentColor;padding:0 .25em .12em}.fraction>span:last-child{padding:.12em .25em 0}.math-symbol,.math-substitution,.math-inline{font-family:Cambria,"Times New Roman",serif}.math-symbol{font-size:22px}.math-substitution{font-size:20px;margin-top:10px;color:#304e56}.station-svg{display:block;width:100%;height:auto;max-height:750px;background:#fcfdfc;border:1px solid #d5e0e0}.section .equation{background:#eef4f3;border-left:3px solid #477988}.equation>div{overflow-wrap:normal}.section h3{margin-top:30px}.input-reference{font-size:11px;white-space:nowrap}.read-field strong{font-weight:500}.field-grid{align-items:start}.station-sheets{font-family:Arial}
@media(max-width:700px){.station-logo{width:80px}.math-symbol,.math-substitution{font-size:17px}.table-wrap{max-width:100%}.hero{gap:12px}.section{padding:18px}}

.fraction{display:inline-block;vertical-align:middle}.fraction>span{display:block}

td .field>span{font-size:0}td .field>span .input-reference{font-size:10px}

/* 0.3.2: compact technical hierarchy, shared by both workspaces. */
body{font-size:14px}.section{padding:24px 28px;border-radius:8px;box-shadow:none}.section-heading{gap:9px;align-items:baseline;margin-bottom:18px;padding-bottom:9px;border-bottom:1px solid var(--line)}.section-index{min-width:20px;height:auto;display:block;background:none;border-radius:0;color:var(--ink);font-size:17px;font-weight:600}.section-heading h2{font-size:17px;font-weight:600;line-height:1.35;margin:0;color:var(--ink)}h3,.input-group>h3{font-size:15px;font-weight:600;color:var(--ink)}.hero h1{font-size:25px;line-height:1.2;letter-spacing:0;margin:12px 0}.hero .lead{font-size:14px}.hero .eyebrow{color:var(--ink)}.hero a{font-size:12px}.sidebar nav .workspace-link{border-top:1px solid #ffffff35;border-radius:0;margin-top:18px;padding-top:16px;font-size:11px;color:#bdd9dc}.equation,.math-symbol,.math-substitution{font-size:14px;color:var(--ink)}.math-substitution{margin-top:5px}.equation,.section .equation{padding:9px 12px;margin:10px 0;border-radius:2px;background:#f7f9f9;border-left:2px solid #90a4a8}.equation a{font-size:11px}.layout-panel{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:20px;align-items:start;margin:14px 0 24px}.layout-panel .figure,.layout-panel .table-wrap{margin:0 0 14px}.layout-panel .figure{border-radius:2px;padding:10px}.layout-panel .figure svg{min-width:0;max-height:430px;border:0;background:white}.layout-panel th,.layout-panel td{padding:7px}.layout-panel caption{padding:7px 8px}.post-panel .figure svg{max-height:340px}
@media(max-width:1100px){.layout-panel{grid-template-columns:1fr}.layout-panel .figure svg{max-height:430px}}@media(max-width:700px){.section{padding:18px}.section-heading h2,.section-index{font-size:16px}.equation,.math-symbol,.math-substitution{font-size:14px}.hero h1{font-size:22px}}

/* 0.4: architectural plan registers and standard service symbols. */
.utility-key{display:inline-block;width:28px;height:25px;vertical-align:middle;color:#20292d}.plan-registers{display:grid;grid-template-columns:1fr 1.3fr;gap:20px}.plan-registers .table-wrap{margin:4px 0 18px}.plan-registers td:first-child{min-width:115px}.plan-registers td,.plan-registers th{padding:7px 9px}
@media(max-width:1000px){.plan-registers{grid-template-columns:1fr}}

/* Interactive department emblem in the station-design introduction. */
.station-hero{grid-template-columns:minmax(0,1fr) 560px}
.station-logo-viewer{position:relative;width:100%;height:400px;overflow:hidden;cursor:grab;touch-action:pan-y;border-radius:8px}
.station-logo-viewer:active{cursor:grabbing}
.station-logo-viewer:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.station-logo-viewer canvas{display:block;width:100%;height:100%;touch-action:pan-y}
.station-logo-viewer [role=status]{position:absolute;bottom:4px;left:0;right:0;text-align:center;font-size:11px;color:var(--muted);pointer-events:none}
.station-logo-viewer[data-loaded=false] canvas{visibility:hidden}
@media(max-width:1120px){.station-hero{grid-template-columns:minmax(0,1fr) 440px}.station-logo-viewer{height:340px}}
@media(max-width:780px){.station-hero{grid-template-columns:minmax(0,1fr);gap:4px}.station-logo-viewer{width:520px;max-width:100%;height:340px;justify-self:center}}
