.fit-comp-anchor{position:relative;display:flex;align-items:center;flex-shrink:0}.fit-comp-anchor>label{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:10px;min-height:26px}.fit-comp-anchor>label input{width:12px;height:12px;margin:0;accent-color:#2877d3}#fit-comp-panel{position:absolute;right:0;top:34px;width:236px;padding:13px;background:#fffffff8;border:1px solid #d8e5f4;border-radius:10px;box-shadow:0 6px 24px #254c7317;color:#30465e;z-index:12}#fit-comp-panel[hidden]{display:none}#fit-comp-panel>strong{display:block;font-size:12px;font-weight:600;margin-bottom:11px}#fit-comp-panel .fit-comp-value{display:flex;align-items:center;justify-content:space-between;font-size:11px;gap:8px}.fit-comp-value span{display:flex;align-items:center;gap:5px;color:#76849a;font-size:10px}#fit-comp-amount{width:76px;height:29px;padding:4px 7px;border:1px solid #cfdeee;border-radius:6px;text-align:center;color:#244e7a;background:#f9fbff;font-size:12px;font-variant-numeric:tabular-nums}#fit-comp-amount:invalid{border-color:#d97474}#fit-comp-panel p{font-size:10px;line-height:1.65;color:#77859a;margin:10px 0}.fit-comp-actions{display:flex;gap:6px;justify-content:flex-end}.fit-comp-actions button{font-size:10px;line-height:1.4;height:26px;padding:4px 8px;border:1px solid #d9e4ef;background:#fff;color:#536d88;border-radius:5px;cursor:pointer}.fit-comp-actions button.primary{background:#2877d3;border-color:#2877d3;color:#fff}#fit-comp-panel small{display:block;font-size:10px;line-height:1.6;margin-top:9px;color:#647d98;white-space:normal}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#293e36;background:#eff1ec;font-synthesis:none;font-size:13px;--green:#295c4d;--green-dark:#173b31;--line:#e5e9e1;--muted:#849085;--cream:#f7f8f3}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;transition:background .16s,color .16s,box-shadow .16s;border:0}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #508e76;outline-offset:3px}button svg,i svg{pointer-events:none}svg.lucide{width:17px;height:17px;flex-shrink:0}button:has(svg){display:inline-flex;align-items:center;justify-content:center;gap:8px}a{text-decoration:none;color:inherit}h1,h2,h3,p{margin:0}button[hidden],[hidden]{display:none!important}.topbar{height:76px;background:#173b31;color:#ebf3e9;display:flex;align-items:center;padding:0 28px;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-icon{width:32px;height:35px;color:#cbdfbe}.brand-icon svg{width:30px;height:35px}.brand>span:nth-child(2){font-size:23px;font-weight:550;letter-spacing:2px;display:flex;align-items:center;gap:17px}.brand-en{font-size:9px;letter-spacing:2px;font-weight:450;color:#c0d0c0}.version{font-size:10px;background:#315246;color:#bfceb9;padding:4px 7px;border-radius:4px;letter-spacing:.5px;margin-left:8px}.header-center{display:flex;align-items:center;gap:9px;color:#cad7cd;font-size:11px;white-space:nowrap}.status-dot{width:6px;height:6px;background:#b2d8a7;border-radius:50%;box-shadow:0 0 0 4px #b2d8a712}.divider{width:1px;height:12px;background:#50665a;margin:0 6px}#save-status{color:#99b0a0}.header-actions{display:flex;align-items:center;gap:12px}.header-import,.header-export{height:35px;padding:0 15px;border-radius:6px;font-size:12px;font-weight:550}.header-import{background:transparent;color:#e3ecdf;border:1px solid #5a7060}.header-import:hover{background:#2c4e40}.header-export{background:#dbebcf;color:#254234;min-width:98px}.header-export:hover{background:#f0f7e9}.header-export svg:last-child{width:13px}.icon-btn{width:30px;height:30px;background:transparent;color:#6f8274;border-radius:5px;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{background:#e7ede3}.icon-btn.light{color:#a6bba9;margin-right:2px}.icon-btn.light:hover{background:#315045}.workspace{height:calc(100dvh - 76px);display:grid;grid-template-columns:282px minmax(380px,1fr) 236px;min-height:600px}.tools-panel{display:flex;flex-direction:column;background:#fcfcf8;border-right:1px solid #dce2d8;min-height:0;z-index:5}.panel-heading{padding:27px 24px 23px}.eyebrow{font-size:9px;color:#8a9988;letter-spacing:2px;font-weight:550}.panel-heading h1{font-size:20px;letter-spacing:.2px;font-weight:600;margin:10px 0 8px}.panel-heading p{font-size:11px;color:#92998e;letter-spacing:.15px}.step-tabs{display:flex;margin:0 20px;padding:4px;background:#edf0e8;border:1px solid #e2e7dd;border-radius:7px;gap:3px}.step-tabs button{width:33.33%;display:flex;align-items:center;justify-content:center;gap:6px;height:35px;font-size:11px;background:transparent;color:#8a9585;border-radius:4px}.step-tabs button span{font-size:10px;font-variant-numeric:tabular-nums;opacity:.7}.step-tabs button.active{background:#fcfcf9;color:#315745;box-shadow:0 1px 4px #344b2915;font-weight:600}.tools-scroll{overflow:auto;padding:25px 22px 22px;flex:1;scrollbar-width:thin;scrollbar-color:#d9dfd2 transparent}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title h2{font-size:12px;font-weight:600}.section-title>svg{width:14px;height:14px;color:#9aa494}.small-badge{font-size:9px;letter-spacing:.4px;background:#edf1e6;border:1px solid #e1e6d8;border-radius:4px;color:#7b8f6c;padding:3px 6px}.import-zone{background:#f6f8f0;border:1px dashed #bdcbb5;border-radius:8px;width:100%;display:flex!important;flex-direction:column;gap:8px!important;padding:24px 10px 20px;color:#789273}.import-zone:hover{background:#eaf1e3;border-color:#70936c}.import-zone>svg{width:30px;height:30px;margin-bottom:5px;color:#75986b}.import-zone strong{color:#466043;font-size:12px;font-weight:550}.import-zone span{font-size:10px;color:#8b9a82}.import-zone small{font-size:9px;color:#a1ac98;margin-top:5px}#sample-section{margin-top:20px}.label-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin:14px 0 10px;gap:10px}.label-row>span:last-child:not(:first-child){color:#617a57;font-variant-numeric:tabular-nums}.label-row output{font-size:16px;font-weight:500}.label-row small{font-size:10px;color:#9ba593}.label-row .micro{font-size:9px!important;color:#a2ad99!important}.sample-buttons{display:flex;gap:8px}.sample-buttons button{flex:1;min-width:0;background:#fff;border:1px solid #dfe5d9;border-radius:6px;height:42px;color:#74856a;font-size:11px}.sample-buttons button:hover{border-color:#7d9a6e;background:#f1f5eb}.sample-buttons svg{width:15px;height:20px}.sample-buttons button:first-child svg{transform:rotate(180deg)}.field-label{font-size:10px;color:#819079;display:block;margin:20px 0 9px}.select-wrap{position:relative}.select-wrap select{appearance:none;width:100%;border:1px solid #dfe5d9;background:#fff;border-radius:5px;padding:10px 28px 10px 10px;color:#607456;font-size:11px;white-space:nowrap;text-overflow:ellipsis}.select-wrap>svg{position:absolute;right:10px;top:11px;pointer-events:none;width:13px;height:13px;color:#8c9982}.rule{height:1px;background:var(--line);margin:24px 0}.body-hint{font-size:11px;color:#8c9884;line-height:1.8;margin:0 0 15px}.micro{font-size:10px;color:#a0aa98;line-height:1.8}.button{border-radius:6px;min-height:37px;padding:9px 13px;font-size:11px;font-weight:500;line-height:1.5}.button.full{width:100%}.button.primary{background:#315f47;color:#f3f8ec;border:1px solid #315f47}.button.primary:hover:not(:disabled){background:#234b35;box-shadow:0 3px 8px #36533920}.button.secondary{background:#fbfcf7;color:#697e5d;border:1px solid #dce4d4}.button.secondary:hover:not(:disabled){background:#eef3e6;border-color:#b9c9ac}.next-step.button{margin-top:22px;justify-content:space-between}.rotation-row{display:flex;align-items:center;gap:7px;margin-top:11px}.rotation-row span{font-size:10px;color:#88967d;flex:1}.rotation-row button{font-size:10px;padding:6px 13px;border:1px solid #e0e7d9;border-radius:4px;background:#f9fbf5;color:#829475}.rotation-row button:hover{background:#edf3e5}.rotation-row+.micro{margin-top:14px;font-size:9px}.local-footer{font-size:9px;display:flex;align-items:center;justify-content:center;gap:7px;height:46px;flex-shrink:0;border-top:1px solid #e8eddf;color:#9fa995;background:#f8faf3}.local-footer svg{width:13px;height:13px}.stage{min-width:0;position:relative;overflow:hidden;background:radial-gradient(ellipse at 45% 42%,#f5f5ed 0,#e9eee4 80%)}.stage-heading{position:absolute;z-index:2;top:25px;left:29px;right:27px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.breadcrumb{font-size:10px;color:#98a58e;display:flex;align-items:center;gap:9px;margin-bottom:11px}.breadcrumb span:last-child{color:#74896a}.stage-heading h2{font-size:17px;font-weight:500;color:#486440;display:flex;align-items:center;gap:11px}.stage-tag{color:#94a487;font-size:9px;font-weight:400;border:1px solid #d6dfcc;border-radius:4px;padding:3px 6px;letter-spacing:.4px}.stage-fit{font-size:10px;background:#f7f9f1bd;border:1px solid #d5dfc9;color:#7c8e6d;padding:6px 9px;min-height:30px;box-shadow:0 1px 2px #45662f06}.stage-fit svg{width:13px;height:13px}#viewer{position:absolute;inset:0}#viewer canvas{display:block;touch-action:none;outline:0}.view-toolbar{position:absolute;z-index:3;left:50%;bottom:69px;transform:translate(-50%);display:flex;align-items:center;padding:5px;gap:3px;border:1px solid #d4ddca;background:#fcfdf6e8;border-radius:8px;box-shadow:0 4px 14px #48643208;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.view-toolbar button{height:31px;min-width:33px;padding:0 11px;font-size:10px;color:#8b9b7f;background:transparent;border-radius:4px}.view-toolbar button svg{width:16px;height:16px}.view-toolbar button:hover{background:#ecf2e4}.view-toolbar button.active{background:#e4edde;color:#4b7140}.view-toolbar>span{width:1px;height:15px;background:#e3e9da;margin:0 3px}.stage-bottom{position:absolute;bottom:25px;left:26px;right:26px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.mouse-hint{display:flex;gap:7px;align-items:center;color:#9aaa8d;font-size:9px}.mouse-hint svg{width:13px;height:13px}.unit-label{font-size:9px;color:#9aaa8d;display:flex;gap:8px;align-items:center}.scale-line{width:30px;height:6px;border:1px solid #a7b799;border-top:0}.axis-widget{position:absolute;bottom:120px;right:27px;width:62px;height:62px;pointer-events:none}.axis-widget svg{position:absolute;inset:0;stroke-width:1.5}.axis-widget span{font-size:10px;font-weight:600;position:absolute;z-index:1}.axis-z{left:28px;top:-6px;color:#7896b0}.axis-x{right:-3px;bottom:8px;color:#b99580}.axis-y{left:-3px;bottom:8px;color:#8aab7a}.seed-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.seed-label{position:absolute;top:0;left:0;font-size:9px;font-weight:700;color:#fff;padding:3px 5px;border:1px solid #ffffff9a;border-radius:4px;box-shadow:0 2px 5px #34473225;letter-spacing:.4px}.empty-state{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);text-align:center;white-space:nowrap}.empty-tooth{width:65px;height:75px;margin:0 auto 22px;color:#b2c3a4}.empty-state h2{font-size:23px;font-weight:450;color:#6c8560;margin-bottom:13px}.empty-state p{font-size:12px;color:#9aaa8f;margin-bottom:25px}.objects-panel{background:#f9fbf4;border-left:1px solid #dce4d3;display:flex;flex-direction:column;min-height:0;padding:27px 17px 19px;overflow:auto;scrollbar-width:thin}.objects-heading{display:flex;align-items:center;justify-content:space-between;padding:0 5px;margin-bottom:22px}.objects-heading h2{font-size:12px;font-weight:600;color:#627b55}.objects-heading>span{font-size:10px;color:#94a685;background:#ebf0e2;padding:3px 6px;border-radius:3px}.object-tree{overflow:auto;min-height:110px;max-height:43vh;scrollbar-width:thin;flex-shrink:0}.object-row{width:100%;padding:12px 9px;display:flex!important;align-items:center;justify-content:flex-start!important;gap:9px!important;background:transparent;text-align:left;border:1px solid transparent;border-radius:5px;color:#7b8f6c}.object-row:hover{background:#f0f5e8}.object-row.selected{background:#eaf1df;border-color:#d5e1c8}.object-row>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.object-row strong{font-size:10px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-row small{font-size:9px;color:#a0ad94;font-weight:400}.object-row>svg{width:13px;height:13px;color:#8b9c7b}.object-icon{width:21px;display:flex;align-items:center;justify-content:center}.object-icon svg{width:17px;height:17px}.object-row.child{margin-top:5px}.tree-label{font-size:9px;color:#829773;display:flex;justify-content:space-between;align-items:center;margin:20px 5px 8px}.tree-label span{font-size:8px;color:#a3af98}.tooth-row{padding:9px 8px;margin-top:3px}.tooth-swatch{width:26px;height:28px;background:color-mix(in srgb,var(--tooth-color) 17%,#fff);color:var(--tooth-color);border:1px solid color-mix(in srgb,var(--tooth-color) 24%,#fff);border-radius:5px;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:650}.tooth-chevron{transform:rotate(-90deg);opacity:.5}.objects-empty{padding:35px 10px;font-size:11px;color:#a3b196;line-height:2;text-align:center}.object-spacer{flex:1;min-height:25px}.model-info{padding:0 5px}.model-info .section-title{margin-bottom:17px}.model-info h2{font-size:11px;color:#718762}.model-info dl{margin:0}.model-info dl>div{display:flex;justify-content:space-between;gap:8px;margin:15px 0;align-items:center}.model-info dt{font-size:10px;color:#9bac8c;flex-shrink:0}.model-info dd{font-size:10px;margin:0;color:#758b64;font-variant-numeric:tabular-nums}.model-info dl>div:nth-child(3){align-items:flex-start}.model-info dl>div:nth-child(3) dd{font-size:9px}.good-status{color:#719357;font-size:9px}.warn-status{color:#ba8a43;font-size:9px}.tip-card{margin:15px 0 0;padding:14px 13px;background:#edf2e4;border:1px solid #e0e8d6;border-radius:6px}.tip-card>span{font-size:10px;color:#819b6a;display:block;margin-bottom:8px}.tip-card p{font-size:10px;line-height:1.8;color:#9aab89}.base-diagram{height:119px;border:1px solid #e3e7da;background:#f5f6ee;border-radius:7px;margin:0 0 23px;padding:3px}.base-diagram svg{width:100%;height:100%}input[type=range]{width:100%;height:4px;appearance:none;background:#dfe7d5;border-radius:6px;cursor:pointer;accent-color:#688e51;display:block;margin:17px 0}input[type=range]::-webkit-slider-thumb{appearance:none;width:13px;height:13px;background:#6a8e54;border:3px solid #fbfdf7;box-shadow:0 0 0 1px #91a780;border-radius:50%}input[type=range]::-moz-range-thumb{width:9px;height:9px;background:#6a8e54;border:2px solid #fbfdf7;border-radius:50%}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:#a5af9b;margin-top:-5px}.space-top{margin-top:27px}.info-card{background:#f1f5e9;border:1px solid #e0e8d6;border-radius:6px;display:flex;gap:10px;padding:14px 11px;margin:20px 0}.info-card>svg{color:#91a77b;width:16px;height:16px;flex-shrink:0;margin-top:1px}.info-card strong{font-size:10px;color:#7a9467;font-weight:500}.info-card p{font-size:10px;color:#9aa98a;line-height:1.8;margin-top:6px}.text-button{display:flex;align-items:center;justify-content:center;gap:7px;background:transparent;font-size:10px;color:#799464;padding:12px 0}.text-button:hover{color:#3c682a}.text-button.next-step{width:100%;margin-top:12px}.text-button svg{width:13px;height:13px}.result-card{display:flex;gap:10px;align-items:center;padding:13px 10px;margin-top:14px;border:1px solid #dce8ce;border-radius:6px;background:#f0f6e8;color:#719257}.result-card>svg{width:18px;height:18px}.result-card strong{font-size:10px;font-weight:500;display:block}.result-card span{font-size:9px;color:#9daf88;display:block;margin-top:5px}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0 26px}.tool-grid button{display:flex;align-items:center;gap:7px;background:#f8fbf1;border:1px solid #e1e8d7;border-radius:5px;color:#99a68c;font-size:10px;height:38px}.tool-grid button svg{width:14px;height:14px}.tool-grid button.active{background:#e6efda;border-color:#bdcfaa;color:#62834c}.checkbox{display:flex;align-items:center;gap:8px;font-size:10px;color:#829674;cursor:pointer;margin:12px 0}.checkbox input{accent-color:#6f9057;width:13px;height:13px;margin:0}.checkbox-help{padding-left:21px;margin-top:-3px;margin-bottom:16px;font-size:9px}.button-counter{background:#fff2;border-radius:3px;font-size:9px;padding:1px 6px;margin-left:auto}#segment{margin-top:24px}.edit-actions{display:flex;gap:8px;margin:14px 0 18px}.edit-actions button{flex:1;font-size:10px}.edit-actions button svg{width:13px;height:13px}.note-card{font-size:10px;line-height:1.9;color:#a09f81;background:#f6f5eb;border:1px solid #e9e7d7;padding:12px;border-radius:5px}#tooth-properties{padding:0 5px}#tooth-properties .rule{margin:17px 0}#tooth-properties .field-label{margin-top:0}#tooth-name{width:100%;background:#fff;border:1px solid #dce6d1;border-radius:4px;padding:9px 10px;font-size:11px;color:#739060}.tooth-actions{display:flex;gap:8px;margin-top:10px}.tooth-actions .button{flex:1;font-size:9px;min-height:31px;padding:7px}.tooth-actions svg{width:13px;height:13px}.tooth-actions .icon-btn{border:1px solid #e2e8d8;height:32px;color:#a3ad99}#tooth-properties>.text-button{width:100%;font-size:9px}.busy-overlay{position:absolute;inset:0;z-index:20;background:#f2f5ebcf;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px}.busy-overlay strong{font-size:14px;font-weight:500;color:#6c8958}.busy-overlay>span{font-size:10px;color:#a0b38e}.spinner{width:33px;height:33px;border:2px solid #dbe5cf;border-top-color:#759557;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:8px}@keyframes spin{to{transform:rotate(360deg)}}.is-busy .tools-panel,.is-busy .objects-panel,.is-busy .header-actions,.is-busy .view-toolbar{pointer-events:none}.is-busy .step-tabs{opacity:.6}#toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%);z-index:1000;background:#2d523d;color:#edf4e5;border:1px solid #567347;border-radius:8px;padding:13px 20px;font-size:12px;max-width:min(650px,90vw);line-height:1.7;box-shadow:0 6px 24px #263c2720}#toast.error{background:#745541;border-color:#937258;color:#fff4e7}.dragging:after{content:"松开以导入 STL 模型";position:fixed;inset:12px;border:2px dashed #7e9d65;background:#f0f5e6ee;z-index:1000;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:27px;color:#719252;pointer-events:none}dialog{border:1px solid #dce5d0;background:#fcfdf7;border-radius:14px;padding:30px;width:min(440px,90vw);color:#536e43;box-shadow:0 20px 80px #263d2530}dialog::backdrop{background:#173b3150;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:19px}.dialog-heading h2{font-size:21px;font-weight:500;margin-top:9px;color:#4e6c3d}.dialog-heading .icon-btn{margin-top:-5px;margin-right:-9px}.export-options{display:flex;flex-direction:column;gap:10px;margin:24px 0}.export-options button{padding:17px;border:1px solid #dfe8d4;border-radius:8px;background:#f4f8ed;display:flex;align-items:center;gap:15px;color:#779562}.export-options button:hover:not(:disabled){background:#eaf2df;border-color:#b6cca1}.export-options button>span{flex:1;text-align:left;display:flex;flex-direction:column;gap:7px}.export-options strong{font-size:12px;font-weight:550;color:#678751}.export-options small{font-size:10px;color:#a1b38e}.export-options button>svg:last-child{width:15px;height:15px}.help-steps{padding-left:23px;counter-reset:steps;margin:25px 0}.help-steps li{padding-left:7px;margin:20px 0;color:#78965f}.help-steps li::marker{font-size:12px}.help-steps strong{font-size:13px;font-weight:550}.help-steps p{font-size:11px;color:#96a786;line-height:1.9;margin-top:7px}#help-dialog>.body-hint{margin:18px 0}#help-dialog{width:min(490px,90vw)}.tool-grid .full-row{grid-column:1/-1}.gum-guide{background:#faf0ef;border:1px solid #e9d6d5;border-radius:6px;padding:12px;margin-bottom:21px}.gum-guide>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.gum-guide strong{font-size:10px;color:#9e6370;font-weight:550}.gum-guide strong span{margin-left:4px;background:#eddbdb;border-radius:3px;padding:2px 5px;font-size:9px}.gum-guide p{font-size:10px;color:#ae8790;line-height:1.8;margin-top:6px}.gum-guide .text-button{padding:0;font-size:9px;color:#a47580}.tool-grid button[data-mode=gum].active{background:#f4e2e3;border-color:#cea5ad;color:#a0576a}.gum-seed-label{background:#a65066;border-color:#f4d5dc;color:#fff}.boundary-options{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:15px}.boundary-options .checkbox{font-size:10px;margin:5px 0}.recompute-hint{margin-top:9px;font-size:9px}.advanced-cut{border-top:1px solid #e5e9dd;padding-top:13px;margin-bottom:18px}.advanced-cut summary{font-size:10px;color:#8c9b7f;cursor:pointer;margin-bottom:13px}.advanced-cut .body-hint{font-size:10px;margin-bottom:0}#reset-tooth-depth{font-size:9px;padding:2px 0 7px}#refine-tooth{font-size:10px;min-height:31px;margin-top:8px}#tooth-properties .label-row{margin-top:15px}#tooth-properties .label-row output{font-size:13px}@media(min-width:1550px){.workspace{grid-template-columns:308px minmax(400px,1fr) 259px}.tools-scroll{padding:27px 26px}.panel-heading{padding-left:27px}.objects-panel{padding-left:22px;padding-right:22px}.stage-heading{top:30px;left:35px}.topbar{padding:0 32px}}@media(max-width:1150px){.workspace{grid-template-columns:254px minmax(330px,1fr) 209px}.header-center{display:none}.tools-scroll{padding-left:18px;padding-right:18px}.panel-heading{padding-left:21px}.objects-panel{padding-left:12px;padding-right:12px}.stage-heading{left:21px;right:17px}.stage-heading h2{font-size:15px}.stage-fit{font-size:0;gap:0!important}.stage-fit svg{width:16px;height:16px}.mouse-hint{font-size:8px}.unit-label,.tree-label span{display:none}.brand-en{font-size:8px}.topbar{padding:0 23px}}@media(max-width:900px){.workspace{grid-template-columns:242px minmax(300px,1fr)}.objects-panel,.brand-en,.version,.header-import{display:none}.topbar{height:64px;padding:0 20px}.workspace{height:calc(100dvh - 64px)}.stage-heading h2{font-size:14px}.stage-tag{display:none}.view-toolbar{gap:1px}.view-toolbar button{padding:0 7px}.panel-heading h1{font-size:19px}}@media(max-width:620px){.workspace{display:flex;flex-direction:column;height:auto;min-height:calc(100dvh - 64px)}.stage{height:55dvh;min-height:370px;order:0}.tools-panel{order:1;border-right:0}.panel-heading{display:none}.step-tabs{margin:14px 18px 0}.tools-scroll{overflow:visible}.local-footer{height:40px}.stage-heading{top:17px;left:18px}.stage-heading h2{font-size:13px}.breadcrumb{font-size:9px;margin-bottom:7px}.view-toolbar{bottom:45px}.stage-bottom{bottom:17px;left:18px}.axis-widget{bottom:95px;right:20px;transform:scale(.7);transform-origin:right bottom}.header-actions{gap:7px}.header-export{min-width:85px}.topbar{padding:0 17px}.tools-scroll{padding-top:20px}.objects-panel{display:flex;order:2;border-top:1px solid #dce4d3;border-left:0;overflow:visible}.object-tree{max-height:300px}.object-spacer{display:none}.model-info{margin-top:20px}.panel-heading+.step-tabs{position:sticky;top:0;z-index:5}.stage-fit{min-height:28px;padding:5px}.note-card{font-size:11px}}.ai-card{padding:14px;border:1px solid #ccdace;background:#f3f7f2;border-radius:12px}.ai-card .field-label{margin-top:8px}.ai-card .field-label:first-child{margin-top:0}.ai-card .micro{margin:9px 0 0;line-height:1.6}.ai-card .body-hint{margin:10px 0 12px}.ai-result{margin-top:12px;padding:10px 12px;border-left:3px solid #659780;background:#f6f8f3;border-radius:4px}.ai-result p{font-size:12px;color:#506756;line-height:1.7;margin:0 0 6px}.geometry-tools{margin:16px 0 12px;border-block:1px solid #e0e5db;padding:12px 0}.geometry-tools summary{cursor:pointer;font-size:12px;color:#5a6f60;font-weight:600}.geometry-tools[open] summary{margin-bottom:10px}.step-tabs button{width:25%;gap:3px;font-size:10px}.step-tabs{margin-inline:14px}.step-tabs button span{font-size:9px}.trim-guide{display:flex;gap:12px;align-items:center;padding:15px 12px;background:#edf6f4;border:1px solid #d1e4df;border-radius:8px;margin-bottom:23px}.trim-guide strong{font-size:11px;color:#3b756d;font-weight:550}.trim-guide p{font-size:10px;line-height:1.8;color:#819d90;margin-top:6px}.trim-swatch{display:inline-block;width:22px;height:3px;border-radius:3px;background:#007f91;flex-shrink:0}.source-swatch{display:inline-block;width:18px;height:2px;background:#62524b}.review-swatch{display:inline-block;width:7px;height:7px;border-radius:50%;background:#dc842c}.trim-status{font-size:10px;margin:12px 0}.trim-result{border:1px solid #d7e5df;border-radius:7px;padding:12px;background:#f1f7f3}.trim-result dl{margin:0}.trim-result dl>div{display:flex;justify-content:space-between;align-items:center;padding:7px 0;font-size:10px}.trim-result dt{color:#819384}.trim-result dd{margin:0;color:#386655;font-variant-numeric:tabular-nums}#trim-warnings p{font-size:10px;line-height:1.85;color:#9c713f;border-top:1px solid #e4e4d8;padding-top:9px;margin-top:9px}.trim-machine-note{margin-top:12px}.trim-legend{position:absolute;z-index:3;bottom:122px;left:50%;transform:translate(-50%);display:flex;gap:15px;padding:9px 13px;border:1px solid #d9e3d3;border-radius:6px;background:#fbfcf7e8;white-space:nowrap;font-size:10px;color:#6a8066;pointer-events:none}.trim-legend>span{display:flex;align-items:center;gap:6px}@media(max-width:620px){.trim-legend{bottom:95px;gap:10px;font-size:9px}}.gingiva-toggle{margin:0 0 15px;color:#597b62}.gingiva-card{padding:13px;border:1px solid #e3d4d6;border-radius:8px;background:#faf5f3}.gingiva-card .label-row{margin-top:0}.gingiva-card .body-hint{font-size:10px;margin:16px 0 13px;color:#977f82}.gingiva-card #gingiva-status{margin-top:10px;color:#82746f;line-height:1.8}.gingiva-card .next-step{margin:4px 0 0;padding-bottom:0}#gingiva-result{margin-top:10px;border-top:1px solid #e6dbd9;padding-top:10px}#gingiva-area{font-size:10px;line-height:1.8;color:#826e73}#gingiva-warnings p{font-size:10px;line-height:1.8;color:#a27c43;margin-top:8px}.base-compare{display:flex;gap:4px;padding:4px;background:#edf1e9;border:1px solid #e0e6d9;border-radius:6px;margin-top:16px}.base-compare button{flex:1;background:transparent;color:#8b9a81;font-size:10px;padding:8px 3px;border-radius:4px}.base-compare button.active{background:#fcfdf8;color:#456e52;box-shadow:0 1px 4px #344b2915}.base-compare button:disabled{opacity:.4}#step-base .base-diagram{display:none}#step-base .rule{margin:20px 0}#step-base .info-card{margin-top:18px}.workflow-diagnostics{font-size:11px;line-height:1.5;margin:8px 0}.workflow-diagnostics summary{cursor:pointer;color:#397ec7}.workflow-diagnostics ol{padding-left:18px;max-height:140px;overflow:auto}.workflow-diagnostics li{margin:5px 0}.tooth-region-tools{position:absolute;right:20px;top:132px;width:246px;z-index:6;padding:12px;border:1px solid #dbe5f2;border-radius:12px;background:#fffffff5;box-shadow:0 6px 24px #284d7812;color:#233b56;font-size:11px}.tooth-region-tools[hidden]{display:none}.tooth-region-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.tooth-region-heading strong{font-size:12px}.tooth-region-heading span{color:#60768e;font-size:10px}.tooth-region-tools p{font-size:10px;line-height:1.6;color:#62758c;margin:8px 0}.tooth-region-tools kbd{font:inherit;background:#edf3fb;border:1px solid #dbe5f2;border-radius:3px;padding:1px 3px}.tooth-region-selection{display:flex;gap:5px;flex-wrap:wrap;min-height:25px;margin:8px 0}.tooth-region-selection span{display:inline-flex;align-items:center;gap:5px;border:1px solid #d5e3f5;border-radius:5px;padding:4px 6px;background:#f1f6fe;color:#294c76}.tooth-region-selection i{width:9px;height:9px;border-radius:3px}.tooth-region-tools .tooth-region-actions{display:flex;gap:6px;margin-top:8px}.tooth-region-tools button{font:inherit;border-radius:6px;border:1px solid #d8e3f2;background:#fff;color:#355778;min-height:30px;padding:5px 8px;cursor:pointer;flex:1}.tooth-region-tools button.primary{background:#397eca;border-color:#397eca;color:#fff}.tooth-region-tools button:disabled{opacity:.42;cursor:default}.tooth-region-tools button:focus-visible{outline:2px solid #2d74c5;outline-offset:2px}.tooth-region-tools .region-save-state{margin-bottom:0}.seed-label.region-selectable{pointer-events:auto;cursor:pointer}.seed-label.region-selected{outline:2px solid #fff;box-shadow:0 0 0 4px #327ccc}.seed-label.region-selectable:focus-visible{outline:3px solid #246ebf}@media(max-width:1100px){.tooth-region-tools{right:12px;width:220px;top:124px}}@media(max-width:700px){.tooth-region-tools{width:196px;right:8px;top:122px;padding:9px}}.tooth-adjusting .tooth-region-tools,.fit-compensating .tooth-region-tools{display:none}:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#373343;background:#f7f6fa;--ink:#373343;--accent:#7858d7;--muted:#8b8599;--border:#e9e5f0}body{color:var(--ink);background:#f7f6fa}button,input,select{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #9276e1;outline-offset:3px}input[type=checkbox],input[type=range]{accent-color:#805dd8}input[type=range]::-webkit-slider-thumb{background:#805dd8;border-color:#fff}input[type=range]::-webkit-slider-runnable-track{background:#e9e3f4}button{color:#686174}button:disabled{opacity:.38;cursor:not-allowed}.topbar{height:68px;padding:0 26px;background:#fff;border-color:var(--border)}.brand,.brand-icon{color:#7251cc}.brand-en{color:#938aa5;letter-spacing:2.1px}.version{color:#8f859e;border-color:#eee8f5;background:#f8f5fc}.header-center{color:#9992a4}.status-dot{background:#8465d0;box-shadow:0 0 0 3px #eee8fa}.divider{background:#e5dfec}.header-import{color:#766887}.header-export,.button.primary,.editor-actions .primary,.editor-navigation .primary{background:#7d5bd5;color:#fff;border:1px solid #7d5bd5;box-shadow:0 3px 9px #7550c522}.header-export:hover:not(:disabled),.button.primary:hover:not(:disabled),.editor-navigation .primary:hover{background:#6c48c6}.button.secondary,.button.stage-fit{color:#72627e;background:#fff;border-color:#e4ddec}.button.secondary:hover:not(:disabled){background:#f3edf9;border-color:#bba6db}.text-button{color:#8465b5}.icon-btn{color:#92869e}.workspace{display:grid;grid-template-columns:218px minmax(620px,1fr);height:calc(100dvh - 68px);padding:0;gap:0}.stage{grid-column:2;grid-row:1;background:#e5e9f8;min-width:0;overflow:hidden;border:0}.stage:before,.stage:after{display:none}#viewer{position:absolute;inset:90px 0 0 294px;transition:left .18s}.stage-heading{left:27px;right:26px;top:22px;z-index:4;pointer-events:none}.stage-heading button{pointer-events:auto}.stage-heading h2{font-size:16px;font-weight:600;color:#504559;letter-spacing:.3px}.breadcrumb{color:#a299ad;font-size:10px}.breadcrumb span{color:#8a7d9b}.stage-tag{font-size:9px;color:#9c8bac;background:#e8e2f0;border-color:#ded4e9}.stage-fit{position:absolute;right:0;top:3px;font-size:10px;min-height:31px;padding:7px 10px}.tools-panel{grid-column:2;grid-row:1;z-index:6;align-self:start;width:264px;max-width:none;margin:90px 0 56px 22px;height:calc(100% - 146px);background:#ffffffed;border:1px solid #ece7f3;border-radius:14px;box-shadow:0 6px 30px #49335b09;overflow:hidden;display:flex;flex-direction:column}.panel-heading{padding:17px 17px 12px}.panel-heading .eyebrow{font-size:8px;color:#b0a5bf;letter-spacing:1.8px}.panel-heading h1{font-size:17px;margin-top:5px;color:#54405f}.panel-heading p{font-size:10px;color:#a293af;margin-top:6px}.step-tabs{margin:0 12px;padding:0;border:0;border-bottom:1px solid #ece6f4;border-radius:0;background:transparent}.step-tabs button{font-size:11px;height:45px;color:#aa9cb7;border:0;border-radius:0;gap:4px}.step-tabs button span{font-size:8px;color:#b6a9c6}.step-tabs button.active{color:#7f55cc;background:#f8f4fe;border-bottom:2px solid #946edb;box-shadow:none}.step-tabs button.active span{color:#946edb}.tools-scroll{padding:16px 16px 24px;scrollbar-width:thin;scrollbar-color:#ded5e8 transparent}.local-footer{height:34px;padding:10px 12px;background:#faf8fd;border-top:1px solid #efe9f5;color:#b3a8c1;font-size:8px}.local-footer svg{width:11px;height:11px}.section-title h2{font-size:12px;color:#675376}.section-title>svg{color:#b6a0c9}.small-badge{background:#f0e9f9;color:#a18bb6;border-color:#e8dff1;font-size:8px}.body-hint,.micro{color:#9b8ba8;line-height:1.8}.body-hint{font-size:11px}.micro{font-size:10px}.field-label,.label-row>label,.label-row>span:first-child{color:#8e7a9e}.label-row output,.label-row>span:last-child{color:#805caa}.range-labels{color:#b3a4be}.rule{background:#ebe4f1}.button{border-radius:7px;min-height:35px;font-size:11px}.button.full{margin-top:12px}.select-wrap{border-color:#e8dff0;background:#fcfaff;border-radius:6px}.select-wrap select{color:#806b93;font-size:11px;min-height:34px}.select-wrap svg{color:#a48bb7}.ai-card{background:#f9f6ff;border-color:#e4d9f2;border-radius:10px;padding:11px}.ai-result{background:#f3eefb;border-color:#aa8ed4}.ai-result p{color:#846a9d}.geometry-tools,.advanced-cut{border-color:#e9e1f0}.geometry-tools summary,.advanced-cut summary{color:#9275a9;font-size:11px}.tool-grid button{background:#fff;border-color:#e6ddee;color:#aa96bb;font-size:10px}.tool-grid button.active{background:#f0e8fc;border-color:#bca4e0;color:#8057b4}.checkbox{color:#9c86af;font-size:10px;line-height:1.6}.checkbox input{border-color:#ddd0ea}.gingiva-card{background:#fcf8fc;border-color:#eee3ed;border-radius:9px;padding:11px}.gingiva-card .body-hint,.gingiva-card #gingiva-status{color:#a58a9e}.gingiva-toggle{color:#8e7198}.base-compare{background:#f6f1fb;border-color:#eee5f5;border-radius:7px}.base-compare button{color:#ac96bb}.base-compare button.active{background:#fff;color:#9465b3}.info-card,.note-card{background:#faf6f0;border-color:#eee7d9;color:#ad986f}.info-card{padding:10px;font-size:10px}.info-card strong,.info-card p{color:#ac9679}.info-card>svg{color:#c5b498}.result-card{background:#f4effc;border-color:#e7daf8;color:#b298cf}.result-card strong{color:#9774b8}.result-card span{color:#b39cc8}.trim-guide{background:#f0f7f8;border-color:#dcebee}.trim-guide strong{color:#80a6ac}.trim-guide p{color:#9bb7ba}.trim-result{background:#f6f2fb;border-color:#e7ddee}.trim-result dt{color:#a792b7}.trim-result dd{color:#9b7ab5}#trim-warnings p{color:#b79c70;border-color:#eadfce}.import-zone{background:#fbf8ff;border-color:#d9c8eb;color:#a58cb9}.import-zone strong{color:#a082b8}.import-zone span,.import-zone small{color:#baa8c8}.sample-buttons button{background:#f9f5fc;border-color:#eaddf4;color:#b19ac3}.rotation-row{color:#b19bc1}.rotation-row button{background:#f6effd;color:#b193c8;border-color:#eadcf6}.objects-panel{grid-column:1;grid-row:1;display:flex;padding:22px 13px 15px;background:#fff;border-right:1px solid #eae3f2;border-left:0;overflow:auto}.project-library{padding:0 3px 17px;margin-bottom:16px;border-bottom:1px solid #eee7f5}.project-library .eyebrow{color:#c3b4cf;font-size:8px;letter-spacing:1.8px}.project-library h2{font-size:16px;color:#8e729f;font-weight:600;margin:8px 0 14px}.project-library .text-button{font-size:10px;margin-top:10px;padding:0;color:#b19ac3}.objects-heading h2{font-size:11px;color:#b29bc5}.objects-heading>span{color:#c9b9d7;background:#f4eef9}.object-tree{overflow:visible;flex-shrink:0;max-height:none}.object-row{min-height:44px;border-color:transparent;border-radius:7px;padding:7px;gap:8px}.object-row strong{font-size:10px;color:#a286b3;max-width:123px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-row small{font-size:8px;color:#c3afcf}.object-row>svg{color:#c9b6d7}.object-row.selected{background:#f3ebfc;border-color:#e9def6}.object-icon{color:#b798ce;background:#f5edfb}.tree-label{color:#baa2ce;font-size:10px;padding:16px 6px 9px}.tree-label span{display:none}.tooth-row .tooth-swatch{width:23px;height:24px;font-size:8px}.tooth-chevron{display:none}.object-spacer{min-height:20px}.model-info{margin-top:18px;padding:12px 4px 0;border-color:#eee3f7}.model-info .section-title h2{font-size:10px;color:#b198c5}.model-info dl>div{font-size:9px;padding:7px 0}.model-info dt{color:#c4acd5}.model-info dd{color:#b598c8}.good-status{color:#91b5a8}.tip-card{padding:12px;background:#faf7fe;border-color:#eee6f6;margin-top:20px}.tip-card>span{color:#b69acb;font-size:10px}.tip-card p{color:#c0a9d0;font-size:10px}.view-toolbar{left:calc(50% + 147px);bottom:64px;background:#fff;border:1px solid #ece6f4;box-shadow:0 3px 20px #5b447010;border-radius:9px;padding:4px 7px;gap:3px;z-index:4}.view-toolbar button{color:#a78ebd;border-radius:5px;font-size:10px;padding:0 8px}.view-toolbar button.active{color:#9664c3;background:#f2eafa}.view-toolbar>span{background:#eee3f6}.axis-widget{right:24px;bottom:119px;opacity:.65;transform:scale(.8);transform-origin:right bottom}.stage-bottom{left:307px;right:24px;bottom:19px}.mouse-hint,.unit-label{color:#b3a0c5;font-size:9px}.trim-legend{left:calc(50% + 147px);bottom:112px;background:#fff;border-color:#e9dff3;color:#b599ca;font-size:9px}.empty-state{left:calc(50% + 147px);color:#b399c9}.empty-state h2{color:#ba9cd1}.empty-state p{color:#c8b0dc}.empty-tooth{color:#bca1d1;background:#e9ddf5;box-shadow:0 0 80px #e3d4f1}.editor-navigation{position:absolute;top:23px;right:122px;z-index:5;display:flex;align-items:center;gap:7px}.editor-navigation button{background:#fff;border:1px solid #e7dced;border-radius:6px;padding:8px 11px;color:#a78ab8;font-size:10px;height:32px}.editor-navigation span{color:#c0a8d0;font-size:9px;margin:0 3px}.display-options{position:absolute;z-index:4;right:23px;top:83px;display:flex;gap:14px;align-items:center;color:#b092c6;font-size:10px}.display-options label{display:flex;align-items:center;gap:5px;cursor:pointer}.display-options button{background:#ffffffb0;padding:7px 10px;border-radius:6px;border:1px solid #e7d8f0;font-size:10px;color:#b08ac9}.editor-tabs{display:flex;gap:3px;background:#f5effb;border-radius:7px;padding:4px;margin-bottom:18px}.editor-tabs button{flex:1;padding:8px 2px;font-size:11px;color:#a889be;border-radius:5px;background:transparent}.editor-tabs button.active{background:#fff;color:#9a70b7;box-shadow:0 2px 5px #68468912}.editor-card{background:#fff;border:1px solid #eaddf3;border-radius:8px;margin:10px 0;overflow:hidden}.editor-card>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;padding:12px 11px;font-size:11px;color:#9d78b5;font-weight:500;background:#fdfbff}.editor-card>summary::-webkit-details-marker{display:none}.editor-card[open]>summary{border-bottom:1px solid #f0e6f7;background:#fbf7ff}.editor-card>summary>input{appearance:none;width:27px;height:15px;border:0;border-radius:10px;background:#e5d8ed;position:relative;cursor:pointer;flex-shrink:0}.editor-card>summary>input:before{content:"";position:absolute;background:#fff;border-radius:50%;width:11px;height:11px;left:2px;top:2px;transition:transform .15s}.editor-card>summary>input:checked{background:#9c70cc}.editor-card>summary>input:checked:before{transform:translate(12px)}.editor-card-body{padding:5px 11px 12px}.editor-card-body>.micro{margin:8px 0;font-size:9px}.editor-field{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#a88aba;margin:12px 0}.editor-field small{font-size:9px;color:#c5aed4}.editor-field input,.editor-field select,.vector-inputs input{border:1px solid #e8daf2;background:#fefcff;color:#a27bb9;border-radius:5px;min-width:0;font-size:11px;padding:7px;width:82px;text-align:right;height:31px}.editor-field input[type=text]{text-align:left}.editor-field select{width:118px;text-align:left}.editor-field.stack{flex-direction:column;align-items:stretch;gap:7px}.editor-field.stack input{width:100%;text-align:left}.editor-actions{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.editor-actions button{font-size:10px;border:1px solid #e3d2f0;background:#fff;border-radius:5px;color:#a983bf;padding:7px 9px;flex:1;white-space:nowrap}.editor-actions button.active,.sculpt-tools button.active,.tooth-picker button.active{background:#ead9fa;border-color:#b898da;color:#9c70bc}.commit-actions{margin-top:16px}.editor-tabs~div>.body-hint{font-size:10px}.vector-inputs{display:flex;gap:5px}.vector-inputs label{font-size:9px;color:#b39ac4;min-width:0;flex:1}.vector-inputs input{width:100%;margin-top:5px;text-align:center;padding:5px}.tooth-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:12px 0}.tooth-picker button{border:1px solid #e9daf4;border-radius:4px;background:#faf5ff;color:#b196c6;padding:5px 0;font-size:10px}.blockout-row{display:flex;align-items:center;justify-content:space-between;background:#f7effe;border-radius:5px;padding:6px 9px;margin:5px 0;font-size:10px;color:#ae8dc5}.blockout-row button{background:transparent;font-size:16px;color:#bea0d2}.design-report{font-size:10px;color:#b398c5;line-height:1.8}.design-report p{margin:8px 0}.sculpt-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.sculpt-tools button{background:#fff;border:1px solid #e8d7f4;color:#b194c6;border-radius:6px;font-size:10px;min-height:43px;padding:6px 2px}.editor-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:12px 0}.editor-presets button{background:#f9f2ff;border-radius:5px;font-size:9px;padding:6px;color:#b49aca}.curve-toolbar{position:absolute;right:20px;bottom:157px;z-index:7;width:278px;background:#ffffffef;border:1px solid #e9d9f4;border-radius:11px;padding:15px;box-shadow:0 8px 35px #6b427a15}.curve-heading{display:flex;align-items:center;justify-content:space-between;color:#a97dc0;font-size:12px}.curve-heading span{font-size:9px;color:#c3a6d5}.curve-toolbar .editor-actions{margin-bottom:0}.curve-toolbar .micro{font-size:9px}.curve-toolbar .checkbox{margin:10px 0}.preview-mode .tools-panel{display:none}.preview-mode #viewer{left:0}.preview-mode .view-toolbar,.preview-mode .trim-legend,.preview-mode .empty-state{left:50%}.preview-mode .stage-bottom{left:27px}.preview-mode .display-options{top:90px}.is-busy .editor-navigation,.is-busy .display-options,.is-busy .curve-toolbar{pointer-events:none}.busy-overlay{background:#eee5f5cc;z-index:30}.busy-overlay strong{color:#a58ab8}.busy-overlay>span{color:#c0a8d1}.spinner{border-color:#dfccec;border-top-color:#b591cf}#toast{background:#725386;border-color:#9273a6;color:#fff}#toast.error{background:#88616b;border-color:#a57b88}dialog{background:#fff;border-color:#e6d7f0;color:#9e7bb4}.dialog-heading h2{color:#9f7bb6}.export-options button{background:#faf4ff;border-color:#e8d7f4;color:#b193c5}.export-options strong{color:#a781be}.export-options small{color:#c2a7d4}.help-steps strong{color:#af8bc4}.help-steps p{color:#c0a3d2}#tooth-name{border-color:#e5d2f0;color:#ad8cc3;background:#fdf9ff}.tools-panel h2,.editor-card>summary{color:#665073}.tools-panel .body-hint,.tools-panel .micro,.editor-card-body>.micro{color:#8c789c}.tools-panel .editor-field,.tools-panel .checkbox{color:#826b94}.editor-field input,.editor-field select,.vector-inputs input{color:#6f5382}.objects-panel .object-row strong{color:#7e6392}.objects-panel .object-row small{color:#a58cb6}.project-library h2{color:#735787}.editor-actions button,.sculpt-tools button{color:#8d6aa3}.curve-heading{color:#865e9e}.curve-toolbar .micro{color:#a285b5}.display-options{color:#9373a8}.stage-heading h2{color:#6b527e}@media(max-width:1200px){.workspace{grid-template-columns:180px minmax(610px,1fr)}.objects-panel{padding-inline:10px}.tools-panel{width:246px;margin-left:16px}#viewer{left:273px}.editor-navigation{right:68px;gap:4px}.editor-navigation button{padding-inline:8px}.stage-fit{font-size:0;width:32px;right:0}.stage-heading{left:21px;right:20px}.stage-tag{display:none}.stage-heading h2{font-size:13px}.view-toolbar,.trim-legend{left:calc(50% + 136px)}.stage-bottom{left:282px}.header-center{display:none}.object-row strong{max-width:105px}.curve-toolbar{width:242px;right:12px}.editor-navigation span{display:none}}@media(max-width:960px){.workspace{grid-template-columns:1fr}.objects-panel{display:none}.stage,.tools-panel{grid-column:1}.brand-en{display:block}.editor-navigation{right:68px}.stage-heading h2{font-size:13px}.stage-heading .breadcrumb{max-width:270px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media(max-width:620px){.topbar{height:58px;padding-inline:15px}.brand-en,.version,.header-import{display:none}.workspace{display:grid;height:calc(100dvh - 58px);min-height:600px;grid-template-columns:1fr;grid-template-rows:50% 50%}.stage{grid-row:1/-1;grid-column:1;min-height:0;height:auto}.tools-panel{grid-row:2;grid-column:1;width:auto;height:calc(100% - 12px);margin:0 10px 12px;max-height:none;z-index:6}.tools-scroll{overflow:auto;padding:12px 16px}.panel-heading{display:none}.step-tabs{position:static;margin:0 12px}.local-footer{display:none}#viewer{inset:100px 0 50%}.editor-navigation{top:58px;left:15px;right:auto}.stage-heading{top:13px;left:16px;right:16px}.stage-heading h2{display:none}.display-options{top:59px;right:15px;font-size:9px;gap:7px}.display-options button{display:none}.view-toolbar{bottom:calc(50% + 12px);left:50%;max-width:95%;gap:0;padding:2px}.view-toolbar button{font-size:9px;padding:0 7px}.stage-bottom,.axis-widget,.trim-legend{display:none}.curve-toolbar{right:8px;bottom:calc(50% + 53px);width:215px;padding:10px}.curve-toolbar .micro,.curve-toolbar .checkbox{display:none}.curve-toolbar .editor-actions button{font-size:9px;padding:5px}.curve-toolbar .commit-actions{margin-top:6px}.preview-mode #viewer{bottom:0}.preview-mode .view-toolbar{bottom:23px}.empty-state{left:50%;top:30%;transform:translate(-50%,-50%)}.empty-state h2{font-size:18px}.preview-mode .display-options{top:59px}}#toggle-library{display:none}#save-status{color:#93879f}.tools-panel .micro,.tools-panel .body-hint{color:#806c90}.object-row small{color:#9b84ad}.display-options button{color:#8b69a2}.model-info dt{color:#9d83b0}.model-info dd{color:#826296}.tip-card>span{color:#9672ad}.tip-card p{color:#a087b3}.header-import:hover{background:#f4effb;color:#78578e}.editor-field input:invalid{border-color:#d991a4}.section-title h2{font-size:13px}.editor-card>summary{font-size:12px}.button,.editor-tabs button{font-size:12px}.editor-actions button,.editor-field,.sculpt-tools button{font-size:11px}.curve-toolbar .micro{color:#9476a5}.curve-toolbar .editor-actions button{font-size:10px}@media(max-width:960px){#toggle-library{display:block;font-size:10px}.library-open .objects-panel{display:flex;position:fixed;left:0;top:68px;bottom:0;width:240px;z-index:12;box-shadow:10px 0 30px #49365d20;background:#fff}.header-actions{gap:7px}.library-open .objects-panel .object-spacer{display:none}}@media(max-width:620px){.library-open .objects-panel{top:58px}#toggle-library{padding:6px;min-height:30px}.header-export{min-width:70px;padding:0 8px}.header-actions{gap:5px}.editor-navigation .primary{padding-inline:7px}.display-options{gap:5px}.button,.editor-field{font-size:11px}}.curve-editing .tools-panel,.curve-editing .objects-panel{pointer-events:none}.curve-editing .tools-panel{opacity:.78}.curve-editing .header-import,.curve-editing #import-top{pointer-events:none}.curve-editing .trim-legend,#trim-height-field[hidden]{display:none}.tools-panel .trim-status.error{color:#a34259}#trim-auto-height-control[hidden],#trim-height-hint[hidden]{display:none}.plane-entry{margin:0 0 16px}.base-plane-toolbar{position:absolute;right:22px;top:128px;width:258px;padding:15px;z-index:8;background:#fffffff2;border:1px solid #ded4ed;border-radius:12px;box-shadow:0 8px 28px #5c457a15}.base-plane-toolbar[hidden]{display:none}.base-plane-toolbar .curve-heading{color:#6c5388}.base-plane-toolbar .curve-heading button{background:transparent;font-size:21px;color:#9787aa;padding:0 2px}.base-plane-toolbar .micro{font-size:11px;line-height:1.7;color:#82738f}.base-plane-toolbar .micro.error{color:#b14d60}.base-plane-toolbar .button{margin-top:8px;font-size:12px}.base-plane-toolbar .editor-actions button{padding:8px 5px;font-size:11px}.is-busy .base-plane-toolbar{pointer-events:none}#base-height{width:98px}@media(max-width:850px){.base-plane-toolbar{width:220px;right:12px;top:117px}}@media(max-width:620px){.base-plane-toolbar{top:100px;right:8px;width:195px;padding:10px}.base-plane-toolbar .micro{font-size:9px}.base-plane-toolbar .editor-actions{margin:6px 0}.base-plane-toolbar .editor-actions button{font-size:9px;padding:6px 3px}.base-plane-toolbar .button{min-height:28px;padding:6px}}.blockout-gap-list{display:grid;gap:4px;margin:10px 0;max-height:240px;overflow:auto}.blockout-gap{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:1px solid #e5e7eb;border-radius:5px;background:#fff;color:#374151;font-size:11px}.blockout-gap>span:last-child{display:flex;align-items:center;gap:5px;color:#6b7280}.blockout-gap:has(input:checked){background:#f3f4f6}.blockout-gap input{accent-color:#6962c7}#blockout-exclusions>summary{font-size:11px;cursor:pointer;padding:8px 0;color:#374151}.objects-panel .project-library{width:100%;min-width:0;border:0;padding:0;margin:0}.patient-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.patient-heading h2{margin:9px 0 16px;color:#655078}.patient-heading button{font-size:23px;width:30px;height:30px;border-radius:8px;background:#f2ecfb;color:#7d5bd5}#patient-search{width:100%;font-size:11px;padding:9px 10px;background:#faf8fd;color:#655078;border:1px solid #e6dfee;border-radius:7px;margin-bottom:14px}.patient-status-key{display:flex;align-items:center;gap:6px;margin:-4px 0 12px;font-size:10px;line-height:16px;color:#6b7a73}.patient-status-key>span{width:6px;height:6px;border-radius:50%;background:#289265}.patient-card{display:flex;align-items:center;gap:4px;min-width:0;height:42px;padding:6px;margin:0 0 5px;border:1px solid #e0e4e9;border-radius:8px;background:#fff}.patient-name{flex:1;min-width:0;font-size:12px;font-weight:550;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#303741}.patient-arch{position:relative;display:grid;place-items:center;flex:0 0 34px;width:34px;height:26px;padding:0;border:1px solid #dde3e9;border-radius:5px;background:#f4f6f8;color:#5f6977;font-size:11px;font-weight:500;line-height:1;white-space:nowrap}.patient-arch:hover{background:#eaf0f6;border-color:#b6c4d3}.patient-arch[data-state=empty]{border-style:dashed;background:transparent;color:#929aa6}.patient-arch[data-state=ready]{background:#e7f5ed;border-color:#bfdfcd;color:#19744e}.patient-arch[data-state=ready]:hover{background:#d9efdf;border-color:#90c5a8}.patient-arch.selected{outline:1.5px solid #3971bb;outline-offset:1px;font-weight:650}.patient-arch:focus-visible{outline:2px solid #2563c7;outline-offset:2px}.patient-arch[data-progress=pending]:after,.patient-arch[data-progress=failed]:after{content:"";position:absolute;right:-2px;top:-2px;width:5px;height:5px;border:1.5px solid #fff;border-radius:50%;background:#d49b32}.patient-arch[data-progress=failed]:after{background:#c35e56}.patient-history{padding:12px 0 4px;margin-top:12px;border-top:1px solid #e5e8ed}.patient-history summary{font-size:10px;color:#68717e;cursor:pointer}.patient-history select{margin-top:9px;width:100%;font-size:10px;border:1px solid #e0e4e9;border-radius:5px;padding:7px 3px;background:#fff;color:#414854}.patient-history p{font-size:9px;color:#68717e;line-height:1.6;margin-top:7px}.patient-context{padding:10px;border:1px solid #e2d5ef;border-radius:7px;background:#f8f3fe;font-size:11px;line-height:1.7;color:#7956a7;margin-top:12px}#patient-import-dialog{width:min(510px,94vw);max-height:90dvh;overflow:auto;background:#fff;border-color:#e5dced;color:#665176}#patient-import-dialog h2{color:#665176}#patient-import-dialog .editor-field{margin:14px 0}#patient-import-dialog input,#patient-import-dialog select{min-height:36px}.patient-file{display:flex;align-items:center;gap:10px;margin-top:10px;padding:9px 10px;border:1px solid #e9e1f1;border-radius:7px;background:#fbf9fe}.patient-file span{font-size:11px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-file select{width:100px;font-size:11px;border:1px solid #e1d5ef;border-radius:5px;color:#806b93;background:#fff}.import-defaults{margin:16px 0 0;padding:11px 13px;background:#f6f1fc;border:1px solid #e8def5;border-radius:8px;color:#8b71a5;font-size:11px;line-height:1.9}#patient-import-status{color:#a56758;margin-top:9px}#step-teeth .object-tree{max-height:260px;overflow:auto}#step-teeth #tooth-properties{padding:0}.patient-heading{padding:8px 0 14px;min-height:52px}.project-library .patient-heading h2{margin:0;line-height:24px}.patient-heading #new-patient{display:grid;place-items:center;padding:0;flex:0 0 30px;line-height:1}.patient-heading #new-patient svg{display:block;width:18px;height:18px}#patient-import-dialog{width:min(610px,94vw)}#choose-patient-files{display:flex;flex-direction:column;gap:8px;padding:20px 12px;border-style:dashed}#choose-patient-files strong{font-size:13px;font-weight:550}#choose-patient-files>span{font-size:11px;color:#6c7b8e}.import-file-hint{font-size:10px;line-height:1.7;color:#758091;margin-top:8px}#patient-name-source{margin:-5px 0 6px;color:#54736a}#patient-file-summary{display:flex;flex-direction:column;gap:5px;margin-top:14px;color:#39465a;font-size:11px;overflow-wrap:anywhere}#patient-file-summary small{font-size:10px;color:#778293}#patient-file-list{max-height:285px;overflow:auto}.patient-file-select{display:flex;align-items:center;gap:9px;flex:1;min-width:0;cursor:pointer}.patient-file-select>input{width:15px;height:15px;min-height:0!important;accent-color:#346cc5;flex-shrink:0}.patient-file-select>span{display:flex;flex-direction:column;gap:5px}.patient-file-select strong{font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-file-select small{font-size:10px;color:#788495}#patient-file-list .patient-file{background:#f8fafc;border-color:#e2e7ee;color:#3d4d61}#patient-file-list select{flex-shrink:0;background:#fff;color:#36475f;border-color:#dce2e9;padding:0 5px}#patient-file-list .patient-file:has(input:checked){border-color:#b9cdec;background:#f4f8ff}#patient-import-dialog input:invalid{border-color:#dce2e9}#patient-import-dialog input:user-invalid{border-color:#bc6672}#patient-import-dialog{padding:24px}#patient-import-dialog .dialog-heading{margin-bottom:12px}#patient-import-dialog .editor-field{margin:10px 0}.import-name-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}#choose-patient-files{padding:14px 12px;gap:6px}#patient-import-dialog .import-defaults{margin-top:10px;padding:7px 11px;font-size:10px;line-height:1.6}#patient-file-summary{margin-top:10px;gap:4px}#patient-file-list .patient-file{padding:7px 9px;margin-top:6px}@media(max-width:460px){#patient-import-dialog{padding:18px}.import-name-grid{grid-template-columns:1fr;gap:0}}#patient-import-dialog:has(#patient-file-summary strong) #choose-patient-files{flex-direction:row;padding:10px 12px;gap:8px}#patient-import-dialog:has(#patient-file-summary strong) #choose-patient-files>span{display:none}.import-submit{position:sticky;bottom:-24px;padding:10px 0 24px;margin-bottom:-24px;background:#fff;z-index:2;box-shadow:0 -7px 10px #ffffffd9}#submit-patient-import{margin-top:0}@media(max-width:460px){.import-submit{bottom:-18px;padding-bottom:18px;margin-bottom:-18px}}#patient-import-dialog .import-defaults{background:none;border:0;padding:0;margin-top:10px;line-height:1.6}.patient-delete{display:grid;place-items:center;flex:0 0 22px;width:22px;height:26px;padding:0;border-radius:5px;background:transparent;color:#8b94a1}.patient-delete:hover:not(:disabled){background:#fff0f1;color:#b34250}.patient-delete:focus-visible{outline:2px solid #b34250;outline-offset:2px}.patient-delete:disabled{opacity:.35;cursor:not-allowed}.patient-trash-link{display:block;margin:8px 0;color:#79828e!important;font-size:11px}#patient-delete-dialog,#patient-trash-dialog{width:min(460px,92vw);max-height:85dvh;overflow:auto;padding:24px;background:#fff;color:#39465a;border:1px solid #e1e6ed}#patient-delete-dialog h2,#patient-trash-dialog h2{font-size:18px;color:#222a35}#patient-delete-name{font-size:15px;font-weight:600;overflow-wrap:anywhere;margin:18px 0 10px}#patient-delete-scope{font-size:12px;line-height:1.8;margin-bottom:12px}.patient-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.button.patient-danger{background:#b94453;border:1px solid #b94453;color:#fff}.button.patient-danger:hover{background:#a03544;border-color:#a03544}.patient-manage-error{font-size:12px;color:#b34250;line-height:1.7;margin-top:12px}.deleted-patient{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:14px 0;border-bottom:1px solid #edf0f4}.deleted-patient>div{display:flex;flex-direction:column;gap:6px;min-width:0}.deleted-patient strong{font-size:13px;overflow-wrap:anywhere}.deleted-patient small{font-size:11px;color:#808a99}.deleted-patient button{flex-shrink:0}.patient-trash-empty{font-size:13px;text-align:center;color:#808a99;padding:32px 0}#patient-purge-dialog{width:min(460px,92vw);max-height:85dvh;overflow:auto;padding:24px;background:#fff;color:#39465a;border:1px solid #e1e6ed}#patient-purge-dialog h2{font-size:18px;color:#222a35}#patient-purge-name{font-size:15px;font-weight:600;overflow-wrap:anywhere;margin:18px 0 10px}#patient-purge-scope{font-size:12px;line-height:1.8;margin-bottom:12px}.patient-purge-warning{font-size:12px;line-height:1.8;color:#a03544;padding:10px 12px;background:#fff5f5;border-radius:7px}.deleted-patient>.deleted-patient-actions{flex-direction:row;flex-shrink:0;gap:6px}.deleted-patient-actions .button{padding:7px 9px;font-size:11px}.button.patient-purge-link{background:#fff;border:1px solid #e4bdc3;color:#a03544}.button.patient-purge-link:hover:not(:disabled){background:#fff0f1;border-color:#b94453}@media(max-width:420px){.deleted-patient{align-items:flex-start;flex-wrap:wrap}.deleted-patient>.deleted-patient-actions{margin-left:auto}}.patient-reanalyze{display:grid;place-items:center;flex:0 0 22px;width:22px;height:26px;padding:0;border-radius:5px;background:transparent;color:#397ac3}.patient-reanalyze:hover:not(:disabled){background:#edf5ff;color:#2563b5}.patient-reanalyze:focus-visible{outline:2px solid #397ac3;outline-offset:1px}.patient-reanalyze:disabled{opacity:.35;cursor:not-allowed}.patient-reanalyze svg{display:block}:root{--ink: #20242b;--text: #414854;--muted: #68717e;--border: #e0e4e9;--line: #e5e8ed;--surface: #fff;--surface-soft: #f6f7f9;--accent: #7053cf;--accent-hover: #6043bc;--blue: #2563c7;--blue-soft: #edf4ff;--green: #197453;--green-soft: #f0f8f4;--green-border: #cfe6d8;color:var(--ink);background:var(--surface-soft)}body{color:var(--ink);background:var(--surface-soft)}button{color:var(--text)}button:disabled{opacity:.46}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}input::placeholder{color:#858d98}input[type=checkbox],input[type=range]{accent-color:var(--blue)}input[type=range]{height:18px;margin:10px 0;background:transparent}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:#e3e7ec}input[type=range]::-webkit-slider-thumb{margin-top:-4.5px;background:var(--blue);border-color:#fff;box-shadow:0 0 0 1px #a8bfdc}input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:#e3e7ec}input[type=range]::-moz-range-thumb{background:var(--blue);border-color:#fff}.topbar{background:#fff;color:var(--ink);border-bottom:1px solid var(--border)}.brand{color:#222c2c;gap:10px}.brand-icon{display:grid;place-items:center;width:38px;height:38px;color:#164e46}.brand-icon svg{display:block;width:38px;height:38px}.brand>span:nth-child(2){font-size:21px;font-weight:650;letter-spacing:1px;gap:13px}.brand-en,.header-center,#save-status{color:var(--muted)}.version{color:var(--muted);background:var(--surface-soft);border-color:var(--border)}.status-dot{background:#249268;box-shadow:0 0 0 3px #e9f5ee}#compute-status{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#compute-status[data-device=cuda]{color:var(--green)}.divider,.rule{background:var(--line)}.header-import{background:#fff;color:var(--text);border-color:#d3d9e0}.header-import:hover{background:var(--surface-soft);color:var(--ink)}.icon-btn,.icon-btn.light{color:var(--muted)}.icon-btn:hover,.icon-btn.light:hover{background:#f0f2f5;color:var(--ink)}.header-export,.button.primary,.editor-actions .primary,.editor-navigation .primary{background:var(--accent);color:#fff;border:1px solid var(--accent);box-shadow:0 2px 5px #171c2610}.header-export:hover:not(:disabled),.button.primary:hover:not(:disabled),.editor-actions .primary:hover:not(:disabled),.editor-navigation .primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.header-export{background:var(--blue);border-color:var(--blue)}.header-export:hover:not(:disabled){background:#1d51a7;border-color:#1d51a7}body:not(.preview-mode) #toggle-editor{color:#485466;background:#fff;border-color:#d8dfe9;box-shadow:none}body:not(.preview-mode) #toggle-editor:hover{background:#f5f7fa}.button.secondary,.button.stage-fit{background:#fff;color:var(--text);border-color:#d8dee6;box-shadow:none}.button.secondary:hover:not(:disabled){background:#f6f8fb;color:var(--blue);border-color:#a9bfdc}.text-button,.project-library .text-button{color:var(--blue)}.text-button:hover{color:#16458f}.stage{background:#e5e9f8}.stage-heading h2{color:#252b35}.breadcrumb,.breadcrumb span,.breadcrumb span:last-child{color:#616c7e}.stage-tag{background:#ffffff80;color:#606a79;border-color:#d4dbe7}.stage-bottom .mouse-hint,.stage-bottom .unit-label{color:#606e85}.scale-line{border-color:#8a97aa}.editor-navigation button,.display-options button{background:#fff;color:#485466;border-color:#d8dfe9}.editor-navigation span,.display-options{color:#606b7b}.view-toolbar{background:#fff;border-color:#dde3eb;box-shadow:0 3px 16px #24334f0b}.view-toolbar button{color:#596477}.view-toolbar button:hover{background:#f3f5f8}.view-toolbar button.active{background:var(--blue-soft);color:var(--blue)}.view-toolbar>span{background:var(--line)}.trim-legend{color:#5f6978;background:#fff;border-color:var(--border)}.objects-panel{background:#fff;border-color:var(--border)}.project-library{border-color:var(--border)}.project-library .eyebrow,.panel-heading .eyebrow,.eyebrow{color:#7a828e}.patient-heading h2,.project-library h2{color:var(--ink)}.patient-heading button{background:#f0f3f7;color:#3c526f;border:1px solid #e1e6ee}.patient-heading button:hover{background:var(--blue-soft);color:var(--blue);border-color:#b4cbed}#patient-search{color:var(--ink);background:#f8f9fb;border-color:var(--border);font-size:12px}.patient-card{background:#fff;border-color:var(--border);box-shadow:none}.patient-card.active{background:#f5f8fc;border-color:#c3d3e9;box-shadow:none}.patient-history{border-color:var(--line)}.patient-history summary,.patient-history p{color:var(--muted)}.patient-history select{color:var(--text);border-color:var(--border);background:#fff}.patient-context{color:#515f71;background:#f5f7fa;border-color:#e0e5ed}.objects-heading h2,.object-row strong,.objects-panel .object-row strong{color:var(--ink)}.objects-heading>span{color:var(--muted);background:var(--surface-soft)}.object-row{color:var(--text)}.object-row small,.objects-panel .object-row small,.tree-label,.objects-empty{color:var(--muted)}.object-row>svg{color:#7a8491}.object-row:hover{background:#f5f7fa}.object-row.selected{background:var(--blue-soft);border-color:#d5e3f8}.object-icon{color:#586d89;background:#f0f3f8}.model-info{border-color:var(--line)}.model-info .section-title h2,.model-info dd{color:var(--text)}.model-info dt{color:var(--muted)}.good-status{color:var(--green)}.warn-status{color:#956322}.tools-panel{background:#fff;border-color:#dfe4eb;border-radius:12px;box-shadow:0 5px 24px #25314a0b}.panel-heading h1,.tools-panel h2,.section-title h2{color:#272d36}.panel-heading p{color:var(--muted)}.tools-scroll{scrollbar-color:#cfd5de transparent}.local-footer{background:#fafbfc;color:#747e8a;border-color:var(--line)}.step-tabs{background:#fff;border-color:var(--line)}.step-tabs button{flex:1;width:auto;min-width:0;white-space:nowrap;gap:3px;padding-inline:2px;color:#67717d}.step-tabs button span{color:#7e8794}.step-tabs button.active{color:var(--blue);background:#f1f6fe;border-bottom-color:var(--blue)}.step-tabs button.active span{color:var(--blue)}.section-title>svg{color:#7a8593}.small-badge{background:#f0f2f5;color:#64707e;border-color:#e4e8ed}.body-hint,.micro,.tools-panel .body-hint,.tools-panel .micro,.editor-card-body>.micro,.curve-toolbar .micro,.base-plane-toolbar .micro{color:var(--muted);font-size:11px}.field-label,.label-row>label,.label-row>span:first-child,.checkbox,.tools-panel .checkbox,.gingiva-toggle,.editor-field,.tools-panel .editor-field,.vector-inputs label{color:#46505d}.label-row output,.label-row>span:last-child,.label-row>span:last-child:not(:first-child){color:#293542}.label-row small,.editor-field small,.range-labels{color:#74808e}.label-row .micro{color:var(--muted)!important}.checkbox input{border-color:#c5ceda}.select-wrap{background:#fff;border-color:var(--border)}.select-wrap select,.editor-field input,.editor-field select,.vector-inputs input,#tooth-name{background:#fff;color:#29313d;border-color:#d4dbe4}.editor-field input:read-only{background:#f7f8fa;color:#4a5361}.select-wrap svg{color:#788493}.editor-field input:invalid{border-color:#bd6971}.editor-tabs{background:#f0f2f5}.editor-tabs button{color:#67717d}.editor-tabs button.active{background:#fff;color:#242e3a;box-shadow:0 1px 4px #202b3a14}.editor-card{background:#fff;border-color:var(--border)}.editor-card>summary,.tools-panel .editor-card>summary{color:#333d49;background:#fafbfc}.editor-card[open]>summary{background:#f8f9fb;border-color:var(--line)}.editor-card>summary>input{background:#d3dae4}.editor-card>summary>input:checked{background:var(--blue)}.editor-actions button,.sculpt-tools button,.tooth-picker button{background:#fff;color:#4a5668;border-color:#d8dfe8}.editor-actions button:hover:not(:disabled),.sculpt-tools button:hover:not(:disabled){background:#f6f8fb}.editor-actions button.active,.sculpt-tools button.active,.tooth-picker button.active{background:var(--blue-soft);color:var(--blue);border-color:#adc7ec}.editor-presets button{color:#526277;background:#f2f5f9}.blockout-row{color:var(--text);background:#f5f7fa}.blockout-row button{color:#707e90}.design-report{color:var(--muted)}.curve-toolbar,.base-plane-toolbar{background:#fff;border-color:#dbe2ec;box-shadow:0 7px 26px #202f4912}.curve-heading,.base-plane-toolbar .curve-heading{color:#2e3b4d}.curve-heading span,.base-plane-toolbar .curve-heading button{color:var(--muted)}#edit-base-plane,#preview-gingiva,#preview-base-contour,#apply-lettering,#export-hollow,#choose-patient-files{color:var(--blue);background:#f5f8fe;border-color:#c4d6ef}#edit-base-plane:hover:not(:disabled),#preview-gingiva:hover:not(:disabled),#preview-base-contour:hover:not(:disabled),#apply-lettering:hover:not(:disabled),#export-hollow:hover:not(:disabled),#choose-patient-files:hover:not(:disabled){background:#eaf2ff;border-color:#93b6e6}.geometry-tools,.advanced-cut{border-color:var(--line)}.geometry-tools summary,.advanced-cut summary{color:#5c6878}.tool-grid button{background:#fff;color:#4c586a;border-color:#dbe1e9}.tool-grid button.active{background:var(--blue-soft);color:var(--blue);border-color:#b4cbed}.tool-grid button[data-mode=gum].active{color:#934c5c;background:#fbf2f4;border-color:#e3c2ca}.gingiva-card,.ai-card{background:#f8f9fb;border-color:#e2e6ec}.gingiva-card .body-hint,.gingiva-card #gingiva-status,#gingiva-area{color:#5f6c7d}#gingiva-result{border-color:var(--line)}.base-compare{background:#eff2f6;border-color:#e0e5ed}.base-compare button{color:#6a7789}.base-compare button.active{color:var(--blue);background:#fff;box-shadow:0 1px 4px #23324b10}.info-card,.note-card,.tip-card,.base-diagram{background:#f6f8fa;color:#5e6977;border-color:#e0e5eb}.info-card strong,.tip-card>span{color:#47576a}.info-card p,.tip-card p{color:var(--muted)}.info-card>svg{color:#718499}.result-card,.ai-result,.trim-result{background:var(--green-soft);border-color:var(--green-border);color:var(--green)}.result-card strong,.ai-result p,.trim-result dd{color:var(--green)}.result-card span,.trim-result dt{color:#567666}.trim-guide{background:#f4f8fb;border-color:#d9e5ee}.trim-guide strong{color:#355f78}.trim-guide p{color:#61798a}#trim-warnings p,#gingiva-warnings p{color:#946022;border-color:#ece0cc}.tools-panel .trim-status.error,.base-plane-toolbar .micro.error{color:#ac3547}.gum-guide{background:#faf6f7;border-color:#e9dde1}.gum-guide p{color:#81636c}.import-zone{background:#f8faff;color:#586e8b;border-color:#bccde6}.import-zone:hover{background:#eef5ff;border-color:#85a8d9}.import-zone strong,.import-zone>svg{color:var(--blue)}.import-zone span,.import-zone small{color:#6b798c}.sample-buttons button,.rotation-row button{color:#4e6380;background:#f7f9fc;border-color:#dce4ef}.sample-buttons button:hover,.rotation-row button:hover{background:var(--blue-soft);border-color:#b4cbed}.rotation-row span{color:var(--muted)}dialog,#patient-import-dialog{color:var(--ink);background:#fff;border-color:#dce2e9;box-shadow:0 20px 70px #1722322b}dialog::backdrop{background:#18202d55}.dialog-heading h2,#patient-import-dialog h2{color:var(--ink)}#patient-import-dialog .editor-field.stack select{width:100%}.patient-file{background:#f8f9fb;border-color:var(--border);color:var(--text)}.patient-file select{color:var(--text);border-color:#d8e0e9;background:#fff}.import-defaults{background:#f5f7fa;border-color:#e0e6ed;color:#5a6a7c}#patient-import-status{color:#97612b}.export-options button{color:var(--blue);background:#f9fafc;border-color:#e0e5ed}.export-options button:hover:not(:disabled){background:var(--blue-soft);border-color:#b4cbed}.export-options strong{color:#35465d}.export-options small{color:#6a7788}.help-steps li,.help-steps strong{color:#34455b}.help-steps p{color:var(--muted)}.busy-overlay{background:#f5f7fbe6}.busy-overlay strong{color:#35455b}.busy-overlay>span{color:#6d7b8e}.spinner{border-color:#dce4ef;border-top-color:var(--blue)}#toast{background:#26323f;color:#fff;border-color:#414e5e;box-shadow:0 5px 20px #17243620}#toast.error{background:#883746;border-color:#a65766;color:#fff}.dragging:after{color:var(--blue);background:#f4f8ffee;border-color:var(--blue)}.empty-state{color:#6a7c95}.empty-state h2{color:#41516a}.empty-state p{color:#6d7c92}.empty-tooth{color:#8b9bb4;background:#dce3f1;box-shadow:0 0 65px #d4deef}#export-dialog{width:min(550px,94vw);max-height:90dvh;overflow:auto;padding:24px}#export-dialog .dialog-heading{margin-bottom:12px}.bundle-patient{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 8px}.bundle-patient strong{font-size:17px;color:var(--ink);overflow-wrap:anywhere}.bundle-option{padding:12px;background:#f6f8fb;border:1px solid var(--border);border-radius:8px;margin:16px 0 7px;font-size:13px;font-weight:550}#patient-export-files{display:grid;gap:10px;margin:14px 0}.bundle-jaw{border:1px solid var(--border);border-radius:9px;overflow:hidden}.bundle-jaw-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;background:#f7f9fc}.bundle-jaw-heading strong{font-size:12px;color:#344257}.bundle-jaw-heading>span{font-size:11px;color:#697b94}.bundle-jaw ul{list-style:none;margin:0;padding:0 13px}.bundle-jaw li{padding:10px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px;border-top:1px solid #eef1f5}.bundle-jaw li:first-child{border-top:0}.bundle-file-name{font-size:12px;color:#27313f;overflow-wrap:anywhere}.bundle-file-status{font-size:11px}.bundle-file-status.pending{grid-column:1 / -1}.bundle-file-status.ready{color:var(--green)}.bundle-file-status.pending,.bundle-local-problem{color:#986029}.bundle-jaw .text-button{font-size:11px;padding:3px 0;justify-self:start;grid-column:1 / -1}.bundle-local-problem{font-size:11px;line-height:1.7;padding:10px 13px;border-top:1px solid #eee5d7;background:#fffbf5}.bundle-jaw.absent{display:flex;justify-content:space-between;padding:10px 13px;font-size:11px;color:var(--muted);background:#fafbfc}#patient-export-status{margin:14px 0 0;font-size:11px}#download-patient{background:var(--blue);border-color:var(--blue)}#download-patient:hover:not(:disabled){background:#1e55ad;border-color:#1e55ad}#other-export-options{margin:12px 0 0;padding-top:10px}@media(max-width:960px){.library-open .objects-panel{background:#fff;box-shadow:10px 0 30px #15233c1c}}.auto-base-card{padding:13px;margin:0 0 18px;border:1px solid #dce6f4;border-radius:9px;background:#f6f9fd}.auto-base-card .checkbox{margin-top:0;color:var(--ink)}.auto-base-card .checkbox strong{font-size:12px;font-weight:550}.auto-base-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.auto-base-dimensions .editor-field{margin:0}#auto-base-status{color:#435a78;margin-bottom:10px}#apply-auto-base{color:var(--blue);background:#fff;border-color:#c4d6ef}#view-base-level{font-size:11px;margin-top:8px}#trim-clearance{margin:10px 0;color:var(--green)}#trim-clearance.error{color:#986029}.processing-heading{display:flex;align-items:center;gap:8px;flex-shrink:0;width:100%;min-height:48px;padding:12px 14px;background:#fff;color:#303741;text-align:left;border:0}.processing-heading>span:first-child{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.processing-heading strong{font-size:13px;font-weight:600;white-space:nowrap}.processing-heading svg{width:16px;height:16px;flex-shrink:0;color:#626f80}#processing-toggle-label{font-size:10px;color:#69778a}.processing-heading>svg{transition:transform .18s}.processing-heading[aria-expanded=true]>svg{transform:rotate(180deg)}#processing-controls{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;border-top:1px solid #edf0f4}#processing-controls .tools-scroll{flex:1;min-height:0;overflow:auto}.tools-collapsed .tools-panel,.preview-mode.tools-collapsed .tools-panel{display:flex;height:auto;max-height:48px}.tools-collapsed #processing-controls{display:none}.tools-collapsed #viewer{left:0}.tools-collapsed .view-toolbar,.tools-collapsed .trim-legend,.tools-collapsed .empty-state{left:50%}.tools-collapsed .stage-bottom{left:27px}.view-toolbar{flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100% - 316px);bottom:44px}.view-toolbar .jaw-switch{display:flex;align-items:center;justify-content:center;gap:5px;flex-basis:100%;border-top:1px solid #edf0f4;padding:5px 0 1px;margin-top:2px}.jaw-switch>span{font-size:10px;color:#7a8492;padding:0 6px}.view-toolbar .jaw-switch button{font-size:11px;height:29px;padding:0 14px}.view-toolbar .jaw-switch button.active{background:#edf2ff;color:#395ccc}.trim-legend{bottom:139px}.workflow-notice{position:absolute;z-index:5;top:148px;left:22px;max-width:350px;border:1px solid #e4cbb2;background:#fffaf4;border-radius:10px;padding:12px;box-shadow:0 4px 18px #2233440a;color:#725134}.workflow-notice strong{font-size:12px}.workflow-notice p{font-size:11px;line-height:1.7;margin:6px 0 8px;max-height:90px;overflow:auto}.workflow-notice button{padding:7px 9px;margin-right:6px;background:#fff;border:1px solid #ddcfbd;border-radius:6px;font-size:11px;color:#725134}.workflow-notice.recovered{border-color:#c9e2d6;background:#f5faf7;color:#315d48}body:not(.tools-collapsed) .workflow-notice{left:300px}@media(max-width:1200px){.view-toolbar{max-width:calc(100% - 288px)}body:not(.tools-collapsed) .workflow-notice{left:280px}}@media(max-width:620px){.tools-collapsed .tools-panel{grid-row:1/-1;align-self:start;margin:99px 10px 0;width:220px}.tools-collapsed #viewer{inset:148px 0 0}.tools-collapsed .view-toolbar{bottom:16px;max-width:calc(100% - 16px)}.view-toolbar{max-width:calc(100% - 16px);bottom:calc(50% + 8px)}.processing-heading{min-height:42px;padding:9px 12px}.processing-heading strong{font-size:12px}.view-toolbar .jaw-switch{padding-top:3px}.view-toolbar .jaw-switch button{font-size:10px;height:25px}.workflow-notice,body:not(.tools-collapsed) .workflow-notice{left:10px;right:10px;top:148px;max-width:none}body:not(.tools-collapsed) .workflow-notice{top:99px;max-height:110px;overflow:auto}}@media(max-width:620px){.stage .stage-fit{font-size:0;width:32px;min-width:32px;height:32px;padding:8px}.stage .stage-fit svg{width:16px;height:16px;flex-shrink:0}}.brand{gap:0;text-decoration:none}.brand .brand-lockup{display:block;width:206px;height:52px;flex-shrink:0}.topbar .header-actions{gap:12px}.topbar #toggle-library{font-size:11px;border-color:#e1e5e9;border-radius:8px}.stage .stage-fit{font-size:0;width:32px;min-width:32px;height:32px;min-height:32px;padding:7px;gap:0;border-radius:8px}.stage .stage-fit svg{width:16px;height:16px;flex-shrink:0}.view-toolbar{width:max-content;max-width:calc(100% - 300px);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0;padding:7px;border-radius:14px;bottom:42px;box-shadow:0 6px 24px #24334f0c;border:1px solid #e0e5ed}.view-toolbar .view-group,.view-toolbar .jaw-switch{display:flex;align-items:center;justify-content:center;gap:2px;flex-basis:auto;margin:0;padding:0;border:0}.view-toolbar .display-group,.view-toolbar .jaw-switch{margin-left:7px;padding-left:7px;border-left:1px solid #e6eaf0}.view-toolbar .view-button,.view-toolbar .jaw-switch .view-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;height:53px;min-width:42px;padding:6px 7px;border-radius:9px;line-height:1;font-size:10px;letter-spacing:.1px;color:#667286;background:transparent}.view-toolbar .view-button svg{width:22px;height:22px;flex-shrink:0}.view-toolbar .view-button span{display:block;font-size:10px;line-height:12px}.view-toolbar .view-button:hover:not(:disabled){background:#f3f6fb;color:#294f86}.view-toolbar .view-button.active{color:#2563c7;background:#eef4ff;box-shadow:inset 0 0 0 1px #e0eaff}.view-toolbar .jaw-switch .view-button{min-width:44px}.view-toolbar .jaw-switch .view-button.active{background:#eef8f3;color:#218564;box-shadow:inset 0 0 0 1px #dcefe5}.view-toolbar .jaw-switch .jaw-correction{margin-left:3px;color:#3868a9}.tools-collapsed .view-toolbar{max-width:calc(100% - 32px)}.trim-legend{bottom:124px;border-radius:8px;font-size:9px}.tools-panel{--accent:var(--blue);--accent-hover:#1d51a7;width:280px;margin-left:18px;border-radius:14px}.tools-panel .blockout-gap input{accent-color:var(--blue)}.processing-heading{min-height:48px;padding:12px 15px}.processing-heading strong{font-size:12px;font-weight:600;letter-spacing:.2px}.processing-heading>span:first-child>svg{width:17px;height:17px;color:#647c9a}.step-tabs{margin:0 12px;padding:7px 0;gap:3px;border-bottom:1px solid #edf0f4}.step-tabs button{height:38px;gap:5px;font-size:11px;border-radius:7px}.step-tabs button.active{border:0;background:#edf4ff;box-shadow:none;color:#235eb3}.step-tabs button span{font-size:8px}.tools-scroll{padding:12px 12px 18px}.tools-scroll .grouped-rule{display:none}.control-group{margin:0 0 9px;border:1px solid #e3e7ee;border-radius:10px;background:#fff;overflow:hidden}.control-group>summary{display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;min-height:44px;padding:11px 12px;color:#37475a;font-size:12px;font-weight:550;background:#fff}.control-group>summary::-webkit-details-marker{display:none}.control-group>summary>svg:first-child{width:17px;height:17px;color:#6b819a}.control-group>summary>span{flex:1}.control-group>summary>svg:last-child{width:14px;height:14px;color:#93a0b1;transition:transform .15s}.control-group[open]>summary{border-bottom:1px solid #edf0f4;background:#fafbfd;color:#244566}.control-group[open]>summary>svg:last-child{transform:rotate(180deg)}.control-group-body{padding:12px}.control-group-body>.section-title{display:none}.control-group-body>.body-hint:first-of-type{margin-top:0}.control-group-body>:last-child{margin-bottom:0}.control-group-body .control-group{border:0;border-top:1px solid #e9edf3;border-radius:0;margin-top:13px;margin-bottom:0}.control-group-body .control-group>summary{padding:11px 0;font-size:11px;background:#fff;border:0}.control-group-body .control-group>summary>svg:first-child{width:14px;height:14px}.control-group-body .control-group-body{padding:0 0 5px}.control-group .ai-card,.control-group .gingiva-card,.control-group .auto-base-card{border:0;padding:0;margin:0;background:transparent}.control-group .ai-compare{margin-top:12px}.control-group .ai-result{padding:9px 10px;margin-top:10px}.control-group .ai-result .text-button{padding:5px 0}.tools-panel .micro,.tools-panel .body-hint{font-size:10px;line-height:1.7;margin:8px 0;color:#7a8492}.tools-panel .checkbox{font-size:11px;line-height:1.55;gap:8px;margin:10px 0}.tools-panel .checkbox input{width:14px;height:14px;flex-shrink:0}.tools-panel .field-label,.tools-panel .label-row label{font-size:11px}.tools-panel .label-row>span:last-child,.tools-panel .label-row>output{font-size:13px;font-weight:550;font-variant-numeric:tabular-nums}.tools-panel .field-label{margin-top:13px;margin-bottom:7px}.tools-panel .select-wrap{border-radius:7px}.tools-panel .select-wrap select{font-size:11px;padding:9px 26px 9px 10px}.tools-panel .button{min-height:34px;font-size:11px;padding:8px 10px;border-radius:7px}.tools-panel .button svg{width:14px;height:14px}.tools-panel .text-button{font-size:10px;padding:7px 0}.tools-panel .space-top{margin-top:16px}.tools-panel .editor-field{font-size:11px;gap:8px;margin:10px 0}.tools-panel .editor-field input,.tools-panel .editor-field select{min-height:30px;border-radius:6px;font-size:11px;padding:6px 8px}.tools-panel .editor-field input[type=number]{width:74px;font-variant-numeric:tabular-nums}.tools-panel .editor-field.stack input{width:100%}.tools-panel .editor-tabs{margin-bottom:12px;padding:3px;gap:2px;background:#f1f4f8;border-radius:8px}.tools-panel .editor-tabs button{font-size:11px;padding:8px 4px;border-radius:6px}.tools-panel .tool-grid{gap:6px;margin:0 0 10px}.tools-panel .tool-grid button{min-height:34px;height:auto;padding:8px;border-radius:7px;font-size:10px}.tools-panel .edit-actions{margin:12px 0 0;gap:6px}.tools-panel .note-card{padding:10px 12px;font-size:10px;margin:12px 0}.tools-panel .geometry-tools,.tools-panel .advanced-cut{padding-top:10px;margin:12px 0 0}.tools-panel .geometry-tools>summary,.tools-panel .advanced-cut>summary{font-size:11px;padding:5px 0}.tools-panel .editor-card{margin:0 0 9px;border-radius:10px;border-color:#e3e7ee}.tools-panel .editor-card>summary{padding:12px;font-size:12px;min-height:44px;background:#fff;gap:8px}.tools-panel .editor-card>summary>span:first-child{flex:1}.tools-panel .editor-card[open]>summary{background:#fafbfd}.tools-panel .editor-card>summary>input{width:27px;height:15px;margin-left:auto}.tools-panel .editor-card-body{padding:5px 12px 12px}.tools-panel .card-chevron{display:flex;width:14px;height:14px;color:#93a0b1}.card-chevron svg{width:14px;height:14px;transition:transform .15s}.editor-card[open]>.card-chevron svg,.editor-card[open]>summary>.card-chevron svg{transform:rotate(180deg)}.tool-section-label{display:flex;align-items:center;gap:7px;color:#8993a1;font-size:10px;margin:17px 2px 9px}.tool-section-label svg{width:13px;height:13px}.panel-commit{border-top:1px solid #e7ebf1;margin-top:14px;padding-top:12px}.panel-commit>.next-step{margin-top:8px}.panel-commit>.base-result-group{margin-top:10px}.base-result-group:has(#base-result[hidden]){display:none}.base-result-group .result-card{margin:0;padding:0;border:0;background:none}.control-group .import-zone{height:auto;min-height:110px;margin:0;padding:14px 10px;gap:7px}.control-group .import-zone>svg{width:25px;height:25px;margin:0}.control-group .import-zone strong{font-size:11px}.control-group .import-zone span{font-size:10px}.control-group .import-zone small{display:none}.workflow-notice.recovered{padding:10px 12px}.workflow-notice.recovered summary{font-size:11px;font-weight:550;cursor:pointer;list-style:none}.workflow-notice.recovered summary::-webkit-details-marker{display:none}.workflow-notice.recovered summary span{font-size:9px;color:#688777;font-weight:400;margin-left:12px}.tools-panel .auto-base-dimensions{gap:8px;margin:10px 0}.tools-panel .auto-base-dimensions input{width:100%}.tools-panel .info-card{padding:8px 10px;margin:10px 0;align-items:flex-start}.tools-panel .info-card p{margin:4px 0 0;font-size:10px}.tools-panel .base-compare{margin:12px 0 0;padding:3px;border-radius:6px}.tools-panel .base-compare button{font-size:10px}.local-footer{height:33px;min-height:33px;font-size:9px}body:not(.tools-collapsed) #viewer{left:312px}body:not(.tools-collapsed) .view-toolbar,body:not(.tools-collapsed) .trim-legend{left:calc(50% + 156px)}body:not(.tools-collapsed) .workflow-notice{left:312px;max-width:310px}@media(max-width:1250px){.tools-panel{width:264px;margin-left:16px}body:not(.tools-collapsed) #viewer{left:296px}body:not(.tools-collapsed) .view-toolbar,body:not(.tools-collapsed) .trim-legend{left:calc(50% + 148px)}body:not(.tools-collapsed) .workflow-notice{left:296px}.view-toolbar .view-button,.view-toolbar .jaw-switch .view-button{min-width:36px;padding-inline:5px}.view-toolbar .view-button svg{width:20px;height:20px}}@media(min-width:621px)and (max-width:800px){body:not(.tools-collapsed) .view-toolbar{width:300px;gap:4px}body:not(.tools-collapsed) .view-toolbar .view-group:first-child{flex-basis:100%}body:not(.tools-collapsed) .view-toolbar .display-group{border:0;padding:0;margin:0}body:not(.tools-collapsed) .trim-legend{bottom:184px}}@media(max-width:620px){.brand .brand-lockup{width:164px;height:42px}.topbar .header-actions{gap:5px}.topbar #toggle-library{font-size:10px;padding:6px 8px}.tools-panel{width:auto;margin:0 10px 12px}.view-toolbar,.tools-collapsed .view-toolbar{width:300px;max-width:calc(100% - 20px);padding:5px;border-radius:11px;gap:3px}.view-toolbar .view-group:first-child{flex-basis:100%}.view-toolbar .display-group{border:0;padding:0;margin:0}.view-toolbar .view-button,.view-toolbar .jaw-switch .view-button{height:43px;gap:3px;min-width:36px;padding:4px 5px}.view-toolbar .view-button svg{width:18px;height:18px}.view-toolbar .view-button span{font-size:9px}.view-toolbar .jaw-switch{margin-left:5px;padding-left:5px}body:not(.tools-collapsed) #viewer{left:0}body:not(.tools-collapsed) .view-toolbar,body:not(.tools-collapsed) .trim-legend{left:50%}.trim-legend{bottom:130px;max-width:calc(100% - 24px);white-space:nowrap}body:not(.tools-collapsed) .trim-legend{bottom:calc(50% + 117px)}body:not(.tools-collapsed) .workflow-notice{left:10px;right:10px;max-width:none}}@media(prefers-reduced-motion:reduce){.control-group svg,.card-chevron svg{transition:none}}.workflow-queue{margin:12px 0;padding:10px;border:1px solid #d9e4f3;border-radius:9px;background:#f5f8fd;color:#34455e}.queue-heading{display:flex;align-items:center;justify-content:space-between;gap:4px}.queue-heading strong{font-size:11px}.queue-heading span{font-size:9px;color:#617695}.workflow-queue p{font-size:10px;line-height:1.6;margin:7px 0;color:#728198}#queue-connection{color:#996529}#queue-items{max-height:220px;overflow:auto;scrollbar-width:thin}.queue-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;padding:8px 0;border-top:1px solid #e1e8f2;font-size:10px}.queue-item>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.queue-item>span{grid-row:2;grid-column:1/-1;color:#667b98;line-height:1.5}.queue-item[data-status=running]>strong:before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#367bd4}.queue-item[data-status=failed]>span{color:#a06b38}.queue-item button{grid-column:2;grid-row:1;background:transparent;color:#326cba;font-size:10px;padding:0 2px}#queue-import{width:100%;margin-top:8px;padding:7px 4px;border:1px solid #d0def0;border-radius:6px;background:#fff;color:#326cba;font-size:11px}.queued-model-overlay{position:absolute;inset:0;z-index:28;background:#f5f7fbd9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px}.queued-model-overlay strong{font-size:15px;color:#35455b}.queued-model-overlay p{font-size:12px;color:#6d7b8e}#tooth-number-dialog{width:min(460px,90vw);max-height:85vh;overflow:auto}#tooth-number-dialog .dialog-heading{align-items:center}#tooth-number-dialog .dialog-heading h2{margin:0;font-size:19px}#tooth-number-dialog [data-number-close]{background:none;border:0;font-size:24px;cursor:pointer;color:#64748b}.number-actions{display:flex;gap:8px;margin:16px 0}.number-actions button{background:#f3f7fc;border:1px solid #d9e3ef;border-radius:6px;padding:7px 12px;color:#335f94;font-size:12px}.number-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.number-grid label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.number-grid label span{display:flex;align-items:center;gap:6px}.number-grid i{width:8px;height:8px;border-radius:50%}.number-grid select{min-width:72px;padding:6px;border:1px solid #d9e3ef;border-radius:5px;background:#fff;color:#26374d}.number-error{color:#b45309!important;min-height:1em;margin:12px 0}.display-options{gap:10px;z-index:8}.display-options>label,.tooth-trim-anchor>label{gap:4px;white-space:nowrap;font-size:10px;min-height:26px}.display-options>label input,.tooth-trim-anchor>label input{width:12px;height:12px;margin:0;accent-color:#2877d3}.display-options>button{height:26px;padding:5px 8px;font-size:10px;border-radius:5px}.tooth-trim-anchor{position:relative;display:flex;align-items:center;flex-shrink:0}#tooth-trimline-panel{position:absolute;right:calc(100% + 8px);top:-8px;width:432px;max-width:var(--trim-panel-space,432px);z-index:8;background:#fffffff5;border:1px solid #dae5f2;border-radius:9px;padding:8px 10px;box-shadow:0 5px 20px #254c7312;color:#263c54}#tooth-trimline-panel[hidden]{display:none}#tooth-trimline-panel .tooth-trim-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(25px,1fr);gap:3px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#c3d5ec transparent;overscroll-behavior-x:contain;padding:2px;margin:-2px}#tooth-trimline-panel .tooth-trim-grid label{position:relative;cursor:pointer;display:grid;place-items:center;height:28px;min-width:25px;gap:0}.tooth-trim-grid input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.tooth-trim-grid span{display:grid;place-items:center;width:100%;height:100%;border:1px solid #dce5ef;border-radius:5px;background:#f7f9fc;color:#5c6e85;font-size:11px;pointer-events:none;font-variant-numeric:tabular-nums}.tooth-trim-grid input:checked+span{background:#e7f0ff;border-color:#6ba1e4;color:#1963bc;font-weight:600}.tooth-trim-grid input:focus-visible+span{outline:2px solid #327fdb;outline-offset:1px}.tooth-trim-grid input:disabled+span{opacity:.4}.tooth-trim-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-top:7px}.tooth-trim-heading{display:flex;align-items:center;gap:7px;font-size:10px;white-space:nowrap}.tooth-trim-heading strong{font-weight:500;color:#536c88}.tooth-trim-heading span{font-size:10px;color:#7c8fa5}#tooth-trimline-panel p{font-size:10px;color:#758498;line-height:1.5;margin:5px 0 0}.tooth-trim-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px}#tooth-trimline-panel .tooth-trim-actions button{display:block;height:24px;font-size:10px;padding:3px 6px;border:1px solid #dce5ef;border-radius:5px;background:#fff;color:#526b88;cursor:pointer;white-space:nowrap}#tooth-trimline-panel .tooth-trim-actions button.primary{background:#2877d3;border-color:#2877d3;color:#fff}.tooth-trim-actions button:hover:not(:disabled){filter:brightness(.96)}body.is-busy #tooth-trimline-panel{pointer-events:none}@media(max-width:900px){.display-options{gap:7px}#tooth-trimline-panel{top:-6px;padding:6px 8px}}.tooth-adjust-anchor{position:relative;display:flex;align-items:center;flex:none}#tooth-adjust-strip{position:absolute;right:calc(100% + 8px);top:-7px;width:435px;padding:8px;background:#fff;border:1px solid #d5e3f1;border-radius:9px;box-shadow:0 5px 18px #283e5c12}#tooth-adjust-strip>div{display:flex;gap:3px;overflow-x:auto;scrollbar-width:thin;padding-bottom:3px}#tooth-adjust-strip button{flex:1 0 25px;min-width:25px;height:28px;border-radius:5px;border:1px solid #dce6f1;background:#f5f8fc;color:#45627f;font-size:11px;padding:0 3px;position:relative}#tooth-adjust-strip button[aria-pressed=true]{background:#ddecff;border-color:#80b6e9;color:#1763a5;font-weight:700}#tooth-adjust-strip button.adjusted:after{content:"";width:3px;height:3px;position:absolute;bottom:2px;left:50%;background:#2684cc;border-radius:50%}#tooth-adjust-strip small{display:block;color:#78869a;font-size:10px;line-height:1.5;padding-top:3px}#tooth-adjust-panel{position:absolute;right:14px;top:124px;width:248px;max-height:calc(100% - 244px);overflow-y:auto;padding:13px;border:1px solid #d9e5f1;background:#fffffffa;border-radius:13px;box-shadow:0 8px 28px #2b45641a;z-index:9;color:#30465f;font-size:12px;scrollbar-width:thin}#tooth-adjust-panel button{border:1px solid #dce5f0;background:#f7faff;color:#426282;border-radius:6px;font-size:11px;cursor:pointer;min-height:26px}#tooth-adjust-panel button:disabled{opacity:.45;cursor:default}#tooth-adjust-panel button:focus-visible,#tooth-adjust-strip button:focus-visible{outline:2px solid #2c83d4;outline-offset:2px}.adjust-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:7px;border-bottom:1px solid #e5ecf5}.adjust-heading small{display:block;font-size:10px;color:#71869e;margin-bottom:3px}.adjust-heading strong{font-size:16px;font-weight:600}.adjust-heading button{width:26px;font-size:18px!important}.adjust-section{font-size:11px;font-weight:600;color:#547493;margin:10px 0 6px;display:flex;justify-content:space-between}.adjust-section span{font-size:10px;font-weight:400;color:#8292a6}.adjust-field{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:3px 0}.adjust-field label{font-size:11px;color:#435c78;white-space:nowrap}.adjust-field>div{display:flex;align-items:center;gap:3px}.adjust-field button{width:23px;min-height:25px!important;padding:0}.adjust-field input{width:46px;height:26px;text-align:center;border:1px solid #dce5ef;border-radius:5px;font-size:11px;color:#2c4a6a;padding:1px;background:#fff;appearance:textfield;-moz-appearance:textfield}.adjust-field input::-webkit-inner-spin-button{display:none}.adjust-field input:invalid{border-color:#d57d66}.adjust-field span{width:17px;font-size:10px;color:#8191a5}.adjust-segment{display:flex;gap:4px;margin:5px 0}.adjust-segment button{flex:1}.adjust-segment .active{color:#1d70b5!important;background:#e7f2ff!important;border-color:#a5cbed!important}.adjust-toggles{display:flex;gap:12px;margin:10px 0;font-size:11px}.adjust-toggles label{display:flex;gap:4px;align-items:center}.adjust-toggles input{accent-color:#2a84ce;width:12px;height:12px}.adjust-note,.adjust-save-hint{color:#8090a3;font-size:10px;line-height:1.55;margin:7px 0}.adjust-status{color:#4e789d;font-size:10px;line-height:1.5;margin:6px 0;max-height:68px;overflow-y:auto}.adjust-actions{display:flex;gap:4px}.adjust-actions button{flex:1;padding:4px 3px;white-space:nowrap}.adjust-actions .primary{background:#2d83cf!important;border-color:#2d83cf!important;color:#fff!important}.tooth-adjusting #tooth-trimline-panel,.tooth-adjusting #trim-legend{display:none!important}.tooth-adjusting .display-options{z-index:10}@media(max-height:760px){#tooth-adjust-panel{top:120px;padding:10px}.adjust-section{margin-top:7px}.adjust-field{padding:2px 0}.adjust-note{margin:4px 0}}.adjust-actions{position:sticky;bottom:-13px;background:#fff;padding:8px 0 4px;margin-top:4px;border-top:1px solid #ecf1f7}.adjust-save-hint{padding-bottom:2px}
