:root{color:#172026;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f7f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{min-width:320px;min-height:100vh}button,input{font:inherit}.app-shell{width:100vw;height:100vh;min-height:100vh;margin:0;padding:0}.auth-panel{background:#fff;border:1px solid #d6dfdc;border-radius:8px;width:min(100%,420px);padding:28px;box-shadow:0 18px 48px #15302a1a}.auth-heading{margin-bottom:24px}.auth-heading p{color:#587069;margin:0 0 6px;font-size:.9rem;font-weight:700}.auth-heading h1{color:#10231e;margin:0;font-size:1.65rem}.auth-form{gap:16px;display:grid}.auth-form label{color:#2c403a;gap:7px;font-size:.92rem;font-weight:700;display:grid}.auth-form input{color:#172026;background:#fff;border:1px solid #becbc7;border-radius:6px;width:100%;min-height:44px;padding:10px 12px}.auth-form input:focus{border-color:#237864;outline:3px solid #2378642e}.auth-form button,.link-button{cursor:pointer;border:0;border-radius:6px;min-height:44px;font-weight:800}.auth-form button{color:#fff;background:#1d6d5b}.auth-form button:disabled{cursor:wait;opacity:.7}.link-button{color:#1d6d5b;background:0 0;width:100%;margin-top:14px}.link-button:hover{background:#eef5f2}.auth-error,.auth-success{border-radius:6px;margin:0;padding:10px 12px;font-size:.9rem;line-height:1.45}.auth-error{color:#8a1f1f;background:#fff0f0}.auth-success{color:#185743;background:#edf8f3}.preview-page{width:100vw;height:100vh;min-height:100vh;margin:0;padding:0;display:block}.preview-header,.preview-summary{display:none}.preview-layout{width:100vw;height:100vh;margin:0;padding:0;display:block}.preview-status,.preview-error{z-index:10;border-radius:8px;padding:18px;line-height:1.5;position:absolute;top:16px;left:16px;right:16px}.preview-status{color:#29423a;background:#edf8f3}.preview-error{color:#8a1f1f;background:#fff0f0}.preview-error h2{margin:0 0 8px;font-size:1.1rem}.preview-error p{margin:0}.model-viewer{background:#dfe8e4;border:0;border-radius:0;width:100vw;height:100vh;min-height:0;margin:0;padding:0;position:relative;overflow:hidden}.model-viewer canvas{display:block;width:100%!important;height:100%!important}.model-viewer-actions{z-index:30;pointer-events:none;justify-items:end;gap:10px;width:min(340px,100vw - 32px);display:grid;position:absolute;top:16px;right:16px}.model-viewer-action-buttons{pointer-events:auto;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:100%;display:flex}.model-viewer-action-button{color:#172026;cursor:pointer;white-space:nowrap;background:#ffffffeb;border:1px solid #1720261f;border-radius:6px;min-height:40px;padding:0 14px;font-size:.9rem;font-weight:800;box-shadow:0 12px 28px #1720261f}.model-viewer-action-button:hover{background:#fff}.model-viewer-action-button:focus-visible{outline-offset:2px;outline:3px solid #23786442}.model-viewer-action-button-primary{color:#fff;background:#1d6d5b;border-color:#1d6d5b}.model-viewer-action-button-primary:hover{background:#185d4d}.watermark-control{color:#172026;pointer-events:auto;background:#fffffff0;border:1px solid #1720261f;border-radius:8px;gap:9px;width:min(300px,100%);padding:12px;display:grid;box-shadow:0 16px 36px #17202624}.watermark-control span,.watermark-control output{font-size:.86rem;font-weight:800}.watermark-control output{color:#1d6d5b;justify-self:end}.watermark-control input{accent-color:#1d6d5b;width:100%}.model-viewer-overlay,.model-viewer-error{z-index:20;border-radius:6px;padding:10px 12px;font-size:.92rem;line-height:1.45;position:absolute;top:16px;left:16px;right:auto}.model-viewer-overlay{color:#29423a;background:#ffffffe0}.model-viewer-error{color:#8a1f1f;background:#fff0f0f0}@media (width<=760px){.app-shell{width:100vw;height:100vh;padding:0}.preview-page{width:100vw;height:100vh;min-height:100vh}.preview-layout{width:100vw;height:100vh;display:block}.model-viewer{width:100vw;height:100vh;min-height:0}.model-viewer-actions{width:calc(100vw - 24px);top:12px;right:12px}.model-viewer-action-button{min-height:38px;padding:0 11px;font-size:.84rem}}
