:root{color-scheme:dark;--bg:#071019;--line:#263a4b;--muted:#a9bdcd;--blue:#75d4ff;--gold:#e2bf78}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% 5%,#15374c 0,transparent 42%),var(--bg);color:#eaf3f8;font-family:Inter,Arial,sans-serif;font-size:15px;line-height:1.5}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:10px;z-index:5}header{display:flex;align-items:center;justify-content:space-between;padding:24px 5%;border-bottom:1px solid var(--line);gap:24px}.brand{font-weight:800;letter-spacing:.12em;color:white}.brand span{color:var(--blue)}nav{display:flex;gap:24px}.tag,.eyebrow{letter-spacing:.15em;font-size:11px;font-weight:700}.tag{border:1px solid #486277;border-radius:20px;padding:6px 12px;color:var(--gold)}main{max-width:1500px;margin:auto;padding:35px 5%}.intro{display:grid;grid-template-columns:1.4fr 1fr;gap:8%;align-items:center;margin-bottom:28px}.intro h1{font-size:clamp(36px,4.4vw,70px);line-height:1.07;letter-spacing:-.055em;margin:10px 0 20px}.intro em{font-style:normal;color:var(--blue)}.intro p{max-width:570px;color:var(--muted)}.eyebrow{color:var(--gold);margin:0 0 12px}.access{background:#0b1b27cc;border:1px solid var(--line);border-radius:18px;padding:22px}label{display:block;margin:12px 0 6px;font-size:12px;color:#c8dbe8}input,textarea,select{width:100%;background:#081520;border:1px solid #355065;border-radius:8px;color:#eaf3f8;padding:11px;font:inherit;font-size:14px}input[type=file]{font-size:11px;padding:8px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue);flex-shrink:0}.check{display:flex;align-items:center;gap:9px;font-size:12px}.buttons{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}button{background:var(--blue);color:#031520;border:1px solid transparent;padding:11px 16px;border-radius:9px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;min-height:42px}button.quiet{background:#142b3b;color:#d8e8f3;border-color:#345064}button:disabled{opacity:.45;cursor:default}#status{border-left:3px solid var(--blue);background:#12304577;padding:14px 18px;margin:24px 0;border-radius:0 10px 10px 0}#status.error{border-color:#ff997e;color:#ffbfac}.workspace{display:grid;grid-template-columns:330px 1fr;gap:28px}aside>section,article>section,details{border-top:1px solid var(--line);padding:24px 0}aside>section:first-child{padding-top:18px}.small{font-size:12px;color:var(--muted)}h2{font-size:24px;letter-spacing:-.035em;line-height:1.2;margin:7px 0 16px}.views,.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.views label{margin:2px 0}.viewer{background:linear-gradient(130deg,#17344777,#0c1d2aff);border:1px solid var(--line);border-radius:18px;overflow:hidden;padding:0}.viewer-head{display:flex;align-items:center;justify-content:space-between;padding:22px 25px}.viewer-head h2{margin-bottom:0}#viewport{height:480px;position:relative;background:radial-gradient(ellipse at center,#1a3348,#07131e);overflow:hidden}#viewport canvas{width:100%;height:100%;display:block}#empty{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:1;color:#b9ccda;text-align:center;pointer-events:none;max-width:250px}.viewer-foot{display:flex;justify-content:space-between;align-items:center;padding:12px 22px;gap:10px;font-size:11px;color:var(--muted)}.viewer-foot label{margin:0}.prepare{padding-top:32px}.export-grid{grid-template-columns:repeat(4,1fr)}.report{margin:14px 0;font-size:12px;white-space:pre-wrap;color:#c9dce9}.files{display:flex;flex-wrap:wrap;gap:10px}.files button{font-size:12px}.review{border-bottom:1px solid var(--line)}details summary{cursor:pointer;font-weight:600}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;color:var(--muted)}footer{padding:20px 5%;border-top:1px solid var(--line);color:var(--muted);font-size:11px}[hidden]{display:none!important}@media(max-width:900px){header{flex-wrap:wrap;padding:20px 5%}nav{gap:15px}.tag{display:none}.intro{grid-template-columns:1fr;gap:25px}.intro h1{font-size:48px}.workspace{grid-template-columns:1fr}aside{display:grid;grid-template-columns:1fr 1fr;gap:24px}.export-grid{grid-template-columns:1fr 1fr}#viewport{height:380px}}@media(max-width:560px){main{padding:25px 5%}header{gap:12px;font-size:12px}nav{width:100%;justify-content:space-between}.intro h1{font-size:42px}aside{display:block}.viewer-head{padding:18px}.viewer-foot{display:block}.viewer-foot label{margin-top:8px}#viewport{height:330px}.export-grid{gap:9px}button{min-height:44px}.views{gap:9px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
:where(.intro,.workspace,aside)>*,.views>*,.export-grid>*{min-width:0}input,textarea,select{min-width:0;max-width:100%}.small,.report,#basis,details{overflow-wrap:anywhere}h2{overflow-wrap:anywhere}
.model-film button,.model-film select{min-height:44px}.model-film button{min-width:44px}.model-film details{margin-top:16px}
.world-reconstruction input[type=color]{height:44px;padding:6px}.world-reconstruction details{padding:16px 0}.world-reconstruction details summary{font-size:14px}.world-reconstruction option{padding:4px}
.world-reconstruction{border:1px solid #355065;border-radius:16px;padding:24px;margin:0 0 28px}.world-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.world-grid>div{min-width:0}.world-grid canvas{display:block;width:100%;height:270px;touch-action:none;border:1px solid #355065;border-radius:8px}.world-grid canvas:focus-visible{outline:3px solid #FFFF00}.world-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.world-reconstruction fieldset{border:1px solid #355065;margin:16px 0;padding:12px;min-width:0}.world-reconstruction legend{font-size:12px}.world-reconstruction li{margin:8px 0;overflow-wrap:anywhere}.world-reconstruction button{min-height:44px;white-space:normal}.world-reconstruction select{margin:14px 0}.world-reconstruction pre{max-height:220px;overflow:auto}.world-reconstruction p{overflow-wrap:anywhere}@media(max-width:900px){.world-grid{grid-template-columns:1fr}.world-reconstruction{padding:16px}.world-grid canvas{height:260px}}
