@charset "UTF-8";
:root{font-family:Arial,Helvetica,sans-serif;color:#24383e;background:#edf1f2;font-synthesis:none;--page:#edf1f2;--panel:#fff;--line:#e7edef;--text:#24383e;--muted:#819098;--accent:#3d7684;--soft:#f2f6f7;--glass:rgba(255,255,255,.82)}
*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button{cursor:pointer;color:inherit}button,select{touch-action:manipulation}button{border:0;background:none}button:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid #70b7c7;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}.header{height:78px;display:flex;align-items:center;gap:32px;padding:0 32px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--text);font-size:16px;letter-spacing:2.5px;font-weight:600;white-space:nowrap}.brand i{color:#9cbbc4;font-style:normal;font-weight:300}.brand svg{width:29px;height:29px;fill:none;stroke:#658f9a;stroke-width:1.1}.header-note{font-size:12px;color:var(--muted);letter-spacing:.3px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.header select{border:0;background:transparent;color:var(--text);font-size:11px;padding:10px}.icon-button{border:1px solid var(--line);width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:17px;color:var(--muted);background:var(--glass)}.header .icon-button{border:0;background:transparent}#workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;padding:0 20px 20px;height:calc(100dvh - 78px);min-height:620px}.stage{position:relative;min-width:0;overflow:hidden;border-radius:18px;background:#f7f9fa;isolation:isolate}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}.stage-heading{position:absolute;top:29px;left:30px;pointer-events:none}.eyebrow{font-size:9px;letter-spacing:1.6px;color:#748a91}.stage h1{font-size:35px;letter-spacing:-1.2px;font-weight:400;margin:11px 0 5px;color:#2e444c}.stage p{margin:0;font-size:12px;color:#82979f;letter-spacing:.15px}.stage-top-right{position:absolute;top:26px;right:25px;display:flex;align-items:center;gap:14px}.ref-button{display:flex;align-items:center;gap:8px;border:1px solid #e5ecee;border-radius:30px;padding:4px 13px 4px 4px;font-size:10px;color:#597781;background:#ffffffb8}.ref-button img{width:25px;height:29px;object-fit:cover;mix-blend-mode:multiply;border-radius:12px}.stage-footer{position:absolute;bottom:20px;left:27px;right:27px;display:grid;grid-template-columns:1fr auto;gap:18px;pointer-events:none}.render-state{display:flex;align-items:center;gap:7px;font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:#688690;white-space:nowrap}.status-dot{width:5px;height:5px;background:#6ea3ad;border-radius:50%}.stage-tools{display:flex;gap:4px;background:var(--glass);border:1px solid #e0e8eb;border-radius:9px;padding:3px;pointer-events:auto}.stage-tools button{display:flex;align-items:center;gap:6px;font-size:10px;padding:8px 10px;border-radius:6px;color:#587782;white-space:nowrap}.stage-tools button:hover,.stage-tools button[aria-pressed=true]{background:#e4f0f3}.stage-tools svg{height:12px;width:12px;fill:none;stroke:currentColor;stroke-width:1.4}.gestures{grid-column:1/-1;text-align:center;color:#8b9ba1;font-size:10px;letter-spacing:.15px}.panel{background:var(--panel);border-radius:18px;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line)}.panel-top{padding:24px 22px 18px;display:flex;justify-content:space-between;align-items:center;font-size:15px}.panel-top button{font-size:10px;color:var(--muted)}.tabs{display:flex;margin:0 22px;border-bottom:1px solid var(--line)}.tabs button{flex:1;padding:9px 4px 13px;font-size:12px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.active{color:var(--accent);border-color:var(--accent)}.panel-scroll{padding:23px 22px;overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:#d9e4e7 transparent}.tab-content{display:none}.tab-content.active{display:block}.section-label{font-size:9px;letter-spacing:1.35px;color:var(--muted);margin-bottom:15px}.preset-grid{display:flex;gap:5px}.preset-grid button{flex:1;padding:9px 4px;border:1px solid var(--line);border-radius:6px;font-size:10px}.preset-grid button.active{border-color:#97b8c1;background:#edf5f7;color:#407786}.formula{font-family:Georgia,serif;font-style:italic;font-size:13px;line-height:1.55;background:var(--soft);padding:12px 15px;border-radius:8px;color:#78929b;margin:14px 0 22px}.control{margin-bottom:20px}.control-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px;gap:10px;font-size:11px}.control-head label{color:var(--text)}.control-head output{font-variant-numeric:tabular-nums;font-family:monospace;font-size:11px;color:var(--accent)}input[type=range]{width:100%;height:16px;display:block;margin:0;background:transparent;appearance:none;-webkit-appearance:none;cursor:ew-resize;touch-action:pan-y}input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,#80a9b3 var(--fill,50%),var(--line) var(--fill,50%));border-radius:2px}input[type=range]::-moz-range-track{height:2px;background:var(--line)}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--panel);border:2px solid #6e9ba7;margin-top:-5px;box-shadow:0 1px 3px #34657715}input[type=range]::-moz-range-thumb{width:9px;height:9px;border-radius:50%;background:var(--panel);border:2px solid #6e9ba7}.range-ends{display:flex;justify-content:space-between;color:#a5b3b8;font-size:8px;margin-top:3px;letter-spacing:.4px}.separator{border-top:1px solid var(--line);margin:24px 0}.footnote{font-size:10px;line-height:1.65;color:var(--muted);margin:15px 0 0}.select-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:20px;gap:10px}.select-row select{max-width:180px;padding:7px;border:1px solid var(--line);border-radius:5px;background:var(--soft);color:var(--text);font-size:10px}.panel-bottom{padding:18px 22px;border-top:1px solid var(--line);background:var(--panel)}.primary{display:flex;justify-content:center;align-items:center;gap:9px;width:100%;padding:13px 6px;background:#3e7583;border-radius:7px;font-size:11px;color:#fff}.primary:hover{background:#315f6b}.primary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.2}.secondary-actions{display:flex;justify-content:space-between;margin-top:12px}.secondary-actions button{font-size:10px;color:var(--muted);padding:5px 0}.secondary-actions button:hover{color:var(--accent)}.lens-presets{display:flex;gap:5px;margin:4px 0 20px}.lens-presets button{flex:1;border:1px solid var(--line);border-radius:5px;padding:7px 4px;font-size:9px}.camera-readout{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.camera-readout strong{font-weight:400;color:var(--accent)}.loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;background:#f3f7f8;z-index:2;font-size:11px;color:#71939e;transition:opacity .4s}.loading.loaded{opacity:0;pointer-events:none}.loading-orbit{width:58px;height:58px;border:1px solid #cfdee2;border-top-color:#588593;border-radius:50%;transform:rotateX(20deg);animation:spin 2s linear infinite}.loading progress{width:100px;height:2px;accent-color:#729fad}#toast{position:fixed;left:50%;bottom:35px;transform:translate(-50%,15px);color:#fff;background:#294954e8;border:1px solid #48636c;padding:12px 20px;border-radius:9px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:20}#toast.show{transform:translate(-50%,0);opacity:1}dialog{border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);padding:30px;max-width:500px;max-height:90dvh;overflow:auto;font-size:13px;line-height:1.7}dialog::backdrop{background:#18323c66;backdrop-filter:blur(6px)}#closeModal{position:absolute;right:10px;top:10px}#modalBody img{max-width:100%;max-height:60vh;display:block;margin:0 auto}#modalBody h2{font-size:22px;font-weight:400}#modalBody button{padding:10px 14px;border:1px solid var(--line);border-radius:6px;margin:5px}.error{position:absolute;top:40%;left:10%;right:10%;padding:24px;background:var(--glass);border:1px solid #cfa7a7;border-radius:12px;z-index:4;font-size:14px;line-height:1.6}.panel-hidden#workspace{grid-template-columns:1fr}.panel-hidden .panel{display:none}#workspace:fullscreen{height:100dvh;background:var(--page);padding-top:20px}.theme-dark{--page:#142127;--panel:#1c2b32;--line:#2b4049;--text:#d8e4e7;--muted:#849da6;--accent:#9ac6d1;--soft:#23363f;--glass:#263942e8}.theme-dark .preset-grid button.active{background:#294652;color:#c3e2e9}.theme-dark .stage-tools{background:#f1f6f7df}.theme-dark .stage-top-right .icon-button{background:#ffffffd0}.theme-dark .loading{background:#15232c}.stage.is-dark h1{color:#c8dee7}.stage.is-dark p,.stage.is-dark .eyebrow{color:#789ba8}.theme-dark .stage-top-right .ref-button{background:#f7fbfcdf}.theme-dark body{background:var(--page)}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){#workspace{grid-template-columns:minmax(0,1fr) 345px}.panel-scroll{padding:27px}.panel-top,.panel-bottom{padding-left:27px;padding-right:27px}.tabs{margin:0 27px}.control{margin-bottom:23px}.stage-heading{top:38px;left:40px}.stage h1{font-size:42px}}
@media(max-width:1000px){.header{padding:0 22px;height:66px}.header-note{display:none}#workspace{height:calc(100dvh - 66px);grid-template-columns:minmax(0,1fr) 285px;gap:10px;padding:0 12px 12px}.panel-scroll{padding:20px 18px}.panel-top{padding:20px 18px 15px}.tabs{margin:0 18px}.panel-bottom{padding:15px 18px}.stage-heading{left:21px;top:24px}.stage h1{font-size:29px}.stage-top-right{top:22px;right:17px}.ref-button span{display:none}.ref-button{padding:3px}.stage-footer{left:20px;right:20px}.render-state{grid-column:1/-1}.stage-tools{justify-self:center;grid-column:1/-1}.gestures{font-size:9px}.stage-footer{gap:12px}}
@media(max-width:680px){.header{height:58px;padding:0 17px}.brand{font-size:13px;letter-spacing:1.8px;gap:9px}.brand svg{width:25px;height:25px}.header-actions{gap:7px}#workspace{display:flex;flex-direction:column;height:auto;min-height:0;padding:0 9px 12px;gap:10px}.stage{height:64dvh;min-height:400px;flex-shrink:0}.stage-heading{top:22px;left:21px}.stage h1{font-size:29px}.stage-heading p{font-size:10px}.eyebrow{font-size:7px;letter-spacing:1.2px}.stage-top-right{right:15px;top:19px;gap:9px}.stage-footer{bottom:15px;gap:10px}.render-state{position:absolute;bottom:42px;left:0;font-size:7px}.stage-tools{justify-self:end}.stage-tools button{font-size:9px;padding:7px 8px}.gestures{font-size:8px}.panel{max-height:none}.panel-scroll{overflow:visible;padding:22px}.panel-top{padding:22px 22px 14px}.tabs{margin:0 22px}.panel-bottom{padding:18px 22px}.control{margin-bottom:23px}.panel-hidden .stage{height:calc(100dvh - 79px)}#workspace:fullscreen{overflow:auto}#workspace:fullscreen .stage{height:100dvh}.theme-dark .stage-heading{color:#ddd}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
[hidden]{display:none!important}
.last-render{display:block;text-align:center;text-decoration:none;color:var(--accent);font-size:11px;padding:12px 0 0}.last-render:hover{text-decoration:underline}#renderDialog{width:min(460px,calc(100vw - 24px));padding:29px;scrollbar-width:thin}#renderDialog h2{font-size:26px;font-weight:400;letter-spacing:-.5px;margin:13px 0 20px}.render-close{position:absolute;right:12px;top:12px}.render-spec{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.render-spec strong{font-size:18px;letter-spacing:.5px;font-weight:400;color:var(--text);font-variant-numeric:tabular-nums}.render-note{color:var(--muted);font-size:11px;line-height:1.65;margin:15px 0}#samplesRow{margin:22px 0}#samplesRow select{max-width:230px;font-size:11px}#finalPreview{margin:20px auto 16px;width:auto;max-width:100%;height:auto;max-height:29vh;border-radius:8px;background:var(--soft);cursor:default}.render-progress-label{display:flex;justify-content:space-between;gap:12px;font-size:11px;margin-top:14px}.render-progress-label strong{font-size:11px;font-variant-numeric:tabular-nums;font-weight:400}#finalBar{display:block;width:100%;height:4px;margin-top:12px;accent-color:var(--accent)}.render-buttons{display:flex;gap:10px;margin-top:22px;align-items:stretch}.render-buttons .primary{text-decoration:none;line-height:1.3;font-size:12px;min-height:42px}.outline{border:1px solid var(--line);border-radius:7px;flex:1;min-height:42px;font-size:12px}.render-error{margin-top:18px;color:#b66767;font-size:12px;line-height:1.6}.render-buttons a{justify-content:center}#finalEta{min-height:18px;margin:10px 0 0}
.render-queue{position:fixed;z-index:12;left:20px;bottom:max(18px,env(safe-area-inset-bottom));max-width:calc(100vw - 40px);display:flex;align-items:center;gap:14px;padding:13px 17px;border:1px solid var(--line);border-radius:11px;background:var(--panel);box-shadow:0 8px 32px #102b3b20;font-size:11px}.render-queue span{color:var(--text);font-variant-numeric:tabular-nums}.render-queue button{color:var(--accent);font-size:11px;padding:6px 0}.render-queue #discardJob{color:var(--muted)}.notification-button{margin-top:22px;border:1px solid var(--line);border-radius:7px;padding:10px 13px;font-size:11px}.render-buttons{flex-wrap:wrap}#renderDialog{max-height:calc(100dvh - 30px);overflow:auto}#notificationStatus{font-size:10px;margin-bottom:0}@media(max-width:600px){.render-queue{left:12px;max-width:calc(100vw - 24px);gap:11px;flex-wrap:wrap}.render-queue span{flex-basis:100%}#renderDialog{padding:23px}}
