:root{color:#eef4f2;background:#111716;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45}*{box-sizing:border-box}body{background:linear-gradient(135deg,#101615 0%,#17201e 52%,#0c0f12 100%);min-height:100vh;margin:0}main{width:min(1440px,100% - 32px);margin:0 auto;padding:24px 0}.app-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.kicker{text-transform:uppercase;letter-spacing:0;color:#8dd7cf;margin:0 0 6px;font-size:12px;font-weight:700}h1{letter-spacing:0;margin:0;font-size:64px;line-height:.95}.subtitle{color:#b7c6c1;max-width:720px;margin:10px 0 0;font-size:17px}.status-card,.panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#121c1bdb;border:1px solid #9ad3c933;border-radius:8px;box-shadow:0 18px 50px #00000047}.status-card{color:#c0ccc8;border-left:4px solid #d7ad62;gap:8px;max-width:330px;padding:16px;display:grid}.status-card strong{color:#fff}.studio-tabs{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin:0 0 18px;display:grid}.studio-tabs button{color:#c8d5d1;min-height:44px}.studio-tabs button.active{color:#fff;background:#d7ad6224;border-color:#d7ad62b8;font-weight:700}.grid{grid-template-columns:360px 1fr 340px;align-items:stretch;gap:18px;display:grid}.panel{padding:20px}h2{letter-spacing:0;margin:0 0 18px;font-size:18px}.controls label{color:#c7d4da;gap:8px;margin-bottom:15px;font-size:13px;display:grid}input,select,button{color:#f4fbff;width:100%;font:inherit;background:#ffffff12;border:1px solid #b7d5cd3d;border-radius:8px;padding:10px 12px}select option{color:#111716}input[type=range]{accent-color:#8dd7cf;padding:0}button{cursor:pointer;transition:all .18s}button:hover{background:#ffffff1f;border-color:#d7ad62a6;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.45;transform:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hidden-input{display:none}.button-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.check{align-items:center;grid-template-columns:auto 1fr!important}.check input{width:auto}.file-message{color:#8dd7cf;margin:-2px 0 0;font-size:13px}.material-summary{color:#d8e1dd;background:#d7ad6214;border:1px solid #d7ad6247;border-radius:8px;grid-template-columns:1fr auto;gap:6px 12px;margin:-2px 0 16px;padding:12px;font-size:13px;display:grid}.material-summary strong{color:#ffe0a6}.material-summary p{color:#b9c7c2;grid-column:1/-1;margin:0}.visual{justify-content:center;align-items:center;min-height:610px;display:flex;overflow:hidden}.viewer-shell{background:linear-gradient(#8dd7cf1a,#ffffff08);border-radius:8px;justify-content:center;align-items:center;width:100%;min-height:560px;display:flex}.gem-svg{width:100%;height:560px;overflow:visible}.gem-polygon{stroke:#dbf9fff2;stroke-width:.65px;vector-effect:non-scaling-stroke}.axis{stroke:#ffffff38;stroke-width:.25px;vector-effect:non-scaling-stroke;stroke-dasharray:3 3}.table-line{fill:none;stroke:#fff;stroke-width:.8px;vector-effect:non-scaling-stroke}.ray{fill:none;stroke:#ffe08a;stroke-width:.42px;vector-effect:non-scaling-stroke;opacity:.88}.ray.escaped{stroke:#ff6f6f;stroke-dasharray:1.4 1.2;opacity:.6}.ray-node{stroke:#0a0e0ee6;stroke-width:.35px;vector-effect:non-scaling-stroke}.ray-node.enter{fill:#8dd7cf}.ray-node.reflect{fill:#ffe08a}.ray-node.exit{fill:#fff}.ray-node.escape{fill:#ff6f6f}.metric{color:#b9cbd3;border-bottom:1px solid #ffffff14;justify-content:space-between;gap:12px;padding:10px 0;display:flex}.metric strong{color:#fff}.inline-warning{color:#ffe0a6;margin:14px 0 0;font-size:13px}.status{text-align:center;border-radius:8px;margin:18px 0 10px;padding:13px;font-weight:700}.status.total{color:#bfffe7;background:#4ad19729}.status.risk{color:#ffe3a2;background:#ffd57529}.status.mirror-required{color:#ffc7c7;background:#ff666629}.score{background:#ffffff1c;border-radius:99px;height:10px;margin-bottom:8px;overflow:hidden}.score span{border-radius:inherit;background:linear-gradient(90deg,#8bd5e8,#fff);height:100%;display:block}.compare{margin-top:18px}.module-panel{margin-top:0}.section-title{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.section-title h2{margin:0}.section-title span{color:#aab8b4;font-size:13px}.comparison-table{gap:6px;display:grid;overflow-x:auto}.comparison-row{color:#d4e0dc;border:1px solid #ffffff14;border-radius:8px;grid-template-columns:1.35fr .55fr .75fr .75fr .75fr .75fr .6fr 80px;align-items:center;gap:10px;min-width:880px;padding:9px 10px;font-size:13px;display:grid}.comparison-row span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.comparison-row button{padding:7px 10px;font-size:12px}.comparison-head{color:#91a29d;background:#ffffff0a;font-weight:700}.comparison-row.selected{background:#8dd7cf14;border-color:#8dd7cf7a}.epsilon-panel{margin-top:18px}.epsilon-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.epsilon-card{text-align:left;align-content:start;gap:4px;min-height:104px;display:grid}.epsilon-card span{color:#8dd7cf;font-size:12px;font-weight:700}.epsilon-card strong{color:#fff;font-size:16px}.epsilon-card small{color:#aebbb7;line-height:1.35}.epsilon-card.selected{background:#d7ad621f;border-color:#d7ad62b8}.library-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.library-toolbar{grid-template-columns:1.6fr 1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.library-toolbar label,.custom-material-form label{color:#b9c7c2;gap:6px;font-size:12px;display:grid}.library-toolbar input,.library-toolbar select,.custom-material-form input{padding:9px 10px}.custom-material-form{background:#8dd7cf0b;border:1px solid #8dd7cf29;border-radius:8px;grid-template-columns:1.25fr .65fr 1fr .65fr .75fr .75fr 1.2fr auto;align-items:end;gap:10px;margin-bottom:10px;padding:12px;display:grid}.custom-material-form button{min-width:130px;padding:9px 10px;font-size:13px}.library-transfer{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.library-transfer button{width:auto;min-width:170px;padding:9px 12px;font-size:13px}.material-message{color:#8dd7cf;margin:0 0 12px;font-size:13px}.library-card{background:#ffffff09;border:1px solid #ffffff17;border-radius:8px;align-content:start;gap:12px;min-height:250px;padding:14px;display:grid}.library-card h3{margin:0 0 4px;font-size:16px}.library-card p{color:#aebbb7;margin:0;font-size:13px}.library-card>strong{color:#ffe0a6}.library-metrics{color:#d8e1dd;gap:6px;font-size:13px;display:grid}.library-note{min-height:36px}.library-actions{grid-template-columns:1fr 1fr;align-self:end;gap:8px;display:grid}.library-actions button{padding:9px 10px;font-size:13px}.library-actions button:only-child{grid-column:1/-1}.optics-layout{grid-template-columns:minmax(0,1fr) 360px;gap:18px;display:grid}.optics-visual{min-height:650px}.optics-panel p{color:#b9c7c2;margin:16px 0 0}.formula-box{background:#8dd7cf14;border:1px solid #8dd7cf42;border-radius:8px;gap:4px;margin-top:18px;padding:14px;display:grid}.formula-box span{color:#91a29d;font-size:12px;font-weight:700}.formula-box strong{color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.report-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.report-actions button{padding:9px 10px;font-size:13px}.report-message{color:#8dd7cf;margin:8px 0 0;font-size:13px}.ray-selector{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:16px;display:grid}.ray-selector button{padding:7px 4px;font-size:12px}.ray-selector button.active{color:#fff;background:#d7ad6224;border-color:#d7ad62b8;font-weight:700}.ray-diagnostics{background:#ffffff09;border:1px solid #ffffff17;border-radius:8px;gap:6px;margin-top:16px;padding:12px;display:grid}.ray-diagnostics>strong{color:#fff;margin-bottom:2px}.ray-diagnostics div{color:#b9c7c2;grid-template-columns:1fr 1fr auto;gap:8px;font-size:12px;display:grid}.ray-diagnostics span:last-child{color:#ffe0a6;font-variant-numeric:tabular-nums}.scenario-panel{background:#ffffff09;border:1px solid #ffffff17;border-radius:8px;gap:6px;margin-top:16px;padding:12px;display:grid}.scenario-panel>strong{color:#fff;margin-bottom:2px}.scenario-panel button{text-align:left;color:#cdd9d5;grid-template-columns:.8fr .8fr .8fr .8fr;gap:8px;padding:8px;font-size:12px;display:grid}.scenario-panel button span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.scenario-panel button.active{color:#fff;background:#d7ad6224;border-color:#d7ad62b8}.designer-panel{min-height:620px}.designer-controls{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.designer-controls label{color:#b9c7c2;gap:6px;font-size:12px;display:grid}.designer-controls input{padding:8px 9px}.designer-controls button{align-self:end;padding:8px 10px;font-size:12px}.best-design{background:#d7ad6214;border:1px solid #d7ad6252;border-radius:8px;grid-template-columns:auto 1fr 1fr auto;align-items:center;gap:12px;margin-bottom:16px;padding:12px;display:grid}.best-design strong{color:#ffe0a6}.best-design span{color:#d7e1dd;font-size:13px}.best-design button{width:auto;min-width:110px}.top-designs{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.top-designs button{text-align:left;background:#8dd7cf0e;border-color:#8dd7cf38;align-content:start;gap:4px;min-height:92px;display:grid}.top-designs button.selected{background:#d7ad621f;border-color:#d7ad62b3}.top-designs strong{color:#8dd7cf}.top-designs span{color:#fff;font-size:13px}.top-designs small{color:#b9c7c2;font-variant-numeric:tabular-nums}.design-grid{gap:8px;display:grid;overflow-x:auto}.design-grid-head,.design-grid-row{grid-template-columns:72px repeat(6,minmax(0,1fr));align-items:stretch;gap:8px;min-width:940px;display:grid}.design-grid-head{color:#91a29d;font-size:12px;font-weight:700}.design-grid-head span{text-align:center;padding:0 8px}.design-grid-row>strong{color:#fff;background:#ffffff09;border:1px solid #ffffff17;border-radius:8px;place-items:center;display:grid}.design-cell{background:#8dd7cf12;border-color:#8dd7cf47;align-content:center;justify-items:center;gap:2px;min-height:84px;padding:8px;display:grid}.design-cell.leaks{background:#ff6f6f14;border-color:#ff6f6f59}.design-cell span{color:#b9c7c2;font-size:12px}.design-cell strong{color:#fff;font-size:18px}.design-cell small{color:#ffe0a6;font-variant-numeric:tabular-nums}.heritage-panel{border-left:4px solid #d7ad62}.heritage-copy{color:#d5dfdc;max-width:920px;font-size:17px}.heritage-copy p{margin:0 0 14px}.roadmap-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.roadmap-grid div{background:#ffffff09;border:1px solid #ffffff17;border-radius:8px;gap:8px;padding:14px;display:grid}.roadmap-grid strong{color:#ffe0a6}.roadmap-grid span{color:#b9c7c2}.validation-panel{background:#8dd7cf0e;border:1px solid #8dd7cf2e;border-radius:8px;gap:8px;margin-top:20px;padding:14px;display:grid}.validation-panel>strong{color:#fff}.validation-panel button{text-align:left;grid-template-columns:1.3fr .7fr .7fr .7fr .7fr;align-items:center;gap:8px;font-size:13px;display:grid}.validation-panel button span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.projects-panel{min-height:520px}.project-actions{align-items:center;gap:14px;margin-bottom:16px;display:flex}.project-actions button{width:auto;min-width:210px}.project-actions p{color:#8dd7cf;margin:0;font-size:13px}.empty-state{color:#b9c7c2;border:1px dashed #ffffff2e;border-radius:8px;gap:8px;padding:24px;display:grid}.empty-state strong{color:#fff}.project-list{gap:10px;display:grid}.project-card{background:#ffffff09;border:1px solid #ffffff17;border-radius:8px;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:16px;padding:14px;display:grid}.project-card h3{margin:0 0 4px;font-size:16px}.project-card p{color:#91a29d;margin:0;font-size:12px}.project-metrics{color:#d8e1dd;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;font-size:13px;display:grid}.project-buttons{gap:8px;display:flex}.project-buttons button{min-width:84px;padding:8px 10px;font-size:12px}.three-module{background:radial-gradient(circle at 48% 36%,#8dd7cf24,#ffffff08 34%,#121c1beb 72%);border:1px solid #9ad3c933;border-radius:8px;grid-template-columns:minmax(0,1fr) 340px;gap:0;min-height:720px;display:grid;position:relative;overflow:hidden}.three-stage,.gem-3d-shell{min-height:720px;position:relative}.gem-3d-viewer{cursor:grab;touch-action:none;width:100%;height:100%;min-height:720px}.gem-3d-viewer:active{cursor:grabbing}.gem-3d-viewer canvas{width:100%;height:100%;display:block}.viewer-status{color:#8dd7cf;text-align:center;pointer-events:none;place-items:center;margin:0;padding:24px;display:grid;position:absolute;inset:0}.viewer-error{color:#ffd58a;background:#0a0f0fd1}.viewer-toolbar{gap:8px;display:flex;position:absolute;bottom:16px;left:16px}.viewer-toolbar button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c1111d1;width:auto;min-width:132px;padding:9px 12px}.three-loading{color:#8dd7cf;place-items:center;min-height:720px;display:grid}.three-readout{background:#0c1111b8;border-left:1px solid #ffffff14;align-self:stretch;padding:24px}.three-readout h2{margin:0 0 20px;font-size:28px}.three-readout p:last-child{color:#b9c7c2;margin:18px 0 0}.docs{color:#c5d5dc;margin-top:18px}.docs p{margin:10px 0}@media (width<=1100px){.grid{grid-template-columns:1fr}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.optics-layout,.roadmap-grid,.three-module{grid-template-columns:1fr}.three-readout{border-top:1px solid #ffffff14;border-left:0}.project-card{grid-template-columns:1fr}.project-buttons{justify-content:flex-start}.app-header{flex-direction:column;align-items:flex-start}.status-card{max-width:none}}@media (width<=640px){main{width:min(100% - 20px,1440px);padding:14px 0}h1{font-size:42px}.subtitle{font-size:15px}.panel{padding:14px}.studio-tabs{grid-template-columns:1fr 1fr}.studio-tabs button{min-width:0}.button-row{grid-template-columns:1fr}.section-title{gap:4px;display:grid}.library-grid,.library-toolbar,.custom-material-form{grid-template-columns:1fr}.library-transfer{grid-template-columns:1fr;display:grid}.library-transfer button{width:100%;min-width:0}.library-card{min-height:auto}.project-actions{gap:8px;display:grid}.project-actions button{width:100%;min-width:0}.project-metrics{grid-template-columns:1fr 1fr}.project-buttons{grid-template-columns:1fr 1fr;display:grid}.three-module,.three-stage,.gem-3d-shell,.gem-3d-viewer{min-height:560px}.viewer-toolbar{grid-template-columns:1fr 1fr;display:grid;bottom:12px;left:12px;right:12px}.viewer-toolbar button{min-width:0}.three-readout{padding:16px}.comparison-table{overflow:visible}.designer-controls{grid-template-columns:1fr 1fr}.designer-controls button{grid-column:1/-1}.best-design{grid-template-columns:1fr}.best-design button{width:100%}.top-designs{grid-template-columns:1fr}.top-designs button{min-height:76px}.design-grid{overflow:visible}.design-grid-head{display:none}.design-grid-row{grid-template-columns:1fr 1fr;min-width:0}.design-grid-row>strong{grid-column:1/-1;min-height:38px}.design-cell{min-height:78px}.validation-panel button{grid-template-columns:1fr 1fr}.validation-panel button span{text-align:left!important}.validation-panel button span:first-child{grid-column:1/-1;font-weight:700}.comparison-head{display:none}.comparison-row{grid-template-columns:1fr 1fr;align-items:stretch;gap:8px 12px;min-width:0;padding:12px}.comparison-row span{gap:2px;display:grid;text-align:left!important}.comparison-row span:before{content:attr(data-label);color:#91a29d;font-size:11px;font-weight:700}.comparison-row .comparison-name{color:#fff;grid-column:1/-1;font-weight:700;display:block}.comparison-row .comparison-name:before{display:none}.comparison-row button{grid-column:1/-1}.epsilon-grid{grid-template-columns:1fr}.epsilon-card{min-height:auto}.visual,.viewer-shell{min-height:430px}.gem-svg{height:420px}}@media print{:root{color:#17201e;background:#fff}body{background:#fff}main{width:100%;padding:0}button,input,select,.controls,.docs,.status-card,.studio-tabs,.three-module{display:none!important}.app-header,.grid,.section-title{display:block}h1{font-size:34px}.subtitle,.kicker,.section-title span{color:#374340}.panel{box-shadow:none;break-inside:avoid;background:#fff;border-color:#ccd5d1}.grid{margin-top:12px}.visual{min-height:auto;margin-bottom:12px}.viewer-shell{background:#fff;min-height:auto}.gem-svg{height:360px}.comparison-row{color:#17201e;grid-template-columns:1.3fr .55fr .75fr .75fr .75fr .75fr .6fr;min-width:0}.comparison-row span:last-of-type{display:block}.comparison-row button,.comparison-row span:empty{display:none!important}.status.total,.status.risk,.status.mirror-required{color:#17201e;background:#fff;border:1px solid #ccd5d1}}
