:root{font-family:Inter,system-ui,sans-serif;color:#e8f2fc;background:#09121c;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;background:#15283b;color:#e8f2fc;border:1px solid #30475e;border-radius:10px;padding:12px 16px;min-height:44px}button:hover{background:#224563}button:focus-visible,input:focus-visible{outline:3px solid #79d7ff;outline-offset:3px}header{height:88px;display:flex;align-items:center;gap:24px;padding:16px 32px;border-bottom:1px solid #263b4e}header img{width:180px;height:56px;object-fit:contain}header span{font-size:12px;letter-spacing:2px}#save{margin-left:auto;letter-spacing:0;color:#a5c4d7}#welcome{min-height:calc(100vh - 155px);display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:64px max(40px,8vw);background:radial-gradient(ellipse at 15% 70%,#18405a80,transparent 55%)}[hidden]{display:none!important}.eyebrow{color:#7fd5ff;letter-spacing:4px;font-size:13px}h1{font-size:clamp(48px,5vw,84px);font-weight:550;line-height:1.05;letter-spacing:-3px;margin:28px 0}.intro p:not(.eyebrow){font-size:20px;line-height:1.7;color:#afc6d8}.intro small{color:#8da5b8}.choices{display:flex;flex-direction:column;gap:12px;justify-content:center}.choices button{text-align:left;padding:20px 24px;background:linear-gradient(120deg,#1e3549,#132433);box-shadow:0 8px 28px #0002}.choices b{display:block;font-size:19px}.choices span{display:block;margin-top:8px;color:#a7c0d1;font-size:14px}nav{display:flex;gap:8px;padding:14px 24px;border-bottom:1px solid #263b4e;flex-wrap:wrap}.work{display:grid;grid-template-columns:220px minmax(0,1fr) 250px;height:calc(100vh - 226px);min-height:400px}aside{padding:22px 16px;background:#0c1925;overflow:auto}aside h2{font-size:16px}aside p{font-size:13px;color:#9ab3c8;line-height:1.6}#object-list button{width:100%;margin-bottom:8px;text-align:left}.selected{border-color:#68d5ff!important;background:#1c445c!important}.viewport{position:relative;background:radial-gradient(ellipse at 50% 40%,#243e52,#0e1d2b);overflow:hidden}.viewtools{position:absolute;z-index:1;left:16px;top:16px;display:flex;gap:6px;flex-wrap:wrap}.viewtools button{font-size:13px;padding:8px 12px}canvas{display:block;width:100%;height:100%;touch-action:none}.canvas-label{position:absolute;bottom:22px;left:24px;pointer-events:none}.canvas-label b,.canvas-label span{display:block}.canvas-label span{font-size:12px;color:#acc9dc;margin-top:5px}label.field{display:block;font-size:13px;color:#adc6da;margin:14px 0}input,select{display:block;width:100%;background:#071522;border:1px solid #38526a;color:white;border-radius:6px;padding:10px;margin-top:6px}footer{min-height:66px;display:flex;align-items:center;gap:20px;padding:12px 24px;border-top:1px solid #304457;font-size:12px;background:#09121c}footer label{margin-left:auto;display:flex;align-items:center;gap:10px}progress{width:110px;accent-color:#66cdf7}dialog{max-width:560px;width:90vw;border:1px solid #496981;border-radius:18px;padding:26px;background:#112436;color:#e8f2fc;max-height:85vh}dialog::backdrop{background:#020b14b0}.close{float:right}dialog h2{font-size:26px}dialog p{color:#b5ccdc;line-height:1.6}dialog button{margin:6px 4px}.error{color:#ffb99e}#properties button{margin:4px}small{line-height:1.6}@media(max-width:950px){.work{grid-template-columns:160px 1fr}#properties{grid-column:1/-1;max-height:320px}.work{height:auto}.viewport{height:60vh}#welcome{gap:28px;padding:32px}header{padding:12px;gap:12px}header span{display:none}footer{flex-wrap:wrap}footer label{margin-left:0}}@media(max-width:600px){#welcome{grid-template-columns:1fr}h1{font-size:52px}.intro p:not(.eyebrow){font-size:17px}.work{grid-template-columns:1fr}#objects{max-height:180px}nav{padding:8px}nav button{font-size:12px;padding:8px}.viewport{height:55vh}header img{width:150px}.viewtools{top:8px;left:8px}footer{padding:12px}footer>span:last-child{width:100%}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}}
footer label{flex-wrap:wrap;min-width:0}footer span{overflow-wrap:anywhere}
#miles{margin-left:auto;flex:none}header .experience{max-width:205px}header .experience select{margin:0;min-height:44px}#save{margin-left:0;min-width:0;overflow-wrap:anywhere}#experience-note{border-left:3px solid #83d7ff;padding-left:10px}#more-tools[aria-expanded="true"]{border-color:#68d5ff;background:#1c445c}
@media(max-width:600px){header .experience{order:4;max-width:none;flex:1 1 100%}header #save{order:5;flex:1 1 100%}header #home{font-size:12px;padding:8px}header #miles{font-size:13px;padding:10px}header #gap-rule{order:6}.work{min-height:400px}}
header img{background:#e8f2fc;border-radius:10px;padding:6px}
header{height:auto;min-height:88px;flex-wrap:wrap}
textarea{display:block;width:100%;min-height:110px;font:inherit;background:#071522;border:1px solid #38526a;color:white;border-radius:6px;padding:10px;margin-top:6px;resize:vertical}dialog p{white-space:pre-line}dialog label.field{display:block;margin:14px 0;color:#adc6da}textarea:focus-visible{outline:3px solid #79d7ff;outline-offset:3px}
.option-preview{width:100%;height:auto;border:1px solid #38526a;border-radius:10px;margin:12px 0}
.program-table{max-width:100%;overflow:auto;margin:22px 0;border-block:1px solid #38526a}.program-table table{width:100%;border-collapse:collapse;font-size:13px}.program-table caption{text-align:left;font-size:17px;padding:12px 0;color:#e8f2fc}.program-table th,.program-table td{padding:12px;text-align:left;border-bottom:1px solid #294358;vertical-align:top;overflow-wrap:anywhere}.program-table th{color:#b8deef}.program-plan{display:block;width:100%;max-height:220px;border:1px solid #38526a;border-radius:8px;background:#09121c}dialog.property-workbench{width:min(1100px,94vw);max-width:1100px}.program-table:focus-visible{outline:3px solid #79d7ff;outline-offset:2px}
details{margin:16px 0;color:#adc6da;font-size:13px}summary{cursor:pointer;min-height:44px;padding:12px 0}#miles-state{color:#83d7ff;border-left:3px solid #83d7ff;padding-left:10px}
.viewtools{max-width:calc(100% - 32px)}.viewtools button[aria-pressed="true"]{border-color:#68d5ff;background:#1c445c}canvas:focus-visible{outline:3px solid #79d7ff;outline-offset:-3px}
.viewtools label{display:flex;align-items:center;gap:6px;font-size:13px;color:#d8ecfa}.viewtools select{min-height:44px;background:#10293b;color:#e8f5ff;border:1px solid #38526a;border-radius:8px;padding:6px;font:inherit}
.viewtools input[type="checkbox"]{width:22px;height:22px;accent-color:#68d5ff}.viewtools label:has(input[type="checkbox"]){min-height:44px;padding:6px}
dialog button:disabled{opacity:.45;cursor:not-allowed}
button:disabled{opacity:.45;cursor:not-allowed}dialog a{display:block;margin:12px 0;color:#91dfff;overflow-wrap:anywhere}
dialog input,dialog select,dialog textarea{min-width:0}dialog p,.catalog-instance{overflow-wrap:anywhere}.catalog-instance{white-space:pre-line;border-left:3px solid #83d7ff;padding-left:10px}.dialog-status{position:sticky;top:0;z-index:2;background:#112436;padding:12px;border:1px solid #83d7ff;border-radius:8px}section[aria-label="Catalog results"] button{display:block;width:100%;text-align:left;margin:10px 0}
@media(max-width:600px){.viewtools{flex-wrap:nowrap;max-width:calc(100% - 16px);overflow-x:auto;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#79d7ff #10293b}.viewtools button,.viewtools label{flex:none;white-space:nowrap}.viewtools select{width:auto}.viewport::after{content:'Swipe view controls for orbit, movement and zoom';position:absolute;top:84px;left:12px;right:12px;font-size:11px;color:#b5ccdc;pointer-events:none}.viewport{min-height:400px}}
/* Keep the actual close control above sticky status text during long reviews. */
dialog>form{position:sticky;top:-26px;z-index:4;display:flex;justify-content:flex-end;background:#112436;margin:0}dialog>form .close{float:none}.dialog-status{top:56px}
.program-table{color:#173744;background:#f6faf7;border-radius:10px;min-width:0;max-width:100%}.program-table caption{color:#173744;font-weight:700;text-align:left;padding:14px 10px}.program-table th,.program-table td{color:#173744;overflow-wrap:normal;word-break:normal}.program-table thead th{color:#245366;background:#e3eeeb}.program-table tbody th{color:#173744}.program-table tbody tr{border-bottom:1px solid #a4b9ba}
@media(max-width:600px){.program-table table,.program-table tbody{display:block;width:100%;min-width:0}.program-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.program-table tbody tr{display:block;padding:10px;margin:0 0 14px;border:1px solid #a4b9ba;border-radius:8px}.program-table tbody th{display:block;padding:10px;background:#e3eeeb;font-size:1rem;text-align:left}.program-table tbody td{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:9px 4px;border:0;font-size:.9rem;overflow-wrap:anywhere;word-break:normal}.program-table tbody td::before{content:attr(data-label);font-weight:650;color:#245366}.program-table caption{display:block;font-size:1rem}.program-plan{max-width:100%}}
