:root{font-family:Arial,Helvetica,sans-serif;color:#253c40;background:#f6f6f2;font-synthesis:none;--accent:#186b70;--line:#dce1dd;--header-height:64px;--footer-height:32px}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{opacity:.45;cursor:default}button,input{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,#scene:focus-visible{outline:3px solid #248c99;outline-offset:3px}[hidden]{display:none!important}#app{height:100vh;height:100dvh;padding-top:calc(var(--header-height) + env(safe-area-inset-top));display:grid;grid-template-rows:minmax(0,1fr) calc(var(--footer-height) + env(safe-area-inset-bottom));overflow:hidden}.brand{position:fixed;inset:0 0 auto;z-index:20;height:calc(var(--header-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 3% 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:#fafaf7}.brand-name{font-family:Georgia,Times New Roman,serif;font-size:24px;letter-spacing:-.6px;white-space:nowrap}.brand-note{font-size:13px;letter-spacing:.06em;color:#637574}main{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:0;min-width:0;width:100%;overflow:hidden}.viewer{position:relative;min-height:0;min-width:0;background:radial-gradient(ellipse at 48% 42%,#fff,#f5f5f0 64%,#eceee8);overflow:hidden}.heading{position:absolute;top:23px;left:4%;right:4%;z-index:2;pointer-events:none}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;color:#557476}.heading .eyebrow{margin-bottom:9px}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(26px,2.5vw,38px);font-weight:400;letter-spacing:-1px;line-height:1.1;margin:0}#scene{position:absolute;inset:113px 0 83px}canvas{display:block;width:100%;height:100%;touch-action:none}.leaders,.labels{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.leaders path{fill:none;stroke:#607c79;stroke-width:1;opacity:.5}.part-label{position:absolute;top:0;left:0;border:0;border-bottom:1px solid #b9c7c1;background:#f7f8f2ed;padding:5px 7px;font-size:12px;line-height:16px;border-radius:3px;white-space:nowrap;pointer-events:auto}.part-label:hover,.part-label.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.scene-status{position:absolute;bottom:65px;left:4%;display:flex;gap:8px;align-items:center;font-size:12px;color:#58706f;pointer-events:none}.status-mark{width:6px;height:6px;background:#357d7b;border-radius:50%}.status-separator{color:#aeb9b3}.reset{position:absolute;bottom:16px;right:4%;padding:9px 11px;border:1px solid #ccd4cf;background:#fafbf6;border-radius:6px;font-size:12px}.reset span{font-size:18px;vertical-align:middle;margin-right:3px}.help{position:absolute;bottom:15px;left:4%;display:flex;gap:9px;align-items:center;max-width:calc(92% - 183px);font-size:12px;line-height:1.45;color:#6a7b76}.help p{margin:0}.help-icon{font-size:23px;color:#81948f}.mobile-help{display:none}.panel{min-height:0;min-width:0;display:flex;flex-direction:column;border-left:1px solid var(--line);background:#fafbf7;padding:25px 22px 18px;overflow:hidden}.panel-title{font-size:17px;font-weight:600;margin-bottom:22px;flex-shrink:0}.panel-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:22px;gap:4px;flex-shrink:0}.panel-tabs button{flex:1;min-width:0;border:0;border-bottom:2px solid transparent;background:transparent;font-size:14px;padding:12px 4px;color:#6c7e78}.panel-tabs button[aria-selected=true]{border-color:var(--accent);color:var(--accent);font-weight:600}.panel-content{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;flex:1;padding:4px}.control-block h2{font-size:14px;font-weight:600;margin:0 0 18px}.segmented{display:flex;background:#e9ede8;padding:4px;border-radius:7px;margin-bottom:25px;gap:2px}.segmented button{flex:1;padding:11px 2px;font-size:14px;white-space:nowrap;border:0;border-radius:4px;background:transparent;color:#627570}.segmented button[aria-pressed=true]{background:#fff;color:#14595e;box-shadow:0 1px 5px #243d3913}.range-heading{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:14px}.range-heading output{font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums;background:#e6efeb;border-radius:4px;padding:4px 7px;white-space:nowrap}input[type=range]{accent-color:var(--accent);width:100%;margin:12px 0 8px;height:20px;cursor:pointer}.range-ends{display:flex;justify-content:space-between;font-size:12px;color:#74857d}.toggle{position:relative;display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;font-size:14px;line-height:1.4;margin-top:18px;min-height:34px}.toggle input{position:absolute;right:0;width:38px;height:32px;opacity:0;cursor:pointer}.switch{width:34px;height:20px;flex-shrink:0;border-radius:20px;background:#cbd2cd;pointer-events:none}.switch:before{content:"";display:block;width:14px;height:14px;margin:3px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0002;transition:transform .15s}.toggle input:checked+.switch{background:var(--accent)}.toggle input:checked+.switch:before{transform:translate(14px)}.toggle input:focus-visible+.switch{outline:3px solid #248c99;outline-offset:4px}.cut-toggle{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.cut-toggle small{display:block;color:#75867e;font-size:12px;line-height:1.5;margin-top:6px;max-width:220px}.details .eyebrow{margin:0 0 14px}.details h2{font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:400;letter-spacing:-.4px;margin:0 0 10px}.details p{font-size:14px;line-height:1.55;color:#697c74;margin:0 0 20px}.part-list{display:grid;gap:3px}.part-list button{border:0;background:transparent;display:flex;align-items:center;gap:8px;padding:9px 6px;text-align:left;border-radius:4px;font-size:14px;min-height:38px}.part-list button:hover,.part-list button[aria-pressed=true]{background:#e7eeea;color:var(--accent)}.part-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#829291}.dot-crown{background:#d8cdb3}.dot-gum{background:#cd9391}.dot-bone{background:#cbbb93}.part-arrow{margin-left:auto;color:#8b9c94}.keyboard-help{flex-shrink:0;font-size:12px;line-height:1.5;color:#75877d;margin:20px 0 0;padding-top:14px;border-top:1px solid var(--line)}footer{min-width:0;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--line);padding:3px 16px calc(3px + env(safe-area-inset-bottom));font-size:12px;line-height:1.3;color:#74847c;text-align:center;background:#f6f7f2;overflow:hidden}#load-state{position:absolute;inset:0;z-index:5;background:#f7f7f2;display:flex;justify-content:center;align-items:center;flex-direction:column;padding:30px;text-align:center;font-size:14px}#load-state button{padding:12px 24px;background:var(--accent);color:#fff;border:0;border-radius:5px}.spinner{width:28px;height:28px;border:2px solid #d9e4dd;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1600px){main{grid-template-columns:minmax(0,1fr) 380px}.panel{padding:30px}.part-label{font-size:14px}}@media(max-height:850px){:root{--header-height:56px}.panel{padding:18px}.panel-title{margin-bottom:12px}.panel-tabs{margin-bottom:16px}.heading{top:17px}h1{font-size:30px}#scene{top:98px}.keyboard-help{margin-top:12px}.part-list{grid-template-columns:1fr 1fr}.part-list button{font-size:13px}.details .eyebrow{margin-bottom:10px}}@media(max-width:1100px){main{grid-template-columns:minmax(0,1fr) 312px}.brand-note{display:none}.brand-name{font-size:22px}.heading h1{font-size:28px}.help,.part-label,.scene-status{font-size:11px}}@media(max-width:760px){:root{--header-height:54px;--footer-height:40px}.brand{padding-left:18px;padding-right:18px}.brand-name{font-size:clamp(17px,5vw,22px)}main{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 272px}.viewer{height:auto}.heading{top:13px;left:18px;right:18px}.heading h1{font-size:clamp(22px,5.6vw,28px);letter-spacing:-.7px}.heading .eyebrow{font-size:10px;margin-bottom:6px}#scene{inset:87px 0 86px}.part-label{font-size:10px;padding:4px 5px;line-height:15px}.scene-status{bottom:64px;left:18px;font-size:10px;gap:6px}.reset{right:14px;bottom:9px;padding:5px 8px;font-size:11px}.reset span{font-size:16px}.help{left:18px;bottom:7px;max-width:calc(100% - 173px);font-size:10px;line-height:1.35}.help-icon,.desktop-help{display:none}.mobile-help{display:block}.panel{border-left:0;border-top:1px solid var(--line);padding:6px 14px 9px}.panel-title,.keyboard-help{display:none}.panel-tabs{margin-bottom:7px}.panel-tabs button{padding:10px 3px;font-size:14px}.panel-content{padding:2px 3px}.control-block h2,.details .eyebrow{display:none}.segmented{margin-bottom:12px}.segmented button{padding:9px 3px}.range-heading{font-size:13px}input[type=range]{margin:6px 0 2px;height:22px}.range-ends{display:none}.cut-toggle{padding-top:8px;margin-top:7px}.cut-toggle small{display:none}.toggle{margin-top:7px;min-height:34px}.details h2{font-size:20px;margin-bottom:6px}.details p{font-size:12px;line-height:1.4;margin-bottom:8px}.part-list{grid-template-columns:1fr 1fr;gap:2px}.part-list button{font-size:12px;min-height:31px;padding:6px 4px}.part-arrow{display:none}footer{font-size:10px;padding-left:15px;padding-right:15px}}@media(max-height:650px)and (min-width:761px){:root{--header-height:48px;--footer-height:28px}.brand-name{font-size:21px}.panel{padding:9px 14px}.panel-title,.keyboard-help{display:none}.panel-tabs{margin-bottom:10px}.panel-tabs button{padding:9px 3px}.control-block h2,.details .eyebrow,.range-ends,.cut-toggle small{display:none}.segmented{margin-bottom:13px}.segmented button{padding:8px 3px}.toggle{margin-top:10px;min-height:30px}.cut-toggle{padding-top:12px;margin-top:10px}.details h2{font-size:20px;margin-bottom:7px}.details p{font-size:12px;line-height:1.4;margin-bottom:10px}.part-list button{font-size:12px;min-height:30px;padding:5px}.heading{top:10px}.heading h1{font-size:24px}.heading .eyebrow{font-size:10px;margin-bottom:5px}#scene{inset:75px 0 65px}.help{font-size:10px;line-height:1.3;max-width:calc(92% - 155px);bottom:9px}.reset{font-size:10px;padding:6px;bottom:10px}.scene-status{font-size:10px;bottom:48px}}@media(max-height:700px)and (max-width:760px){main{grid-template-rows:minmax(0,1fr) 254px}.heading .eyebrow{display:none}.heading h1{font-size:21px}#scene{top:64px;bottom:50px}.scene-status{bottom:34px}.help{display:none}.reset{bottom:4px}.panel-tabs button{padding:8px 3px}.part-list button{min-height:28px;padding:4px}.details p{margin-bottom:5px}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}.compact-scene .part-label{padding:2px 4px;font-size:10px;line-height:13px}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.viewer{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.heading{position:relative;inset:auto;padding:20px 4% 8px}#scene{position:relative;inset:auto;min-height:0;width:100%;height:100%}.viewer-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:10px 4% 14px;align-items:center}.scene-status{position:static;grid-column:1/-1;flex-wrap:wrap;min-width:0;row-gap:4px;line-height:1.4}.help{position:static;grid-column:1;grid-row:2;max-width:none;min-width:0;font-size:12px;line-height:1.45}.reset{position:static;grid-column:2;grid-row:2;max-width:100%;align-self:center}html[data-embedded] #app{position:fixed;inset:var(--embedded-top,0px) 0 auto;height:var(--embedded-height,100dvh)}html[data-embedded] .brand{top:var(--embedded-top,0px)}@media(max-width:760px){.heading{padding:12px 18px 7px}.viewer-tools{padding:8px 14px 10px;gap:8px 12px}.scene-status{grid-column:1;grid-row:1;font-size:11px;gap:5px}.reset{grid-column:2;grid-row:1;font-size:11px}.help{grid-column:1/-1;grid-row:2;font-size:12px;line-height:1.45}}@media(max-width:760px)and (max-height:700px){.help{display:none}.viewer-tools{padding:5px 14px 7px}.heading{padding-top:8px}}@media(max-width:760px){html[data-compact-viewport] main{grid-template-rows:minmax(0,1fr) 254px}html[data-compact-viewport] .help,html[data-compact-viewport] .heading .eyebrow{display:none}html[data-compact-viewport] .heading h1{font-size:21px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.focus-model{display:none}@media(max-width:760px){:root{--header-height:48px;--footer-height:32px}main,html[data-compact-viewport] main{grid-template-rows:minmax(0,1fr) 220px}main[data-panel=display],html[data-compact-viewport] main[data-panel=display]{grid-template-rows:minmax(0,1fr) 230px}main[data-panel=parts],html[data-compact-viewport] main[data-panel=parts]{grid-template-rows:minmax(0,1fr) 254px}.heading{padding:8px 16px 4px}.heading .eyebrow{display:none}.heading h1{font-size:21px}.viewer-tools{padding:4px 12px 6px;gap:4px 8px}.scene-status{font-size:10px}.scene-status #cut-status,.scene-status .status-separator{display:none}.help{display:flex;font-size:10px;grid-column:1;grid-row:2;line-height:1.35}.focus-model{display:block;grid-column:2;grid-row:2;border:0;background:transparent;color:var(--accent);padding:6px 0;font-size:11px;text-decoration:underline;text-underline-offset:3px}html[data-compact-viewport] .help{display:flex}.panel-tabs{margin-bottom:4px}.panel-tabs button{padding:8px 3px}.segmented{margin-bottom:6px}.segmented button{padding:8px 3px}.cut-toggle{margin-top:3px;padding-top:4px}main.model-focused,html[data-compact-viewport] main.model-focused{grid-template-rows:minmax(0,1fr) 46px}.model-focused .panel-content{display:none}}html[data-short-wide]{--header-height:42px;--footer-height:24px}html[data-short-wide] main,html[data-short-wide][data-compact-viewport] main{grid-template-columns:minmax(0,1fr) 260px;grid-template-rows:minmax(0,1fr)}html[data-short-wide] .brand{padding-left:16px;padding-right:16px}html[data-short-wide] .brand-name{font-size:21px}html[data-short-wide] .brand-note,html[data-short-wide] .heading .eyebrow,html[data-short-wide] .help,html[data-short-wide] .focus-model,html[data-short-wide] .panel-title,html[data-short-wide] .keyboard-help,html[data-short-wide] .control-block h2,html[data-short-wide] .details .eyebrow,html[data-short-wide] .range-ends,html[data-short-wide] .cut-toggle small{display:none}html[data-short-wide] .heading{padding:7px 12px 3px}html[data-short-wide] .heading h1{font-size:20px;line-height:1.1}html[data-short-wide] .viewer-tools{padding:3px 10px 5px;gap:4px}html[data-short-wide] .scene-status{grid-column:1;grid-row:1;font-size:10px}html[data-short-wide] .scene-status #cut-status,html[data-short-wide] .status-separator{display:none}html[data-short-wide] .reset{grid-column:2;grid-row:1;font-size:10px;padding:5px}html[data-short-wide] .panel{border-top:0;border-left:1px solid var(--line);padding:5px 10px}html[data-short-wide] .panel-content{display:block;padding:2px;overflow:auto}html[data-short-wide] .panel-tabs{margin-bottom:4px}html[data-short-wide] .panel-tabs button{font-size:12px;padding:7px 2px}html[data-short-wide] .segmented{margin-bottom:6px}html[data-short-wide] .segmented button{font-size:12px;padding:7px 2px}html[data-short-wide] .range-heading{font-size:12px}html[data-short-wide] input[type=range]{margin:6px 0 2px}html[data-short-wide] .toggle{font-size:12px;margin-top:6px;min-height:30px}html[data-short-wide] .cut-toggle{padding-top:6px;margin-top:6px}html[data-short-wide] .details h2{font-size:18px;margin-bottom:4px}html[data-short-wide] .details p{font-size:11px;line-height:1.35;margin-bottom:5px}html[data-short-wide] .part-list{grid-template-columns:1fr 1fr;gap:2px}html[data-short-wide] .part-list button{font-size:11px;min-height:28px;padding:3px}html[data-short-wide] footer{font-size:9px}
