:root{font-family:'DM Sans',Arial,sans-serif;color:#1d1d1b;background:#f5f5f3;font-synthesis:none;--ink:#1d1d1b;--green:#1d1d1b;--muted:#777771;--line:#e1e1db;--accent:#b2e500}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8047f9;outline-offset:3px}input:focus-visible,select:focus-visible{outline:2px solid #8047f9;outline-offset:2px}button{transition:background .16s,box-shadow .16s,transform .16s}button:hover:not(:disabled){filter:brightness(.97)}button:active:not(:disabled){transform:translateY(1px)}svg{width:18px;height:18px;display:block;flex:none}[data-icon]{display:inline-flex;flex:none}h1,h2,h3,p{margin:0}h2{font-size:15px;font-weight:650}h3{font-size:12px;font-weight:650}a{color:inherit}small{font-size:11px}label{font-size:12px;font-weight:550}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button{display:none}[hidden]{display:none!important}.app-header{height:79px;padding:0 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;background:#fff}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:24px;font-weight:750;letter-spacing:-1px;line-height:1}.brand-light{font-weight:430}.brand small{display:block;letter-spacing:2.2px;font-size:8px;font-weight:600;margin-top:7px}.brand-mark{width:39px;height:39px;border-radius:12px;background:#1d1d1b;color:#b2e500;align-items:center;justify-content:center}.brand-mark svg{width:26px;height:26px}.header-divider{height:24px;width:1px;background:var(--line);margin:0 23px 0 30px}.header-caption{font-size:12px;color:#92988c}.header-actions{display:flex;gap:11px;align-items:center;margin-left:auto}.button{border:1px solid #deded8;background:white;border-radius:7px;padding:10px 15px;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-size:12px;font-weight:600;white-space:nowrap;min-height:38px}.button.primary{background:var(--green);border-color:var(--green);color:#f7f8ed;box-shadow:0 2px 3px #153a3510}.button.ghost{border-color:transparent;background:transparent}.button.ghost:hover{background:#edf1e9}.avatar{border:1px solid #dce4d4;border-radius:50%;background:#edf2e5;width:32px;height:32px;display:grid;place-items:center;font-size:10px;font-weight:700;margin-left:7px}main{max-width:1670px;margin:auto;padding:29px 38px 20px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{font-size:9px;letter-spacing:1.9px;font-weight:650;color:#708069;display:flex;gap:7px;align-items:center}.eyebrow>span{width:5px;height:5px;border-radius:50%;background:#91ab65}h1{font-size:30px;font-weight:520;letter-spacing:-1.1px;margin-top:7px;line-height:1.2}.intro p{color:#84907f;font-size:12px;margin-top:8px}.intro-actions{display:flex;gap:9px;margin-top:9px}.sport-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:24px}.sport-tab{border:0;background:transparent;padding:13px 22px 15px;display:flex;align-items:center;gap:9px;font-size:13px;color:#87907e;position:relative}.sport-tab svg{width:20px;height:20px;stroke-width:1.4}.sport-tab.active{color:var(--green);font-weight:650}.sport-tab.active:after{content:'';position:absolute;height:3px;bottom:-1px;left:16px;right:16px;background:var(--green);border-radius:2px}.sport-tab:hover{background:#eef2e9}.workspace{display:grid;grid-template-columns:294px minmax(0,1fr);gap:26px;align-items:start}.settings{background:#fff;border:1px solid var(--line);border-radius:11px;padding:19px 20px 15px;box-shadow:0 3px 5px #18352803}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.icon-button{border:0;background:transparent;padding:5px;color:#7e897b;display:grid;place-items:center;border-radius:5px}.icon-button:hover{background:#eff2e8}.section-title .icon-button svg{width:15px;height:15px}.field-group{margin-bottom:16px}.label-row{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-bottom:9px}.mini-label{font-size:8px;font-weight:650;letter-spacing:1px;color:#829076;background:#eff3e8;padding:4px 6px;border-radius:3px}select{width:100%;border:1px solid #dce1d6;background:#fafbf7;border-radius:6px;color:#2d4337;padding:10px 30px 10px 10px;font-size:12px;height:38px}.lens-info{display:flex;align-items:center;gap:6px;font-size:10px;color:#849080;margin-top:10px;white-space:nowrap}.lens-info svg{width:14px;height:14px}.lens-info strong{color:#526849;font-weight:600}.muted{color:#8a9585;font-size:10px}.text-button{border:0;padding:0;background:transparent;color:#617a51;font-size:10px;display:inline-flex;align-items:center;gap:7px}.field-group>.text-button{margin-top:10px}.section-rule{height:1px;background:#edf0e7;margin:17px 0}.unit-tag{font-size:9px;color:#97a08f}.settings-subtitle{margin-bottom:20px}.slider-field{margin-bottom:20px}.slider-field label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:500}.slider-field label svg{width:15px;height:15px;color:#97a08f}.number-input{border:1px solid #e1e5db;border-radius:5px;display:flex;align-items:center;height:29px;background:#fafbf8;padding-right:8px}.number-input input{width:45px;background:transparent;border:0;padding:3px 2px 3px 7px;text-align:right;font-size:12px;color:#344c3b;font-variant-numeric:tabular-nums}.number-input span{font-size:10px;color:#94a089;margin-left:3px}input[type=range]{width:100%;height:4px;border-radius:5px;appearance:none;display:block;margin:13px 0 8px;background:linear-gradient(to right,#416243 0%,#416243 var(--range,35%),#e9ede2 var(--range,35%),#e9ede2 100%);cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:13px;height:13px;background:#fff;border:3px solid #3c613f;border-radius:50%;box-shadow:0 1px 3px #0002}input[type=range]::-moz-range-thumb{width:9px;height:9px;background:#fff;border:3px solid #3c613f;border-radius:50%}.range-labels{display:flex;justify-content:space-between;color:#9ca492;font-size:9px;margin-top:10px}.slider-field small{display:block;color:#98a18e;font-size:9px;margin-top:7px;line-height:1.5}.auto-button{width:100%;background:#eff4e7;color:#52683e;border-color:#e4ead9;font-size:11px;min-height:34px;padding:8px 10px}.auto-button svg{width:14px;height:14px}.advanced{margin-top:14px}.advanced summary{font-size:10px;color:#8a957e;cursor:pointer;display:flex;justify-content:space-between}.advanced-fields{padding-top:13px;display:grid;gap:10px}.advanced-fields label{display:flex;align-items:center;gap:5px;font-size:10px}.advanced-fields input{margin-left:auto;width:48px;border:1px solid var(--line);border-radius:4px;padding:5px}.advanced-fields span{width:10px;color:#8a957e}.ambience{display:flex;background:#f5f7f0;border:1px solid #e8ece1;border-radius:6px;padding:3px;margin:12px 0}.ambience button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;padding:7px 3px;font-size:10px;color:#9ba48d;border-radius:4px}.ambience button.active{background:#fff;color:#40553c;box-shadow:0 1px 4px #183b2212}.ambience svg{width:13px;height:13px}.surface-field{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.surface-field select{height:30px;padding:3px 20px 3px 8px;width:135px;font-size:10px}.surface-field label{font-size:10px;color:#7e8b71}.toggle-row{display:flex;justify-content:space-between;align-items:center;position:relative;font-size:10px;color:#6f8060;margin-top:16px;cursor:pointer}.toggle-row small{display:block;font-size:8px;font-weight:400;color:#9ca58f;margin-top:4px}.toggle-row input{position:absolute;right:0;width:28px;height:20px;opacity:0;cursor:pointer}.switch{width:27px;height:16px;border-radius:10px;background:#b8c1b1;position:relative;pointer-events:none}.switch:before{content:'';position:absolute;left:3px;top:3px;width:10px;height:10px;background:white;border-radius:50%;transition:transform .2s}.toggle-row input:checked+.switch{background:#557345}.toggle-row input:checked+.switch:before{transform:translateX(11px)}.toggle-row input:focus-visible+.switch{outline:2px solid #88a763;outline-offset:3px}.preview-column{min-width:0}.preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;min-height:34px}.view-tabs{display:flex;gap:3px;background:#e9ede3;padding:3px;border-radius:7px}.view-tabs button{display:flex;gap:7px;align-items:center;border:0;background:transparent;border-radius:5px;color:#8b967f;padding:8px 12px;font-size:11px}.view-tabs button.active{background:#fff;color:#3a513e;box-shadow:0 1px 4px #14220d0d;font-weight:600}.view-tabs svg{width:15px;height:15px}.preview-header>.button{font-size:10px;padding:6px 0 6px 9px;min-height:30px}.preview-header>.button svg{width:14px;height:14px}.viewport-wrap{position:relative;border-radius:10px;overflow:hidden;background:#60776b;border:1px solid #d1d9cc;box-shadow:0 9px 25px #1f382015}.viewport{position:relative;width:100%;aspect-ratio:16/9}.viewport canvas{display:block;width:100%;height:100%;outline:none}.view-label,.view-quality{position:absolute;top:17px;color:#fff;font-size:8px;letter-spacing:1.2px;pointer-events:none}.view-label{left:17px;display:flex;align-items:center;gap:8px;background:#17372973;border:1px solid #ffffff25;backdrop-filter:blur(8px);padding:7px 9px;border-radius:4px}.live-dot{width:5px;height:5px;border-radius:50%;background:#dfedbd}.view-label i{height:9px;width:1px;background:#fff5}.view-quality{right:17px;text-shadow:0 1px 5px #1631249c;padding:7px}.view-bottom{position:absolute;bottom:14px;left:17px;right:17px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.view-bottom>span{color:#fff;font-size:8px;letter-spacing:1.5px;text-shadow:0 1px 5px #163124}.view-bottom>div{display:flex;gap:5px;pointer-events:auto}.glass-button{display:grid;place-items:center;width:29px;height:28px;border:1px solid #ffffff35;background:#17372980;backdrop-filter:blur(10px);color:#fff;border-radius:5px}.glass-button svg{width:13px;height:13px}.glass-button.active{background:#e0edbd;color:#244735}.inset-button{position:absolute;right:16px;bottom:59px;width:184px;padding:0;background:#f4f7eff5;border:2px solid #eff3e8;border-radius:7px;box-shadow:0 3px 14px #1b312644;overflow:hidden}.inset{width:100%;aspect-ratio:16/9;background:#9aaca1;pointer-events:none}.inset canvas{width:100%;height:100%;display:block}.inset-button>span{display:flex;align-items:center;gap:6px;padding:6px 7px;font-size:8px;color:#48633c}.inset-button>span>span:last-child{margin-left:auto}.inset-button svg{width:11px;height:11px}.simulation-bar{display:flex;justify-content:space-between;align-items:center;padding:13px 3px;font-size:9px;color:#8a947f;gap:10px}.simulation-bar>span:first-child{display:flex;gap:5px;align-items:center;color:#748968}.status-dot{width:4px;height:4px;background:#759c53;border-radius:50%}.bar-note{color:#a4ab9a}.metrics{border:1px solid var(--line);border-radius:9px;background:#fff;display:grid;grid-template-columns:1.1fr 1fr 1.05fr;padding:21px 0;margin-top:8px}.metrics>div{padding:0 21px;border-right:1px solid #ecf0e5}.metrics>div:last-child{border-right:0}.metric-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;font-weight:600;color:#8b957e;margin-bottom:14px}.metric-label>span{font-size:11px;color:#b2baa6}.metric-value{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.metric-value strong{font-size:22px;font-weight:520;letter-spacing:-.8px;color:#3d573b;font-variant-numeric:tabular-nums}.metric-value>span{font-size:11px;color:#8b997c}.metric-value .metric-badge{font-size:8px;border-radius:3px;padding:4px 6px;margin-left:4px;background:#edf4df;color:#7c9354;align-self:center}.meter{height:3px;background:#ebefdf;margin-top:13px;border-radius:3px;overflow:hidden}.meter i{height:100%;display:block;width:100%;background:#9bb77a;transition:width .2s}.metrics small{font-size:9px;color:#a0aa93;display:block;margin-top:10px}.installation-values{display:flex;justify-content:space-between;gap:10px;color:#9aa689;font-size:11px}.installation-values b{font-size:20px;font-weight:520;color:#4a6240;letter-spacing:-.7px}.installation-values small{font-size:8px;margin-top:10px}.insight{display:flex;align-items:center;gap:11px;margin-top:16px;border:1px solid #e1e8d4;border-radius:8px;background:#f0f4e7;padding:15px}.insight>span{color:#869f68}.insight strong{font-size:11px;font-weight:600;color:#637e4a}.insight p{font-size:10px;color:#8a9b72;margin-top:5px;line-height:1.5}.insight>.text-button{margin-left:auto;white-space:nowrap;font-size:9px}.insight.warning{background:#faf2e4;border-color:#eadbc0}.insight.warning strong,.insight.warning>span{color:#9c7542}.insight.warning p{color:#aa926c}.workspace-footnote{display:flex;justify-content:space-between;padding:17px 2px;font-size:9px;color:#9aa58e;gap:12px}.workspace-footnote>span{display:flex;gap:6px;align-items:center}.workspace-footnote svg{width:12px;height:12px}.workspace-footnote .text-button{font-size:9px;color:#9aa58e}footer{display:flex;justify-content:space-between;margin:10px 38px 0;padding:18px 0;border-top:1px solid var(--line);color:#a0a795;font-size:9px;letter-spacing:.3px}footer i{font-style:normal;margin:0 8px;color:#c1c9b6}footer>span:last-child{font-size:10px;color:#a7ad9e}.mount-options{display:flex;gap:6px;margin-top:9px}.mount-options button{width:50%;border:1px solid var(--line);background:#fafbf7;border-radius:6px;padding:10px 5px;font-size:10px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px}.mount-options small{width:100%;font-size:8px;color:#89957b;font-weight:400}.mount-options button.active{border-color:#66865b;background:#eff4e6;color:#456038}.mount-options svg{width:13px;height:13px}.empty-model{font-size:11px;color:#a2783d;line-height:1.6;margin-top:10px}.thirds{position:absolute;inset:0;pointer-events:none}.thirds i{position:absolute;background:#fff5}.thirds i:nth-child(1){width:1px;height:100%;left:33.333%}.thirds i:nth-child(2){width:1px;height:100%;left:66.667%}.thirds i:nth-child(3){height:1px;width:100%;top:33.333%}.thirds i:nth-child(4){height:1px;width:100%;top:66.667%}.orbit-hint{position:absolute;bottom:19px;left:50%;transform:translateX(-50%);font-size:9px;color:white;background:#23413180;border-radius:4px;padding:7px;pointer-events:none}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;background:#dce6da;color:#587047;font-size:12px;z-index:3}.loader{height:24px;width:24px;border-radius:50%;border:2px solid #b9caaa;border-top-color:#405d34;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);background:#274938;color:#eff5e7;padding:13px 21px;border-radius:8px;box-shadow:0 5px 30px #193b3330;font-size:12px;z-index:50;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100vw - 30px);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #dde4d4;border-radius:15px;padding:27px;width:min(780px,calc(100vw - 30px));max-height:88vh;box-shadow:0 20px 100px #182a2b33;color:var(--ink);background:#fbfcf8}dialog::backdrop{background:#1a302c70;backdrop-filter:blur(4px)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modal-header h2{font-size:25px;letter-spacing:-.5px;margin-top:8px;font-weight:550}.modal-header .eyebrow{font-size:8px}.modal-copy{font-size:12px;line-height:1.8;color:#819173;margin-bottom:20px}.catalog-grid{display:grid;grid-template-columns:240px 1fr;gap:26px}.model-list{display:flex;flex-direction:column;gap:7px}.model-item{padding:12px;border:1px solid var(--line);border-radius:7px;text-align:left;background:#fff;font-size:12px}.model-item.selected{border-color:#809c68;background:#f0f5e6}.model-item small{display:block;margin-top:5px;font-size:9px;color:#95a285}.model-list>.button{font-size:11px;margin-top:4px}.model-form{display:grid;gap:15px}.model-form label{display:block;font-size:11px;margin-bottom:7px}.text-input{width:100%;border:1px solid #d6e0cb;border-radius:6px;background:white;padding:10px;color:var(--ink);font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1.5fr;gap:12px}.checkboxes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkboxes label{display:flex;align-items:center;gap:6px;margin:0;font-weight:400;font-size:11px}.checkboxes input{accent-color:#476d3c}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:5px}.danger{color:#b26c58}.form-error{font-size:11px;color:#a36a3c;line-height:1.5;min-height:16px}.export-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.export-option{background:white;border:1px solid var(--line);padding:20px 15px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;border-radius:8px;text-align:left;font-size:13px}.export-option svg{width:25px;height:25px;color:#68874d}.export-option small{font-size:10px;color:#8d9b7f;line-height:1.7}.project-row{display:flex;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);gap:12px}.project-row>div{flex:1}.project-row strong{font-size:13px}.project-row small{display:block;margin-top:5px;color:#93a086;font-size:10px}.project-row>.button{font-size:10px}.modal-divider{height:1px;background:var(--line);margin:22px 0}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.method-grid>div{padding:18px;border:1px solid var(--line);border-radius:8px}.method-grid h3{margin-bottom:10px}.method-grid p{font-size:11px;color:#849375;line-height:1.8}.source-table{width:100%;border-collapse:collapse;font-size:11px}.source-table td,.source-table th{padding:11px;text-align:left;border-bottom:1px solid var(--line)}.source-table th{font-size:9px;color:#8b997c;font-weight:500}.source-table a{color:#69834e}.source-table td:last-child{color:#849375}.presentation .settings,.presentation .intro,.presentation .sport-tabs,.presentation .metrics,.presentation .insight,.presentation .workspace-footnote,.presentation footer,.presentation .header-caption,.presentation .header-divider{display:none}.presentation .workspace{display:block;max-width:calc((100vh - 200px)*16/9);margin:auto}.presentation main{padding:18px 25px}.presentation .app-header{height:60px}.presentation .viewport-wrap{box-shadow:0 15px 80px #173b2822}
@media(min-width:1600px){.workspace{grid-template-columns:315px minmax(0,1fr)}.settings{padding:22px 24px}.slider-field{margin-bottom:25px}.inset-button{width:214px}}
@media(max-width:1200px){.app-header{padding:0 24px}.header-caption{display:none}.header-divider{display:none}main{padding:25px 24px}.workspace{grid-template-columns:270px minmax(0,1fr);gap:20px}.settings{padding:17px}.metrics{padding:18px 0}.metrics>div{padding:0 13px}.metric-value strong{font-size:18px}.metric-value .metric-badge{display:none}.metric-label{font-size:7px}.installation-values b{font-size:18px}.insight>.text-button{display:none}.inset-button{width:142px;bottom:55px}.sport-tab{padding-left:17px;padding-right:17px}.bar-note{font-size:8px}}
@media(max-width:950px){h1{font-size:25px}.intro-actions .button{font-size:10px;padding:9px 11px}.workspace{grid-template-columns:238px minmax(0,1fr);gap:16px}.settings{padding:15px 13px}.label-row label{font-size:10px}.number-input input{width:38px}.lens-info{font-size:9px}.metrics{grid-template-columns:1fr 1fr;row-gap:18px}.metrics>div:nth-child(2){border-right:0}.metrics>div:last-child{grid-column:span 2;border-top:1px solid var(--line);padding-top:13px}.installation-values{justify-content:flex-start;gap:32px}.installation-values small{display:inline;margin-left:3px}.metric-label{margin-bottom:10px}.inset-button{width:114px;bottom:49px}.view-quality{display:none}.simulation-bar .bar-note{display:none}.sport-tab{padding:12px;gap:6px;font-size:11px}.workspace-footnote{flex-direction:column;gap:8px}.preview-header>.button span:last-child{display:none}.view-tabs button{font-size:10px;padding:7px 9px}.view-tabs svg{width:13px;height:13px}}
@media(max-width:720px){.app-header{height:68px;padding:0 17px}.brand{font-size:21px}.brand-mark{width:34px;height:34px}.header-actions{gap:2px}.header-actions .button{padding:6px}.header-actions .button>span:last-child{display:none}.avatar{display:none}main{padding:23px 16px}.intro{display:block;margin-bottom:20px}.intro-actions{margin-top:18px}.intro-actions .button{font-size:11px}.intro h1{font-size:27px}.sport-tabs{overflow-x:auto;margin-bottom:17px;scrollbar-width:none}.sport-tab{flex:none;padding:12px 14px}.sport-tab:first-child{padding-left:7px}.workspace{display:flex;flex-direction:column;gap:20px}.preview-column{width:100%;order:-1}.settings{width:100%;padding:20px}.preview-header{margin-bottom:10px}.view-tabs button{font-size:11px}.inset-button{width:100px;bottom:44px;right:10px}.view-label{font-size:6px;top:10px;left:10px;padding:6px}.view-bottom{bottom:10px;left:10px;right:10px}.view-bottom>span{font-size:6px}.glass-button{width:25px;height:24px}.view-bottom>div{gap:4px}.inset-button>span{font-size:7px;padding:4px}.inset-button svg{width:9px;height:9px}.simulation-bar{padding:11px 2px}.metrics{margin-top:1px;grid-template-columns:1fr 1fr 1fr;gap:0;padding:15px 0}.metrics>div:last-child{grid-column:auto;border-top:0;padding-top:0}.metrics>div{padding:0 9px}.metrics>div:nth-child(2){border-right:1px solid var(--line)}.metric-label{font-size:6px;letter-spacing:.5px;margin-bottom:10px}.metric-label>span{display:none}.metric-value strong{font-size:15px}.metric-value>span{font-size:9px}.metrics small{font-size:7px}.installation-values{gap:5px;justify-content:space-between}.installation-values b{font-size:14px}.installation-values span{font-size:8px}.installation-values small{display:block;margin:9px 0 0;font-size:6px}.insight{padding:12px;font-size:10px}.insight strong{font-size:10px}.insight p{font-size:9px}.workspace-footnote{flex-direction:row;align-items:center;font-size:8px;padding-bottom:0}.workspace-footnote .text-button{font-size:8px}.label-row label{font-size:12px}.slider-field label{font-size:12px}.lens-info{font-size:11px}.range-labels{font-size:10px}.slider-field small{font-size:10px}.settings h2{font-size:17px}.advanced summary,.ambience button,.toggle-row,.surface-field label{font-size:12px}footer{margin:5px 16px 0;font-size:8px}footer>span:last-child{display:none}dialog{padding:20px}.catalog-grid{grid-template-columns:1fr}.model-list{display:grid;grid-template-columns:1fr 1fr}.export-options{grid-template-columns:1fr}.export-option{padding:15px}.method-grid{grid-template-columns:1fr}.presentation .workspace{max-width:none}.presentation main{padding:15px}.presentation .inset-button{display:none}.orbit-hint{display:none}.form-row{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.setting-help{display:block;color:var(--muted);font-size:10px;line-height:1.6;margin:8px 0}.field-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-dimensions label{font-size:10px}.field-dimensions input{display:block;width:100%;margin-top:6px;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font:inherit}.color-settings{margin-top:18px}.color-settings>.label-row{margin-bottom:8px}.color-row{display:flex;align-items:center;gap:8px;padding:6px 0}.color-row>label{flex:1;font-size:11px}.color-row input[type=color]{width:31px;height:29px;border:1px solid var(--line);border-radius:6px;padding:2px;background:white;cursor:pointer}.color-hex{width:78px;padding:6px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:transparent;font:10px monospace}.export-options{grid-template-columns:repeat(2,minmax(0,1fr))}input:disabled{opacity:.45;cursor:not-allowed}#corner-height-help{color:var(--muted)}@media(max-width:720px){.export-options{grid-template-columns:1fr 1fr}.color-row>label{font-size:12px}.color-hex{font-size:12px;width:90px}.setting-help{font-size:11px}}

.optical-summary{font-size:10px;color:var(--muted);margin:8px 0;line-height:1.5}.optics-fieldset{border:1px solid var(--line);border-radius:8px;padding:14px;margin:4px 0}.optics-fieldset legend{font-size:12px;font-weight:600;padding:0 5px}.optics-fieldset select{margin-top:7px}.coefficient-details{margin-top:12px;font-size:11px}.coefficient-details summary{cursor:pointer;color:var(--muted);padding:4px 0}.coefficient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}.coefficient-grid input{margin-top:6px;min-width:0}.mount-options small[id]{line-height:1.4;margin-top:6px;font-size:9px;color:var(--ink)}.model-list{max-height:600px;overflow:auto}#coefficient-fields>input{margin-top:7px}#coverage-estimate{font-size:17px}
#reset-yaw{margin-top:9px;min-height:24px}#reset-yaw:disabled{opacity:.5;cursor:default}#advanced-yaw #yaw-label{width:auto;flex:1}

/* StreamYourSport identity: original logo, charcoal, lime and violet. */
:root{--ink:#1d1d1b;--green:#1d1d1b;--muted:#777771;--line:#e1e1db;--accent:#b2e500;--paper:#f5f5f3}.app-header{background:#1d1d1b;color:#fff;min-height:90px;border:0}.brand{gap:22px;font-size:26px;letter-spacing:-.8px;flex-shrink:0}.brand .sys-logo{width:112px;height:72px;object-fit:contain}.brand>span{border-left:1px solid #555;padding-left:22px}.brand small{color:#b2e500;font-size:7px;letter-spacing:1.4px}.header-caption{display:none}.header-divider{display:none}.app-header .button{color:#f8f8f5;border-color:#51514c;background:transparent;text-decoration:none}.app-header .button:hover{background:#33332e}.app-header .team-link{background:#b2e500;border-color:#b2e500;color:#1d1d1b}.button.primary{background:#b2e500;border-color:#b2e500;color:#1d1d1b}.intro .eyebrow{color:#8047f9}.intro .eyebrow>span{background:#8047f9}.sport-tab.active{color:#1d1d1b;border-bottom-color:#b2e500;background:#edf5d7}.mount-options button.active{border-color:#8047f9;background:#f3edff;color:#5930a5}.mini-label,.metric-badge{background:#eff5df;color:#4f6810}.view-tabs button.active{background:#1d1d1b;color:white}.model-item.selected{border-color:#8047f9;background:#f5f0ff}.ambience button.active,.environment-options button.active{border-color:#8047f9;background:#f3edff;color:#5930a5}.meter i{background:#b2e500}.text-button{color:#5f389f}.settings input[type=range]{accent-color:#8047f9;background:linear-gradient(to right,#8047f9 0%,#8047f9 var(--range,50%),#e7e7e0 var(--range,50%),#e7e7e0 100%)}input[type=range]::-webkit-slider-thumb{border-color:#8047f9}input[type=checkbox]{accent-color:#8047f9}.neighbor-settings{padding:14px;background:#f7f7f3;border-radius:8px}.neighbor-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.neighbor-options label{display:flex;align-items:center;gap:5px;font-size:10px}.project-context{margin-bottom:24px;padding:18px 22px;background:#fff;border:1px solid #ddd;border-left:4px solid #8047f9;border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:18px}.project-context strong{font-size:18px;display:block;margin:5px 0}.project-context small,.project-context>div>span:not(.project-tag){font-size:11px;color:#777}.project-tag{font-size:9px;letter-spacing:1.5px;color:#8047f9;font-weight:700}.project-context>div:last-child{display:flex;gap:8px}.intro-actions{flex-wrap:wrap;justify-content:flex-end}.presentation .project-context{display:none}#import-local-cameras{font-size:10px}.team-link{font-size:11px}
@media(max-width:1100px){.brand{font-size:22px;gap:14px}.brand>span{padding-left:14px}.brand .sys-logo{width:85px;height:60px}.brand small{font-size:6px}.header-actions{gap:6px}.app-header{padding:0 24px}}@media(max-width:720px){.app-header{min-height:80px;padding:0 14px}.brand{font-size:20px;gap:8px}.brand>span{padding-left:10px}.brand .sys-logo{width:67px;height:50px}.brand small{font-size:5px;letter-spacing:.7px}.header-actions .button{padding:7px;min-height:32px;font-size:9px}.header-actions .team-link{max-width:70px;white-space:normal;text-align:center;line-height:1.2}.intro-actions{justify-content:flex-start}.project-context{padding:14px;flex-direction:column;align-items:flex-start}.project-context strong{font-size:17px}.project-context>div:last-child{flex-wrap:wrap}.neighbor-options label{font-size:12px}}@media(max-width:420px){.brand small{display:none}.brand .sys-logo{width:52px}.brand{font-size:18px}.header-actions{gap:4px}.header-actions .button{padding:5px}}

#padel-mode .mount-options{grid-template-columns:1fr 1fr}#padel-mode [data-mode="remote"]{grid-column:1/-1}#zoom-settings{background:#f3f6e8;border:1px solid #dce6bc;border-radius:8px;padding:14px}#zoom-settings[hidden]{display:none}

.camera-notes{font-size:11px;line-height:1.6;margin:8px 0 12px;color:var(--muted)}.camera-notes summary{cursor:pointer;color:var(--ink)}.camera-notes p{white-space:pre-line}.model-form textarea{width:100%;font:inherit;line-height:1.6;resize:vertical;min-height:110px}.calibration-check{display:flex;align-items:center;gap:8px;font-size:12px}.calibration-check input{accent-color:var(--accent)}
.app-header .button.team-link:hover,.app-header .button.team-link:focus-visible{background:#c3f226;border-color:#c3f226;color:#1d1d1b}

#squash-mode .mount-options{flex-wrap:wrap}#squash-mode .mount-options button{flex:1 1 80px;width:auto}
/* Keep the live view beside the long settings form. Fit the image on short screens. */
body:not(.presentation) .preview-column{position:sticky;top:12px;align-self:start;background:var(--paper);z-index:5}
body:not(.presentation) .preview-column .viewport-wrap{max-width:calc((100dvh - 260px)*16/9);margin-inline:auto}
@media(max-width:720px){
 body:not(.presentation) .preview-column{top:0;align-self:auto;padding:8px 0;background:var(--paper);box-shadow:0 8px 12px #00000012}
 body:not(.presentation) .preview-column .viewport-wrap{width:min(100%,58dvh);max-width:none}
 body:not(.presentation) .preview-column .preview-header{margin-bottom:6px}
 body:not(.presentation) .preview-column .metrics,body:not(.presentation) .preview-column .insight,body:not(.presentation) .preview-column .workspace-footnote,body:not(.presentation) .preview-column .simulation-bar{display:none}
 .settings input,.settings select,.settings button{scroll-margin-top:calc(33dvh + 70px)}
}
@media print{body:not(.presentation) .preview-column{position:static}}

.camera-draggable canvas{cursor:grab;touch-action:none}.camera-draggable.dragging canvas{cursor:grabbing}.camera-drag-hint{position:absolute;left:50%;top:42px;transform:translateX(-50%);padding:5px 9px;border-radius:5px;background:#0009;color:#fff;font-size:11px;white-space:nowrap;pointer-events:none;user-select:none}

.client-view .lens-info,.client-view #optical-summary,.client-view #camera-notes,.client-view #model-type,.client-view #zoom-help{display:none!important}
#camera-axis .mode-options{display:flex;gap:8px}#camera-axis button{flex:1;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:inherit}#camera-axis button.active{background:#eee6fc;border-color:#8047f9}#camera-axis small{display:block;margin-top:5px;font-size:10px}
