@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700&display=swap";:root{font-family:Manrope,sans-serif;color:#172127;background:#e8edf0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #172127;--muted: #637078;--paper: #f8fafb;--panel: #ffffff;--steel: #2f7083;--steel-soft: #dcebf0;--amber: #e5a61f;--amber-soft: #fff4d6;--green: #347b57;--green-soft: #def0e6;--red: #b43d3d;--red-soft: #f9e1e1;--line: #d7dfe3;--shadow: 0 1px 2px rgba(26, 38, 45, .08), 0 12px 30px rgba(26, 38, 45, .06)}*{box-sizing:border-box}html{min-width:320px;background:#e8edf0}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button,select,input[type=range],input[type=file]{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(47,112,131,.35);outline-offset:2px}button:active{transform:scale(.96)}button{transition-property:transform,background-color,color,box-shadow;transition-duration:.15s}input,select{min-height:40px}.mono{font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums}.app-shell{min-height:100vh}.app-header{min-height:108px;display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px 24px;align-items:center;padding:12px 22px;background:#f9fbfc;box-shadow:0 1px #1721271a;position:relative;z-index:5}.brand-block{display:flex;gap:12px;align-items:center}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--ink);color:#fff;font-weight:700;letter-spacing:-.05em;border-radius:9px;box-shadow:inset 0 0 0 1px #ffffff29}.brand-block div{display:grid}.brand-block strong{font-size:18px;letter-spacing:-.025em}.brand-block>div>span{color:var(--muted);font-size:12px}.build-badge{margin-left:4px;padding:4px 7px;border-radius:5px;background:#edf2f4;color:#53616a!important;font-family:IBM Plex Mono,monospace;font-size:9px!important;font-variant-numeric:tabular-nums}.project-fields{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:minmax(220px,1.35fr) 92px minmax(220px,1.2fr) minmax(130px,.7fr) minmax(150px,.8fr);gap:10px}.project-fields label,.report-toolbar label{display:grid;gap:3px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.project-fields input,.report-toolbar input{width:100%;min-height:38px;padding:8px 10px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:7px;text-transform:none;letter-spacing:0}.header-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.study-open-button{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.study-open-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.study-status{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 22px;background:#e5f0f3;color:#244e5a;box-shadow:inset 0 -1px #2f70832e;font-size:11px}.study-status button{width:30px;height:30px;flex:0 0 30px;border:0;border-radius:6px;background:#ffffffb8;color:inherit;font-size:18px}.button{min-height:42px;padding:0 15px;border-radius:8px;border:0;font-weight:600;white-space:nowrap}.button.primary{background:var(--ink);color:#fff;box-shadow:0 6px 16px #1721272e}.button.secondary{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.button.ghost{background:transparent;color:#c7d1d7;box-shadow:inset 0 0 0 1px #44515a}.button:disabled{cursor:not-allowed;opacity:.45;transform:none}.danger-button{background:var(--red-soft);color:#8d2e2e}.solve-button{background:var(--amber);color:#28200e;box-shadow:0 6px 16px #e5a61f38}.app-tabs{height:50px;display:flex;align-items:stretch;gap:4px;padding:0 22px;background:#f9fbfc;box-shadow:0 1px #1721271a}.app-tabs>button{min-width:110px;min-height:44px;border:0;background:transparent;color:var(--muted);font-weight:600;position:relative}.app-tabs>button[aria-current=true]{color:var(--ink)}.app-tabs>button[aria-current=true]:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--amber)}.app-tabs>button span{display:inline-grid;place-items:center;min-width:22px;height:20px;margin-left:4px;background:#e9eef1;border-radius:10px;font-size:11px}.status-cluster{margin-left:auto;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.status-dot{width:8px;height:8px;border-radius:50%;margin-left:8px}.status-dot.blocking{background:var(--red)}.status-dot.warning{background:var(--amber)}.workbench{display:grid;grid-template-columns:360px minmax(0,1fr);min-height:calc(100vh - 158px)}.control-rail{display:flex;flex-direction:column;padding:18px 16px 50px;background:#eef2f4;box-shadow:inset -1px 0 #17212714}.control-section{padding:16px 2px 20px;display:grid;gap:12px;border-bottom:1px solid #d4dde1}.control-section:first-child{padding-top:0}.obstacles-section{order:4}.force-section{order:5}.machines-section{order:6}.section-heading{display:flex;align-items:center;gap:9px}.section-heading>span{font-family:IBM Plex Mono,monospace;color:var(--steel);font-size:11px}.section-heading h2{margin:0;font-size:14px;letter-spacing:-.015em}.field{display:grid;gap:5px;color:var(--muted);font-size:12px}.field select,.field input[type=number],.field input[type=text]{width:100%;padding:8px 10px;border:1px solid #cfd9de;border-radius:7px;background:#fff;color:var(--ink)}.field-help{color:#66747b;font-size:9px;font-weight:500;line-height:1.45;text-wrap:pretty}.conductor-readout{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;border-radius:8px;background:#d8e1e5;box-shadow:inset 0 0 0 1px #2f70831f}.conductor-readout span{min-height:34px;display:grid;align-content:center;gap:1px;padding:6px 9px;background:#f8fafb;color:var(--muted);font-size:9px}.conductor-readout strong{color:var(--ink);font-size:11px;font-variant-numeric:tabular-nums}.conductor-readout small{grid-column:1 / -1;padding:7px 9px;background:#edf3f5;color:#52636c;font-size:9px;line-height:1.4}.ats-guidelines{padding:10px;display:grid;gap:8px;border-radius:10px;background:#eef4f6;box-shadow:inset 0 0 0 1px #2f708321,0 2px 5px #1721270a}.ats-guidelines-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.ats-guidelines-heading span{color:var(--steel);font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ats-guidelines-heading strong{color:var(--ink);font-size:12px;text-wrap:balance}.ats-guidelines dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border-radius:6px;background:#d5e0e4}.ats-guidelines dl>div{min-height:48px;padding:8px 9px;display:grid;align-content:center;gap:3px;background:#ffffffdb}.ats-guidelines dt{color:var(--muted);font-size:9px;line-height:1.35}.ats-guidelines dd{margin:0;color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:10px;font-variant-numeric:tabular-nums;line-height:1.4;text-wrap:pretty}.ats-guidelines .ats-guidelines-wide{grid-column:1 / -1}.ats-guidelines .ats-retro-rule{background:#fff8e9}.ats-guidelines .ats-retro-rule dt,.ats-guidelines .ats-retro-rule dd{color:#6f520f}.ats-guidelines>p{margin:0;color:#52636c;font-size:10px;line-height:1.45;text-wrap:pretty}.catalog-data-warning{display:grid;gap:3px;padding:9px 10px;border-left:3px solid var(--amber);border-radius:4px 8px 8px 4px;background:#fff6e4;color:#6f4a0b;font-size:10px;line-height:1.45}.catalog-data-warning strong{color:#513300;font-size:11px}.catalog-data-warning.complete{border-left-color:var(--green);background:var(--green-soft);color:#245a3f}.catalog-data-warning.complete strong{color:#17452f}.required-source-field{padding:10px;border-radius:8px;background:#fffaf0;box-shadow:inset 0 0 0 1px #c0781240}.range-field{display:grid;gap:6px}.range-field>.range-label{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.range-label>span{min-width:0;text-wrap:pretty}.range-field output{flex:0 0 auto;color:var(--ink);font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums;white-space:nowrap}.range-field input{width:100%;accent-color:var(--steel);min-height:22px}.conductor-position-control{display:grid;gap:9px;padding:11px;border-left:3px solid var(--steel);background:#f8fafb;box-shadow:inset 0 0 0 1px #2f708324}.conductor-position-heading{display:flex;align-items:start;justify-content:space-between;gap:10px}.conductor-position-heading>div{min-width:0;display:grid;gap:2px}.conductor-position-heading strong{color:var(--ink);font-size:11px}.conductor-position-heading span,.conductor-position-control>p{color:var(--muted);font-size:9px;line-height:1.4}.conductor-position-heading output{flex:0 0 auto;padding-top:1px;color:var(--steel);font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:700;white-space:nowrap}.conductor-position-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#cfd9de}.conductor-position-presets button{min-height:34px;border:0;background:#fff;color:var(--muted);font-size:10px;font-weight:650}.conductor-position-presets button:hover{background:#edf3f5;color:var(--ink)}.conductor-position-presets button[aria-pressed=true]{background:var(--steel);color:#fff}.conductor-position-control>p{margin:0}.force-editor{display:grid;grid-template-columns:minmax(0,1fr) 138px;gap:10px;align-items:end;padding:10px;border-radius:9px;background:#edf3f5;box-shadow:inset 0 0 0 1px #2f708329}.force-editor input[type=number]{font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums}.force-editor>.guidance-note{grid-column:1 / -1}.two-fields{display:grid;grid-template-columns:1fr 92px;gap:10px}.two-fields.setting-reference{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.setting-reference input:disabled{color:#7b898f;background:#edf1f3;cursor:not-allowed}[data-guidance-state]{border-radius:8px;transition-property:background-color,box-shadow,color;transition-duration:.16s}.field[data-guidance-state],.range-field[data-guidance-state]{padding:9px 10px}[data-guidance-state=blocking]{background:var(--red-soft);box-shadow:inset 3px 0 0 var(--red),inset 0 0 0 1px #b43d3d2e}[data-guidance-state=improved]{background:var(--amber-soft);box-shadow:inset 3px 0 0 var(--amber),inset 0 0 0 1px #e5a61f33}[data-guidance-state=safe]{background:var(--green-soft);box-shadow:inset 3px 0 0 var(--green),inset 0 0 0 1px #347b572e}.guidance-note{display:block;color:inherit;font-size:9px;font-weight:600;line-height:1.45;text-wrap:pretty}[data-guidance-state=blocking] .guidance-note{color:#8d2e2e}[data-guidance-state=improved] .guidance-note{color:#78520b}[data-guidance-state=safe] .guidance-note{color:#1e5f40}.pylon-picker{border-radius:8px;background:#fff;box-shadow:inset 0 0 0 1px #cfd9de;overflow:hidden}.pylon-picker summary{min-height:42px;padding:9px 11px;font-size:12px;font-weight:600;color:var(--ink)}.pylon-grid{max-height:220px;overflow-y:auto;padding:0 8px 8px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.pylon-grid label{min-height:38px;display:flex;align-items:center;gap:4px;padding:6px 7px;border-radius:6px;color:var(--muted);background:#f2f5f6;font-size:11px}.pylon-grid label.selected{background:var(--steel-soft);color:#1c5363;font-weight:600}.pylon-grid input{min-height:16px;width:16px;margin:0;accent-color:var(--steel)}.file-button{min-height:40px;display:grid;place-items:center;padding:8px 10px;background:#f9fbfc;box-shadow:inset 0 0 0 1px #cfd9de;color:var(--ink);border-radius:7px;font-size:12px;font-weight:600}.file-button input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.source-line{margin:0;color:var(--muted);font-size:10px;overflow-wrap:anywhere}.coordinate-import-trigger{width:100%}.coordinate-import-summary{margin:0;padding:9px 10px;border-left:3px solid var(--green);background:var(--green-soft);color:#1e5f40;font-size:10px;line-height:1.45}.imported-points{display:grid;gap:1px;overflow:hidden;border-radius:9px;background:#d5dfe3;box-shadow:inset 0 0 0 1px #2f708324}.imported-points-heading{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;background:#e7eff2;color:#274f5b;font-size:10px}.imported-points-heading span{min-width:22px;height:20px;display:grid;place-items:center;border-radius:10px;background:#fff;font-family:IBM Plex Mono,monospace}.imported-point-row{display:grid;gap:7px;padding:9px 10px 10px;background:#f9fbfc}.imported-point-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.imported-point-meta span{color:var(--steel);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.imported-point-meta small{color:var(--muted);font-size:8px}.imported-point-row .field>span{font-size:9px}.imported-point-row .field input{min-height:38px}.locked-rule{display:flex;gap:10px;padding:12px;border-radius:9px;background:var(--green-soft);color:#1e5f40;box-shadow:inset 0 0 0 1px #347b5729}.locked-rule>span{font-size:25px;line-height:1}.locked-rule div{display:grid;gap:3px}.locked-rule p{margin:0;font-size:11px;line-height:1.45}.drag-hint{display:grid;gap:3px;padding:10px 11px;border-radius:8px;background:var(--green-soft);color:#1e5f40;font-size:11px;line-height:1.45}.no-guy-hint{display:grid;gap:3px;padding:10px 11px;border-radius:8px;background:#e5ebee;color:#53616a;font-size:11px;line-height:1.45}.retro-toggle{min-height:54px;display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;background:#fff;box-shadow:inset 0 0 0 1px #cfd9de;color:var(--ink);cursor:pointer}.retro-toggle.active{background:#f1e4f4;box-shadow:inset 0 0 0 1px #8c3f9859}.retro-toggle input{width:19px;height:19px;min-height:19px;margin:0;accent-color:#8c3f98}.retro-toggle span{display:grid;gap:2px}.retro-toggle small{color:var(--muted);font-size:10px}.diameter-editor{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:10px;align-items:end;padding:10px;border-radius:9px;background:#faf7fb;box-shadow:inset 0 0 0 1px #8c3f982e}.diameter-editor .field input{font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums}.retro-readout{display:grid;gap:1px;overflow:hidden;border-radius:9px;background:#d8dfe2;box-shadow:inset 0 0 0 1px #8c3f982e}.retro-readout span{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;background:#faf7fb;color:#5b3b61;font-size:11px;font-variant-numeric:tabular-nums}.retro-angle-editor{display:grid;gap:10px;padding:10px;border-radius:9px;background:#faf7fb;box-shadow:inset 0 0 0 1px #8c3f982e}.retro-angle-limits{grid-template-columns:repeat(2,minmax(0,1fr))}.retro-angle-editor input,.retro-angle-result{font-variant-numeric:tabular-nums}.retro-angle-result{min-height:56px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 10px;align-items:center;padding:8px 10px;border-radius:7px;background:#f1e4f4;color:#5b3b61;font-size:10px}.retro-angle-result span{display:flex;justify-content:space-between;gap:8px}.retro-angle-result small{grid-column:1 / -1;color:#735b78;font-size:8px}.obstacle-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.obstacle-select-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.obstacle-select-row .field{min-width:0}.obstacle-focus-button{min-height:35px;padding-inline:12px;white-space:nowrap}.impact-visibility-toggle{min-height:54px;display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:9px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px #cfd9de;cursor:pointer}.impact-visibility-toggle.active{background:var(--red-soft);box-shadow:inset 0 0 0 1px #b43d3d47}.impact-visibility-toggle input{width:19px;height:19px;min-height:19px;margin:0;accent-color:var(--red)}.impact-visibility-toggle span{display:grid;gap:2px}.impact-visibility-toggle small{color:var(--muted);font-size:9px;line-height:1.35}.obstacle-margin{margin:0;padding:9px 10px;border-radius:7px;font-size:11px;font-weight:600}.obstacle-margin.safe{color:#1e5f40;background:var(--green-soft)}.obstacle-margin.unsafe{color:#8d2e2e;background:var(--red-soft)}.impact-readout{min-height:58px;display:grid;grid-template-columns:32px 1fr;gap:9px;align-items:center;padding:9px 10px;border-radius:8px;background:var(--red-soft);color:#7d2525;box-shadow:inset 0 0 0 1px #b43d3d33;font-variant-numeric:tabular-nums}.impact-readout>div{display:grid;gap:2px}.impact-readout strong{font-size:11px}.impact-readout small{font-size:9px;line-height:1.4}.impact-model-note{margin:-2px 0 0;padding:9px 10px;border-radius:7px;background:#fff1cc;color:#6b4b00;box-shadow:inset 0 0 0 1px #e5a61f47;font-size:9px;line-height:1.45;text-wrap:pretty}.impact-triangle{width:30px;height:27px;display:grid;place-items:center;padding-top:5px;clip-path:polygon(50% 0,100% 100%,0 100%);background:var(--red);color:#fff;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700;line-height:1}.machine-card{margin:0;padding:11px;display:grid;gap:10px;border:0;border-radius:10px;background:#ffffffb3;box-shadow:inset 0 0 0 1px #99a8b059}.machine-card legend{padding:0 5px;color:var(--ink);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.machine-reference{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:baseline;padding:9px 10px;border-radius:7px;background:#e8f1f4;box-shadow:inset 0 0 0 1px #2f708329}.machine-reference span{color:var(--muted);font-size:10px}.machine-reference strong{color:var(--steel);font-family:IBM Plex Mono,monospace;font-size:13px}.machine-reference small{grid-column:1 / -1;color:#55717a;font-size:9px}.machine-capacity-readout{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:baseline;padding:8px 10px;border-radius:7px;font-size:10px;font-variant-numeric:tabular-nums}.machine-capacity-readout strong{font-family:IBM Plex Mono,monospace;font-size:11px}.machine-capacity-readout small{grid-column:1 / -1}.machine-capacity-readout.safe{background:var(--green-soft);color:#1e5f40}.machine-capacity-readout.unsafe{background:var(--red-soft);color:#8d2e2e}.auto-level-button{width:100%;background:var(--steel)!important;box-shadow:0 7px 18px #2f708333!important}.auto-leveling-intro{margin:0;color:var(--muted);font-size:10px;line-height:1.5;text-wrap:pretty}.auto-leveling-result{display:grid;gap:10px;overflow:hidden;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px #2f70832e,0 8px 22px #17212712}.auto-leveling-result.solved{box-shadow:inset 0 0 0 1px #347b5747,0 8px 22px #17212712}.auto-leveling-heading{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#e8f1f4}.auto-leveling-result.solved .auto-leveling-heading{background:var(--green-soft)}.auto-leveling-heading>div{display:grid;gap:2px}.auto-leveling-heading>div>span{color:var(--steel);font-family:IBM Plex Mono,monospace;font-size:8px;font-weight:600;letter-spacing:.08em}.auto-leveling-heading strong{font-size:12px}.auto-leveling-status{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;color:#fff;font-family:IBM Plex Mono,monospace;font-weight:700}.auto-leveling-status.safe{background:var(--green)}.auto-leveling-status.blocked{background:var(--red)}.auto-leveling-values{margin:0;padding:0 10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border-radius:7px}.auto-leveling-values>div{min-height:48px;display:grid;align-content:center;gap:2px;padding:7px 9px;background:#f3f6f7}.auto-leveling-values dt{color:var(--muted);font-size:8px}.auto-leveling-values dd{margin:0;color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.auto-leveling-reason{margin:0;padding:0 12px;color:#4f5d65;font-size:9px;line-height:1.5;text-wrap:pretty}.auto-leveling-blockers,.auto-leveling-suggestions,.pull-sequence-advice{display:grid;gap:6px;margin:0 10px;padding:9px 10px;border-radius:8px}.auto-leveling-blockers{background:var(--red-soft);color:#7d2525}.auto-leveling-blockers>strong,.auto-leveling-suggestions>strong,.pull-sequence-advice>strong{font-size:10px}.auto-leveling-blockers ul{margin:0;padding-left:16px;display:grid;gap:4px;font-size:9px;line-height:1.45}.auto-leveling-suggestions{background:#edf2f4;color:var(--ink)}.auto-leveling-suggestions>div{display:grid;gap:5px}.auto-leveling-suggestions button{min-height:46px;display:grid;grid-template-columns:24px 1fr;gap:7px;align-items:center;padding:6px 8px;border:0;border-radius:7px;background:#fff;color:inherit;text-align:left;box-shadow:inset 0 0 0 1px #d5dee2}.auto-leveling-suggestions button>span:first-child{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:700}.auto-leveling-suggestions button.improved>span:first-child{background:var(--amber);color:#3b2b07}.auto-leveling-suggestions button.safe>span:first-child{background:var(--green)}.auto-leveling-suggestions button>span:last-child{display:grid;gap:2px;min-width:0}.auto-leveling-suggestions button strong{font-size:9px}.auto-leveling-suggestions button small{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:8px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.pull-sequence-advice{margin-bottom:10px;background:var(--amber-soft);color:#6b4b00}.pull-sequence-advice p{margin:0;font-size:9px;line-height:1.5;text-wrap:pretty}.coordinate-source-status{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:start;padding:9px 10px;border-radius:8px;background:#e4f1e9;color:#275e43;box-shadow:inset 0 0 0 1px #347b572e}.coordinate-source-status>span{width:30px;height:24px;display:grid;place-items:center;border-radius:5px;background:#347b57;color:#fff;font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:700}.coordinate-source-status p{margin:0;display:grid;gap:2px;font-size:9px;line-height:1.4}.coordinate-source-status strong{font-size:10px}.uge-station-route{min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:9px 10px;border-radius:8px;background:#e8f1f4;color:#274f5b;box-shadow:inset 0 0 0 1px #2f708329}.uge-station-route>span{min-width:54px;padding:5px 7px;border-radius:5px;background:var(--steel);color:#fff;font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:600;text-align:center}.uge-station-route>div{min-width:0;display:grid;gap:3px}.uge-station-route strong{font-size:11px;text-wrap:balance}.uge-station-route small{color:#55717a;font-size:8px;line-height:1.4;overflow-wrap:anywhere}.machine-drag-guide,.live-recalc-note{min-height:62px;display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:9px;background:var(--steel-soft);color:#1c5363;box-shadow:inset 0 0 0 1px #2f708329}.machine-drag-guide>div,.live-recalc-note>div{display:grid;gap:2px}.machine-drag-guide p,.live-recalc-note p{margin:0;font-size:10px;line-height:1.45;text-wrap:pretty}.drag-orb{width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:var(--steel);box-shadow:0 0 0 5px #2f70831f,inset 0 1px 1px #ffffff52}.live-recalc-note{background:var(--green-soft);color:#1e5f40;box-shadow:inset 0 0 0 1px #347b5729}.live-recalc-note>span{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #347b571f}.main-stage{min-width:0;padding:16px 20px 60px;background:#dfe6e9}.stage-toolbar{min-height:54px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:6px 10px;background:#10161b;color:#fff;border-radius:12px 12px 0 0}.view-switch{display:inline-flex;gap:4px}.view-switch button{min-height:40px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:#aebbc2;font-weight:600}.view-switch button[aria-pressed=true]{background:#29343b;color:#fff;box-shadow:inset 0 0 0 1px #44515a}.stage-context{display:flex;gap:8px;align-items:center;font-size:12px}.stage-context span{color:#8fa0aa}.stage-toolbar>.button{justify-self:end}.stage-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.stage-actions .button{min-height:38px;padding-inline:11px;font-size:11px}.scene-panel{height:min(58vh,620px);min-height:440px;background:#fff;overflow:hidden;border-radius:0 0 12px 12px;box-shadow:0 16px 40px #121c2129}.scene-panel canvas{display:block}.scene-canvas-shell{width:100%;height:100%;min-height:inherit;position:relative}.scene-canvas-shell.scene-report-mode{width:100%;height:100%;min-height:100%;max-width:none;overflow:hidden;pointer-events:none;background:#fff}.scene-report-mode .scene-label-slot{transition:none}.scene-report-mode .scene-label{padding:8px 10px;border-color:#1721273d;background:#fff;box-shadow:0 3px 10px #17212726;font-size:14px;line-height:1.3}.scene-report-mode .impact-scene-badge{padding:8px 10px;background:#fff;font-size:13px}.scene-report-mode .impact-scene-badge small{font-size:11px}.scene-camera-controls{position:absolute;z-index:20000001;left:12px;top:12px;display:flex;flex-wrap:wrap;gap:5px;max-width:calc(100% - 24px);padding:5px;border-radius:9px;background:#10161be6;box-shadow:0 7px 20px #10161b38}.scene-camera-controls button{min-height:40px;padding:0 11px;border:0;border-radius:6px;background:#29343b;color:#fff;font-size:10px;font-weight:600}.scene-camera-controls button:hover{background:#3a4851}.scene-camera-controls button[aria-pressed=true]{background:#3f6470;box-shadow:inset 0 0 0 1px #ffffff57}.scene-camera-controls button:first-child,.scene-camera-controls button:nth-child(2){min-width:54px;font-family:IBM Plex Mono,monospace;font-size:16px}.scene-camera-controls button span{font-family:Manrope,sans-serif;font-size:9px}.scene-rotate-hint{min-height:40px;display:flex;align-items:center;gap:7px;padding:5px 10px 5px 8px;border-radius:6px;background:#29343b;color:#fff;box-shadow:inset 0 0 0 1px #ffffff1a;pointer-events:none}.scene-rotate-hint svg{width:25px;height:25px;flex:0 0 25px;fill:none;stroke:#80d4ea;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.scene-rotate-hint>span{display:grid;gap:1px;line-height:1.1}.scene-rotate-hint strong{font-size:9px;font-weight:700}.scene-rotate-hint small{color:#b9c7ce;font-size:8px;white-space:nowrap}.scene-camera-tower{min-height:40px;display:flex;align-items:center;gap:7px;padding-left:10px;border-radius:6px;background:#29343b;color:#fff}.scene-camera-tower>span{font-size:9px;font-weight:600;white-space:nowrap}.scene-camera-tower select{min-height:40px;border:0;border-radius:0 6px 6px 0;background:#1d272d;color:#fff;padding:0 26px 0 9px;font-family:IBM Plex Mono,monospace;font-size:10px}.scene-help{margin:9px 2px 0;color:#53616a;font-size:10px;line-height:1.5}.profile-overview{margin-top:14px;padding:12px 14px 10px;overflow:hidden;border-radius:11px;background:var(--panel);box-shadow:var(--shadow)}.plan-schematic{margin:14px 0;color:var(--ink)}.profile-overview .plan-schematic{margin:0}.plan-schematic svg{display:block;width:100%;height:auto;overflow:visible}.plan-schematic-heading{font-family:Manrope,sans-serif;font-size:17px;font-weight:600}.plan-schematic-subtitle,.plan-schematic-label{fill:var(--muted);font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:400;font-variant-numeric:tabular-nums}.plan-schematic-value{fill:var(--ink);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;font-variant-numeric:tabular-nums}.plan-schematic-impact-symbol{fill:#fff;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:700}.plan-schematic-impact-value{fill:var(--red);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;font-variant-numeric:tabular-nums}.plan-schematic-machine-title{fill:var(--ink);font-weight:600}.plan-schematic-machine-distance line,.plan-schematic-machine-distance path{fill:none;stroke:var(--steel);stroke-width:1.15;vector-effect:non-scaling-stroke}.plan-schematic-machine-distance rect{fill:var(--panel);stroke:#2f708357;stroke-width:.8}.plan-schematic-distance-label{fill:var(--steel);font-size:8px;font-weight:500}.plan-schematic-distance-value{font-size:8.5px}.plan-schematic figcaption{margin-top:7px;color:var(--muted);font-size:9px;line-height:1.5}.profile-overview .plan-schematic figcaption{margin-inline:4px}.schematic-visibility-controls{margin:10px 0 0;padding:10px 11px 11px;border:0;border-radius:9px;background:#edf2f4;box-shadow:inset 0 0 0 1px #d5dee2}.schematic-visibility-controls legend{padding:0 5px;color:var(--ink);font-size:10px;font-weight:700}.schematic-visibility-controls>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.schematic-visibility-controls label{min-height:40px;display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:7px;background:#fff;color:var(--muted);box-shadow:inset 0 0 0 1px #d5dee2;cursor:pointer;font-size:9px;font-weight:600}.schematic-visibility-controls label.selected{background:var(--steel-soft);color:#1c5363;box-shadow:inset 0 0 0 1px #2f708347}.schematic-visibility-controls input{width:17px;height:17px;min-height:17px;margin:0;accent-color:var(--steel)}.solver-message{margin:10px 0;padding:11px 13px;display:grid;gap:3px;border-left:4px solid var(--amber);border-radius:7px;background:var(--amber-soft);color:#6f520f;font-size:11px;line-height:1.5;box-shadow:0 4px 14px #17212714}.solver-message strong{font-size:12px}.solver-message.solved{border-left-color:var(--green);background:var(--green-soft);color:#1e5f40}.solver-message.blocked{border-left-color:var(--red);background:var(--red-soft);color:#8d2e2e}.scene-label-wrap,.scene-focus-wrap{pointer-events:none!important}.scene-focus-wrap>button{pointer-events:auto!important}.scene-label{min-width:max-content;display:grid;gap:2px;padding:6px 8px;border:1px solid rgba(23,33,39,.16);border-radius:6px;background:#fffffff0;color:var(--ink);box-shadow:0 4px 14px #17212724;font-family:IBM Plex Mono,monospace;font-size:9px;line-height:1.35;font-variant-numeric:tabular-nums}.scene-label-slot{transition-property:translate;transition-duration:.16s}.tower-label.terminal{translate:0 54px}.guy-label.start{translate:118px 54px}.guy-label.end{translate:-118px 54px}.machine-label.start{translate:-132px -58px}.machine-label.end{translate:132px -58px}.machine-label.start.focused{translate:-22px -300px}.machine-label.end.focused{translate:22px -300px}.retro-label{translate:-178px -18px}.retro-label.focused{translate:130px -175px}.obstacle-label{translate:100px 52px}.obstacle-label.clearance-measure{translate:-100px 52px}.impact-scene-wrap{pointer-events:none!important}.impact-scene-badge{min-width:max-content;display:flex;align-items:center;gap:7px;padding:5px 8px 5px 5px;border-radius:7px;background:#fffffff5;color:#7d2525;box-shadow:0 0 0 1px #b43d3d4d,0 5px 16px #50141429;font-family:IBM Plex Mono,monospace;font-size:9px;font-variant-numeric:tabular-nums}.impact-scene-badge>span:last-child{display:grid;gap:1px}.impact-scene-badge strong{font-size:10px}.impact-scene-badge small{color:#8d4242;font-size:8px}.impact-scene-badge .impact-triangle{width:27px;height:24px;font-size:11px}.scene-focus-label{cursor:zoom-in;text-align:left;transition-property:box-shadow,border-color,background-color;transition-duration:.14s}.scene-focus-label:hover{border-color:var(--steel);background:#fff;box-shadow:0 0 0 3px #2f708324,0 5px 16px #17212729}.scene-label strong{font-weight:500}.scene-label span{color:#4f5d65}.tower-label.selected{border-color:var(--amber);box-shadow:0 0 0 2px #e5a61f2e,0 4px 14px #17212724}.guy-label{border-color:#347b576b}.machine-label{border-color:#2f70836b}.machine-label.safe{border-color:#347b5794}.machine-label.unsafe{border-color:#b43d3d94;background:#f9e1e1f5}.machine-label .machine-capacity-scene-warning{margin-top:2px;color:var(--red);font-weight:600}.scene-drag-wrap{pointer-events:auto!important}.guy-anchor-drag-wrap{z-index:20}.guy-anchor-drag-handle{width:42px;height:42px;display:grid;place-items:center;padding:0;border:2px solid rgba(255,255,255,.96);border-radius:50%;background:#347b57;color:#fff;box-shadow:0 0 0 4px #347b5738,0 5px 15px #17212738;font-family:IBM Plex Mono,monospace;font-size:18px;font-weight:700;cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;transition-property:background-color,box-shadow,scale;transition-duration:.14s}.guy-anchor-drag-handle:hover{background:#286647;box-shadow:0 0 0 5px #347b5747,0 6px 17px #1721273d}.guy-anchor-drag-handle:focus-visible{outline:3px solid #e5a61f;outline-offset:3px}.guy-anchor-drag-handle.dragging{background:#b47a00;box-shadow:0 0 0 6px #e5a61f47,0 7px 18px #17212740;scale:.96}.machine-drag-surface{width:108px;min-height:64px;display:grid;align-content:end;gap:1px;padding:7px 9px;border:2px solid rgba(32,167,209,.78);border-radius:10px;background:#0c789933;color:#07586f;box-shadow:0 0 0 4px #20a7d124;font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:500;text-align:left;white-space:nowrap;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.machine-drag-surface strong{justify-self:start;padding:2px 5px;border-radius:4px;background:#ffffffeb}.machine-drag-surface span{justify-self:start;padding:2px 5px;border-radius:4px;background:#ffffffeb;color:#07586f;font-size:8px;font-variant-numeric:tabular-nums}.machine-drag-surface:hover{background:#20a7d14d;box-shadow:0 0 0 5px #20a7d133}.machine-drag-surface.dragging{border-color:#b47a00;background:#e5a61f4d;cursor:grabbing;box-shadow:0 0 0 6px #e5a61f3d}.obstacle-label.safe{border-color:#347b576b}.obstacle-label.unsafe{border-color:#b43d3d94;background:#f9e1e1f5}.obstacle-label.focused{box-shadow:0 0 0 3px #e5a61f3d,0 5px 16px #17212729}.retro-label{border-color:#8c3f9885;background:#faf7fbf5}.scene-canvas-shell.view-side.short-route .guy-label.start{translate:-96px 12px}.scene-canvas-shell.view-side.short-route .guy-label.end{translate:-24px -160px}.scene-canvas-shell.view-side.short-route .machine-label.start{translate:48px -158px}.scene-canvas-shell.view-side.short-route .machine-label.end{translate:-48px -158px}.scene-canvas-shell.view-side.short-route .obstacle-label{translate:100px 92px}.scene-canvas-shell.view-side.short-route .obstacle-label.clearance-measure{translate:-100px 92px}.scene-canvas-shell.view-side.short-route .impact-scene-badge{translate:0 -50px}.scene-detail-panel{position:fixed;z-index:50;right:18px;bottom:18px;width:min(760px,calc(100vw - 36px));max-height:min(72vh,650px);margin:0;padding:14px 16px 16px;overflow:auto;background:var(--panel);border-radius:10px;box-shadow:0 18px 50px #111b2147,0 0 0 1px #111b211a}.scene-detail-heading{display:flex;align-items:start;justify-content:space-between;gap:18px}.scene-detail-heading>div{display:grid;gap:2px}.scene-detail-heading span{color:var(--steel);font-family:IBM Plex Mono,monospace;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.scene-detail-heading h2{margin:0;font-size:15px;letter-spacing:-.02em}.detail-close{width:40px;height:40px;flex:0 0 40px;border:0;border-radius:8px;background:#edf2f4;color:var(--ink);font-size:22px;line-height:1}.detail-status{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:10px;font-weight:600}.detail-status>span{width:8px;height:8px;border-radius:50%}.detail-status.safe{color:var(--green)}.detail-status.safe>span{background:var(--green)}.detail-status.unsafe{color:var(--red)}.detail-status.unsafe>span{background:var(--red)}.detail-grid{margin:12px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border-radius:8px;background:#dfe6e9}.detail-grid>div{min-height:62px;display:grid;align-content:center;gap:4px;padding:9px 11px;background:#f8fafb}.detail-grid dt{color:var(--muted);font-size:9px}.detail-grid dd{margin:0;color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:11px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.scene-legend{display:flex;flex-wrap:wrap;gap:16px;padding:11px 2px 2px;color:#53616a;font-size:11px}.scene-legend span:before{content:"";display:inline-block;width:18px;height:3px;margin-right:6px;vertical-align:middle;border-radius:2px;background:#7cc6d6}.scene-legend .guy:before{background:#52a675}.scene-legend .force:before{background:var(--red)}.scene-legend .retro:before{background:#8c3f98}.scene-legend .obstacle:before{height:8px;width:13px;background:var(--amber)}.scene-legend .impact:before{width:12px;height:11px;border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%);background:var(--red)}.scene-legend .warning:before{height:8px;width:8px;border-radius:50%;background:var(--amber)}.map-panel{position:relative}.map-view,.map-view .leaflet-container{width:100%;height:100%;min-height:inherit}.map-view{position:relative;background:#dfe7e7}.map-view .leaflet-container{z-index:0;font-family:Manrope,sans-serif}.map-view .leaflet-control-layers{border:0;border-radius:8px;box-shadow:0 8px 24px #17212733;color:var(--ink)}.map-view .leaflet-control-layers-expanded{padding:10px 12px}.map-view .leaflet-control-layers label{min-height:30px;display:flex;align-items:center;font-size:11px}.map-view .leaflet-control-layers input{width:16px;min-height:16px;margin:0 7px 0 0;accent-color:var(--steel)}.map-view .leaflet-control-zoom a{color:var(--ink)}.map-view .leaflet-tooltip.map-object-label{padding:4px 6px;border:0;border-radius:5px;background:#fffffff0;color:var(--ink);box-shadow:0 3px 10px #1721272e;font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:500}.map-view .leaflet-tooltip.map-object-label.machine{color:#1c5363}.map-view .leaflet-tooltip.map-object-label.obstacle{color:#76520b}.map-view .leaflet-popup-content{margin:12px 14px;color:var(--ink);font-size:11px;line-height:1.55;font-variant-numeric:tabular-nums}.map-key{position:absolute;z-index:500;left:12px;bottom:26px;display:flex;flex-wrap:wrap;gap:10px;padding:7px 9px;border-radius:7px;background:#ffffffeb;box-shadow:0 4px 14px #17212729;color:#53616a;font-size:9px;pointer-events:none}.map-key span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;vertical-align:-1px;background:var(--steel)}.map-key .machine:before{background:#327c91}.map-key .obstacle:before{background:var(--amber)}.map-country-status{position:absolute;z-index:500;right:12px;bottom:26px;display:grid;gap:1px;padding:7px 9px;border-radius:7px;background:#fffffff0;box-shadow:0 4px 14px #17212729;font-size:9px;pointer-events:none}.map-country-status strong{color:var(--green)}.map-country-status span{color:#53616a;font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums}.map-country-status.error strong{color:var(--red)}.map-3d-view,.map-3d-canvas{width:100%;height:100%;min-height:inherit}.map-3d-view{position:relative;overflow:hidden;background:#172229}.map-3d-view .maplibregl-map{font-family:Manrope,sans-serif}.map-3d-view .maplibregl-ctrl-group{border-radius:8px;overflow:hidden;box-shadow:0 8px 24px #0c141947}.map-3d-view .maplibregl-ctrl button{min-width:40px;min-height:40px}.map-3d-marker{min-width:40px;min-height:42px;display:grid;grid-template-columns:18px auto;gap:5px;align-items:center;padding:5px 7px;border:0;border-radius:7px;background:#fffffff2;color:var(--ink);box-shadow:0 4px 14px #0c141947,0 0 0 1px #17212721;font-family:IBM Plex Mono,monospace;font-size:9px;font-variant-numeric:tabular-nums;text-align:left;cursor:pointer;transform-origin:50% 100%;transition-property:scale,opacity,box-shadow;transition-duration:.14s}.map-3d-marker-copy{display:grid;gap:1px;min-width:0}.map-3d-marker-copy strong,.map-3d-marker-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-3d-marker-copy small{color:#5c6a72;font-size:7px;font-weight:500}.map-3d-marker.machine,.map-3d-marker.obstacle{max-width:190px}.map-3d-marker.tower.compact{min-width:0;min-height:30px;grid-template-columns:14px auto;gap:3px;padding:3px 5px;border-radius:6px;font-size:8px}.map-3d-marker.tower.compact .map-3d-marker-symbol{width:14px;height:14px;font-size:7px}.map-3d-marker.overview-hidden{opacity:0!important;pointer-events:none}.map-3d-marker:hover,.map-3d-marker:focus-visible{scale:1.03;box-shadow:0 7px 20px #0c141957,0 0 0 3px #2f70833d}.map-3d-marker:active{scale:.96}.map-3d-marker-symbol{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:var(--steel);color:#fff;font-size:9px}.map-3d-marker.machine .map-3d-marker-symbol{background:#327c91}.map-3d-marker.obstacle .map-3d-marker-symbol{border-radius:2px;background:var(--amber)}.map-3d-marker.obstacle.unsafe .map-3d-marker-symbol{background:var(--red)}.map-3d-marker.selected{box-shadow:0 0 0 3px #e5a61f8c,0 5px 16px #0c14194d}.map-3d-tools{position:absolute;z-index:4;left:12px;top:12px;display:flex;align-items:center;gap:2px;padding:3px;border-radius:9px;background:#10161be6;box-shadow:0 8px 24px #0c141947;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.map-3d-tools button{min-height:40px;padding:0 11px;border:0;border-radius:6px;background:transparent;color:#eaf0f3;font-size:10px;font-weight:600;white-space:nowrap}.map-3d-tools button:hover,.map-3d-tools button:focus-visible{background:#ffffff1a}.map-3d-tools .map-3d-layer-toggle{display:inline-flex;align-items:center;gap:6px;color:#aebac1}.map-3d-tools .map-3d-layer-toggle[aria-pressed=true]{background:#ffffff1c;color:#fff}.map-3d-layer-toggle>span{width:8px;height:8px;border-radius:50%;background:#67757e;box-shadow:0 0 0 1px #ffffff47}.map-3d-layer-toggle[aria-pressed=true]>span{background:#79b9c9;box-shadow:0 0 0 3px #79b9c929}.map-3d-legend{position:absolute;z-index:3;left:12px;bottom:26px;display:flex;flex-wrap:wrap;gap:8px 12px;max-width:min(620px,calc(100% - 340px));padding:7px 9px;border-radius:7px;background:#10161be0;color:#d6e0e4;box-shadow:0 4px 14px #0c14193d;font-size:9px;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-3d-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.map-3d-legend span:before{content:"";width:13px;height:3px;border-radius:2px;background:#79b9c9;box-shadow:0 0 0 1px #ffffff59}.map-3d-legend .ground-route:before{height:2px;background:repeating-linear-gradient(90deg,#79b9c9 0 4px,transparent 4px 7px);box-shadow:none}.map-3d-legend .tower:before{width:9px;height:9px;border:1px solid #aab5bc;background:transparent;transform:rotate(45deg);box-shadow:none}.map-3d-legend .machine:before{width:10px;height:7px;background:#327c91;box-shadow:none}.map-3d-legend .obstacle:before{width:10px;height:8px;background:#d89b2499;border:1px solid #d89b24;box-shadow:none}.map-3d-legend .clearance:before{width:3px;height:11px;background:#347b57;box-shadow:none}.map-3d-status,.map-3d-error{position:absolute;z-index:3;bottom:24px;display:grid;gap:2px;padding:7px 9px;border-radius:7px;background:#fffffff0;box-shadow:0 4px 14px #0c14193d;font-size:9px;pointer-events:none}.map-3d-status{right:12px}.map-3d-status strong{color:var(--green)}.map-3d-status span{color:#53616a;font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums}.map-3d-status.error strong{color:var(--red)}.map-3d-error{left:12px;bottom:70px;color:var(--red)}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.summary-strip>div{min-height:104px;padding:14px 15px;display:grid;align-content:start;gap:5px;background:var(--panel);border-radius:10px;box-shadow:var(--shadow)}.summary-strip span{color:var(--muted);font-size:11px}.summary-strip strong{font-size:21px;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.summary-strip small{color:var(--green);font-size:10px}.danger{color:var(--red)!important}.validation-panel,.results-view{margin-top:14px;padding:18px;background:var(--panel);border-radius:11px;box-shadow:var(--shadow)}.panel-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.panel-title h2{margin:0;font-size:16px;letter-spacing:-.02em;text-wrap:balance}.panel-title span{color:var(--muted);font-size:11px}.validation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 20px}.validation-item{min-height:74px;display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:start;padding:13px 2px;border-bottom:1px solid #edf1f3}.validation-symbol{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;font-weight:700;font-size:12px}.validation-item.ok .validation-symbol{background:var(--green-soft);color:var(--green)}.validation-item.warning .validation-symbol{background:var(--amber-soft);color:#8c5e00}.validation-item.blocking .validation-symbol{background:var(--red-soft);color:var(--red)}.validation-item div{display:grid;gap:3px}.validation-item strong{font-size:12px}.validation-item p{margin:0;color:var(--muted);font-size:11px;line-height:1.45;text-wrap:pretty}.results-view{margin-top:0;min-height:calc(100vh - 180px)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{padding:11px 9px;text-align:right;border-bottom:1px solid #e7ecef;white-space:nowrap;font-size:11px}th{color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:9px}th:first-child,td:first-child{text-align:left}tbody tr{transition-property:background-color;transition-duration:.13s}tbody tr:hover,.selected-row{background:#f2f7f8}.selected-row{box-shadow:inset 3px 0 0 var(--amber)}.guy-value{color:var(--green);font-weight:700}.spans-title{margin-top:28px}.results-note{max-width:880px;margin:18px 0 0;padding:12px 14px;background:var(--amber-soft);color:#6f520f;border-radius:8px;font-size:11px;line-height:1.55}.empty-state,.load-state{min-height:70vh;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;color:var(--muted)}.load-state{min-height:100vh;flex-direction:row}.load-state.error{color:var(--red)}.spinner{width:22px;height:22px;border:2px solid #c7d3d9;border-top-color:var(--steel);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}*{scroll-behavior:auto!important}}.coordinate-import-backdrop{position:fixed;z-index:30000000;inset:0;display:grid;place-items:center;padding:18px;overflow-y:auto;background:#0f181d94;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.coordinate-import-dialog{width:min(620px,100%);max-height:calc(100vh - 36px);overflow-y:auto;padding:20px;display:grid;gap:16px;border-radius:13px;background:var(--panel);box-shadow:0 24px 70px #0f181d57}.coordinate-import-heading{display:flex;justify-content:space-between;align-items:start;gap:18px}.coordinate-import-heading>div{display:grid;gap:3px}.coordinate-import-heading span{color:var(--steel);font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.1em}.coordinate-import-heading h2{margin:0;font-size:20px;letter-spacing:-.03em}.import-close{width:42px;height:42px;flex:0 0 42px;border:0;border-radius:8px;background:#edf2f4;color:var(--ink);font-size:24px;line-height:1}.import-choice-group{margin:0;padding:0;border:0;display:grid;gap:8px}.import-choice-group legend{margin-bottom:8px;color:var(--ink);font-size:11px;font-weight:700}.import-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.import-choice{min-height:64px;display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:9px;background:#f5f8f9;box-shadow:inset 0 0 0 1px #d3dde1;cursor:pointer}.import-choice.selected{background:var(--steel-soft);box-shadow:inset 0 0 0 2px var(--steel)}.import-choice input{width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--steel)}.import-choice span{display:grid;gap:2px}.import-choice strong{color:var(--ink);font-size:12px}.import-choice small{color:var(--muted);font-size:9px;line-height:1.35}.coordinate-import-note{padding:11px 12px;display:grid;gap:5px;border-left:3px solid var(--amber);background:var(--amber-soft);color:#6f520f}.coordinate-import-note strong{font-size:11px}.coordinate-import-note p{margin:0;font-size:10px;line-height:1.5}.coordinate-import-note code{width:fit-content;padding:3px 5px;background:#ffffffb8;color:#5a430f;font-family:IBM Plex Mono,monospace;font-size:9px}.coordinate-file-field{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:600}.coordinate-file-field input{width:100%;min-height:46px;padding:7px;border:1px solid #cfd9de;border-radius:8px;background:#f9fbfc;color:var(--ink)}.coordinate-name-rule{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.coordinate-name-rule strong{color:var(--ink);font-family:IBM Plex Mono,monospace}.coordinate-import-error{margin:0;padding:9px 10px;background:var(--red-soft);color:#8d2e2e;font-size:10px;line-height:1.45}.coordinate-import-actions{display:flex;justify-content:flex-end;gap:8px}.report-shell{padding:24px;background:#dfe6e9}.report-toolbar{max-width:1120px;margin:0 auto 16px;padding:14px 16px;display:flex;justify-content:space-between;gap:20px;align-items:center;background:#fff;border-radius:11px;box-shadow:var(--shadow)}.report-toolbar>div:first-child{display:grid;gap:3px}.report-toolbar>div:first-child span{color:var(--muted);font-size:11px}.report-toolbar>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:8px}.report-toolbar label{width:150px}.report-export-actions{min-width:min(100%,480px);display:grid;justify-items:end;gap:5px}.report-export-actions>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.report-pdf-state{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:8px;font-variant-numeric:tabular-nums}.report-pdf-state.ready{color:var(--green)}.report-pdf-state.error{max-width:480px;color:var(--red);text-align:right;white-space:normal}.report-share-backdrop{position:fixed;z-index:30000000;inset:0;display:grid;place-items:center;padding:18px;background:#0f181d94;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.report-share-dialog{width:min(560px,100%);padding:20px;display:grid;gap:15px;border-radius:13px;background:#fff;box-shadow:0 24px 70px #0f181d57}.report-share-heading{display:flex;justify-content:space-between;align-items:start;gap:18px}.report-share-heading>div{display:grid;gap:3px}.report-share-heading span{color:var(--steel);font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.1em}.report-share-heading h2{margin:0;font-size:20px;letter-spacing:-.03em;text-wrap:balance}.report-share-dialog>p{margin:0;color:var(--muted);font-size:11px;line-height:1.55;text-wrap:pretty}.report-share-file{min-width:0;display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:11px 12px;border-radius:8px;background:#edf3f5;box-shadow:inset 0 0 0 1px #2f708324}.report-share-file span{grid-column:1 / -1;color:var(--steel);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.report-share-file strong{min-width:0;overflow-wrap:anywhere;font-size:11px}.report-share-file small{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:9px}.report-share-steps{margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none}.report-share-steps button{width:100%}.report-share-steps li.complete .button{color:var(--green);box-shadow:inset 0 0 0 1px #347b5759}.report-share-note{padding:10px 11px;border-left:3px solid var(--amber);background:var(--amber-soft);color:#6b4b00!important}.calculation-note{max-width:1120px;margin:0 auto;padding:64px 70px;background:#fff;box-shadow:0 18px 50px #1a262d29;color:#182127}.calculation-note section{margin-bottom:36px;break-inside:avoid}.calculation-note h1{max-width:720px;margin:14px 0 10px;font-size:44px;line-height:1.05;letter-spacing:-.05em;text-wrap:balance}.calculation-note h2{margin:0 0 14px;padding-bottom:7px;border-bottom:2px solid #202b31;font-size:16px;letter-spacing:-.02em}.calculation-note h3{margin:20px 0 9px;font-size:12px;letter-spacing:-.01em}.calculation-note p,.calculation-note li{font-size:11px;line-height:1.6}.calculation-note ul{padding-left:18px}.note-kicker{color:#2f7083;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.1em}.note-lead{color:#4b5961;font-size:16px!important}.note-meta,.note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 22px;margin:28px 0}.note-meta div,.note-grid div{display:grid;gap:3px;padding-top:8px;border-top:1px solid #dbe2e6}.note-meta dt,.note-grid dt{color:#68767e;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.note-meta dd,.note-grid dd{margin:0;font-size:11px;font-weight:600;overflow-wrap:anywhere}.note-warning{padding:13px 15px;background:#fff1cc;color:#6b4b00;border-left:4px solid #e5a61f;break-after:avoid-page;font-size:11px;font-weight:600;line-height:1.5}.status-blocking,.status-warning{padding:10px 12px;background:var(--red-soft);color:#7f2e2e;border-radius:6px;font-weight:700}.status-warning{background:var(--amber-soft);color:#6b4b00}.calculation-note table{table-layout:auto}.calculation-note th,.calculation-note td{white-space:normal;vertical-align:top;font-size:8px;padding:7px 6px}.calculation-note th{background:#edf2f4;color:#334148}.calculation-note td:first-child{font-weight:600}.source-hash{overflow-wrap:anywhere}.validation-register{display:grid;gap:6px}.note-validation{display:grid;grid-template-columns:240px 1fr;gap:12px;padding:9px 10px;background:#f2f5f6;font-size:9px}.note-validation.warning{background:var(--amber-soft)}.note-validation.blocking{background:var(--red-soft)}.signature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.signature-grid div{min-height:110px;display:flex;flex-direction:column;justify-content:space-between;padding:12px 0;border-bottom:1px solid #526068}.signature-grid span{color:var(--muted);font-size:9px}.report-build-stamp{margin:32px 0 0;color:var(--muted);font-size:8px;text-align:right}.site-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.site-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;padding-left:18px!important}.site-checklist li{padding-left:3px}.overview-report{--report-ink: #182127;--report-steel: #2f7083;--report-line: #d8e1e5;--report-risk: #b43d3d;--report-attention: #b47a00;max-width:1280px;padding:54px 58px;font-variant-numeric:tabular-nums}.overview-report>section:not(.note-cover){padding:24px 26px;border:1px solid var(--report-line);border-top:4px solid var(--report-ink);background:#fff}.overview-cover{min-height:650px}.overview-report .note-meta,.overview-report .note-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.overview-report table{width:100%;table-layout:fixed}.overview-report th,.overview-report td{font-size:8.3px;line-height:1.42}.overview-report .mono{overflow-wrap:anywhere}.overview-visual-section{min-height:730px;display:grid;align-content:start;gap:12px;padding-inline:18px!important}.overview-visual-heading{display:flex;align-items:start;justify-content:space-between;gap:24px}.overview-visual-heading>div{flex:1;min-width:0;display:grid;gap:4px}.overview-visual-heading h2{width:100%;margin:0}.overview-visual-heading p{max-width:880px;margin:0;color:#56656d;text-wrap:pretty}.overview-visual-status{flex:0 0 auto;padding:6px 9px;border:1px solid #cfd9de;background:#edf2f4;color:#64727a;font-family:IBM Plex Mono,monospace;font-size:8px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.overview-visual-status.ready{border-color:#347b5757;background:#e4f1e9;color:#276447}.overview-scene-slot{width:100%;min-width:0;height:560px;overflow:hidden;border:1px solid rgba(24,33,39,.16);background:#fff;box-shadow:0 10px 26px #18212714}.overview-scene-slot .scene-canvas-shell{width:100%;height:100%}.report-side-plan{width:100%;height:100%;min-width:0;padding:8px 10px 6px;display:grid;align-content:center;background:#fff}.report-side-plan .plan-schematic{width:100%;margin:0}.report-side-plan .plan-schematic-label{font-size:11px}.report-side-plan .plan-schematic-value{font-size:12px}.report-side-plan .plan-schematic-distance-label,.report-side-plan .plan-schematic-distance-value{font-size:10px}.report-side-plan .plan-schematic figcaption{font-size:10px}.scene-report-mode .scene-label{font-size:12px}.scene-report-mode .machine-label,.scene-report-mode .guy-label,.scene-report-mode .obstacle-label,.scene-report-mode .impact-scene-badge{display:none}.report-scene-readouts{position:absolute;z-index:20000002;inset:0;pointer-events:none;font-family:IBM Plex Mono,monospace;font-variant-numeric:tabular-nums}.report-scene-readout{position:absolute;display:grid;gap:2px;padding:7px 9px;border:1px solid rgba(24,33,39,.2);background:#fffffff7;color:#526068;box-shadow:0 3px 12px #1821271f;font-size:10px;line-height:1.35}.report-scene-readout strong{color:var(--ink);font-weight:700}.report-scene-readout.machine{top:12px;width:310px;border-top:3px solid var(--steel)}.report-scene-readout.machine.start{left:12px}.report-scene-readout.machine.end{right:12px;text-align:right}.report-scene-readout.guy{bottom:12px;width:260px;border-top:3px solid var(--green)}.report-scene-readout.guy.start{left:12px}.report-scene-readout.guy.end{right:12px;text-align:right}.report-scene-readout.obstacles{bottom:12px;left:50%;width:400px;translate:-50% 0;border-top:3px solid var(--amber);text-align:center}.report-scene-readout.obstacles span{display:block}.report-scene-readout.method{top:12px;left:50%;width:420px;translate:-50% 0;border-top:3px solid var(--amber);text-align:center}.scene-report-mode.view-orbit .machine-label.start,.scene-report-mode.view-top .machine-label.start{translate:170px -34px}.scene-report-mode.view-orbit .machine-label.end,.scene-report-mode.view-top .machine-label.end{translate:-170px -34px}.scene-report-mode.view-orbit .tower-label.terminal.start{translate:92px -22px}.scene-report-mode.view-orbit .tower-label.terminal.end{translate:4px 58px}.scene-report-mode.view-top .tower-label.terminal.start{translate:92px 72px}.scene-report-mode.view-top .tower-label.terminal.end{translate:-92px 72px}.scene-report-mode.view-orbit .tower-index-1,.scene-report-mode.view-orbit .tower-index-3{translate:0 -28px}.scene-report-mode.view-orbit .tower-index-2{translate:0 42px}.scene-report-mode.view-orbit .tower-index-4{translate:0 -52px}.scene-report-mode.view-orbit .obstacle-label{translate:105px -128px}.scene-report-mode.view-orbit .obstacle-label.clearance-measure{translate:-92px -92px}.scene-report-mode.view-top .obstacle-label{translate:105px 126px}.scene-report-mode.view-top .obstacle-label.clearance-measure{translate:-92px 116px}.scene-report-mode.view-orbit .impact-scene-badge,.scene-report-mode.view-top .impact-scene-badge{translate:0 -112px}.scene-report-mode.view-orbit .guy-label.start{translate:125px 82px}.scene-report-mode.view-orbit .guy-label.end{translate:-125px 82px}.scene-report-mode.view-top .guy-label.start{translate:125px 36px}.scene-report-mode.view-top .guy-label.end{translate:-125px 36px}.overview-report .source-hash{margin:0;color:#68767e;font-size:8px}.overview-report .validation-register{gap:8px}.overview-report .note-validation{grid-template-columns:210px 1fr auto}.report-map-snapshot,.report-map-live,.report-map-live>.map-view,.report-map-live>.map-3d-view{width:100%;height:100%;min-width:0}.report-map-snapshot{position:relative;overflow:hidden;background:#e7ecee}.report-map-snapshot>img{display:block;width:100%;height:100%;object-fit:contain;background:#e7ecee;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px}.report-map-fallback-note,.report-map-camera-label{position:absolute;z-index:6;top:12px;left:12px;display:grid;gap:1px;padding:7px 9px;border:1px solid rgba(24,33,39,.18);background:#fffffff2;color:#53616a;box-shadow:0 4px 14px #0c14192e;font-family:IBM Plex Mono,monospace;font-size:9px;pointer-events:none}.report-map-camera-label strong{color:var(--ink);font-size:10px}.report-map-view .leaflet-control-layers,.report-map-view .leaflet-control-zoom{display:none}.report-map-view .leaflet-control-attribution{font-size:7px}.report-map-view .map-object-label{pointer-events:none}.report-map-3d-view .map-3d-marker{cursor:default}.report-map-3d-view .map-3d-legend{max-width:calc(100% - 24px)}@media screen and (min-width:781px){.live-workbench-shell{height:100vh;height:100dvh;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);overflow:hidden}.live-workbench-shell>.app-header{grid-row:1}.live-workbench-shell>.study-status{grid-row:2}.live-workbench-shell>.app-tabs{grid-row:3}.live-workbench-shell>.workbench{grid-row:4;min-height:0;overflow:hidden}.live-workbench-shell .control-rail,.live-workbench-shell .main-stage{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}}@page overview{size:A4 landscape;margin:10mm}@media(max-width:1100px){.project-fields{grid-template-columns:minmax(200px,1.3fr) 88px minmax(200px,1.2fr)}.workbench{grid-template-columns:330px minmax(0,1fr)}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.validation-list{grid-template-columns:1fr}.stage-toolbar{grid-template-columns:1fr auto}.stage-actions{grid-column:1 / -1}.schematic-visibility-controls>div{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:780px){.app-header{grid-template-columns:1fr;gap:12px}.header-actions{justify-content:stretch}.header-actions .button{flex:1}.project-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.project-fields .revision-description{grid-column:1 / -1}.app-tabs{overflow-x:auto;padding:0 10px}.status-cluster{display:none}.workbench{grid-template-columns:1fr}.main-stage{grid-row:1;padding:10px}.control-rail{grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.control-section{align-content:start}.stage-toolbar{grid-template-columns:1fr auto}.stage-context{display:none}.stage-actions{grid-column:1 / -1;justify-content:stretch}.stage-actions .button{flex:1}.scene-panel{min-height:380px;height:52vh}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-toolbar{align-items:stretch;flex-direction:column}.report-toolbar>div:last-child{flex-wrap:wrap}.report-export-actions{width:100%;justify-items:stretch}.report-export-actions>div{justify-content:stretch}.report-export-actions .button{flex:1}.report-pdf-state{text-align:left}.calculation-note{padding:42px 30px}.site-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-checklist{grid-template-columns:1fr}.overview-report .note-meta,.overview-report .note-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-scene-slot{height:560px}.map-3d-legend{max-width:calc(100% - 24px);bottom:76px}}@media(max-width:520px){.app-header{padding:12px}.project-fields{grid-template-columns:1fr 82px}.project-fields label:nth-child(n+3){grid-column:1 / -1}.header-actions{flex-direction:column}.control-rail,.stage-toolbar{grid-template-columns:1fr}.stage-actions{display:grid;grid-template-columns:1fr}.view-switch{display:flex;max-width:calc(100vw - 40px);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.view-switch button{min-width:94px;flex:0 0 auto}.scene-panel{min-height:330px}.force-editor,.auto-leveling-values{grid-template-columns:1fr}.schematic-visibility-controls>div{grid-template-columns:repeat(2,minmax(0,1fr))}.scene-camera-controls{right:8px;left:8px;top:8px}.scene-camera-controls button{flex:1 1 auto;padding-inline:8px}.scene-camera-tower{flex:1 1 100%}.scene-camera-tower select{flex:1}.tower-label.terminal{translate:0 48px}.guy-label.start{translate:86px 48px}.guy-label.end{translate:-86px 48px}.machine-label.start{translate:-92px -44px}.machine-label.end{translate:92px -44px}.machine-label.start.focused{translate:-12px -220px}.machine-label.end.focused{translate:12px -220px}.retro-label{translate:-112px -12px}.retro-label.focused{translate:82px -130px}.diameter-editor,.detail-grid,.retro-angle-limits,.ats-guidelines dl{grid-template-columns:1fr}.ats-guidelines .ats-guidelines-wide{grid-column:auto}.coordinate-import-backdrop{padding:8px;align-items:start}.coordinate-import-dialog{max-height:calc(100vh - 16px);padding:15px;gap:13px}.import-choice-grid{grid-template-columns:1fr}.coordinate-import-actions{display:grid;grid-template-columns:1fr 1fr}.report-share-backdrop{padding:8px;align-items:start}.report-share-dialog{padding:15px}.report-share-steps{grid-template-columns:1fr}.report-export-actions>div{display:grid;grid-template-columns:1fr}.summary-strip{grid-template-columns:1fr}.calculation-note{padding:30px 18px}.calculation-note h1{font-size:32px}.note-meta,.note-grid,.signature-grid,.site-summary-grid{grid-template-columns:1fr}.overview-report{padding:28px 16px}.overview-report .note-meta,.overview-report .note-grid{grid-template-columns:1fr}.overview-scene-slot{height:560px}.map-3d-tools{right:70px;flex-wrap:wrap}.map-3d-tools button{flex:1 1 auto;padding-inline:8px}.map-3d-status{right:8px;left:8px;bottom:22px}.map-3d-legend{left:8px;right:8px;bottom:78px;max-width:none}}@page{size:A4 portrait;margin:14mm}@media print{:root{background:#fff}.app-header,.app-tabs,.no-print,.study-status{display:none!important}.report-shell{padding:0;background:#fff}.calculation-note{max-width:none;margin:0;padding:0;box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}.calculation-note section{break-inside:auto!important;page-break-inside:auto!important;margin-bottom:24px}.calculation-note section:has(.plan-schematic),.plan-schematic{break-inside:avoid!important;page-break-inside:avoid!important}.calculation-note h1,.calculation-note h2{break-after:avoid}.calculation-note table{break-inside:auto}.calculation-note tr{break-inside:avoid;break-after:auto}.calculation-note thead{display:table-header-group}.note-validation,.signatures{break-inside:avoid!important;page-break-inside:avoid!important}.signature-grid div{min-height:76px}.note-cover{min-height:250mm;display:flex;flex-direction:column;justify-content:center;break-after:page}.calculation-note a{color:inherit;text-decoration:none}.plan-schematic image{print-color-adjust:exact;-webkit-print-color-adjust:exact}.overview-report{page:overview}.overview-report>section{break-after:page;page-break-after:always;break-inside:avoid!important;page-break-inside:avoid!important}.overview-report>section:last-of-type{break-after:auto;page-break-after:auto}.overview-report .note-cover{min-height:170mm}.overview-report .overview-visual-section{min-height:0;padding:4mm!important;gap:2mm}.overview-scene-slot{height:143mm}}.work-method-picker,.portee-span-picker{margin:0 0 14px;padding:0;border:0}.work-method-picker legend,.portee-span-picker legend{margin-bottom:8px;color:var(--muted);font-size:.72rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.work-method-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.work-method-picker legend{grid-column:1 / -1}.work-method-picker label,.portee-span-picker label,.terminal-guy-toggles label{display:flex;min-width:0;gap:9px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);cursor:pointer;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.work-method-picker label:hover,.portee-span-picker label:hover,.terminal-guy-toggles label:hover{border-color:color-mix(in srgb,var(--steel) 48%,var(--line))}.work-method-picker label.selected,.portee-span-picker label.selected{border-color:var(--steel);background:color-mix(in srgb,var(--steel) 8%,var(--panel));box-shadow:0 0 0 1px color-mix(in srgb,var(--steel) 16%,transparent)}.work-method-picker input,.portee-span-picker input,.terminal-guy-toggles input{flex:0 0 auto;margin-top:2px;accent-color:var(--steel)}.work-method-picker span,.portee-span-picker span,.terminal-guy-toggles span{display:grid;min-width:0;gap:3px}.work-method-picker strong,.portee-span-picker strong,.terminal-guy-toggles strong{color:var(--ink);font-size:.79rem;line-height:1.2}.work-method-picker small,.portee-span-picker small,.terminal-guy-toggles small{color:var(--muted);font-size:.67rem;line-height:1.35}.terminal-guy-toggles{display:grid;gap:7px;margin:10px 0 14px}.terminal-guy-toggles label.disabled{border-color:color-mix(in srgb,var(--red) 42%,var(--line));background:color-mix(in srgb,var(--red) 5%,var(--panel))}.portee-seche-controls{display:grid;gap:12px}.portee-concept-note{padding:11px 12px;border-left:3px solid var(--amber);border-radius:0 7px 7px 0;background:color-mix(in srgb,var(--amber-soft) 58%,var(--panel))}.portee-concept-note strong{display:block;margin-bottom:4px;color:var(--ink);font-size:.76rem}.portee-concept-note p{margin:0;color:var(--muted);font-size:.7rem;line-height:1.45}.portee-span-picker{display:grid;max-height:250px;gap:6px;overflow:auto;padding-right:3px}.portee-selection-error{margin:-5px 0 0;color:var(--red);font-size:.7rem;font-weight:700}.portee-live-readout{overflow:hidden;border:1px solid color-mix(in srgb,var(--amber) 40%,var(--line));border-radius:8px;background:var(--panel)}.portee-live-heading{display:flex;justify-content:space-between;gap:8px;padding:9px 10px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--amber-soft) 52%,var(--panel))}.portee-live-heading strong{font-size:.74rem}.portee-live-heading span{color:var(--muted);font-size:.65rem}.portee-live-readout>button{display:grid;width:100%;gap:2px;padding:9px 10px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.portee-live-readout>button:last-child{border-bottom:0}.portee-live-readout>button:hover,.portee-live-readout>button:focus-visible{background:color-mix(in srgb,var(--steel) 7%,transparent)}.portee-live-readout>button span,.portee-live-readout>button small{color:var(--muted);font-size:.65rem}.portee-live-readout>button strong{color:var(--ink);font-size:.76rem;font-variant-numeric:tabular-nums}.portee-toolbar-status{align-self:center;padding:7px 10px;border:1px solid color-mix(in srgb,var(--amber) 40%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--amber-soft) 55%,var(--panel));color:color-mix(in srgb,var(--amber) 65%,var(--ink));font-size:.7rem;font-weight:750;white-space:nowrap}.scene-label.portee-affected,.portee-ground-label{border-color:color-mix(in srgb,var(--amber) 64%,var(--line));box-shadow:0 5px 18px #6c3f0e26}.scene-label.guy-label.disabled{border-color:var(--red);background:color-mix(in srgb,#fff 92%,var(--red));color:var(--red)}.scene-label.portee-ground-label{background:color-mix(in srgb,#fff 90%,var(--amber-soft));color:#7b4512}.scene-legend .portee-ground:before{background:var(--amber)}.portee-affected-row{background:color-mix(in srgb,var(--amber-soft) 38%,transparent)}.portee-grounded-row{background:color-mix(in srgb,var(--amber-soft) 28%,transparent)}.results-view td small{display:block;margin-top:2px;color:var(--muted);font-size:.64rem}.guy-missing{color:var(--red);font-weight:700}.results-note.portee-warning{border-left:3px solid var(--amber);background:color-mix(in srgb,var(--amber-soft) 42%,var(--panel))}@media(max-width:1100px){.work-method-picker{grid-template-columns:1fr}.work-method-picker legend{grid-column:auto}}.portal-root{--portal-ink: #102a30;--portal-deep: #163d3d;--portal-deep-2: #0d3033;--portal-paper: #f2f5f2;--portal-surface: #fbfcfa;--portal-fog: #dce6e1;--portal-muted: #60716f;--portal-copper: #c6623f;--portal-copper-dark: #a94b2e;--portal-line: rgba(16, 42, 48, .14);--portal-shadow: 0 0 0 1px rgba(16, 42, 48, .055), 0 1px 2px -1px rgba(16, 42, 48, .08), 0 18px 42px -28px rgba(16, 42, 48, .28);min-height:100dvh;color:var(--portal-ink);background:var(--portal-paper);font-family:Manrope,Aptos,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.portal-root *{box-sizing:border-box}.portal-root h1,.portal-root h2,.portal-root h3,.portal-root p,.portal-root ul,.portal-root ol{margin-top:0}.portal-root h1,.portal-root h2,.portal-root h3{font-family:Bricolage Grotesque,Manrope,sans-serif;text-wrap:balance}.portal-root p,.portal-root li,.portal-root figcaption{text-wrap:pretty}.portal-root a{color:inherit}.portal-root button,.portal-root input,.portal-root select,.portal-root textarea{font:inherit}.portal-root button,.portal-root a{-webkit-tap-highlight-color:transparent}.portal-root button:focus-visible,.portal-root a:focus-visible,.portal-root input:focus-visible,.portal-root select:focus-visible,.portal-root textarea:focus-visible,.portal-workspace-dock a:focus-visible{outline:3px solid rgba(198,98,63,.38);outline-offset:3px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.portal-skip-link{position:fixed;z-index:50;top:.75rem;left:.75rem;padding:.75rem 1rem;color:#fff;background:var(--portal-deep-2, #0d3033);border-radius:.5rem;transform:translateY(-150%);transition-property:transform;transition-duration:.16s}.portal-skip-link:focus{transform:translateY(0)}.portal-header{position:relative;z-index:20;background:#f2f5f2e6;box-shadow:0 1px #102a3014;-webkit-backdrop-filter:blur(18px) saturate(125%);backdrop-filter:blur(18px) saturate(125%)}.portal-header-inner{width:min(100% - 3rem,90rem);min-height:5.25rem;margin:0 auto;display:grid;grid-template-columns:minmax(12rem,1fr) auto minmax(12rem,1fr);align-items:center;gap:2rem}.portal-brand{width:fit-content;display:inline-flex;align-items:center;gap:.75rem;color:var(--portal-ink);text-decoration:none}.portal-brand>span:last-child{display:inline-flex;align-items:baseline;letter-spacing:-.045em}.portal-brand strong{font-family:Bricolage Grotesque,Manrope,sans-serif;font-size:1.35rem;font-weight:700}.portal-brand small{color:var(--portal-copper);font-size:.78rem;font-weight:700;letter-spacing:0}.portal-brand.compact{gap:.55rem}.portal-brand.compact strong{font-size:1.15rem}.linebuilder-mark{width:2.8rem;height:2.8rem;display:grid;place-items:center;color:#fff;background:var(--portal-deep-2);border-radius:.75rem;box-shadow:inset 0 0 0 1px #ffffff1f,0 8px 20px -14px #0d3033bf}.linebuilder-mark.compact{width:2.35rem;height:2.35rem;border-radius:.65rem}.linebuilder-mark svg{width:82%;height:82%;overflow:visible}.linebuilder-mark path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.linebuilder-mark .mark-tower{stroke-width:1.5;opacity:.74}.linebuilder-mark .mark-line{stroke:#e68560;stroke-width:2}.portal-header nav{display:flex;align-items:center;gap:1.75rem}.portal-header nav a,.portal-text-button{min-height:2.75rem;display:inline-flex;align-items:center;color:#526663;background:transparent;border:0;font-size:.87rem;font-weight:600;text-decoration:none;transition-property:color;transition-duration:.15s}.portal-header nav a:hover,.portal-header nav a[aria-current=page],.portal-text-button:hover{color:var(--portal-ink)}.portal-header nav a[aria-current=page]{box-shadow:inset 0 -2px var(--portal-copper)}.portal-account-actions{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:1rem}.portal-account-link{min-height:2.75rem;display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;font-size:.78rem}.portal-account-link>span{width:2rem;height:2rem;display:grid;place-items:center;color:#fff;background:var(--portal-deep);border-radius:.55rem;font-weight:700}.portal-account-link strong{max-width:9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-header-error{position:absolute;top:calc(100% + .5rem);right:0;width:17rem;padding:.6rem .75rem;color:#8e3129;background:#fff4f1;box-shadow:var(--portal-shadow);border-radius:.55rem;font-size:.72rem}.portal-menu-toggle{display:none}.portal-button{min-height:2.9rem;padding:.75rem 1.05rem;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;border:0;border-radius:.65rem;font-size:.86rem;font-weight:700;line-height:1;text-decoration:none;cursor:pointer;box-shadow:0 0 0 1px #102a3012,0 5px 14px -10px #102a3085;transition-property:scale,background-color,color,box-shadow,transform;transition-duration:.15s;transition-timing-function:ease-out}.portal-button svg,.portal-inline-link svg,.portal-program-open svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.portal-button:hover{transform:translateY(-1px)}.portal-button:active{scale:.96;transform:translateY(0)}.portal-button:disabled{opacity:.46;cursor:not-allowed;transform:none;scale:1}.portal-button.small{min-height:2.65rem;padding:.65rem .9rem;font-size:.78rem}.portal-button.full{width:100%}.portal-button-primary{color:#fff!important;background:var(--portal-copper)}.portal-button-primary:hover{background:var(--portal-copper-dark);box-shadow:0 0 0 1px #531e0f1a,0 9px 22px -14px #a94b2ebf}.portal-button-secondary{color:var(--portal-ink)!important;background:#ffffffbd;box-shadow:var(--portal-shadow)}.portal-button-secondary:hover{background:#fff}.portal-button-light{color:var(--portal-deep-2)!important;background:#f5f6f0}.portal-button-light:hover{background:#fff}.portal-button-demo{color:#fff;background:var(--portal-deep-2);box-shadow:inset 0 0 0 1px #ffffff1f,0 8px 18px -13px #0d3033b8}.portal-button-demo:hover{background:#17464a}.portal-button-demo>span{color:#eb8c67;font-size:.62rem}.portal-inline-link{min-height:2.75rem;width:fit-content;display:inline-flex;align-items:center;gap:.55rem;color:var(--portal-deep);font-size:.85rem;font-weight:700;text-underline-offset:.28rem;text-decoration-thickness:1px}.portal-inline-link span{color:var(--portal-copper)}.portal-kicker{display:block;color:var(--portal-copper-dark);font-family:IBM Plex Mono,monospace;font-size:.69rem;font-weight:500;letter-spacing:.085em;line-height:1.5;text-transform:uppercase}.portal-hero{width:min(100% - 3rem,90rem);min-height:min(47rem,calc(100dvh - 5.25rem));margin:0 auto;padding:5.75rem 0 7.5rem;display:grid;grid-template-columns:minmax(0,.84fr) minmax(34rem,1.16fr);align-items:center;gap:2.5rem;position:relative}.portal-hero:before{content:"";position:absolute;z-index:0;inset:0 -10vw auto 30%;height:31rem;pointer-events:none;background:radial-gradient(circle at center,#b8cec578,#f2f5f200 68%)}.portal-hero-copy{position:relative;z-index:2;padding-bottom:1rem}.portal-hero-copy>*{opacity:0;transform:translateY(.75rem);filter:blur(4px);animation:portal-reveal .42s ease-out forwards}.portal-hero-copy>:nth-child(2){animation-delay:80ms}.portal-hero-copy>:nth-child(3){animation-delay:.16s}.portal-hero-copy>:nth-child(4){animation-delay:.24s}.portal-hero-copy>:nth-child(5){animation-delay:.32s}@keyframes portal-reveal{to{opacity:1;transform:translateY(0);filter:blur(0)}}.portal-hero h1{max-width:10.5ch;margin:1.2rem 0 1.6rem;font-size:clamp(3.25rem,5.3vw,5.9rem);font-weight:600;letter-spacing:-.07em;line-height:.94}.portal-hero h1 em{color:var(--portal-copper);font-style:normal}.portal-hero-copy>p{max-width:35rem;margin-bottom:2rem;color:#536763;font-size:1.04rem;line-height:1.78}.portal-hero-actions{display:flex;align-items:center;gap:1.25rem}.portal-trust-line{max-width:34rem;margin-top:3.2rem;padding-top:1.2rem;display:grid;grid-template-columns:auto 1fr;gap:.7rem;border-top:1px solid var(--portal-line)}.portal-trust-line>span{padding-top:.15rem;color:var(--portal-copper);font-size:.64rem}.portal-trust-line p{margin:0;color:#667774;font-size:.76rem;line-height:1.7}.portal-trust-line strong{color:var(--portal-ink)}.portal-catenary{position:relative;z-index:1;margin:0 -1rem 0 0;opacity:0;transform:translateY(.9rem);animation:portal-reveal .52s .23s ease-out forwards}.portal-catenary>svg{width:100%;display:block;overflow:visible}.portal-catenary pattern path{fill:none;stroke:#102a3011;stroke-width:1}.catenary-terrain{opacity:.7}.catenary-tower path{fill:none;stroke:#17383b;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.catenary-tower.tower-b{opacity:.85}.catenary-conductor{fill:none;stroke-linecap:round}.catenary-conductor.shadow{stroke:#0d303329;stroke-width:9}.catenary-conductor.live{stroke:var(--portal-copper);stroke-width:3;stroke-dasharray:5 7;animation:conductor-flow 5.5s linear infinite}@keyframes conductor-flow{to{stroke-dashoffset:-96}}.catenary-obstacle rect,.catenary-obstacle path{fill:#102a3017;stroke:#304d4e;stroke-width:1.7}.catenary-clearance{fill:none;stroke:var(--portal-copper);stroke-width:1.7}.catenary-node circle{fill:var(--portal-copper);stroke:#fff;stroke-width:3}.catenary-node text,.catenary-callout text,.catenary-datum text{fill:#59706c;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.045em}.catenary-callout path{fill:none;stroke:#78908b;stroke-width:1}.catenary-callout circle{fill:var(--portal-copper)}.catenary-callout text:first-of-type{fill:var(--portal-ink);font-weight:500}.catenary-datum text{font-size:9px}.portal-catenary figcaption{margin:-.5rem 1.5rem 0 3rem;padding-top:.85rem;display:flex;align-items:center;gap:1.25rem;border-top:1px solid rgba(16,42,48,.13);color:#6d7e7a;font-family:IBM Plex Mono,monospace;font-size:.62rem;text-transform:uppercase}.portal-catenary figcaption span{display:inline-flex;align-items:center;gap:.4rem}.portal-catenary figcaption i{width:1rem;height:2px;display:block;background:#46605d}.portal-catenary figcaption span:nth-child(2) i{background:var(--portal-copper)}.portal-catenary figcaption strong{margin-left:auto;color:var(--portal-deep);font-weight:500}.portal-program-section{padding:8rem max(1.5rem,calc((100vw - 90rem)/2));color:#f0f4f0;background:var(--portal-deep-2);position:relative;overflow:hidden}.portal-program-section:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.24;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:3rem 3rem;-webkit-mask-image:linear-gradient(to right,transparent,#000 40%,transparent);mask-image:linear-gradient(to right,transparent,#000 40%,transparent)}.portal-section-heading{max-width:90rem;margin:0 auto 3.25rem;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(18rem,.55fr);gap:4rem;align-items:end;position:relative;z-index:1}.portal-section-heading>div>span{display:block;margin-bottom:.75rem;color:var(--portal-copper);font-family:IBM Plex Mono,monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.portal-section-heading h2{max-width:15ch;margin:0;font-size:clamp(2.2rem,3.6vw,4.1rem);font-weight:600;letter-spacing:-.055em;line-height:1.02}.portal-section-heading>p{margin:0 0 .25rem;color:#aebdb8;font-size:.92rem;line-height:1.75}.portal-program-showcase{max-width:90rem;margin:0 auto;padding-left:2.4rem;display:grid;gap:1.4rem;position:relative;z-index:1}.portal-program-showcase:before{content:"";position:absolute;top:2.35rem;bottom:2.35rem;left:.58rem;width:1px;background:linear-gradient(var(--portal-copper),rgba(198,98,63,.15))}.portal-featured-program{min-height:34rem;padding:1.25rem;display:grid;grid-template-columns:minmax(19rem,.75fr) minmax(25rem,1.25fr);grid-template-rows:auto 1fr;column-gap:2rem;color:var(--portal-ink);background:#e6ece7;border-radius:1.5rem;box-shadow:0 28px 80px -50px #000000c7,inset 0 0 0 1px #ffffff61;position:relative}.portal-featured-program:before{content:attr(data-program);width:2rem;height:2rem;display:grid;place-items:center;position:absolute;top:1.35rem;left:-2.82rem;color:#fff;background:var(--portal-copper);border-radius:.5rem;box-shadow:0 0 0 6px var(--portal-deep-2);font-family:IBM Plex Mono,monospace;font-size:.58rem;font-weight:600}.portal-featured-program.rollerline-card{background:#dce8e4}.portal-featured-program.rollerline-card .portal-program-copy{grid-column:2;grid-row:2}.portal-featured-program.rollerline-card .portal-program-preview{grid-column:1;grid-row:2;transform:translate(-.5rem,1rem)}.portal-program-meta{grid-column:1 / -1;padding:.25rem .35rem 1rem;display:flex;align-items:center;justify-content:space-between;color:#5d716c;font-family:IBM Plex Mono,monospace;font-size:.64rem;letter-spacing:.055em;text-transform:uppercase}.portal-program-meta strong{display:inline-flex;align-items:center;gap:.45rem;color:var(--portal-deep);font-weight:500}.portal-program-meta i{width:.45rem;height:.45rem;display:block;background:#4a8065;border-radius:50%;box-shadow:0 0 0 4px #4a80651f}.portal-program-copy{padding:3.4rem 1.2rem 2rem;display:flex;flex-direction:column;align-items:flex-start}.portal-program-index{color:var(--portal-copper-dark);font-family:IBM Plex Mono,monospace;font-size:.7rem;letter-spacing:.06em}.portal-program-copy h3{margin:.9rem 0 1.1rem;font-size:clamp(3.2rem,5vw,5.2rem);font-weight:600;letter-spacing:-.065em;line-height:.9}.portal-program-copy p{max-width:28rem;margin-bottom:2rem;color:#506560;font-size:.88rem;line-height:1.7}.portal-program-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:.65rem}.portal-program-copy .portal-button{margin-top:0}.portal-program-preview{min-width:0;display:flex;flex-direction:column;background:#fdfefc;border-radius:.9rem;box-shadow:0 0 0 1px #102a3014,0 20px 45px -30px #102a308c;overflow:hidden;transform:translate(.5rem,1rem)}.preview-toolbar{height:3rem;padding:0 1rem;display:flex;align-items:center;gap:.35rem;background:#15383a}.preview-toolbar>span{width:.42rem;height:.42rem;background:#ffffff59;border-radius:50%}.preview-toolbar strong{margin-left:auto;color:#ffffffb3;font-family:IBM Plex Mono,monospace;font-size:.55rem;font-weight:400}.preview-grid{min-height:0;flex:1;display:grid;grid-template-columns:5rem 1fr}.preview-controls{padding:1rem;display:flex;flex-direction:column;gap:.8rem;background:#edf1ee}.preview-controls i{height:.48rem;display:block;background:#c4d0cb;border-radius:.2rem}.preview-controls i:nth-child(2){width:70%}.preview-controls i:nth-child(4){height:3rem;margin-top:.3rem}.preview-grid svg{width:100%;height:100%;align-self:center}.preview-grid svg path{fill:none;stroke-linecap:round;stroke-linejoin:round}.preview-ground{stroke:#b1c2bb;stroke-width:2}.preview-line{stroke:var(--portal-copper);stroke-width:2.3}.preview-tower{stroke:#234345;stroke-width:1.8}.preview-grid rect{fill:#d8dfdc;stroke:#60726f}.preview-clearance{stroke:var(--portal-copper);stroke-width:1.5}.preview-rope{fill:none;stroke:var(--portal-copper);stroke-width:2.5;stroke-linecap:round}.preview-rollers circle{fill:#f8faf8;stroke:#315154;stroke-width:2}.preview-force-arrow{fill:none;stroke:#315154;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.program-demo-backdrop{position:fixed;z-index:60000000;inset:0;display:grid;color:#f5f8f5;background:#071a1cdb;backdrop-filter:blur(18px) saturate(.72);-webkit-backdrop-filter:blur(18px) saturate(.72)}.program-demo{min-width:0;min-height:0;margin:clamp(.55rem,1.35vw,1.35rem);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;color:#edf4ef;background:#0d292c;border:1px solid rgba(255,255,255,.13);border-radius:clamp(.85rem,1.8vw,1.55rem);box-shadow:0 38px 110px -34px #000000d1;opacity:1;transform:scale(1);transition:opacity .22s cubic-bezier(.23,1,.32,1),transform .22s cubic-bezier(.23,1,.32,1)}@starting-style{.program-demo{opacity:0;transform:scale(.975)}}.program-demo-header{min-height:5rem;padding:.85rem clamp(1rem,2vw,2rem);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.program-demo-brand{display:flex;align-items:baseline;gap:.8rem}.program-demo-brand>span,.program-demo-brand>small,.program-demo-kicker,.program-demo-visual-meta,.program-demo-thumbnails button{font-family:IBM Plex Mono,monospace;text-transform:uppercase}.program-demo-brand>span{color:#e98560;font-size:.61rem;letter-spacing:.12em}.program-demo-brand>strong{font-family:Bricolage Grotesque,sans-serif;font-size:1.28rem}.program-demo-brand>small{color:#83a09a;font-size:.57rem;letter-spacing:.08em}.program-demo-progress{display:grid;grid-template-columns:auto 6.5rem auto;align-items:center;gap:.65rem;color:#edf4ef;font-family:IBM Plex Mono,monospace;font-size:.68rem}.program-demo-progress i{height:1px;display:block;background:linear-gradient(90deg,#e98560 33.333%,#ffffff2e 33.333%)}.program-demo-progress small{color:#728e88;font-size:inherit}.program-demo-close{min-height:2.75rem;margin-left:auto;padding:.5rem .75rem;display:inline-flex;align-items:center;gap:.75rem;color:#d9e4df;background:transparent;border:0;border-radius:.55rem;cursor:pointer;font-size:.72rem;font-weight:700;transition:color .15s ease,background-color .15s ease,transform .15s cubic-bezier(.23,1,.32,1)}.program-demo-close:hover{color:#fff;background:#ffffff12}.program-demo-close:active{transform:scale(.97)}.program-demo-close i{width:1.45rem;height:1.45rem;display:block;position:relative;border:1px solid rgba(255,255,255,.2);border-radius:50%}.program-demo-close i:before,.program-demo-close i:after{content:"";width:.65rem;height:1px;position:absolute;top:50%;left:50%;background:currentColor}.program-demo-close i:before{transform:translate(-50%,-50%) rotate(45deg)}.program-demo-close i:after{transform:translate(-50%,-50%) rotate(-45deg)}.program-demo-layout{min-height:0;padding:clamp(1rem,2vw,2rem);display:grid;grid-template-columns:minmax(16rem,.62fr) minmax(0,1.38fr);gap:clamp(1rem,2.5vw,2.6rem)}.program-demo-copy{min-width:0;padding:clamp(.25rem,2vw,1.75rem) 0;display:flex;flex-direction:column;align-items:flex-start}.program-demo-kicker{color:#e98560;font-size:.64rem;letter-spacing:.11em}.program-demo-copy h2{max-width:10.5ch;margin:1rem 0 1.1rem;color:#fff;font-size:clamp(2.35rem,4.4vw,5.1rem);font-weight:600;letter-spacing:-.06em;line-height:.96}.program-demo-copy>p{max-width:34rem;margin:0;color:#a8bbb5;font-size:clamp(.82rem,1.05vw,.96rem);line-height:1.72}.program-demo-copy>.program-demo-slide-note{margin-top:.85rem;color:#6f8b85;font-size:.73rem}.program-demo-protection{margin-top:auto;padding-top:1.5rem;display:flex;align-items:center;gap:.75rem}.program-demo-protection>i{width:2.2rem;height:2.2rem;display:grid;place-items:center;flex:0 0 auto;color:#e98560;background:#e985601a;border:1px solid rgba(233,133,96,.22);border-radius:.55rem;font-size:.63rem;font-style:normal}.program-demo-protection span{display:grid;gap:.2rem}.program-demo-protection strong{font-size:.72rem}.program-demo-protection small{color:#738f89;font-family:IBM Plex Mono,monospace;font-size:.53rem;line-height:1.45}.program-demo-visual{min-width:0;min-height:0;margin:0;position:relative;overflow:hidden;background:#061719;border:1px solid rgba(255,255,255,.13);border-radius:1rem;box-shadow:0 30px 65px -36px #000000e0;isolation:isolate}.program-demo-visual:before,.program-demo-visual:after{content:"";position:absolute;z-index:3;pointer-events:none}.program-demo-visual:before{inset:0;border:1px solid rgba(255,255,255,.08);border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 18%,transparent 82%,rgba(233,133,96,.08))}.program-demo-visual:after{width:4.5rem;height:4.5rem;right:-2.2rem;top:-2.2rem;border:1px solid rgba(233,133,96,.55);border-radius:50%}.program-demo-visual img{width:100%;height:100%;display:block;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;animation:program-demo-image-in .24s cubic-bezier(.23,1,.32,1) both}@keyframes program-demo-image-in{0%{opacity:0;filter:blur(5px);transform:scale(.992)}to{opacity:1;filter:blur(0);transform:scale(1)}}.program-demo-visual-meta{min-height:2.25rem;padding:0 .8rem;display:flex;align-items:center;gap:.65rem;position:absolute;z-index:4;right:.75rem;bottom:.75rem;left:.75rem;color:#ffffffbf;background:#092123c7;border:1px solid rgba(255,255,255,.16);border-radius:.5rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.52rem;letter-spacing:.08em}.program-demo-visual-meta i{height:1px;flex:1;background:#fff3}.program-demo-visual-meta strong{color:#fff;font-weight:600}.program-demo-footer{min-height:5.25rem;padding:.75rem clamp(1rem,2vw,2rem);display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;border-top:1px solid rgba(255,255,255,.1)}.program-demo-thumbnails{display:flex;align-items:stretch;gap:.45rem}.program-demo-thumbnails button{min-width:7.4rem;min-height:3.5rem;padding:.55rem .7rem;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.6rem;color:#76918b;background:transparent;border:1px solid transparent;border-radius:.55rem;cursor:pointer;font-size:.53rem;letter-spacing:.07em;text-align:left;transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s cubic-bezier(.23,1,.32,1)}.program-demo-thumbnails button:hover{color:#dce7e2;background:#ffffff0b}.program-demo-thumbnails button:active{transform:scale(.97)}.program-demo-thumbnails button[aria-selected=true]{color:#fff;background:#ffffff13;border-color:#e9856066}.program-demo-thumbnails button>span{color:#e98560;font-size:.62rem}.program-demo-thumbnails button>small{font-size:inherit}.program-demo-navigation{display:flex;gap:.45rem}.program-demo-navigation button{width:3rem;height:3rem;display:grid;place-items:center;color:#d9e5e0;background:#ffffff0e;border:1px solid rgba(255,255,255,.12);border-radius:.6rem;cursor:pointer;transition:color .15s ease,background-color .15s ease,transform .15s cubic-bezier(.23,1,.32,1)}.program-demo-navigation button:hover{color:#fff;background:#ffffff1c}.program-demo-navigation button:active{transform:scale(.96)}.program-demo-navigation svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.portal-method-section{width:min(100% - 3rem,90rem);margin:0 auto;padding:9rem 0 10rem;display:grid;grid-template-columns:minmax(18rem,.7fr) minmax(30rem,1.3fr);gap:8rem}.portal-method-statement{position:sticky;top:3rem;align-self:start}.portal-method-statement>span{color:var(--portal-copper-dark);font-family:IBM Plex Mono,monospace;font-size:.68rem;letter-spacing:.07em;text-transform:uppercase}.portal-method-statement h2{max-width:11ch;margin:1rem 0 0;font-size:clamp(2.8rem,4.5vw,5.1rem);font-weight:600;letter-spacing:-.065em;line-height:.97}.portal-method-list{margin:0;padding:0;list-style:none}.portal-method-list li{min-height:10rem;padding:2rem 0 2.2rem;display:grid;grid-template-columns:4rem 1fr;gap:1.5rem;border-top:1px solid var(--portal-line)}.portal-method-list>li>span{color:var(--portal-copper-dark);font-family:IBM Plex Mono,monospace;font-size:.7rem}.portal-method-list strong{display:block;margin-bottom:.8rem;font-family:Bricolage Grotesque,sans-serif;font-size:1.55rem;letter-spacing:-.025em}.portal-method-list p{max-width:38rem;margin:0;color:#60716f;font-size:.9rem;line-height:1.75}.portal-footer{padding:4.5rem max(1.5rem,calc((100vw - 90rem)/2)) 2rem;color:#dbe4df;background:#102f32}.portal-footer-inner{max-width:90rem;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end}.portal-footer .portal-brand{color:#fff}.portal-footer .linebuilder-mark{background:#ffffff1a}.portal-footer p{max-width:28rem;margin:1rem 0 0;color:#91a7a1;font-size:.76rem;line-height:1.65}.portal-footer nav{display:flex;gap:1.5rem}.portal-footer nav a{min-height:2.75rem;display:inline-flex;align-items:center;color:#bdcbc6;font-size:.75rem;text-underline-offset:.25rem}.portal-footer small{grid-column:1 / -1;padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.1);color:#78908a;font-family:IBM Plex Mono,monospace;font-size:.6rem;font-variant-numeric:tabular-nums}.portal-main{width:min(100% - 3rem,90rem);min-height:calc(100dvh - 18rem);margin:0 auto;padding:4.5rem 0 7rem}.portal-page-heading,.portal-dashboard-heading{margin-bottom:3.5rem;display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}.portal-page-heading h1,.portal-dashboard-heading h1{max-width:17ch;margin:.85rem 0 1rem;font-size:clamp(2.8rem,4.8vw,5rem);font-weight:600;letter-spacing:-.065em;line-height:.98}.portal-page-heading p,.portal-dashboard-heading p{max-width:42rem;margin:0;color:var(--portal-muted);font-size:.93rem;line-height:1.75}.portal-session-note{min-width:17rem;padding:1rem;display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:center;color:#3f6155;background:#e6ede8;border-radius:.8rem;box-shadow:inset 0 0 0 1px #102a300e}.portal-session-note>span{color:#4d8b69;font-size:.65rem}.portal-session-note div{min-width:0;display:grid;gap:.2rem}.portal-session-note strong{font-size:.76rem}.portal-session-note small{overflow:hidden;color:#6b7d77;font-size:.65rem;text-overflow:ellipsis}.portal-section-heading.compact{margin:0 0 1.5rem;grid-template-columns:1fr auto;gap:2rem;align-items:center}.portal-section-heading.compact h2{max-width:none;font-size:1.75rem;letter-spacing:-.035em}.portal-section-heading.compact>div>span{margin-bottom:.35rem}.portal-dashboard-programs{margin-top:2rem}.portal-program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.portal-program-card{min-height:24rem;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;color:var(--portal-ink);background:var(--portal-surface);border-radius:1.15rem;box-shadow:var(--portal-shadow);text-decoration:none;transition-property:transform,box-shadow,background-color;transition-duration:.18s;transition-timing-function:ease-out}.portal-program-card:hover{transform:translateY(-3px);background:#fff;box-shadow:0 0 0 1px #102a3013,0 24px 55px -38px #102a308c}.portal-program-card:active{transform:translateY(0)}.portal-program-card.unavailable{color:#62716e;background:#e8ede9;box-shadow:inset 0 0 0 1px #102a300d}.portal-program-card.unavailable:hover{transform:none;background:#e8ede9;box-shadow:inset 0 0 0 1px #102a300d}.portal-program-card-top{display:flex;align-items:center;justify-content:space-between;color:#778681;font-family:IBM Plex Mono,monospace;font-size:.62rem;letter-spacing:.045em;text-transform:uppercase}.portal-program-card-top strong{display:inline-flex;align-items:center;gap:.4rem;font-weight:500}.portal-program-card-top i,.portal-program-status{width:.45rem;height:.45rem;display:inline-block;background:#698077;border-radius:50%}.portal-program-card-top .status-active i,.portal-program-status.status-active{background:#4e8a68;box-shadow:0 0 0 4px #4e8a681a}.portal-program-card-top .status-beta i,.portal-program-status.status-beta{background:var(--portal-copper)}.portal-program-card-top .status-maintenance i,.portal-program-status.status-maintenance{background:#b1843e}.portal-program-monogram{width:3.3rem;height:3.3rem;margin-bottom:1.2rem;display:grid;place-items:center;color:#fff;background:var(--portal-deep);border-radius:.8rem;font-family:IBM Plex Mono,monospace;font-size:.8rem}.portal-program-card h3{margin:0 0 .75rem;font-size:2.25rem;font-weight:600;letter-spacing:-.05em}.portal-program-card p{max-width:33rem;margin:0;color:#647571;font-size:.8rem;line-height:1.7}.portal-program-open{min-height:2.75rem;padding-top:1rem;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--portal-line);font-size:.75rem;font-weight:700}.portal-catalog-warning{padding:.8rem 1rem;color:#785328;background:#faf1df;box-shadow:inset 3px 0 #bd7d37;font-size:.76rem}.portal-dashboard-help{margin-top:3.5rem;padding:1.5rem 0;display:grid;grid-template-columns:10rem 1fr auto;gap:2rem;align-items:center;border-top:1px solid var(--portal-line);border-bottom:1px solid var(--portal-line)}.portal-dashboard-help>span{color:var(--portal-copper-dark);font-family:IBM Plex Mono,monospace;font-size:.65rem;text-transform:uppercase}.portal-dashboard-help p{margin:0;color:#657773;font-size:.75rem;line-height:1.65}.portal-dashboard-help a{min-height:2.75rem;display:inline-flex;align-items:center;font-size:.74rem;font-weight:700;text-underline-offset:.25rem}.portal-card-skeletons{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.portal-card-skeletons span{height:24rem;display:block;background:linear-gradient(110deg,#e1e7e3 30%,#edf1ee,#e1e7e3 60%);background-size:220% 100%;border-radius:1.15rem;animation:portal-shimmer 1.3s linear infinite}@keyframes portal-shimmer{to{background-position-x:-220%}}.portal-auth-layout{display:grid;grid-template-columns:minmax(24rem,.78fr) minmax(32rem,1.22fr);background:#eef2ef}.portal-auth-brand-panel{min-height:100dvh;padding:clamp(2rem,4vw,4.5rem);display:flex;flex-direction:column;color:#eef3ef;background-color:var(--portal-deep-2);background-image:radial-gradient(circle at 20% 15%,rgba(100,151,135,.2),transparent 32%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:auto,3rem 3rem,3rem 3rem}.portal-auth-brand-panel .portal-brand{color:#fff}.portal-auth-brand-panel .linebuilder-mark{background:#ffffff1a}.portal-auth-brand-panel>div:nth-child(2){margin:auto 0 2rem}.portal-auth-brand-panel h2{max-width:12ch;margin:1rem 0 1.25rem;font-size:clamp(2.5rem,4.6vw,4.8rem);font-weight:600;letter-spacing:-.06em;line-height:.98}.portal-auth-brand-panel p{max-width:32rem;color:#9fb3ad;font-size:.86rem;line-height:1.75}.portal-auth-brand-panel>small{margin-top:1.5rem;color:#77918a;font-family:IBM Plex Mono,monospace;font-size:.58rem;text-transform:uppercase}.auth-mini-profile{padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.auth-mini-profile svg{width:min(100%,30rem);display:block}.auth-mini-profile path,.auth-mini-profile rect{fill:none;stroke:#ffffff52;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.auth-mini-profile path:last-child{stroke:#dc7a55}.portal-auth-main{min-height:100dvh;padding:2.5rem max(2rem,8vw);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.portal-auth-back{position:absolute;top:2rem;left:max(2rem,8vw);min-height:2.75rem;display:inline-flex;align-items:center;color:#61736f;font-size:.75rem;font-weight:600;text-underline-offset:.25rem}.portal-auth-card{width:min(100%,34rem);padding:2.75rem;background:#ffffffc7;border-radius:1.35rem;box-shadow:var(--portal-shadow)}.portal-auth-card>h1{margin:.75rem 0;font-size:clamp(2.25rem,4vw,3.5rem);font-weight:600;letter-spacing:-.06em;line-height:1}.portal-auth-card>p{margin-bottom:1.7rem;color:#667672;font-size:.82rem;line-height:1.65}.portal-auth-switch{margin:1.4rem 0 0!important;text-align:center}.portal-auth-switch a,.portal-label-row a{color:var(--portal-copper-dark);font-weight:700;text-underline-offset:.2rem}.portal-auth-legal{width:min(100%,34rem);margin-top:1.4rem;display:flex;justify-content:center;gap:1.2rem}.portal-auth-legal a{min-height:2.75rem;display:inline-flex;align-items:center;color:#72827e;font-size:.68rem;text-underline-offset:.2rem}.portal-form{display:grid;gap:1rem}.portal-form label{display:grid;gap:.42rem;color:#465a56;font-size:.72rem;font-weight:700}.portal-form input,.portal-form select,.portal-form textarea{width:100%;min-height:3rem;padding:.75rem .85rem;color:var(--portal-ink);background:#ffffffeb;border:1px solid #bdcbc6;border-radius:.55rem;cursor:text;transition-property:border-color,box-shadow,background-color;transition-duration:.15s}.portal-form select{cursor:pointer}.portal-form textarea{min-height:6.5rem;resize:vertical;line-height:1.55}.portal-form input:hover,.portal-form select:hover,.portal-form textarea:hover{border-color:#91a49e}.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus{background:#fff;border-color:var(--portal-copper);box-shadow:0 0 0 3px #c6623f1c;outline:none}.portal-form input[readonly]{color:#6f807c;background:#e9eeeb;cursor:default}.portal-form label>small{color:#75847f;font-size:.65rem;font-weight:500;line-height:1.5}.portal-label-row{display:flex;justify-content:space-between;gap:1rem}.portal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.portal-form-row.three{grid-template-columns:1.15fr 1fr .65fr}.portal-password-hint{margin-top:-.35rem;color:#75847f;font-size:.64rem;line-height:1.5}.portal-consent{min-height:2.75rem;display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:.7rem!important;font-weight:500!important;line-height:1.55}.portal-consent input,.portal-switch-field input{width:1.15rem;min-height:1.15rem;height:1.15rem;margin-top:.15rem;accent-color:var(--portal-copper);cursor:pointer}.portal-consent a{color:var(--portal-copper-dark);text-underline-offset:.2rem}.portal-form-message{margin:0;padding:.75rem .85rem;display:grid;gap:.25rem;border-radius:.55rem;font-size:.7rem;line-height:1.55}.portal-form-message.error{color:#872f28;background:#fff1ee;box-shadow:inset 3px 0 #bd4f43}.portal-form-message.success{color:#2f6750;background:#e7f2eb;box-shadow:inset 3px 0 #4f8a69}.portal-form-message.setup{color:#79562c;background:#f9f1e2;box-shadow:inset 3px 0 #b78443}.portal-form-message.setup strong{color:#6b4820}.portal-form-message.page-message{margin:-2rem 0 2rem}.portal-auth-success{text-align:left}.portal-auth-success.compact{padding-top:.8rem}.portal-success-mark{width:2.9rem;height:2.9rem;margin-bottom:1.2rem;display:grid;place-items:center;color:#fff;background:#4f8668;border-radius:.75rem;font-size:1.1rem}.portal-auth-success h2{margin-bottom:.7rem;font-size:1.7rem}.portal-center{display:grid;place-items:center}.portal-loading-panel{min-width:min(28rem,calc(100vw - 3rem));padding:2.5rem;display:grid;justify-items:center;gap:.6rem;color:var(--portal-ink);background:var(--portal-surface);border-radius:1rem;box-shadow:var(--portal-shadow);text-align:center}.portal-loading-panel strong{font-family:Bricolage Grotesque,sans-serif;font-size:1.3rem}.portal-loading-panel small{max-width:24rem;color:#71817d;font-size:.68rem}.portal-loader{width:1.6rem;height:1.6rem;margin-bottom:.5rem;display:block;border:2px solid #c9d3cf;border-top-color:var(--portal-copper);border-radius:50%;animation:portal-spin .7s linear infinite}@keyframes portal-spin{to{transform:rotate(360deg)}}.portal-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.portal-account-card{padding:2rem;background:var(--portal-surface);border-radius:1.15rem;box-shadow:var(--portal-shadow)}.portal-account-card-heading{margin-bottom:2rem;padding-bottom:1.4rem;display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;border-bottom:1px solid var(--portal-line)}.portal-account-card-heading>span{width:3rem;height:3rem;display:grid;place-items:center;color:#fff;background:var(--portal-deep);border-radius:.75rem;font-weight:700}.portal-account-card-heading h2{margin:0;font-size:1.5rem;letter-spacing:-.035em}.portal-account-card-heading p{margin:.25rem 0 0;color:#75837f;font-size:.68rem}.portal-account-card-heading.plain{grid-template-columns:1fr}.portal-account-card-heading.plain span{display:block;margin-bottom:.3rem;color:var(--portal-copper-dark);font-family:IBM Plex Mono,monospace;font-size:.63rem;text-transform:uppercase}.portal-admin-main{padding-top:4rem}.portal-admin-grid{display:grid;grid-template-columns:minmax(20rem,.72fr) minmax(32rem,1.28fr);gap:1rem;align-items:start}.portal-admin-list,.portal-admin-editor{padding:1.5rem;background:var(--portal-surface);border-radius:1.15rem;box-shadow:var(--portal-shadow)}.portal-admin-list{position:sticky;top:1.5rem}.portal-count{min-width:2.2rem;height:2.2rem;display:grid;place-items:center;color:var(--portal-deep);background:#e6ece8;border-radius:.55rem;font-family:IBM Plex Mono,monospace;font-size:.72rem}.portal-admin-programs{display:grid;gap:.4rem}.portal-admin-programs button{width:100%;min-height:4.4rem;padding:.8rem;display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;color:var(--portal-ink);background:transparent;border:0;border-radius:.7rem;text-align:left;cursor:pointer;transition-property:background-color,scale;transition-duration:.15s}.portal-admin-programs button:hover,.portal-admin-programs button.selected{background:#edf1ee}.portal-admin-programs button:active{scale:.96}.portal-admin-programs button>span:nth-child(2){min-width:0;display:grid;gap:.25rem}.portal-admin-programs button strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.portal-admin-programs button small{overflow:hidden;color:#75837f;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.portal-admin-programs button>span:last-child{color:var(--portal-copper)}.portal-list-skeleton{display:grid;gap:.5rem}.portal-list-skeleton span{height:4.4rem;display:block;background:#e8eeea;border-radius:.7rem}.portal-destination-picker{margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;border:0}.portal-destination-picker legend{margin-bottom:.45rem;color:#465a56;font-size:.72rem;font-weight:700}.portal-destination-picker label{min-height:5.5rem;padding:.8rem;display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:start;background:#edf1ee;border-radius:.7rem;cursor:pointer}.portal-destination-picker input{width:1rem;min-height:1rem;height:1rem;margin:.15rem 0 0;accent-color:var(--portal-copper)}.portal-destination-picker span{display:grid;gap:.3rem}.portal-destination-picker small{color:#73837e;font-size:.6rem;font-weight:500;line-height:1.45}.portal-switch-field{min-height:4rem;padding:.8rem;display:grid!important;grid-template-columns:auto 1fr;gap:.75rem!important;align-items:start;background:#edf1ee;border-radius:.7rem;cursor:pointer}.portal-switch-field span{display:grid;gap:.2rem}.portal-switch-field small{color:#72817d;font-size:.62rem;font-weight:500}.portal-form-actions{display:flex;align-items:center;gap:1rem}.portal-form-actions>small{color:#768681;font-size:.63rem}.portal-setup-notice{margin:-1.5rem 0 2rem;padding:1rem;display:grid;grid-template-columns:auto 1fr;gap:.8rem;color:#745026;background:#f8efdf;border-radius:.7rem;box-shadow:inset 3px 0 #b37a36}.portal-setup-notice>span{width:1.5rem;height:1.5rem;display:grid;place-items:center;color:#fff;background:#a26c2d;border-radius:.4rem;font-family:serif;font-weight:700}.portal-setup-notice strong{font-size:.78rem}.portal-setup-notice p{margin:.25rem 0 0;font-size:.68rem;line-height:1.5}.portal-empty-state{min-height:10rem;padding:2rem;display:grid;place-content:center;justify-items:center;color:#687975;background:#edf1ee;border-radius:.8rem;text-align:center}.portal-empty-state strong{color:var(--portal-ink);font-family:Bricolage Grotesque,sans-serif}.portal-empty-state p{margin:.4rem 0 0;font-size:.7rem}.portal-legal-main{width:min(100% - 3rem,53rem);padding-top:7rem}.portal-legal-main>.portal-auth-back{position:static;margin-bottom:2rem}.portal-legal-main article{padding:3rem;background:var(--portal-surface);border-radius:1.25rem;box-shadow:var(--portal-shadow)}.portal-legal-main h1{max-width:14ch;margin:1rem 0 .8rem;font-size:clamp(2.8rem,6vw,5rem);font-weight:600;letter-spacing:-.065em;line-height:.98}.portal-legal-intro{margin-bottom:3rem;color:#7b8985;font-family:IBM Plex Mono,monospace;font-size:.64rem}.portal-legal-main h2{margin:2.5rem 0 .75rem;font-size:1.35rem;letter-spacing:-.025em}.portal-legal-main article>p:not(.portal-legal-intro){color:#586d68;font-size:.85rem;line-height:1.8}.portal-not-found{min-height:calc(100dvh - 18rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.portal-not-found h1{max-width:13ch;margin:1rem 0;font-size:clamp(3rem,6vw,6rem);font-weight:600;letter-spacing:-.07em;line-height:.94}.portal-not-found p{max-width:35rem;color:#60716f;line-height:1.7}.portal-not-found>div{display:flex;gap:.7rem}.portal-workspace-dock{--dock-ink: #102a30;position:fixed;z-index:30000000;right:.7rem;bottom:4rem;padding:.3rem;display:grid;gap:.25rem;color:var(--dock-ink);background:#f7faf8f0;border-radius:.85rem;box-shadow:0 0 0 1px #102a3017,0 14px 34px -20px #102a3085;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.portal-workspace-dock a{width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0;display:grid;place-items:center;color:#58706c;background:transparent;border:0;border-radius:.55rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;font-weight:600;text-decoration:none;cursor:pointer;transition-property:color,background-color,scale;transition-duration:.15s}.portal-workspace-dock a:hover{color:#fff;background:#163d3d}.portal-workspace-dock a:active{scale:.96}@media(max-width:1120px){.portal-header-inner{grid-template-columns:1fr auto auto}.portal-account-link strong{display:none}.portal-hero{grid-template-columns:minmax(0,.9fr) minmax(29rem,1.1fr);gap:1rem}.portal-featured-program{grid-template-columns:1fr}.portal-featured-program.rollerline-card .portal-program-copy,.portal-featured-program.rollerline-card .portal-program-preview{grid-column:auto;grid-row:auto;transform:none}.portal-program-preview{min-height:21rem;transform:none}.portal-program-copy{min-height:21rem}.portal-method-section{gap:4rem}.program-demo-layout{grid-template-columns:minmax(14rem,.55fr) minmax(0,1.45fr)}.program-demo-copy h2{font-size:clamp(2.2rem,4.2vw,3.7rem)}.program-demo-brand>small{display:none}}@media(max-width:900px){.portal-header-inner{min-height:4.6rem;grid-template-columns:1fr auto;gap:1rem}.portal-menu-toggle{width:2.75rem;height:2.75rem;display:grid;place-items:center;color:var(--portal-ink);background:transparent;border:0;position:relative;cursor:pointer}.menu-icon{width:1.25rem;height:1.25rem;display:flex;flex-direction:column;justify-content:center;gap:.23rem;grid-area:1 / 1;opacity:0;scale:.25;filter:blur(4px);transition-property:opacity,scale,filter;transition-duration:.3s;transition-timing-function:cubic-bezier(.2,0,0,1)}.menu-icon.active{opacity:1;scale:1;filter:blur(0)}.menu-icon i{width:100%;height:1.5px;display:block;background:currentColor}.menu-open-icon{position:relative}.menu-open-icon i{position:absolute;top:50%}.menu-open-icon i:first-child{transform:rotate(45deg)}.menu-open-icon i:last-child{transform:rotate(-45deg)}.portal-header nav,.portal-account-actions{display:none;grid-column:1 / -1}.portal-header nav.open{padding-top:.8rem;display:grid;gap:0;border-top:1px solid var(--portal-line)}.portal-header nav.open a{min-height:3.2rem}.portal-header nav a[aria-current=page]{box-shadow:inset 3px 0 var(--portal-copper);padding-left:.8rem}.portal-account-actions.open{padding:0 0 1rem;display:flex;justify-content:flex-start;flex-wrap:wrap}.portal-account-actions.open .portal-account-link strong{display:block}.portal-hero{min-height:auto;padding-top:4.5rem;grid-template-columns:1fr}.portal-hero-copy{max-width:43rem}.portal-hero h1{max-width:11ch}.portal-catenary{width:min(100%,44rem);margin:-2rem 0 0 auto}.portal-program-showcase,.portal-section-heading,.portal-method-section,.portal-auth-layout,.portal-account-grid,.portal-admin-grid{grid-template-columns:1fr}.portal-program-showcase{gap:1rem}.portal-section-heading{gap:1.5rem}.portal-method-section{padding:7rem 0}.portal-method-statement{position:static}.portal-method-statement h2{max-width:14ch}.portal-auth-brand-panel{min-height:auto;padding:2rem;display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:center}.portal-auth-brand-panel>div:nth-child(2){margin:0}.portal-auth-brand-panel h2{margin-bottom:0;max-width:25ch;font-size:1.55rem}.portal-auth-brand-panel p,.auth-mini-profile,.portal-auth-brand-panel>small{display:none}.portal-auth-main{min-height:calc(100dvh - 7rem);padding-top:5.5rem}.portal-admin-list{position:static}.program-demo{overflow-y:auto}.program-demo-header{grid-template-columns:1fr auto;position:sticky;z-index:8;top:0;background:#0d292cf0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.program-demo-progress{display:none}.program-demo-layout{grid-template-columns:1fr}.program-demo-copy{min-height:auto;padding-bottom:0}.program-demo-copy h2{max-width:14ch;margin-bottom:.8rem;font-size:clamp(2.4rem,8vw,4rem)}.program-demo-protection{margin-top:1.2rem}.program-demo-visual{min-height:min(52vw,31rem);aspect-ratio:16 / 9}.program-demo-footer{position:sticky;z-index:8;bottom:0;background:#0d292cf2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}@media(max-width:680px){.portal-header-inner,.portal-hero,.portal-method-section,.portal-main{width:min(100% - 2rem,90rem)}.portal-hero{padding:3.5rem 0 5rem}.portal-hero h1{font-size:clamp(3.1rem,15vw,4.7rem)}.portal-hero-copy>p{font-size:.93rem}.portal-hero-actions{align-items:flex-start;flex-direction:column;gap:.5rem}.portal-trust-line{margin-top:2rem}.portal-catenary{margin-top:0}.portal-catenary figcaption{margin-left:1rem;gap:.7rem}.portal-catenary figcaption strong{display:none}.portal-program-section{padding-top:5.5rem;padding-bottom:5.5rem}.portal-program-showcase{padding-left:1.6rem}.portal-program-showcase:before{left:.32rem}.portal-featured-program:before{width:1.65rem;height:1.65rem;left:-2rem;border-radius:.42rem;box-shadow:0 0 0 4px var(--portal-deep-2)}.portal-section-heading{margin-bottom:2rem}.portal-section-heading h2{font-size:2.6rem}.portal-featured-program{min-height:auto;padding:.8rem;border-radius:1.1rem}.portal-program-copy{min-height:20rem;padding:2.4rem 1rem 1.4rem}.portal-program-copy h3{font-size:3.4rem}.portal-program-actions{width:100%;display:grid;grid-template-columns:1fr}.portal-program-actions .portal-button{width:100%}.portal-program-preview{min-height:15rem;transform:none}.preview-grid{grid-template-columns:3.3rem 1fr}.preview-controls{padding:.7rem}.portal-method-list li{grid-template-columns:2.4rem 1fr}.portal-footer-inner{grid-template-columns:1fr;gap:1.5rem}.portal-footer nav{flex-wrap:wrap}.portal-footer small{align-items:flex-start;flex-direction:column;gap:.5rem}.portal-page-heading,.portal-dashboard-heading{align-items:flex-start;flex-direction:column;gap:1.5rem}.portal-page-heading h1,.portal-dashboard-heading h1{font-size:3.25rem}.portal-session-note{width:100%}.portal-program-grid,.portal-card-skeletons{grid-template-columns:1fr}.portal-program-card{min-height:21rem}.portal-dashboard-help{grid-template-columns:1fr;gap:.6rem}.portal-auth-brand-panel{grid-template-columns:1fr;gap:1rem}.portal-auth-brand-panel h2{font-size:1.35rem}.portal-auth-main{padding:5.5rem 1rem 2rem}.portal-auth-back{left:1rem}.portal-auth-card{padding:1.5rem;border-radius:1rem}.portal-form-row,.portal-form-row.three,.portal-destination-picker{grid-template-columns:1fr}.portal-account-card,.portal-admin-list,.portal-admin-editor{padding:1.2rem}.portal-legal-main article{padding:1.5rem}.portal-not-found>div{align-items:stretch;flex-direction:column}.portal-workspace-dock{top:auto;right:.6rem;bottom:.6rem;grid-auto-flow:column;transform:none}.program-demo{margin:0;border:0;border-radius:0}.program-demo-header{min-height:4.25rem;padding:.65rem .8rem}.program-demo-brand{gap:.55rem}.program-demo-brand>span{display:none}.program-demo-close>span{display:none}.program-demo-layout{padding:1rem;gap:1rem}.program-demo-copy h2{font-size:2.45rem}.program-demo-copy>.program-demo-slide-note,.program-demo-protection small{display:none}.program-demo-visual{min-height:0}.program-demo-visual-meta{display:none}.program-demo-footer{min-height:4.5rem;padding:.55rem .7rem}.program-demo-thumbnails{gap:.25rem}.program-demo-thumbnails button{min-width:0;min-height:2.9rem;padding:.45rem .55rem;display:grid;grid-template-columns:1fr;gap:.1rem;text-align:center}.program-demo-thumbnails button>span{display:none}.program-demo-navigation button{width:2.75rem;height:2.75rem}}@media(prefers-reduced-motion:reduce){.portal-root *,.portal-root *:before,.portal-root *:after,.portal-workspace-dock,.portal-workspace-dock *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.portal-hero-copy>*,.portal-catenary{opacity:1;transform:none;filter:none}.program-demo,.program-demo-visual img{animation:none;transition:none;transform:none;filter:none}}@media print{.portal-header,.portal-footer,.portal-workspace-dock,.program-demo-backdrop{display:none!important}.portal-root{background:#fff}}
