:root{color:#17202a;background:#f7f9fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--glass-blur: 28px;--glass-saturate: 190%;--glass-filter: blur(var(--glass-blur)) saturate(var(--glass-saturate));--glass-bg: rgba(255, 255, 255, .26);--glass-bg-strong: rgba(255, 255, 255, .4);--glass-bg-soft: rgba(255, 255, 255, .18);--glass-bg-hover: rgba(255, 255, 255, .36);--glass-border: rgba(255, 255, 255, .62);--glass-border-soft: rgba(255, 255, 255, .45);--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, .7);--glass-shadow: 0 16px 40px rgba(20, 32, 43, .18), var(--glass-highlight);--glass-shadow-lg: 0 24px 60px rgba(20, 32, 43, .26), var(--glass-highlight);--glass-scrim: rgba(23, 32, 42, .34);--glass-scrim-filter: blur(10px) saturate(120%);--note-bg: rgba(254, 246, 214, .82);--note-bg-strong: rgba(254, 247, 220, .9);--note-border: rgba(224, 190, 96, .85);--note-border-soft: rgba(224, 190, 96, .5);--note-tint: rgba(245, 205, 90, .16);--note-tint-strong: rgba(245, 205, 90, .28);--note-accent: #b8860b;--note-ink: #6d5316;--note-ink-strong: #4a3a12;--note-badge: #f2c14e;--note-badge-ink: #6d4e0c}*{box-sizing:border-box}html,body,#root{width:100%;height:100vh;height:100dvh;overflow:hidden;overscroll-behavior:none}body{margin:0;min-width:320px}button,input,textarea,a{font:inherit}button{border:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.auth-shell{display:grid;place-items:center;width:100vw;width:100dvw;height:100vh;height:100dvh;padding:max(20px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));overflow:auto;background:radial-gradient(620px 460px at 16% 20%,#00bff26b,#00bff200 60%),radial-gradient(680px 520px at 86% 14%,#0084b85c,#0084b800 62%),radial-gradient(760px 620px at 80% 92%,#3f74a852,#3f74a800 60%),radial-gradient(700px 520px at 20% 96%,#00bff242,#00bff200 62%),linear-gradient(180deg,#eef7fc,#e1ecf4)}.auth-stage{display:grid;gap:18px;width:min(440px,100%)}.auth-brand{display:flex;align-items:center;justify-content:center;gap:12px}.auth-brand img{height:30px;width:auto}.auth-brand-divider{width:1px;height:22px;background:#bfd6e1}.auth-brand-product{color:#142733;font-size:1.05rem;font-weight:760;letter-spacing:.01em}.auth-card{display:grid;gap:18px;padding:26px 26px 24px;border:1px solid var(--glass-border);border-radius:18px;background:var(--glass-bg-strong);box-shadow:var(--glass-shadow-lg),0 18px 44px #005a821a;backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter)}.auth-eyebrow{color:#00759f;font-size:.78rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.auth-card h1{margin:4px 0 0;color:#142733;font-size:1.6rem;line-height:1.15}.auth-tagline{margin:8px 0 0;color:#4d6675;font-size:.93rem;line-height:1.5}.auth-form{display:grid;gap:14px}.auth-form h2{margin:0;color:#142733;font-size:1.05rem}.auth-form label{display:grid;gap:6px;color:#38505e;font-size:.82rem;font-weight:660}.auth-form input{padding:10px 12px;border:1px solid rgba(120,156,178,.42);border-radius:9px;color:#142733;font-size:.95rem;background:#ffffff80}.auth-form input::placeholder{color:#aab8c2;font-weight:400;opacity:1}.auth-form label.auth-checkbox{display:flex;flex-direction:row;align-items:center;gap:8px;color:#4d6675;font-weight:600;cursor:pointer}.auth-form label.auth-checkbox input{width:16px;height:16px;padding:0;accent-color:#00aadf;cursor:pointer}.auth-form input:focus-visible{border-color:#00aadf;outline:none;box-shadow:0 0 0 3px #00bff238}.auth-form button[type=submit],.auth-secondary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border-radius:8px;color:#fff;font-size:.95rem;font-weight:700;background:linear-gradient(180deg,#0090c4,#00759f);cursor:pointer}.auth-form button[type=submit]:hover:not(:disabled){background:linear-gradient(180deg,#0084b4,#006288)}.auth-form button[type=submit]:focus-visible,.auth-secondary:focus-visible,.auth-options button:focus-visible,.auth-link:focus-visible{outline:2px solid #00bff2;outline-offset:2px}.auth-form button[type=submit]:disabled{opacity:.55;cursor:progress}.auth-form button[type=submit] svg,.auth-secondary svg{width:18px;height:18px}.auth-secondary{color:#00759f;border:1px solid #9fd4e8;background:#f3fbfe}.auth-secondary:hover{background:#e6f6fc}.auth-stub-notice{display:grid;gap:12px;color:#4d6675;font-size:.92rem;line-height:1.5}.auth-stub-notice p{margin:0}.auth-options{display:grid;gap:10px}.auth-options button{display:grid;grid-template-columns:22px minmax(0,1fr);gap:4px 12px;align-items:center;min-height:66px;padding:12px 14px;border:1px solid #d8e7ef;border-radius:10px;color:#142733;background:#fbfdfe;cursor:pointer;text-align:left}.auth-options button:hover{border-color:#00bff2;background:#f3fbfe}.auth-options button svg{grid-row:1 / span 2;width:20px;height:20px;color:#00a5d8}.auth-options button span,.auth-options button small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-options button span{color:#142733;font-weight:760}.auth-options button small{color:#6a7f8d}.auth-error{margin:0;padding:8px 10px;border:1px solid #f3cfcb;border-radius:8px;color:#b3261e;font-size:.87rem;background:#fdf1f0}.auth-footnote{margin:0;color:#4d6675;font-size:.88rem;text-align:center}.auth-link{padding:0;color:#00759f;font-size:inherit;font-weight:700;background:none;cursor:pointer;text-decoration:underline}.auth-footer{color:#6c8291;font-size:.8rem;text-align:center}.designer-workspace-shell{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:18px;width:100vw;width:100dvw;height:100vh;height:100dvh;padding:max(22px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));overflow:auto;background:radial-gradient(720px 460px at 8% 6%,#00bff229,#00bff200 60%),radial-gradient(760px 520px at 94% 4%,#0084b824,#0084b800 62%),radial-gradient(900px 640px at 88% 92%,#5b7fa61f,#5b7fa600 60%),radial-gradient(900px 420px at 50% -140px,#00bff21a,#00bff200 70%),linear-gradient(180deg,#f4fafd,#eef4f8)}.designer-workspace-header,.designer-workspace-actions,.case-section,.case-row{width:min(1120px,100%);margin:0 auto}.designer-workspace-header{display:flex;align-items:center;justify-content:flex-end;gap:16px}.workspace-header-actions{display:flex;gap:8px}.designer-workspace-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}.designer-workspace-actions .case-search-field{justify-self:end;width:50%}.designer-workspace-actions .case-scope-toggle{grid-column:2;justify-self:end}.new-case-form,.case-search-field{display:grid;align-items:center;min-width:0;min-height:44px;border:1px solid var(--glass-border);border-radius:10px;background:var(--glass-bg);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter)}.new-case-form{grid-template-columns:minmax(0,1fr) auto}.new-case-form input,.case-search-field input{min-width:0;border:0;outline:0;color:#17202a;background:transparent}.new-case-form input{padding:0 14px}.new-case-form button,.case-row-actions button,.workspace-icon-button{display:inline-grid;grid-auto-flow:column;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:8px;color:#fff;background:linear-gradient(180deg,#0090c4,#00759f);font-weight:720;cursor:pointer}.new-case-form button{margin:2px;padding:0 14px}.new-case-form button:disabled,.case-row-actions button:disabled{cursor:not-allowed;opacity:.62}.case-search-field{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:0 13px}.case-search-field svg,.new-case-form svg,.case-row-actions svg,.workspace-icon-button svg{width:17px;height:17px}.case-search-field svg{color:#7a8794}.workspace-icon-button{width:42px;height:42px;padding:0;color:#17202a;background:var(--glass-bg-soft);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter)}.workspace-status,.case-list-empty{width:min(1120px,100%);margin:0 auto;color:#51606f;font-size:.92rem}.workspace-status.failed{color:#8f2f2f}.case-list{display:grid;align-content:start;gap:68px;min-height:0}.case-section{display:grid;gap:10px}.case-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px}.case-section-header h2{margin:0;color:#17202a;font-size:.95rem;line-height:1.25}.case-section-header span{display:inline-grid;place-items:center;min-width:28px;height:24px;padding:0 8px;border-radius:999px;color:#51606f;background:#e9eef4;font-size:.78rem;font-weight:760}.case-section-empty{padding:14px;border:1px dashed #cbd6e2;border-radius:8px;color:#6a7786;background:#ffffff8c;font-size:.88rem;font-weight:620}.case-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px;border:1px solid var(--glass-border);border-radius:14px;background:var(--glass-bg);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter)}.case-row-main{display:grid;gap:10px;min-width:0}.case-row h3{min-width:0;margin:0;overflow-wrap:anywhere;color:#17202a;font-size:1rem;line-height:1.25}.case-title-row{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0}.case-meta{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.case-status-label{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;color:#344253;background:#e9eef4;font-size:.78rem;font-weight:760}.case-status-label.approved{color:#14513f;background:#dcefe8}.case-status-label.changes{color:#7b342b;background:#f5e1dd}.case-status-label.sent{color:#17466b;background:#dcebf7}.case-status-label.draft{color:#51606f;background:#e9eef4}.case-followup{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:5px 10px;border-radius:8px;color:#8a4b06;background:#fbeedd;border:1px solid #f1d3a8;font-size:.76rem;font-weight:680;line-height:1.25}.case-followup svg{width:14px;height:14px;flex-shrink:0}.new-case-trigger{display:inline-grid;grid-auto-flow:column;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:8px;color:#fff;background:linear-gradient(180deg,#0090c4,#00759f);box-shadow:0 10px 22px #14202b1a;font-weight:760;font-size:.95rem;cursor:pointer}.new-case-trigger svg{width:18px;height:18px}.new-case-trigger:hover{background:linear-gradient(180deg,#009cd4,#0080ad)}.new-case-trigger.pulse-attention{animation:new-case-attention 2.4s ease-in-out infinite}@keyframes new-case-attention{0%,to{box-shadow:0 10px 22px #14202b1a,0 0 0 2px #f5c54259,0 0 14px 2px #f5c54247}50%{box-shadow:0 10px 22px #14202b1a,0 0 0 4px #f5c542d9,0 0 24px 6px #f5c5428c}}@media(prefers-reduced-motion:reduce){.new-case-trigger.pulse-attention{animation:none;box-shadow:0 10px 22px #14202b1a,0 0 0 3px #f5c542b3}}.case-list-welcome{display:grid;justify-items:center;align-content:center;gap:14px;width:min(560px,100%);margin:0 auto;min-height:min(56vh,440px);padding:24px;text-align:center}.case-list-welcome h2{margin:0;color:#17202a;font-size:1.18rem;line-height:1.3}.case-list-welcome p{margin:0;max-width:46ch;color:#51606f;font-size:.95rem;line-height:1.55}.case-list-welcome-cue{color:#7a8794;font-size:.9rem}.case-list-welcome-cue strong{color:#00759f}.field-optional{margin-left:6px;color:#9aa6b2;font-size:.72rem;font-weight:640;text-transform:uppercase;letter-spacing:.02em}.new-case-hint{margin:0;color:#7a8794;font-size:.8rem;line-height:1.35}.case-patient{display:inline-flex;justify-self:start;width:fit-content;margin-top:2px;padding:2px 9px;border-radius:999px;background:#eef2f6;color:#3c4a58;font-size:.76rem;font-weight:720}.case-doctor{display:flex;flex-direction:column;gap:1px;margin-top:2px}.case-doctor-line{color:#2c3a48;font-size:.84rem;font-weight:680}.case-doctor-email{color:#7a8794;font-size:.76rem;font-weight:600}.case-row-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 16px}.case-actions-primary,.case-actions-manage{display:flex;align-items:center;gap:8px}.case-actions-manage{padding-left:16px;border-left:1px solid #e3e9ef}.case-row-actions button{padding:0 12px}.case-row-actions button.primary{min-width:96px}.case-row-actions button.ghost{min-height:36px;color:#00759f;background:transparent;border:1px solid #cadfea;font-weight:700}.case-row-actions button.ghost:hover{background:#eef6fb;color:#005c7f;border-color:#aed2e2}.case-row-actions button.icon-only{min-width:0;width:36px;padding:0}.case-row-actions button.ghost.danger{color:#8f2f2f;border-color:#ecd2cd}.case-row-actions button.ghost.danger:hover{color:#9a3327;background:#fbecea;border-color:#eccbc5}.viewer-shell{--viewer-visual-center-y-offset: 0px;display:grid;position:relative;grid-template-columns:minmax(0,1fr);width:100vw;width:100dvw;height:100vh;height:100dvh;overflow:clip}.viewer-workspace{position:relative;grid-area:1 / 1;min-width:0;min-height:0;background:#f7f9fb}.viewer-readonly-veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:#94a3b838;backdrop-filter:saturate(.7) brightness(.98);-webkit-backdrop-filter:saturate(.7) brightness(.98);animation:viewer-readonly-veil-in .2s ease-out both}@keyframes viewer-readonly-veil-in{0%{opacity:0}to{opacity:1}}.viewer-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;display:flex;align-items:center;justify-content:center;background:#0f172a47;border:3px dashed var(--accent, #2563eb);border-radius:12px;animation:viewer-drop-overlay-in .12s ease-out both}.viewer-drop-overlay-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 32px;border:1px solid var(--glass-border);border-radius:16px;background:var(--glass-bg-strong);box-shadow:var(--glass-shadow-lg);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);color:#0f172a;text-align:center}.viewer-drop-overlay-card svg{width:40px;height:40px;color:var(--accent, #2563eb)}.viewer-drop-overlay-card span{font-size:1.05rem;font-weight:600}.viewer-drop-overlay-card small{color:#64748b}@keyframes viewer-drop-overlay-in{0%{opacity:0}to{opacity:1}}.three-viewer{position:relative;width:100%;height:100%;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.three-viewer canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}.scene-notes-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.scene-measurements-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.scene-measurement-line{position:absolute;height:2px;border-radius:999px;background:#17324f;box-shadow:0 0 0 1px #fffc,0 6px 14px #14202b2e;transform-origin:0 50%}.scene-measurement.selected .scene-measurement-line{height:3px;background:#0084b8}.scene-measurement-label-stem{position:absolute;height:1.5px;border-radius:999px;background:#17324f8c;transform-origin:0 50%;pointer-events:none}.scene-measurement.selected .scene-measurement-label-stem{background:#0084b8b3}.scene-measurement-label{position:absolute;display:inline-flex;align-items:stretch;min-height:28px;border:1px solid rgba(207,216,227,.92);border-radius:999px;color:#17202a;background:var(--glass-bg-strong);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);line-height:1;overflow:hidden;transform:translate(-50%,-50%);pointer-events:auto;transition:border-color .15s ease}.scene-measurement-label.note-open{border-color:#0084b88c}.scene-measurement-value{min-width:54px;padding:5px 10px;border:0;background:transparent;color:#17202a;font-size:.78rem;font-weight:800;line-height:1;text-align:center;cursor:pointer}.scene-measurement-note-toggle{display:inline-flex;align-items:center;gap:3px;padding:0 8px;border:0;border-left:1px solid var(--note-border-soft);background:transparent;color:var(--note-accent);cursor:pointer;transition:background .15s ease,color .15s ease}.scene-measurement-note-toggle svg{width:13px;height:13px}.scene-measurement-note-toggle:hover{background:var(--note-tint);color:var(--note-ink)}.scene-measurement-note-toggle.has-comments{background:var(--note-tint);color:var(--note-accent)}.scene-measurement-note-toggle.open{background:var(--note-tint-strong);color:var(--note-ink)}.scene-measurement-note-count{font-size:.72rem;font-weight:800;line-height:1}.scene-measurement-pending-endpoint{position:absolute;width:28px;height:28px;border:3px solid #ffffff;border-radius:999px;background:#f59f23;box-shadow:0 8px 18px #14202b2e;transform:translate(-50%,-50%);pointer-events:none}.scene-measurement-endpoint{position:absolute;width:16px;height:16px;padding:0;border:2px solid #ffffff;border-radius:999px;background:#0084b899;box-shadow:0 3px 9px #14202b38;transform:translate(-50%,-50%);pointer-events:none;transition:width .14s ease,height .14s ease,background-color .14s ease}.scene-measurement-endpoint.active{width:28px;height:28px;border-width:3px;background:#0084b8;box-shadow:0 8px 18px #14202b2e}.scene-measurement-delete{position:absolute;display:flex;align-items:center;justify-content:center;gap:20px;width:38px;height:38px;padding:0;border:2px solid #ffffff;border-radius:999px;background:#ef5350;box-shadow:0 10px 22px #14202b42;transform:translate(-50%,-50%);overflow:hidden;pointer-events:auto;transition:width .22s ease,background-color .22s ease,border-color .22s ease;animation:scene-measurement-delete-pop .18s ease-out}.scene-measurement-delete.confirming{width:88px;border-color:#cfd8e3eb;background:#fffffff7}.scene-measurement-delete-trash,.scene-measurement-delete-cancel,.scene-measurement-delete-confirm{display:grid;place-items:center;flex:none;padding:0;border:none;border-radius:999px;color:#fff;box-shadow:none;cursor:pointer}.scene-measurement-delete-trash{width:100%;height:100%;background:transparent}.scene-measurement-delete-trash:hover{background:#00000014}.scene-measurement-delete-trash svg{width:18px;height:18px}.scene-measurement-delete-cancel,.scene-measurement-delete-confirm{width:28px;height:28px}.scene-measurement-delete-cancel svg,.scene-measurement-delete-confirm svg{width:16px;height:16px}.scene-measurement-delete-cancel{background:transparent;color:#5f6b78}.scene-measurement-delete-cancel:hover{background:#17202a14}.scene-measurement-delete-confirm{background:transparent;color:#e2453f}.scene-measurement-delete-confirm:hover{background:#e2453f1f}.scene-measurement-delete-confirm svg{stroke-width:3}@keyframes scene-measurement-delete-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.scene-section-caliper-draft{position:absolute;height:3px;border-radius:999px;background:#0084b8;box-shadow:0 0 0 1px #ffffffdb,0 8px 18px #14202b33;transform-origin:0 50%;pointer-events:none}.scene-slice-draft{position:absolute;height:3px;border-radius:999px;background:#00bff2;box-shadow:0 0 0 1px #ffffffdb,0 8px 18px #14202b38;transform-origin:0 50%;pointer-events:none}.scene-note-bubble{position:absolute;display:grid;gap:10px;max-width:calc(100% - 24px);padding:12px;border:1px solid var(--note-border);border-radius:12px;color:var(--note-ink-strong);background:var(--note-bg-strong);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);pointer-events:auto;transform:translate(-50%,calc(-100% - 20px))}.scene-note-bubble:after{position:absolute;bottom:-9px;left:50%;width:18px;height:18px;border-right:1px solid var(--note-border);border-bottom:1px solid var(--note-border);background:var(--note-bg-strong);content:"";transform:translate(-50%) rotate(45deg)}.scene-note-confirmation{align-items:center;text-align:center}.scene-note-confirmation span{font-size:.92rem;font-weight:700}.scene-note-editor textarea{box-sizing:border-box;min-width:0;width:100%;min-height:26px;max-height:148px;height:26px;overflow-y:auto;resize:none;border:0;outline:0;color:var(--note-ink-strong);background:transparent;line-height:1.35}.scene-note-display{padding-right:34px;border-top-color:transparent}.scene-note-editor-tabbed{border-top-color:transparent}.scene-note-editor{padding-right:34px}.scene-note-display p{min-width:0;max-height:8.2rem;margin:0;overflow:auto;color:var(--note-ink-strong);font-size:.94rem;line-height:1.35;white-space:pre-wrap}.scene-note-close{position:absolute;top:6px;right:6px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:6px;color:#6d5316b8;background:transparent;cursor:pointer;transition:background .12s ease,color .12s ease}.scene-note-close:hover{color:var(--note-ink-strong);background:#8c691924}.scene-note-close svg{width:15px;height:15px}.scene-note-autofade{animation:scene-note-autofade 2.92s ease-in forwards}@keyframes scene-note-autofade{0%,85.6%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.scene-note-autofade{animation-duration:2.5s}}.scene-note-text{display:block;width:100%;min-width:0;max-height:8.2rem;margin:0;padding:0;border:0;overflow:auto;color:#17202a;background:transparent;font:inherit;font-size:.94rem;line-height:1.35;text-align:left;white-space:pre-wrap;cursor:text}.scene-note-delete{display:flex;align-items:center;justify-content:center;gap:2px;flex:none;width:38px;height:28px;padding:0 5px 2px;border:1px solid var(--note-border);border-bottom:none;border-radius:13px 13px 0 0;background:var(--note-bg-strong);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);overflow:hidden;transition:width .34s cubic-bezier(.22,1,.36,1)}.scene-note-delete.confirming{width:74px}.scene-note-delete-floating{position:absolute;top:-27px;left:50%;transform:translate(-50%)}.scene-note-delete .scene-note-delete-trash,.scene-note-delete .scene-note-delete-cancel,.scene-note-delete .scene-note-delete-confirm{display:grid;place-items:center;flex:none;min-width:0;width:28px;height:24px;padding:0;border:none;border-radius:8px;background:transparent;cursor:pointer;transition:background .14s ease}.scene-note-delete .scene-note-delete-trash svg,.scene-note-delete .scene-note-delete-cancel svg,.scene-note-delete .scene-note-delete-confirm svg{width:15px;height:15px}.scene-note-delete .scene-note-delete-trash{color:#e2453f}.scene-note-delete .scene-note-delete-trash:hover{background:#e2453f1f}.scene-note-delete .scene-note-delete-cancel{color:#5f6b78}.scene-note-delete .scene-note-delete-cancel:hover{background:#17202a14}.scene-note-delete .scene-note-delete-confirm{color:#e2453f}.scene-note-delete .scene-note-delete-confirm:hover{background:#e2453f1f}.scene-note-delete .scene-note-delete-confirm svg{stroke-width:3}.empty-viewer{display:grid;place-items:center;align-content:center;gap:14px;width:100%;height:100%;color:#5d6b7a;background:linear-gradient(#edf1f5 1px,transparent 1px),linear-gradient(90deg,#edf1f5 1px,transparent 1px),#f7f9fb;background-size:32px 32px}.empty-viewer svg{width:44px;height:44px;color:#00759f}.empty-viewer>svg,.empty-viewer>span{transform:translateY(var(--viewer-visual-center-y-offset))}.empty-viewer-card{gap:10px;text-align:center;padding:0 24px}.empty-viewer-card h2{margin:0;font-size:19px;font-weight:650;color:#2a3b49}.empty-viewer-card p{margin:0;max-width:30rem;font-size:14px;line-height:1.5}.empty-viewer-card .empty-viewer-next-step{color:#2a3b49;font-weight:550}.viewer-shell{--control-panel-width: min(388px, calc(100vw - 32px) );--legend-bottom: max(12px, env(safe-area-inset-bottom));--legend-top-limit: 12px}.control-panel{display:grid;position:absolute;top:max(18px,env(safe-area-inset-top));bottom:auto;left:max(16px,env(safe-area-inset-left));z-index:8;grid-template-rows:minmax(0,1fr);width:var(--control-panel-width);height:min(620px,calc(100vh - 84px));height:min(620px,calc(100dvh - 84px));min-width:0;min-height:0;padding:18px;overflow:hidden;overscroll-behavior:contain;border:1px solid var(--glass-border);border-radius:24px;background:var(--glass-bg-strong);box-shadow:var(--glass-shadow-lg);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);opacity:0;pointer-events:none;transform:translate(calc(-100% - 32px));transition:opacity .18s ease,transform .22s ease,height .22s ease}.control-panel.presented{opacity:1;pointer-events:auto;transform:translate(0)}.viewer-shell.viewer-mode-designer.menu-presented .control-panel{top:68px;height:min(620px,calc(100vh - 134px));height:min(620px,calc(100dvh - 134px))}.viewer-shell.menu-presented .viewer-top-controls .viewer-menu-toggle,.floating-capsule-button.open-files-context{display:none}.designer-case-toolbar .viewer-toolbar-context-row{justify-content:flex-start}.control-panel-close{position:absolute;top:12px;right:12px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;border:1px solid rgba(15,23,42,.18);background:var(--glass-bg-soft);color:#17202a;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .05s ease}.control-panel-close-glyph{font-size:24px;font-weight:600;line-height:1;transform:translateY(-2px)}.control-panel-close:hover{background:#fff;border-color:#0f172a47}.control-panel-close:active{transform:translateY(1px)}.viewer-top-controls{position:absolute;top:max(18px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));z-index:9;display:flex;align-items:center;flex-wrap:wrap;gap:10px;pointer-events:none}.designer-case-toolbar{display:grid;grid-template-rows:auto auto;justify-items:stretch;align-items:start;gap:8px;min-width:0;max-width:100%}.viewer-top-controls>*{pointer-events:auto}.file-picker-input{display:none}.floating-icon-button,.floating-capsule-button,.mini-icon-button,.web-tool-handle{display:inline-grid;place-items:center;color:#17202a;background:var(--glass-bg-soft);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);cursor:pointer;backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter)}.floating-icon-button:disabled,.floating-capsule-button:disabled,.mini-icon-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.floating-icon-button{width:40px;height:40px;padding:0;border-radius:999px;line-height:0}.floating-capsule-button{grid-auto-flow:column;gap:8px;min-height:40px;min-width:0;padding:0 15px;border-radius:999px;font-size:.9rem;font-weight:650}.viewer-undo-redo-group{position:absolute;right:0;bottom:0;display:inline-flex;pointer-events:auto;border-radius:999px;box-shadow:var(--glass-shadow)}.web-tool-tray.expanded .viewer-undo-redo-group{display:none}.viewer-undo-redo-group .floating-icon-button{width:44px;box-shadow:none}.viewer-undo-redo-group .viewer-undo-button{border-right:none;border-radius:999px 0 0 999px}.viewer-undo-redo-group .viewer-redo-button{border-radius:0 999px 999px 0}.viewer-workspace-title{min-width:0;overflow:hidden;color:#17202a;font-size:.94rem;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.viewer-toolbar-title-group{display:inline-flex;align-items:center;justify-content:flex-end;flex:1 1 auto;min-width:0;max-width:min(620px,calc(100vw - 170px));margin-left:auto;gap:7px;padding:0 2px;overflow:hidden;pointer-events:none}.viewer-workspace-status{flex:0 4 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;color:#637181;font-size:.82rem;font-weight:650;white-space:nowrap}.viewer-workspace-status.shared-pending{color:#1d6fb8}.viewer-history-button{pointer-events:auto;align-self:center;flex:0 0 auto;margin-left:8px;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border-radius:8px;border:1px solid rgba(15,23,42,.18);background:var(--glass-bg-soft);color:#17202a;font-size:.76rem;font-weight:650;white-space:nowrap;cursor:pointer;backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);transition:background .12s ease,border-color .12s ease,transform .05s ease}.viewer-history-button svg{width:14px;height:14px}.viewer-history-button:hover{background:#fff;border-color:#0f172a47}.viewer-history-button:active{transform:translateY(1px)}.viewer-history-button:disabled{opacity:.45;cursor:not-allowed}.viewer-history-button.active{background:#2563eb;border-color:#2563eb;color:#fff}.case-save-indicator{display:inline-flex;align-items:center;align-self:center;flex:0 0 auto;gap:6px;color:#637181}.case-save-indicator svg{display:block;width:15px;height:15px}.case-save-indicator.failed{color:#8f2f2f}.case-save-dot{width:8px;height:8px;border-radius:50%;background:#e8a13c}.case-save-spinner{animation:case-save-spin 1s linear infinite}@media(prefers-reduced-motion:reduce){.case-save-spinner{animation:none}}@keyframes case-save-spin{to{transform:rotate(360deg)}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.viewer-toolbar-actions{display:inline-flex;align-items:center;flex:0 0 auto;gap:10px;min-width:0;pointer-events:auto}.viewer-toolbar-context-row,.viewer-toolbar-action-row{display:flex;align-items:center;gap:10px;min-width:0;pointer-events:none}.viewer-toolbar-context-row{width:100%;justify-content:space-between}.designer-case-toolbar .viewer-toolbar-action-row{width:100%}.designer-case-toolbar .viewer-toolbar-actions{flex:1 1 0;min-width:0}.designer-case-toolbar .viewer-toolbar-title-group{max-width:min(620px,calc(100% - 52px))}.send-doctor-toolbar-button{margin-left:auto}.web-tool-message-action{position:relative}.doctor-done-button{min-width:154px;color:#17202a;background:#fff6cdf2;border-color:#e2cd80eb}.doctor-done-toolbar-button{margin-left:0}.viewer-top-controls:not(.designer-case-toolbar) .viewer-toolbar-actions{margin-left:auto}.web-tool-message-action.has-unread-messages:after{position:absolute;top:-5px;right:-5px;width:11px;height:11px;content:"";background:#0084b8;border:2px solid rgba(255,255,255,.94);border-radius:999px;box-shadow:0 3px 8px #0084b85c}.doctor-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:var(--glass-scrim);backdrop-filter:var(--glass-scrim-filter);-webkit-backdrop-filter:var(--glass-scrim-filter)}.doctor-modal{display:grid;gap:14px;width:min(520px,100%);padding:18px;color:#17202a;background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:16px;box-shadow:var(--glass-shadow-lg);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter)}.doctor-modal.compact{width:min(430px,100%);justify-items:center;text-align:center}.doctor-modal.compact .doctor-modal-actions.stacked{justify-items:center}.doctor-modal.compact .doctor-modal-actions.stacked button{width:min(260px,100%)}.doctor-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.doctor-modal h2{margin:0;font-size:1.08rem;line-height:1.2}.doctor-modal p{margin:0;color:#53606d;font-size:.94rem;line-height:1.45}.doctor-modal textarea{width:100%;min-height:168px;resize:vertical;padding:12px;color:#17202a;background:#f7f9fb;border:1px solid #cfd8e3;border-radius:8px;outline:none}.doctor-modal textarea:focus{border-color:#0084b8;box-shadow:0 0 0 3px #00bff233}.doctor-modal-error{color:#b42318}.account-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:24px;background:var(--glass-scrim);backdrop-filter:var(--glass-scrim-filter);-webkit-backdrop-filter:var(--glass-scrim-filter)}.account-dialog{width:min(420px,100%)}.account-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.account-dialog-notice{margin:0;color:#0a7d4b;font-size:.9rem;font-weight:640}.workspace-admin-button{width:auto;padding:0 14px;font-weight:720}.account-dialog.admin-dialog{width:min(560px,100%);height:min(600px,88vh);grid-template-rows:auto minmax(0,1fr)}.admin-panel-body{display:flex;flex-direction:column;gap:14px;min-height:0}.admin-unlock-hint,.admin-panel-status{margin:0;color:#51606f;font-size:.92rem}.admin-tabs{display:flex;gap:6px;padding:3px;border:1px solid var(--glass-border);border-radius:10px;background:var(--glass-bg-soft);width:fit-content}.admin-tab{min-height:32px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:#51606f;font-size:.86rem;font-weight:680;cursor:pointer}.admin-tab.selected{background:linear-gradient(180deg,#0090c4,#00759f);color:#fff}.admin-search{position:relative;display:flex;align-items:center}.admin-search-icon{position:absolute;left:11px;width:16px;height:16px;color:#7c8896;pointer-events:none}.admin-search-input{width:100%;min-height:36px;padding:0 34px;border:1px solid var(--glass-border);border-radius:10px;background:var(--glass-bg-soft);color:#22303c;font-size:.9rem}.admin-search-input::placeholder{color:#7c8896}.admin-search-input:focus-visible{outline:none;border-color:#0090c4;box-shadow:0 0 0 2px #0090c438}.admin-search-input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.admin-search-clear{position:absolute;right:8px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:transparent;color:#51606f;cursor:pointer}.admin-search-clear:hover{background:var(--glass-bg-soft)}.admin-search-clear svg{width:15px;height:15px}.admin-link-chip{flex:none;white-space:nowrap;padding:1px 8px;border-radius:999px;background:#0a7d4b24;color:#0a7d4b;font-size:.72rem;font-weight:720;text-transform:uppercase;letter-spacing:.04em}.admin-link-chip.revoked{background:#b23a3a1f;color:#8f2f2f}.admin-account-row.admin-link-revoked .admin-account-email{color:#51606f}.admin-account-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0 4px 0 0;list-style:none;flex:1 1 0;min-height:0;overflow-y:auto}.admin-account-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:10px 12px;border:1px solid var(--glass-border);border-radius:10px;background:var(--glass-bg-soft)}.admin-account-main{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-account-email{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:680;color:#17202a;overflow-wrap:anywhere}.admin-account-you{flex:none;white-space:nowrap;padding:1px 8px;border-radius:999px;background:#0090c424;color:#00759f;font-size:.72rem;font-weight:720;text-transform:uppercase;letter-spacing:.04em}.admin-account-meta{color:#51606f;font-size:.82rem}.admin-row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.admin-row-button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;min-height:32px;padding:0 10px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:#17202a;font-size:.82rem;font-weight:660;cursor:pointer}.admin-row-button svg{width:14px;height:14px}.admin-row-button:disabled{cursor:not-allowed;opacity:.6}.admin-row-button-danger{border-color:#b23a3a66;background:#b23a3a1a;color:#8f2f2f}.admin-inline-form{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.admin-inline-form input{min-width:0;min-height:34px;padding:0 10px;border:1px solid var(--glass-border);border-radius:8px;background:#ffffffb3;color:#17202a}.admin-create-form{padding-top:4px;border-top:1px solid var(--glass-border);flex:none}.admin-create-actions{display:flex;align-items:center;gap:12px}.admin-add-account{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;flex:none;border-radius:8px;border:1px dashed var(--glass-border-strong, var(--glass-border));background:transparent;color:#00759f;font-weight:700;cursor:pointer}.admin-add-account svg{width:16px;height:16px}.admin-add-account:disabled{cursor:not-allowed;opacity:.6}.chat-history{display:flex;flex-direction:column;gap:16px;min-height:0;overflow-y:auto;padding:8px 2px}.chat-history-empty{align-self:center;margin:auto 0;color:#637181}.chat-comment{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start}.chat-comment+.chat-comment{position:relative;padding-top:14px}.chat-comment+.chat-comment:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:70%;height:1px;background:#0f172a0f}.chat-comment-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:999px;color:#fff;font-size:.82rem;font-weight:700;-webkit-user-select:none;user-select:none}.chat-comment-avatar-designer{background:#f5a623}.chat-comment-avatar-doctor{background:#2f6fed}.chat-comment-main{display:grid;gap:2px;min-width:0}.chat-comment-byline{display:flex;align-items:baseline;gap:8px}.chat-comment-author{color:#17202a;font-size:.82rem;font-weight:700}.chat-comment-byline time{color:#8a96a3;font-size:.72rem}.chat-comment-body{color:#17202a;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4}.chat-composer{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:end;gap:8px;padding-top:10px;border-top:1px solid rgba(207,216,227,.82)}.chat-composer textarea{min-height:40px;max-height:132px;resize:none;overflow-y:auto;width:100%;padding:10px 12px;border:1px solid #d9e0e7;border-radius:20px;outline:0;color:#17202a;background:#f7f9fb;line-height:1.35}.chat-composer textarea:focus{border-color:#0084b8;box-shadow:0 0 0 3px #007aff24}.chat-send-button{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;color:#fff;background:#17202a;border-radius:999px;cursor:pointer}.chat-send-button:disabled{cursor:default;opacity:.5}.doctor-modal-actions{display:flex;justify-content:flex-end;gap:10px}.doctor-modal-actions.stacked{display:grid}.doctor-modal-actions button{min-height:40px;padding:0 16px;color:#fff;background:#17202a;border-radius:8px;cursor:pointer;font-weight:700}.doctor-modal-actions button.secondary{color:#17202a;background:#eef2f6}.doctor-modal-actions button.request-changes{color:#9a4a07;background:#fde4cf}.doctor-modal-actions button.approve{background:#0084b8}.doctor-modal-actions button.text{color:#53606d;background:transparent}.doctor-modal-actions button:disabled{cursor:default;opacity:.62}.viewer-toolbar-context-row>button,.viewer-toolbar-action-row>button{pointer-events:auto}.floating-icon-button svg,.floating-capsule-button svg,.tool-share-copy-button svg,.qr-copy-button svg,.mini-icon-button svg,.chat-send-button svg,.web-tool-handle svg{display:block;width:18px;height:18px}.doctor-invite-panel{display:grid;gap:8px;width:100%}.doctor-copy-link-button{justify-self:center;min-height:30px;padding:0 10px;font-size:.74rem}.doctor-invite-panel .doctor-share-hint{max-width:none;margin-top:6px}.doctor-copy-link-button svg{width:15px;height:15px}.doctor-invite-panel input{width:100%;min-height:38px;margin-bottom:6px;padding:0 10px;border:1px solid #d9e0e7;border-radius:8px;outline:0;color:#17202a;background:#fff}.doctor-review-link-row{display:flex;gap:6px;align-items:center;width:80%;margin:22px auto 0}.doctor-review-link-row input{flex:1;min-width:0;min-height:30px;margin-bottom:0;font-size:.8rem}.doctor-link-copy-button{flex:none;width:30px;height:30px;border:1px solid #d9e0e7;border-radius:8px;background:#fff}.doctor-link-copy-button svg{width:14px;height:14px}.tool-share-copy-button.disabled{opacity:.5;pointer-events:none}.tool-share-copy-button:disabled{opacity:.5;cursor:default}.tool-share-warning{color:#8f5a1d}.tool-share-success{color:#276749}.tool-share-error{color:#9b2c2c}.viewer-status-pill{position:absolute;top:max(70px,calc(env(safe-area-inset-top) + 70px));left:50%;z-index:9;max-width:calc(100vw - 32px);padding:8px 12px;overflow:hidden;border:1px solid var(--glass-border);border-radius:999px;color:#3c4a58;background:var(--glass-bg-soft);box-shadow:var(--glass-shadow);font-size:.78rem;font-weight:750;opacity:0;text-overflow:ellipsis;white-space:nowrap;transform:translate(-50%);transition:opacity .26s ease;backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);pointer-events:none}.viewer-status-pill.visible{opacity:1}.viewer-crash-notice>button{transform:translateY(var(--viewer-visual-center-y-offset))}.case-toast-stack{position:absolute;top:max(70px,calc(env(safe-area-inset-top) + 70px));left:50%;z-index:40;display:flex;flex-direction:column;gap:8px;align-items:center;width:max-content;max-width:calc(100vw - 32px);transform:translate(-50%);pointer-events:none}.case-toast{display:flex;align-items:center;gap:12px;width:100%;max-width:420px;padding:10px 14px;border:1px solid var(--glass-border);border-left-width:4px;border-radius:12px;background:var(--glass-bg-strong);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);pointer-events:auto;animation:case-toast-in .2s ease}@keyframes case-toast-in{0%{opacity:0;transform:translateY(-6px)}}@media(prefers-reduced-motion:reduce){.case-toast{animation:none}}.case-toast.error{border-left-color:#9b2c2c}.case-toast.warning{border-left-color:#8f5a1d}.case-toast.success{border-left-color:#276749}.case-toast-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.case-toast-title{font-size:.82rem;font-weight:750;color:#2b3742}.case-toast.error .case-toast-title{color:#8f2f2f}.case-toast.warning .case-toast-title{color:#8f5a1d}.case-toast.success .case-toast-title{color:#276749}.case-toast-detail{font-size:.76rem;font-weight:550;color:#5a6675;line-height:1.3}.case-toast-action{flex:0 0 auto;padding:6px 14px;border:0;border-radius:999px;background:#8f2f2f;color:#fff;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.case-toast-action:hover{background:#7a2727}.case-toast.warning .case-toast-action{background:#8f5a1d}.case-toast.warning .case-toast-action:hover{background:#7a4c18}.coach-tip{position:absolute;z-index:12;display:grid;justify-items:center;pointer-events:none}.coach-tip-bubble{position:relative;display:grid;gap:3px;max-width:min(300px,calc(100vw - 48px));padding:10px 14px;border:1px solid rgba(255,255,255,.16);border-radius:14px;color:#f4f7fa;background:#17202ac7;box-shadow:0 18px 38px #14202b57,inset 0 1px #ffffff1f;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);animation:coach-tip-in .24s ease-out both}.coach-tip.leaving .coach-tip-bubble{animation:coach-tip-out .26s ease-in forwards}.coach-tip-title{font-size:.8rem;font-weight:800}.coach-tip-body{margin:0;color:#f4f7fae0;font-size:.78rem;font-weight:600;line-height:1.35}.coach-tip-handle{bottom:max(58px,calc(env(safe-area-inset-bottom) + 58px));left:50%;transform:translate(-50%)}.coach-tip-handle .coach-tip-bubble:after{position:absolute;bottom:-5px;left:50%;width:10px;height:10px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);background:#17202aeb;content:"";transform:translate(-50%) rotate(45deg)}.coach-tip-handle[data-side=right]{justify-items:end}.coach-tip-handle[data-side=right] .coach-tip-bubble:after{top:50%;right:-5px;bottom:auto;left:auto;border-top:1px solid rgba(255,255,255,.14);border-right:1px solid rgba(255,255,255,.14);border-bottom:0;border-left:0;transform:translateY(-50%) rotate(45deg)}.coach-tip-toolbar{top:max(82px,calc(env(safe-area-inset-top) + 82px));right:max(14px,env(safe-area-inset-right));justify-items:end}.coach-tip-toolbar .coach-tip-bubble:after{position:absolute;top:-5px;right:26px;width:10px;height:10px;border-top:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14);background:#17202aeb;content:"";transform:rotate(45deg)}.coach-tip-guidance{top:max(82px,calc(env(safe-area-inset-top) + 82px));right:max(14px,env(safe-area-inset-right));justify-items:end}.coach-tip-viewport{top:46%;left:50%;transform:translate(-50%,-50%)}.coach-tip-viewport .coach-tip-bubble{padding:10px 18px;border-radius:999px;background:#17202ac7;text-align:center}@keyframes coach-tip-in{0%{opacity:0;transform:translateY(8px)}}@keyframes coach-tip-out{to{opacity:0;transform:translate(26px)}}@media(prefers-reduced-motion:reduce){.coach-tip-bubble{animation:none}.coach-tip.leaving .coach-tip-bubble{animation:none;opacity:0}}.web-tool-handle.coach-attention{animation:coach-handle-pulse 1.7s ease-out 2}@keyframes coach-handle-pulse{0%{box-shadow:0 12px 24px #14202b1f,0 0 #0e8f7873}70%{box-shadow:0 12px 24px #14202b1f,0 0 0 14px #0e8f7800}to{box-shadow:0 12px 24px #14202b1f,0 0 #0e8f7800}}@media(prefers-reduced-motion:reduce){.web-tool-handle.coach-attention{animation:none}}.web-tool-handle{position:relative}.web-tool-handle.has-unread-messages:after{position:absolute;top:-4px;right:-4px;width:11px;height:11px;border:2px solid rgba(255,255,255,.94);border-radius:999px;background:#2d6cdf;box-shadow:0 3px 8px #2d6cdf5c;content:""}.web-tool-tray{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));left:max(14px,env(safe-area-inset-left));z-index:7;display:grid;justify-items:center;gap:10px;pointer-events:none}.web-tool-tray>*{pointer-events:auto}.web-tool-panel{position:relative;display:grid;gap:12px;width:min(340px,100%);min-height:118px;padding:12px 18px 16px;border:1px solid var(--glass-border);border-radius:22px;background:var(--glass-bg-strong);box-shadow:var(--glass-shadow-lg);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);touch-action:none}.viewer-shell.designer-share-presented .web-tool-tray{top:max(66px,calc(env(safe-area-inset-top) + 66px));right:max(18px,env(safe-area-inset-right));bottom:auto;left:auto;z-index:11;justify-items:end;transform:none}.viewer-shell.designer-share-presented .web-tool-panel[data-panel=share]{animation:designer-share-sheet-slide-in .19s ease-out}.web-tool-panel[data-panel=chat]{grid-template-rows:auto auto minmax(0,1fr);width:min(430px,100%);height:min(640px,calc(100vh - 96px));height:min(640px,calc(100dvh - 96px));min-height:430px;padding:12px 16px 16px;animation:tool-chat-sheet-slide-in .19s ease-out}.web-tool-dismiss-x{display:none}.chat-tool-panel{display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:0;min-width:0;min-height:0}@keyframes designer-share-sheet-slide-in{0%{opacity:0;transform:translate(calc(100% + 18px))}to{opacity:1;transform:translate(0)}}@keyframes tool-chat-sheet-slide-in{0%{opacity:0;transform:translate(calc(100% + 18px))}to{opacity:1;transform:translate(0)}}.web-tool-grabber{justify-self:center;width:44px;height:5px;padding:0;border-radius:999px;background:#cfd8e3;cursor:pointer}.web-tool-heading{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:12px}.web-tool-heading:has(.mini-icon-button[aria-label="Back to scene tools"]),.web-tool-heading:has(.mini-icon-button[aria-label="Close share"]),.web-tool-heading:has(.mini-icon-button[aria-label="Close messages"]){position:relative}.web-tool-heading span{overflow:hidden;color:#17202a;font-size:.9rem;font-weight:750;text-align:left;text-overflow:ellipsis;white-space:nowrap}.web-tool-heading:has(.mini-icon-button[aria-label="Back to scene tools"]) span,.web-tool-heading:has(.mini-icon-button[aria-label="Close share"]) span,.web-tool-heading:has(.mini-icon-button[aria-label="Close messages"]) span{position:absolute;left:28px;right:28px;text-align:center}.web-tool-heading .mini-icon-button[aria-label="Close share"]{grid-column:3;justify-self:end}.mini-icon-button{width:28px;height:28px;padding:0;border-radius:999px;line-height:0;box-shadow:none}.mini-icon-button.active,.web-tool-action.active{color:#fff;border-color:#0084b8;background:#0084b8}.cross-section-bar{position:absolute;left:50%;bottom:max(58px,calc(env(safe-area-inset-bottom) + 58px));z-index:9;display:flex;align-items:center;gap:12px;max-width:min(620px,calc(100vw - 24px));padding:7px 14px;border:1px solid var(--glass-border);border-radius:999px;color:#17202a;background:var(--glass-bg-soft);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);transform:translate(-50%);transition:bottom .22s cubic-bezier(.22,1,.36,1)}@media(orientation:portrait)and (max-width:820px){.viewer-shell:has(.web-tool-tray.expanded) .cross-section-bar{bottom:max(250px,calc(env(safe-area-inset-bottom) + 250px))}.control-panel{top:auto;bottom:0;left:0;right:0;width:100%;height:34vh;height:34dvh;max-height:34dvh;padding:16px 16px calc(14px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;box-shadow:0 -10px 30px #14202b2e;transform-origin:bottom center;transform:translateY(calc(100% + 16px))}.control-panel.presented{transform:translateY(0)}.web-tool-panel[data-panel=menu] .web-tool-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}.snapshot-strip{position:absolute;left:50%;bottom:max(58px,calc(env(safe-area-inset-bottom) + 58px));z-index:8;display:flex;align-items:center;gap:8px;max-width:min(680px,calc(100vw - 32px));padding:6px 10px;border:1px solid var(--glass-border);border-radius:999px;color:#17202a;background:var(--glass-bg-soft);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);transform:translate(-50%);transition:bottom .22s cubic-bezier(.22,1,.36,1);animation:snapshot-strip-rise .22s cubic-bezier(.22,1,.36,1)}@keyframes snapshot-strip-rise{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.snapshot-strip-label{display:inline-flex;flex:none;align-items:center;gap:6px;padding:6px 8px;margin:-6px 0;border:0;border-radius:999px;background:transparent;cursor:pointer;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:#17202a99}.snapshot-strip-label:hover{background:var(--glass-bg-hover);color:#17202ad9}.snapshot-strip-label svg{width:13px;height:13px}.snapshot-strip-collapse-indicator{opacity:.7}.snapshot-strip.collapsed{padding:6px 8px}.snapshot-strip.collapsed .snapshot-strip-label{margin:0;padding:2px 4px}.snapshot-strip-viewport{position:relative;display:flex;align-items:center;min-width:0;flex:1 1 auto}.snapshot-strip-viewport:has(.snapshot-strip-scroller.scrollable){min-width:72px}.snapshot-strip-scroller{display:flex;align-items:center;gap:8px;min-width:0;width:100%;padding:54px 2px 2px;margin-top:-52px;overflow-x:hidden;touch-action:pan-y;scrollbar-width:none}.snapshot-strip-scroller::-webkit-scrollbar{display:none}.snapshot-strip-scroller.scrollable{padding-left:34px;padding-right:34px}@property --fade-l{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --fade-r{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --plat-l{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --plat-r{syntax: "<length>"; inherits: false; initial-value: 0px;}.snapshot-strip-scroller{--plateau: 34px;--ramp: 58px;--fade-l: 0px;--fade-r: 0px;--plat-l: 0px;--plat-r: 0px;-webkit-mask-image:linear-gradient(to right,transparent 0,transparent var(--plat-l),#000 var(--fade-l),#000 calc(100% - var(--fade-r)),transparent calc(100% - var(--plat-r)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,transparent var(--plat-l),#000 var(--fade-l),#000 calc(100% - var(--fade-r)),transparent calc(100% - var(--plat-r)),transparent 100%);transition:--fade-l .16s ease,--fade-r .16s ease,--plat-l .16s ease,--plat-r .16s ease}.snapshot-strip-scroller.fade-left{--plat-l: var(--plateau);--fade-l: var(--ramp)}.snapshot-strip-scroller.fade-right{--plat-r: var(--plateau);--fade-r: var(--ramp)}.snapshot-strip-scroller.scrollable{cursor:grab}.snapshot-strip-scroller.grabbing{cursor:grabbing;user-select:none;-webkit-user-select:none}.snapshot-scroll-chevron{position:absolute;top:50%;z-index:4;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:1px solid var(--glass-border-soft);border-radius:999px;color:#17202a;background:var(--glass-bg);box-shadow:0 2px 8px #11202a29;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(-50%) scale(.85);transition:opacity .16s ease,transform .16s ease,background .14s ease}.snapshot-scroll-chevron.left{left:2px}.snapshot-scroll-chevron.right{right:2px}.snapshot-scroll-chevron.visible{opacity:1;pointer-events:auto;transform:translateY(-50%) scale(1)}.snapshot-scroll-chevron:disabled{opacity:.32;pointer-events:none;cursor:default}.snapshot-scroll-chevron:hover:not(:disabled){background:var(--glass-bg-hover)}.snapshot-scroll-chevron svg{width:16px;height:16px}.snapshot-chip-group{position:relative;display:inline-flex;flex:none;align-items:center}.snapshot-chip{display:inline-flex;flex:none;align-items:center;gap:6px;max-width:190px;padding:7px 14px;border:1px solid var(--glass-border-soft);border-radius:999px;font:inherit;font-size:13px;font-weight:600;white-space:nowrap;color:#17202a;background:var(--glass-bg);cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.snapshot-chip span{overflow:hidden;text-overflow:ellipsis}.snapshot-chip svg{flex:none;width:15px;height:15px}.snapshot-chip:hover{background:var(--glass-bg-hover)}.snapshot-chip.active{color:#fff;border-color:#0084b8;background:#0084b8}.snapshot-chip-add{border-style:dashed;color:#17202ab8;background:transparent}.snapshot-chip-add:hover{color:#17202a;background:var(--glass-bg-hover)}.snapshot-chip-bubble{position:absolute;bottom:calc(100% + 10px);left:50%;z-index:5;display:inline-flex;align-items:center;gap:4px;padding:5px;border:1px solid var(--glass-border-soft);border-radius:12px;background:var(--glass-bg);box-shadow:0 8px 24px #11202a38;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transform:translate(-50%);transform-origin:bottom center;animation:snapshot-bubble-pop .16s cubic-bezier(.22,1,.36,1)}.snapshot-chip-bubble:after{content:"";position:absolute;top:100%;left:50%;width:12px;height:12px;margin:-7px 0 0 -6px;border-right:1px solid var(--glass-border-soft);border-bottom:1px solid var(--glass-border-soft);background:var(--glass-bg);transform:rotate(45deg)}.snapshot-chip-edit{position:relative;z-index:1;display:inline-flex;flex:none;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:8px;color:#17202a;background:transparent;cursor:pointer}.snapshot-chip-edit svg{width:14px;height:14px}.snapshot-chip-edit:hover{background:var(--glass-bg-hover)}.snapshot-chip-edit.danger{color:#c23b3b}.snapshot-chip-edit.danger:hover{background:#c23b3b1f}.snapshot-chip-edit.confirm{color:#0084b8}.snapshot-chip-edit.confirm:hover{background:#0084b81f}.snapshot-chip-rename-input{width:148px;height:28px;padding:0 8px;border:1px solid var(--glass-border-soft);border-radius:8px;font:inherit;font-size:13px;font-weight:600;color:#17202a;background:#ffffffb3}.snapshot-chip-rename-input:focus{outline:none;border-color:#0084b8;box-shadow:0 0 0 2px #0084b840}@keyframes snapshot-bubble-pop{0%{opacity:0;transform:translate(-50%) translateY(4px) scale(.9)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.viewer-shell:has(.snapshot-strip) .cross-section-bar{bottom:max(114px,calc(env(safe-area-inset-bottom) + 114px))}@media(max-width:640px){.snapshot-strip-label>span{display:none}.snapshot-strip{max-width:calc(100vw - 24px)}}@media(orientation:portrait)and (max-width:820px){.viewer-shell:has(.web-tool-tray.expanded) .snapshot-strip{bottom:max(250px,calc(env(safe-area-inset-bottom) + 250px))}.viewer-shell:has(.web-tool-tray.expanded):has(.snapshot-strip) .cross-section-bar{bottom:max(306px,calc(env(safe-area-inset-bottom) + 306px))}}.cross-section-pip{position:absolute;top:0;left:0;z-index:7;width:clamp(110px,18vw,280px);aspect-ratio:1;padding:14px;border:1px solid rgba(0,0,0,.08);border-radius:16px;background:#fff;box-shadow:0 4px 10px #00000038;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .22s cubic-bezier(.22,1,.36,1);animation:cross-section-pip-enter .18s ease-out}.cross-section-pip.dragging{cursor:grabbing;transition:none;box-shadow:0 8px 22px #0000004d}.cross-section-pip-outline{display:block;width:100%;height:100%;pointer-events:none;overflow:hidden}.cross-section-pip-move{position:absolute;top:6px;left:6px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:#1b27339e;background:#ffffffc7;opacity:0;transition:opacity .14s ease-out;pointer-events:none}.cross-section-pip-move svg{width:16px;height:16px}.cross-section-pip:hover .cross-section-pip-move,.cross-section-pip.dragging .cross-section-pip-move{opacity:1}@media(pointer:coarse){.cross-section-pip-move{opacity:1}}.cross-section-pip.measuring{cursor:crosshair;z-index:201}.cross-section-pip.measuring .cross-section-pip-move{display:none}.cross-section-pip-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;background:#0f171f4d;cursor:crosshair;touch-action:none;animation:cross-section-pip-scrim-in .16s ease-out}@keyframes cross-section-pip-scrim-in{0%{opacity:0}to{opacity:1}}.cross-section-pip-measure-surface{pointer-events:all;cursor:crosshair;touch-action:none}.cross-section-pip-caliper-label{font-size:7px;font-weight:800;fill:#17202a;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.cross-section-pip-measure-toggle{position:absolute;bottom:6px;right:6px;width:28.8px;height:28.8px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(0,0,0,.08);border-radius:9.6px;color:#1b2733b3;background:#ffffffe6;box-shadow:0 1px 2px #0000001f;cursor:pointer;transition:color .14s ease,background .14s ease,border-color .14s ease}.cross-section-pip-measure-toggle svg{width:18px;height:18px}.cross-section-pip-measure-toggle:hover{color:#0084b8}.cross-section-pip-measure-toggle.active{color:#fff;background:#0084b8;border-color:#0084b8}@keyframes cross-section-pip-enter{0%{opacity:0}to{opacity:1}}.cross-section-flip-button{display:flex;align-items:center;gap:6px;height:44px;padding:0 16px;border:none;border-radius:999px;color:#2b3742;background:transparent;box-shadow:none;font-size:.9rem;font-weight:650;cursor:pointer}.cross-section-flip-button svg{width:17px;height:17px}.cross-section-flip-button.active{color:#00759f}.cross-section-done-button{display:flex;align-items:center;gap:6px;height:44px;padding:0 16px;border:none;border-radius:999px;color:#2b3742;background:transparent;box-shadow:none;font-size:.9rem;font-weight:650;cursor:pointer}.cross-section-done-button svg{width:15px;height:15px}.cross-section-clear-button{display:flex;align-items:center;gap:6px;height:44px;padding:0 16px;border:none;border-radius:999px;color:#2b3742;background:transparent;box-shadow:none;font-size:.9rem;font-weight:650;cursor:pointer}.cross-section-clear-button svg{width:16px;height:16px}.cross-section-coach{position:absolute;top:22%;left:50%;z-index:9;display:grid;gap:4px;justify-items:center;max-width:min(330px,calc(100vw - 48px));padding:16px 22px 14px;text-align:center;color:#17202a;border:1px solid rgba(0,191,242,.4);border-radius:16px;background:var(--glass-bg-strong);box-shadow:var(--glass-shadow-lg);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);transform:translate(-50%,-50%);pointer-events:none;opacity:1;transition:opacity .55s ease}.cross-section-coach.leaving{opacity:0}.cross-section-coach strong{font-size:.95rem;font-weight:800}.cross-section-coach p{margin:0;font-size:.83rem;line-height:1.4;color:#3c4854}.cross-section-coach .cross-section-coach-secondary{font-size:.76rem;color:#6b7884}.cross-section-coach-stage{position:relative;width:200px;height:110px;margin-bottom:6px;overflow:hidden}.cross-section-coach-stage svg{display:block;width:100%;height:100%}.cross-section-coach-symbol{opacity:.9}.cross-section-coach-cut{stroke:#00bff2;stroke-width:3;stroke-linecap:round;stroke-dasharray:150;animation:cross-section-coach-cut-draw 2.6s ease-in-out infinite}.cross-section-coach-hand path{fill:none;stroke:#2b3742;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cross-section-coach-hand path:last-child{fill:#ffffffeb}.cross-section-coach-draw{animation:cross-section-coach-draw 2.6s ease-in-out infinite}@keyframes cross-section-coach-draw{0%{transform:translate(0);opacity:1}46%{transform:translate(128px,-66px);opacity:1}70%{transform:translate(128px,-66px);opacity:1}85%,to{transform:translate(128px,-66px);opacity:0}}@keyframes cross-section-coach-cut-draw{0%{stroke-dashoffset:150;opacity:.15}12%{opacity:1}46%,70%{stroke-dashoffset:0;opacity:1}85%,to{stroke-dashoffset:0;opacity:0}}@media(prefers-reduced-motion:reduce){.cross-section-coach-draw,.cross-section-coach-cut{animation:none}}.web-tool-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:12px}.web-tool-action{display:grid;place-items:center;gap:6px;min-width:0;min-height:54px;padding:10px 8px;border:1px solid #d9e0e7;border-radius:18px;color:#17202a;background:#f9fbfde0;cursor:pointer}.web-tool-action:disabled{color:#8996a4;cursor:not-allowed;opacity:.6}.web-tool-action svg{width:20px;height:20px}.web-tool-action span{min-width:0;overflow:hidden;font-size:.78rem;font-weight:700;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.tool-share-panel{display:grid;justify-items:center;gap:10px;min-width:0;padding:2px 6px 6px}.tool-share-code{display:grid;place-items:center;width:172px;height:172px;border:1px solid #d8e0e9;border-radius:8px;background:#fff}.share-qr-canvas{display:block;width:148px!important;height:148px!important;max-width:none;max-height:none;image-rendering:pixelated}.tool-share-panel p{max-width:210px;margin:0;color:#53606d;font-size:.82rem;font-weight:650;line-height:1.25;text-align:center}.tool-share-create-button{width:min(190px,100%);min-height:48px;padding:10px 14px;border:1px solid #d9e0e7;border-radius:8px;color:#17202a;background:#fff;font-size:.82rem;font-weight:750;line-height:1.15}.tool-share-create-button:disabled{color:#607080;background:#f7f9fb}.tool-share-copy-button,.qr-copy-button{text-decoration:none;display:inline-grid;grid-auto-flow:column;place-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 12px;border:1px solid #d9e0e7;border-radius:8px;color:#17324f;background:#fff;font-size:.8rem;font-weight:750;cursor:pointer}.share-options{display:grid;gap:8px;width:100%}.share-options .tool-share-copy-button{width:100%}.web-tool-handle{width:min(164px,48vw);height:36px;padding:0;border-radius:18px;line-height:0}.web-tool-tray.expanded .web-tool-handle{display:none}.scanner-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:#14202b80;backdrop-filter:var(--glass-scrim-filter);-webkit-backdrop-filter:var(--glass-scrim-filter)}.scanner-card{display:grid;gap:12px;width:min(420px,100%);padding:14px;border:1px solid var(--glass-border);border-radius:18px;background:var(--glass-bg-strong);box-shadow:var(--glass-shadow-lg);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter)}.scanner-heading{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:12px}.scanner-heading span{color:#17202a;font-size:.98rem;font-weight:760}.scanner-preview{position:relative;overflow:hidden;border-radius:10px;background:#17202a;aspect-ratio:1}.scanner-preview video{display:block;width:100%;height:100%;object-fit:cover}.scanner-reticle{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border:2px solid rgba(255,255,255,.9);border-radius:16px;box-shadow:0 0 0 999px #0003;pointer-events:none}.scanner-card p{margin:0;min-height:1.2em;color:#53606d;font-size:.86rem;font-weight:650;line-height:1.25;text-align:center}.icon-button{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border-radius:8px;color:#17324f;background:#e9eef4;cursor:pointer}.icon-button:hover{background:#dbe6f2}.icon-button.danger{color:#8f2f2f;background:#f3e7e7}.icon-button.danger:hover{background:#ead4d4}.icon-button:disabled{opacity:.4;cursor:not-allowed}.icon-button:disabled:hover{background:#e9eef4}.icon-button.danger:disabled:hover{background:#f3e7e7}.mesh-opacity-control.is-readonly{opacity:.5}.mesh-opacity-control input:disabled{cursor:not-allowed}.icon-button svg{display:block;width:18px;height:18px}.loaded-panel{display:grid;align-content:start;grid-template-rows:auto auto;gap:16px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:2px;touch-action:pan-y;-webkit-overflow-scrolling:touch}.qr-panel{display:grid;gap:12px;padding-bottom:16px;border-bottom:1px solid #e2e8ef}.qr-heading{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px}.qr-heading>svg{width:34px;height:34px;padding:8px;border-radius:8px;color:#17324f;background:#e9eef4}.qr-heading h2{margin:0;color:#17202a;font-size:.96rem;line-height:1.2}.qr-heading span{display:block;margin-top:2px;color:#6a7786;font-size:.82rem}.qr-code{display:grid;place-items:center;padding:10px;border:1px solid #d8e0e9;border-radius:8px;background:#fff}.qr-link{display:block;min-width:0;overflow:hidden;color:#00759f;font-size:.76rem;line-height:1.3;text-overflow:ellipsis;text-decoration:none;white-space:nowrap}.qr-link:hover{text-decoration:underline}.qr-copy-button{width:100%}.mesh-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;position:relative}.panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #e2e8ef}.panel-heading h1{margin:0;color:#17202a;font-size:1.04rem;line-height:1.1}.panel-heading span{color:#6a7786;font-size:.86rem}.mesh-list{display:grid;align-content:start;gap:10px;min-height:0;padding-top:12px;padding-right:12px;overflow:auto}.mesh-list,.loaded-panel{scrollbar-width:none}.mesh-list::-webkit-scrollbar,.loaded-panel::-webkit-scrollbar{display:none}.mesh-scroll-indicator{position:absolute;right:2px;width:4px;border-radius:999px;background:#3c485861;pointer-events:none;opacity:1;z-index:2;transition:opacity .22s ease}.mesh-row{display:grid;gap:10px;--mesh-role-color: #8a8f98;padding:10px;border:1px solid #e0e7ef;border-radius:8px;background:#fbfcfe}.mesh-row.mesh-role-upper{--mesh-role-color: #5b7fa6}.mesh-row.mesh-role-lower{--mesh-role-color: #5a8f84}.mesh-row.mesh-role-abutment{--mesh-role-color: #b7854f}.mesh-row.mesh-role-crown{--mesh-role-color: #8b6fa8}.mesh-row.selected{border-color:#0084b8;box-shadow:inset 3px 0 #0084b8}.mesh-row-header{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-flow:column;grid-auto-columns:34px;align-items:center;gap:10px}.mesh-name{display:grid;gap:4px;min-width:0;padding:0;color:inherit;text-align:left;background:transparent;cursor:pointer}.mesh-name span{min-width:0;overflow:hidden;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.mesh-name small{display:flex;align-items:center;gap:6px;color:#6a7786;font-size:.76rem}.mesh-name small i{width:8px;height:8px;flex:0 0 auto;border-radius:999px;background:var(--mesh-role-color)}.mesh-opacity-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 10px;color:#53606d;font-size:.78rem}.mesh-opacity-control span{font-weight:650}.mesh-opacity-control output{color:#53606d;font-variant-numeric:tabular-nums;text-align:right}.mesh-opacity-control input{grid-column:1 / -1;width:100%;accent-color:#0084b8}.panel-placeholder{display:flex;align-items:center;justify-content:center;gap:10px;color:#a6b2bf}@media(min-width:821px){.viewer-shell{--control-panel-width: min(390px, calc(100vw - 32px) )}.qr-panel{justify-items:stretch}}@media(max-width:700px),(orientation:landscape)and (max-height:500px){.loaded-panel .qr-panel{display:none}}@media(max-width:720px){.designer-workspace-actions,.case-row{grid-template-columns:minmax(0,1fr)}.designer-workspace-actions .case-search-field{width:100%;justify-self:stretch}.case-row-actions{justify-content:stretch}.case-actions-primary{flex:1 1 auto}.case-actions-primary button{flex:1 1 120px}}@media(max-width:760px){.designer-case-toolbar{align-items:flex-start}.designer-case-toolbar .viewer-toolbar-title-group{max-width:min(420px,calc(100vw - 140px))}.designer-case-toolbar .viewer-toolbar-actions{flex:1 1 auto;margin-left:0;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.designer-case-toolbar .viewer-toolbar-actions::-webkit-scrollbar{display:none}}@media(max-width:600px){.designer-case-toolbar .viewer-history-button span{display:none}.designer-case-toolbar .viewer-history-button{gap:0;padding:0 7px}}.mini-icon-button .web-tool-chevron-right{display:none}@media(orientation:landscape),(min-width:821px){.viewer-shell{--viewer-visual-center-y-offset: -6px}.mini-icon-button .web-tool-chevron-down{display:none}.mini-icon-button .web-tool-chevron-right{display:block}.viewer-shell{--control-panel-width: min(340px, calc(100vw - 32px) )}.viewer-shell.menu-presented{--legend-top-limit: min(638px, 58dvh)}.viewer-shell.viewer-mode-designer.menu-presented{--legend-top-limit: min(688px, 58dvh)}.viewer-shell.menu-presented:has(.controls-legend) .control-panel{height:min(620px,calc(58dvh - 18px))}.viewer-shell.viewer-mode-designer.menu-presented:has(.controls-legend) .control-panel{height:min(620px,calc(58dvh - 68px))}.viewer-shell.viewer-mode-designer.menu-presented .viewer-toolbar-actions{pointer-events:none}.viewer-shell.viewer-mode-designer.menu-presented .viewer-toolbar-actions>.floating-capsule-button:not(.send-doctor-toolbar-button){display:none}.viewer-shell.viewer-mode-designer.menu-presented .send-doctor-toolbar-button{pointer-events:auto}.viewer-shell.viewer-mode-designer.menu-presented .open-files-context{display:inline-grid}.web-tool-tray{top:calc(var(--viewer-toolbar-bottom, 62px) + 12px);right:max(15px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));left:auto;justify-items:end;align-content:center;transform:none}.web-tool-tray:not(.expanded){right:max(6px,env(safe-area-inset-right))}.snapshot-strip{bottom:max(12px,env(safe-area-inset-bottom));max-width:min(680px,calc(100vw - 132px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)))}.viewer-shell:has(.snapshot-strip) .cross-section-bar{bottom:max(68px,calc(env(safe-area-inset-bottom) + 68px))}.viewer-undo-redo-group,.web-tool-tray.expanded .viewer-undo-redo-group{position:static;display:inline-flex;flex-direction:column}.viewer-undo-redo-group .floating-icon-button{width:38px;height:38px}.viewer-undo-redo-group .viewer-undo-button{border-right:1px solid var(--glass-border);border-bottom:none;border-radius:999px 999px 0 0}.viewer-undo-redo-group .viewer-redo-button{border-radius:0 0 999px 999px}.web-tool-tray.expanded .web-tool-panel:not([data-panel=chat]){max-height:100%;overflow-y:auto;overscroll-behavior:contain}.web-tool-panel{width:116px;min-height:auto;padding:10px 14px 12px;gap:8px}.web-tool-message-action{margin-top:16px}.web-tool-message-action:before{content:"";position:absolute;top:-12px;left:50%;width:52%;height:1px;background:#0f172a24;transform:translate(-50%)}.web-tool-heading{gap:6px}.web-tool-panel[data-panel=menu] .web-tool-heading{grid-template-columns:minmax(0,1fr);justify-items:center}.web-tool-panel[data-panel=menu] .web-tool-heading>div[aria-hidden=true],.web-tool-panel[data-panel=menu] .web-tool-heading span{display:none}.web-tool-panel[data-panel=menu] .web-tool-heading .mini-icon-button{grid-column:1;justify-self:center}.web-tool-panel[data-panel=share]{width:270px;min-height:286px;justify-items:center;padding:10px 18px 16px 22px}.web-tool-panel[data-panel=chat]{grid-template-rows:auto minmax(0,1fr);width:min(430px,calc(100vw - 38px));height:min(640px,calc(100vh - 36px));height:min(640px,calc(100dvh - 36px));min-height:min(430px,calc(100vh - 36px));padding:12px 16px 16px 22px}.web-tool-heading span{font-size:.84rem;text-align:center}.web-tool-panel[data-panel=share] .web-tool-heading,.web-tool-panel[data-panel=chat] .web-tool-heading{grid-template-columns:28px minmax(0,1fr) 28px;width:100%}.web-tool-panel[data-panel=share] .web-tool-heading>div[aria-hidden=true]{display:none}.web-tool-panel[data-panel=chat] .web-tool-heading>div[aria-hidden=true]{display:none}.web-tool-grabber{position:absolute;left:0;top:0;width:22px;height:100%;background:transparent;transform:none}.web-tool-grabber:before{position:absolute;left:6px;top:50%;width:4px;height:56px;border-radius:999px;background:#cfd8e3;content:"";transform:translateY(-50%)}.web-tool-actions{grid-template-columns:minmax(0,1fr);justify-items:center;gap:8px}.web-tool-action{width:66px;height:66px;min-height:0;padding:7px 4px;border-radius:14px}.web-tool-action span{font-size:.68rem}.web-tool-handle{width:38px;height:136px}}@media(orientation:landscape)and (max-height:500px){.web-tool-panel[data-panel=share]{min-height:276px}.web-tool-tray.expanded:not(:has(.web-tool-panel[data-panel=chat])){grid-template-rows:auto minmax(0,1fr);align-content:stretch}.web-tool-tray.expanded .web-tool-panel:not([data-panel=chat]){align-self:center}.web-tool-panel[data-panel=menu]{width:max-content;max-width:calc(100vw - 90px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));max-height:calc(100dvh - 16px)}.web-tool-panel[data-panel=menu] .web-tool-actions{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-template-rows:none;grid-auto-columns:66px;justify-items:center;gap:8px}.web-tool-message-action{margin-top:0;margin-left:16px}.web-tool-message-action:before{top:50%;left:-12px;width:1px;height:52%;transform:translateY(-50%)}.web-tool-panel[data-panel=menu] .web-tool-heading{grid-template-columns:28px minmax(0,1fr) 28px;justify-items:stretch}.web-tool-panel[data-panel=menu] .web-tool-heading>div[aria-hidden=true],.web-tool-panel[data-panel=menu] .web-tool-heading span{display:block}.web-tool-panel[data-panel=menu] .web-tool-heading .mini-icon-button{grid-column:3;justify-self:end}.mini-icon-button .web-tool-chevron-down{display:block}.mini-icon-button .web-tool-chevron-right{display:none}.viewer-shell:has(.web-tool-tray.expanded) .snapshot-strip{display:none}}@media(orientation:portrait)and (max-width:540px),(orientation:landscape)and (max-height:500px){.web-tool-tray:has(.web-tool-panel[data-panel=chat]){top:0;right:0;bottom:0;left:0;z-index:40;transform:none;align-items:end;pointer-events:auto;background:#0f172a6b}.web-tool-tray:has(.web-tool-panel[data-panel=chat]) .web-tool-handle{display:none}.web-tool-panel[data-panel=chat]{width:100%;height:calc(100dvh - max(32px,calc(env(safe-area-inset-top) + 18px)));max-height:calc(100dvh - 28px);min-height:0;border:0;border-radius:22px 22px 0 0;grid-template-rows:auto minmax(0,1fr);padding:14px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.web-tool-panel[data-panel=chat]>.web-tool-grabber{display:none}.web-tool-panel[data-panel=chat] .web-tool-dismiss-left{visibility:hidden}.web-tool-panel[data-panel=chat] .web-tool-dismiss-x{display:inline-grid;grid-column:3}}@media(min-width:1180px){.control-panel{width:396px}.web-tool-panel{width:116px;min-height:auto}.web-tool-panel[data-panel=chat]{width:430px}.web-tool-handle{height:156px}}.viewer-turn-banner{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:30;padding:6px 14px;border-radius:999px;background:#b45309eb;color:#fff;font-size:13px;font-weight:600;box-shadow:0 2px 10px #00000026;pointer-events:none}.nav-gizmo{position:absolute;left:12px;bottom:12px;z-index:8;display:flex;flex-direction:column;gap:6px;align-items:flex-start;pointer-events:auto;font-size:12px;color:#1f2933}.nav-gizmo-views{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.nav-gizmo-actions{display:flex;gap:4px}.nav-gizmo-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--glass-border);border-radius:9px;background:var(--glass-bg-soft);color:#1f2933;font-size:13px;font-weight:600;line-height:1;cursor:pointer;box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);transition:background .12s ease,border-color .12s ease,transform .05s ease}.nav-gizmo-btn:hover{background:#fff;border-color:#0f172a47}.nav-gizmo-btn:active{transform:translateY(1px)}.nav-gizmo-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}.nav-gizmo-panel{width:232px;padding:12px;border-radius:14px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow-lg);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto}.nav-gizmo-panel-header{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:13px}.nav-gizmo-close{border:none;background:transparent;cursor:pointer;font-size:13px;color:#6b7280;padding:2px 6px;border-radius:6px}.nav-gizmo-close:hover{background:#0f172a0f;color:#1f2933}.nav-gizmo-field{display:flex;flex-direction:column;gap:5px}.nav-gizmo-field-label{display:flex;align-items:center;justify-content:space-between;font-weight:600;color:#374151}.nav-gizmo-field-value{font-variant-numeric:tabular-nums;font-weight:500;color:#6b7280}.nav-gizmo-field input[type=range]{width:100%;accent-color:#2563eb}.nav-gizmo-segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.nav-gizmo-segmented button{border:1px solid rgba(15,23,42,.14);border-radius:6px;background:#fff;padding:5px 0;font-size:12px;font-weight:600;color:#374151;cursor:pointer}.nav-gizmo-segmented button.active{background:#2563eb;border-color:#2563eb;color:#fff}.nav-gizmo-checkbox{display:flex;align-items:center;gap:8px;font-weight:600;color:#374151;cursor:pointer}.nav-gizmo-checkbox input{accent-color:#2563eb}.nav-gizmo-defaults{border:1px solid rgba(15,23,42,.14);border-radius:7px;background:#fff;padding:7px 0;font-size:12px;font-weight:600;color:#374151;cursor:pointer}.nav-gizmo-defaults:hover{background:#0f172a0a}.nav-gizmo-legend{margin:0;font-size:11px;line-height:1.45;color:#6b7280}.controls-legend{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:var(--legend-bottom);z-index:9;width:var(--control-panel-width);max-height:calc(100dvh - var(--legend-top-limit) - var(--legend-bottom) - 8px);overflow:hidden;padding:13px 16px 15px;display:flex;flex-direction:column;gap:9px;border-radius:19px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow-lg);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);color:#1f2933;font-size:13.5px;line-height:1.25;pointer-events:none;-webkit-user-select:none;user-select:none;transition:transform .22s ease,opacity .18s ease,visibility 0s linear 0s,bottom .22s ease,max-height .22s ease}.controls-legend-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.controls-legend-collapse{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;padding:0;border-radius:8px;border:1px solid rgba(15,23,42,.2);background:var(--glass-bg-soft);color:#1f2933;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .05s ease}.controls-legend-collapse svg{width:17px;height:17px}.controls-legend-collapse:hover{background:#fff;border-color:#0f172a47}.controls-legend-collapse:active{transform:translateY(1px)}.controls-legend-fab{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:9;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;border:1px solid rgba(15,23,42,.2);background:var(--glass-bg-strong);box-shadow:var(--glass-shadow-lg);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);color:#1f2933;cursor:pointer;pointer-events:auto;transition:background .12s ease,border-color .12s ease,transform .05s ease,opacity .18s ease,visibility 0s linear 0s}.controls-legend-fab-glyph{font-size:19px;font-weight:600;line-height:1;transform:translateY(-1px)}.controls-legend-fab:hover{background:#fff;border-color:#0f172a47}.controls-legend-fab:active{transform:translateY(1px)}@media(max-width:1200px){.viewer-shell:has(.snapshot-strip),.viewer-shell:has(.cross-section-bar){--legend-bottom: max(112px, calc(env(safe-area-inset-bottom) + 112px) )}.viewer-shell:has(.snapshot-strip):has(.cross-section-bar){--legend-bottom: max(170px, calc(env(safe-area-inset-bottom) + 170px) )}}.controls-legend-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px 18px;align-items:start;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.controls-legend-body::-webkit-scrollbar{display:none}.controls-legend-body.scrollable{pointer-events:auto}.controls-legend-scroll-indicator{position:absolute;right:5px;width:4px;border-radius:999px;background:#3c485861;pointer-events:none;z-index:2}.controls-legend-more{position:absolute;left:50%;bottom:5px;transform:translate(-50%);display:inline-flex;align-items:center;justify-content:center;width:26px;height:18px;padding:0;border-radius:9px;border:1px solid rgba(15,23,42,.14);background:var(--glass-bg-strong);color:#1f2933;cursor:pointer;pointer-events:auto;z-index:2}.controls-legend-more svg{width:14px;height:14px}.controls-legend-more:hover{background:#fff}.controls-legend-section{display:flex;flex-direction:column;gap:4px}.controls-legend-section-title{font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#2563eb}.controls-legend-rows{margin:0;display:flex;flex-direction:column;gap:3px}.controls-legend-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.controls-legend-gesture{display:flex;align-items:center;gap:4px;min-width:0;font-weight:600;color:#1f2933}.controls-legend-action{margin:0;text-align:right;white-space:nowrap;color:#52606d}.controls-legend-key{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 5px;border-radius:5px;border:1px solid var(--glass-border);background:var(--glass-bg-soft);font-family:inherit;font-size:13px;font-weight:700;line-height:1;color:#1f2933}@media(orientation:portrait)and (max-width:820px){.controls-legend{bottom:max(60px,calc(env(safe-area-inset-bottom) + 56px));max-height:calc(100dvh - 200px)}.viewer-shell:has(.web-tool-tray.expanded) .controls-legend,.viewer-shell:has(.web-tool-tray.expanded) .controls-legend-fab{display:none}.viewer-shell.menu-presented .controls-legend,.viewer-shell.menu-presented .controls-legend-fab{display:none}}@media(max-height:560px){.controls-legend{font-size:13px}}@media(max-height:240px){.controls-legend{transform:translateY(calc(100% + 24px));opacity:0;visibility:hidden;transition:transform .22s ease,opacity .18s ease,visibility 0s linear .22s}.controls-legend-fab{opacity:0;visibility:hidden;transition:background .12s ease,border-color .12s ease,transform .05s ease,opacity .18s ease,visibility 0s linear .18s}}.scene-note-thread{display:grid;gap:6px;min-width:0;max-height:10.5rem;overflow-y:auto}.scene-note-comment{display:block;min-width:0;margin:0;padding:0;border:0;background:transparent;color:var(--note-ink-strong);font:inherit;font-size:.94rem;line-height:1.35;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere}.scene-note-comment+.scene-note-comment{padding-top:6px;border-top:1px solid rgba(120,90,20,.16)}button.scene-note-comment{cursor:text;width:100%}.scene-note-comment-author{margin-right:5px;font-size:.78rem;font-weight:800;letter-spacing:.01em}.scene-note-comment-author.scene-note-author-doctor{color:#2f6fed}.scene-note-comment-author.scene-note-author-designer{color:#b9740a}.scene-note-comment-placeholder{color:#6d5316a6;font-style:italic}.scene-note-footer{display:flex;justify-content:flex-start}.scene-note-reply-button{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 7px;border:1px solid rgba(140,105,25,.28);border-radius:999px;background:#f5cd5a38;color:var(--note-ink);font-size:.78rem;font-weight:700;cursor:pointer;transition:background .14s ease,color .14s ease}.scene-note-reply-button:hover{background:#f5cd5a66;color:var(--note-ink-strong)}.scene-note-reply-button svg{width:13px;height:13px}.scene-note-reply-composer{display:flex;align-items:flex-end;gap:6px;padding-top:6px;border-top:1px solid rgba(120,90,20,.16)}.scene-note-reply-composer textarea{box-sizing:border-box;min-width:0;flex:1;min-height:24px;max-height:120px;height:24px;overflow-y:auto;resize:none;border:0;outline:0;color:var(--note-ink-strong);background:transparent;font:inherit;font-size:.9rem;line-height:1.35}.scene-note-reply-send{display:grid;place-items:center;flex:none;width:26px;height:26px;padding:0;border:0;border-radius:999px;background:#a9780a;color:#fff;cursor:pointer}.scene-note-reply-send:disabled{opacity:.4;cursor:default}.scene-note-reply-send svg{width:13px;height:13px}.scene-note-measure-header{display:flex;align-items:center;gap:5px;margin:0 0 2px;padding:0 0 6px;border-bottom:1px solid rgba(0,132,184,.18);color:#386379;font-size:.72rem;font-weight:700;letter-spacing:.01em}.scene-note-measure-header svg{width:12px;height:12px;color:#0084b8}.scene-note-measure-header strong{color:#0084b8;font-size:.74rem;font-weight:800}.scene-note-bubble.scene-note-measurement-note{border:1px solid var(--note-border);background:var(--note-bg-strong)}.scene-note-bubble.scene-note-measurement-note:after{display:block;border-right-color:#0084b880;border-bottom-color:#0084b880}.scene-note-bubble.scene-note-measurement-note{transform-origin:50% 100%;animation:scene-measurement-note-expand .3s cubic-bezier(.3,1.45,.55,1) backwards}.scene-note-bubble.scene-note-measurement-note.scene-note-collapsing{animation:scene-measurement-note-collapse .19s cubic-bezier(.55,0,.8,.4) forwards;pointer-events:none}@keyframes scene-measurement-note-expand{0%{opacity:0;transform:translate(-50%,calc(-100% - 20px)) scale(.15)}to{opacity:1;transform:translate(-50%,calc(-100% - 20px)) scale(1)}}@keyframes scene-measurement-note-collapse{0%{opacity:1;transform:translate(-50%,calc(-100% - 20px)) scale(1)}to{opacity:0;transform:translate(-50%,calc(-100% - 20px)) scale(.12)}}@media(prefers-reduced-motion:reduce){.scene-note-bubble.scene-note-measurement-note,.scene-note-bubble.scene-note-measurement-note.scene-note-collapsing{animation-duration:1ms}}.scene-note-marker-badge{position:absolute;display:grid;place-items:center;width:27px;height:27px;padding:0;border:2px solid #ffffff;border-radius:10px 10px 10px 2px;background:var(--note-badge);color:var(--note-badge-ink);box-shadow:0 6px 14px #14202b47;transform:translate(-50%,-50%);cursor:pointer;pointer-events:auto;transition:transform .15s ease}.scene-note-marker-badge:hover{transform:translate(-50%,-50%) scale(1.12)}.scene-note-marker-badge svg{width:14px;height:14px}.viewer-brand-watermark{position:absolute;right:18px;bottom:14px;z-index:5;width:clamp(84px,12vw,136px);opacity:.45;pointer-events:none;-webkit-user-select:none;user-select:none}@media(max-width:600px){.viewer-brand-watermark{right:12px;bottom:10px;width:76px}}.chat-readonly-hint{margin:10px 2px 0;padding-top:10px;border-top:1px solid rgba(207,216,227,.82);color:#637181;font-size:.85rem;text-align:center}.case-scope-toggle{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:#eef1f5;border:1px solid #dde3ea}.case-scope-toggle button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius:999px;background:transparent;color:#4a5563;font-size:13px;font-weight:600;cursor:pointer}.case-scope-toggle button svg{width:15px;height:15px}.case-scope-toggle button.active{background:#fff;color:#14213d;box-shadow:0 1px 3px #0f172a29}.case-owner{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin-top:2px;padding:2px 9px;border-radius:999px;background:#eef2fb;color:#2f4a8a;font-size:12px;font-weight:600}.case-owner svg{width:13px;height:13px}.viewer-history-banner{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:14px;max-width:min(92vw,620px);padding:7px 8px 7px 16px;border-radius:999px;background:#b45309f0;color:#fff;font-size:13px;font-weight:600;box-shadow:0 2px 12px #00000038}.viewer-history-banner-label{display:inline-flex;align-items:center;gap:8px;min-width:0}.viewer-history-banner-label svg{width:15px;height:15px;flex:none}.viewer-history-banner-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-history-banner-actions{display:inline-flex;gap:6px;flex:none}.viewer-history-exit{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;color:#fff;background:#ffffff29}.history-dialog{max-width:460px;width:min(100%,460px)}.history-list{display:flex;flex-direction:column;gap:8px;margin:4px 0 0;padding:0;list-style:none;max-height:48vh;overflow-y:auto}.history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #e2e8f0;border-radius:12px;background:#fbfcfe}.history-row.current{border-color:#c7d6f5;background:#f3f7ff}.history-row.previewing{border-color:#f5a623;box-shadow:0 0 0 1px #f5a623 inset}.history-row-main{display:flex;flex-direction:column;gap:3px;min-width:0}.history-row-date{font-size:14px;font-weight:700;color:#14213d}.history-row-meta{font-size:12px;color:#637181}.history-row-outcome{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.01em}.history-row-outcome.approved{color:#166534;background:#dcfce7}.history-row-outcome.changes_requested{color:#92400e;background:#fef3c7}.history-row-actions{display:inline-flex;align-items:center;gap:8px;flex:none}.history-row-view{flex:none;padding:6px 14px;border:0;border-radius:999px;background:#0084b8;color:#fff;font-size:13px;font-weight:700;cursor:pointer}.history-row-restore{display:inline-flex;align-items:center;gap:6px;flex:none;padding:6px 12px;border:1px solid #d9e0e7;border-radius:999px;background:transparent;color:#475569;font-size:13px;font-weight:700;cursor:pointer}.history-row-restore svg{width:14px;height:14px}.history-row-restore:hover{border-color:#b45309;color:#b45309}.history-row-restore:disabled{opacity:.6;cursor:default}.history-empty{margin:8px 0;color:#3f4b5a;font-size:14px;line-height:1.45}.history-empty.history-error{color:#b4232a}.history-hint{margin:12px 0 0;color:#4a5563;font-size:12px;line-height:1.45}
