/* Workspace refinement: readable controls, task-based navigation, responsive study canvas. */
:root{--muted:#56695e;--line:#dce4df;--paper:#f3f6f3}body{font-size:14px}.header{height:76px}.header-note{color:#566b5d;font-size:11px}.header-actions button{min-height:44px;font-size:13px}.header-actions .dark{padding-inline:20px}main{padding:24px 24px 12px;max-width:1700px}.shell{grid-template-columns:224px minmax(0,1fr);min-height:760px;border-radius:16px;box-shadow:0 12px 45px #244c3a08}.navigation{padding:24px 12px;gap:25px;background:#f9fbf9}.nav-group{display:flex;flex-direction:column;gap:4px}.nav-group>.eyebrow{padding:0 12px;margin-bottom:8px;font-size:10px;color:#5f7167;letter-spacing:1.3px}.nav-item{width:100%;font-size:13px;line-height:1.45;padding:11px 12px;min-height:44px;color:#50665a;gap:10px;border-radius:8px}.nav-item.active{background:#e5eee7;color:#234e3d;box-shadow:inset 3px 0 #3f765a}.nav-item .nav-symbol{color:#597363;flex-shrink:0;font-size:18px}.nav-bottom{font-size:12px;color:#5c7063;line-height:1.7;padding:18px 12px 0}.nav-bottom strong{display:block;font-size:13px;margin-top:6px}.nav-bottom p{margin:8px 0}.nav-bottom a{font-size:12px;color:#315d46}.workspace-heading{padding:28px 28px 20px}.workspace-heading .eyebrow{font-size:10px;color:#627a6a;letter-spacing:1.6px}.workspace-heading h1{font-size:30px;margin:8px 0;letter-spacing:-1px}.workspace-heading p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}.toolbar{padding:14px 28px;background:#fbfcfa;gap:18px}.toolbar-title{font-size:12px;color:#56695e}.tooth-picker-trigger{display:flex;gap:12px;align-items:center;min-height:58px;padding:8px 12px;border:1px solid #cddbd1;border-radius:10px;background:#fff;text-align:start;font-weight:600;flex:1;max-width:550px}.tooth-id{display:grid;place-items:center;min-width:42px;height:40px;border-radius:7px;background:#e8f0e8;color:#315b44;font-size:19px}.tooth-picker-trigger small{display:block;font-size:11px;color:#5c7063;font-weight:400;margin-top:4px}.picker-action{margin-inline-start:auto;font-size:12px;color:#3c694f;white-space:nowrap}.work-grid{grid-template-columns:minmax(0,1fr) 300px;min-height:620px}.stage{min-height:480px;background:radial-gradient(ellipse at 45% 40%,#e9eddf,#f7f9f4 72%)}.stage-label{font-size:10px;color:#5e7464;top:22px;left:22px;max-width:calc(100% - 95px);line-height:1.7}.stage-actions{right:16px;top:72px;gap:8px}.stage-actions button{width:44px;height:44px;font-size:21px;color:#3c644c;border-color:#cddbd0;border-radius:8px;box-shadow:0 2px 6px #203e2510}.focus-toggle{position:absolute;right:16px;top:16px;min-height:40px;padding:8px 12px;border:1px solid #cfdbd0;border-radius:8px;background:white;font-size:12px;color:#355c44;z-index:3}.stage-label{max-width:calc(100% - 190px)}.stage-bottom{font-size:12px;color:#536b59;bottom:20px}.stage-bottom b{font-size:14px;color:#344f3c}.stage-bottom>span{display:none}.controls-bar{padding:12px;gap:6px}.controls-bar button{font-size:12px;min-height:44px;padding:10px 14px;color:#506a59;border-radius:7px}.controls-bar button.active{background:#e3ede5;color:#234d38;font-weight:600}.help-bar{font-size:11px;line-height:1.7;color:#5b6f60;padding:10px 16px}.inspector{padding:24px}.inspector h2{font-size:24px;line-height:1.4}.inspector h3{font-size:14px;color:#35543e}.inspector p,.inspector label.control{font-size:13px;color:#566b5a;line-height:1.75}.eyebrow{color:#5f775f;font-size:10px}.badge{font-size:11px;color:#526a45;line-height:1.6}.stat-card span{font-size:11px;color:#566d4e}.stat-card strong{font-size:25px}.choice-row button,.primary,.secondary{min-height:44px;font-size:13px}.choice-row button{padding:9px 12px}.view-legend{font-size:12px;gap:10px}.check-label,.field-label{font-size:13px;color:#48603f}.check-label{min-height:40px}.check-label input{width:18px;height:18px;flex-shrink:0}.text-field,select.field{font-size:14px;min-height:44px;line-height:1.5}input[type=range]{min-height:32px}.small{font-size:12px!important;color:#5c7054}.note{font-size:12px;color:#546c48;line-height:1.8}.section-footer{font-size:11px;color:#62735b;align-items:center;line-height:1.7}.section-footer button{min-height:44px;white-space:nowrap;color:#375e42;text-decoration:underline;text-underline-offset:3px}.tool-content{padding:28px}.tool-content>.lead{font-size:14px;color:#566c4f}.tool-content h2{font-size:26px;line-height:1.5}.model-card strong,.term strong{font-size:14px}.model-card small,.attribution{font-size:12px;color:#5a7151}.term p,.term b{font-size:13px;color:#5a704f}.score-card span{font-size:12px;color:#526b46}.topic-row,table{font-size:13px}th{font-size:12px;color:#516846}.answer-list button{font-size:14px}.feedback{font-size:14px}.feedback a{font-size:12px}.tooth-grid button{min-height:40px;font-size:12px}.studio-footer{font-size:11px;color:#62735b;line-height:1.7}.source-list small{font-size:12px;color:#5f7553}.mobile-tool-bar{display:none}.skip-link{position:fixed;top:-100px;left:16px;z-index:200;background:#fff;padding:14px;border:2px solid var(--forest);border-radius:6px}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #3b795a!important;outline-offset:3px}#workspace-heading:focus{outline:none}dialog{background:#fff;padding:28px;border-radius:16px}#dialog-close{min-width:44px;min-height:44px}#picker-heading{padding-inline-end:40px}.picker-tabs{margin:16px 0}.picker-tabs button{flex:1}#picker-results{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:46vh;overflow:auto;padding:4px}.picker-tooth{display:flex;gap:12px;align-items:center;text-align:start;padding:12px;border:1px solid #dce5db;border-radius:8px;min-height:72px;background:#fbfcf9}.picker-tooth b{font-size:20px;color:#365e42;min-width:28px}.picker-tooth span{font-size:13px;line-height:1.5}.picker-tooth small{display:block;color:#607653;font-size:11px;margin-top:3px}.picker-tooth.selected{background:#e5efe5;border:2px solid #4c7654;padding:11px}.viewer-focused{overflow:hidden}.focus-stage{position:fixed!important;inset:12px;z-index:80;border-radius:14px;box-shadow:0 0 0 25px #1f352deb;overflow:hidden;background:#fff}.focus-stage .stage{height:auto!important;min-height:0!important;flex:1}.focus-stage .help-bar{padding-bottom:16px}body[dir=rtl] .nav-item.active{box-shadow:inset -3px 0 #3f765a}body[dir=rtl] .workspace-heading h1{font-size:28px}
@media(max-width:1200px){.shell{grid-template-columns:205px minmax(0,1fr)}.work-grid{grid-template-columns:minmax(0,1fr) 270px}.inspector{padding:20px}.nav-item{font-size:12px}.stage-label{max-width:45%;font-size:9px}.workspace-heading{padding:24px}.toolbar{padding:14px 24px}}
@media(max-width:1000px){main{padding:16px}.shell{grid-template-columns:1fr}.mobile-tool-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.mobile-tool-bar button{min-height:44px;padding:10px 14px;border:1px solid #cad9cc;border-radius:8px;background:white;font-weight:600}.mobile-tool-bar>span{font-size:12px;color:#546c5b}.navigation{display:none}.navigation.is-open{display:grid;grid-template-columns:1fr 1fr 1fr;overflow:visible;border-bottom:1px solid var(--line);padding:18px;gap:14px}.nav-bottom{display:none}.nav-group>.eyebrow{font-size:10px}.nav-item{font-size:12px;flex-shrink:1}.nav-item .nav-symbol{width:18px;font-size:17px}.header-note{display:none}.work-grid{grid-template-columns:minmax(0,1fr) 290px}.stage{min-height:440px}.workspace-heading{padding:24px}.section-footer{font-size:11px}}
@media(max-width:700px){.header{padding:0 16px;height:68px}.header-actions button{font-size:12px}.header-actions .dark{display:none}.header-actions .source-button{display:none}main{padding:12px}.shell{border-radius:12px;min-height:0}.navigation.is-open{grid-template-columns:1fr 1fr;gap:20px 8px}.nav-group:first-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.nav-group:first-child>.eyebrow{grid-column:1/-1}.nav-item{font-size:12px;padding:10px 8px}.workspace-heading{padding:21px 18px 18px}.workspace-heading h1{font-size:26px;max-width:none}.workspace-heading p{font-size:13px}.toolbar{padding:12px 18px;gap:8px}.toolbar-title{width:100%;font-size:11px}.tooth-picker-trigger{width:100%;max-width:none;font-size:13px}.work-grid{display:flex;flex-direction:column}.stage{height:410px;min-height:410px}.stage-column{min-height:0}.stage-label{font-size:9px;left:14px;top:20px}.stage-actions{right:12px}.focus-toggle{right:12px;font-size:11px}.controls-bar{padding:9px 7px;gap:3px}.controls-bar button{font-size:11px;padding:8px 10px}.help-bar{font-size:10px}.inspector{padding:22px 20px;border-inline-start:0}.inspector p{font-size:13px}.tool-content{padding:20px 16px}.tool-content h2{font-size:23px}.tool-content>.lead{font-size:13px}.form-grid,.glossary-grid{grid-template-columns:1fr}.score-grid{grid-template-columns:1fr;gap:8px}.score-card{padding:15px}.score-card strong{margin:5px 0}.model-grid{grid-template-columns:1fr}.model-card{min-height:130px}.section-footer{align-items:flex-start;gap:2px;padding:12px 18px}.section-footer button{white-space:normal;text-align:start}.studio-footer{font-size:10px;flex-wrap:wrap;gap:5px;padding:16px 2px}#picker-results{grid-template-columns:1fr;max-height:45vh}dialog{padding:20px}.focus-stage{inset:0;border-radius:0}.tooth-grid button{min-height:44px}.compare-headings{top:70px;padding:0 55px 0 8px;font-size:10px}.compare-headings b{font-size:15px}.compare-divider{top:115px}.stage-bottom{font-size:11px}.stage-bottom b{font-size:13px}.quiz-box{padding:18px}.quiz-box h2{font-size:20px}.topic-row{font-size:12px;grid-template-columns:85px 1fr 55px}.table-wrap{max-width:100%}.form-panel{padding:16px}.view-legend{font-size:11px}.toolbar .badge{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Posterior occlusal learning map: colour plus names, keyboard selection, and source scope. */
.occlusal-panel{padding:20px 22px;background:#fff;border-top:1px solid var(--line)}.occlusal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.occlusal-heading h3{font-size:18px;margin:6px 0;line-height:1.5}.occlusal-heading .check-label{white-space:nowrap;margin:0}.occlusal-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 10px}.occlusal-key{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.occlusal-key button{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid #d7e1d9;border-radius:8px;min-height:50px;text-align:start;background:#fafcf8;font-size:12px;line-height:1.5}.occlusal-key button.active{outline:2px solid #315e45;outline-offset:-2px;background:#edf4ec}.occlusal-swatch{width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;border-radius:6px;color:#14201b;font-size:12px;font-weight:700;border:1px solid #0003}.occlusal-detail{margin-top:12px;border-inline-start:3px solid #6d8c68;padding:8px 12px;background:#f5f8f1;font-size:13px;line-height:1.7;min-height:64px}.occlusal-detail p{margin:0;line-height:1.7}.occlusal-scope{font-size:11px;color:#52654f;margin-top:12px;line-height:1.7}.occlusal-scope summary{cursor:pointer;min-height:32px;display:list-item}.occlusal-scope p{margin:7px 0}.occlusal-scope a{overflow-wrap:anywhere}.focus-stage .occlusal-panel{max-height:34vh;overflow:auto;padding:12px 20px}.focus-stage .occlusal-heading h3{font-size:15px}.focus-stage .occlusal-actions{margin:6px 0}.focus-stage .occlusal-key{grid-template-columns:repeat(6,minmax(0,1fr))}.focus-stage .occlusal-detail{min-height:0}.focus-stage .occlusal-scope{display:none}@media(max-width:1200px){.occlusal-key{grid-template-columns:repeat(2,minmax(0,1fr))}.occlusal-heading{align-items:flex-start;flex-wrap:wrap}}@media(max-width:700px){.occlusal-panel{padding:18px 16px}.occlusal-key button{font-size:12px;min-height:48px}.occlusal-heading h3{font-size:17px}.focus-stage .occlusal-key{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-stage .occlusal-panel{max-height:38vh}.focus-stage .help-bar{display:none}}@media(max-height:550px){.focus-stage .occlusal-panel{display:none}}
/* Prosthetic assemblies */
.assembly-system-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 24px 16px}.assembly-system-tabs>button{border:1px solid #d8e2d7;border-radius:10px;min-height:108px;padding:14px;text-align:start;background:#fafcf8;display:flex;flex-direction:column;gap:7px}.assembly-system-tabs>button.active{border:2px solid #3b7357;padding:13px;background:#edf5eb}.assembly-system-tabs strong{font-size:15px;line-height:1.4}.assembly-system-tabs small{font-size:11px;color:#526b56;line-height:1.6}.assembly-type{font-size:9px;letter-spacing:1.3px;color:#516f57}.assembly-introduction{padding:0 24px 15px;border-bottom:1px solid var(--line);color:#526956;font-size:13px}.assembly-introduction p{margin:0;max-width:850px}.assembly-grid{grid-template-columns:minmax(0,1fr) 320px}.assembly-grid .stage{min-height:510px;height:570px;flex:none}.assembly-grid .stage-column{justify-content:flex-start}.assembly-controls{padding:20px;background:white;border-top:1px solid var(--line)}.assembly-control-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:14px}.assembly-slider{margin:18px 0 8px}.assembly-slider label{display:flex;justify-content:space-between;gap:12px;font-size:13px}.assembly-slider output{font-variant-numeric:tabular-nums;color:#456e51;font-weight:700}.assembly-slider input{width:100%;accent-color:#387658;min-height:36px}.assembly-switches{display:flex;gap:6px 18px;flex-wrap:wrap}.assembly-switches label{font-size:12px}.assembly-modes{display:flex;gap:5px;background:#f1f5ed;padding:5px;border-radius:8px}.assembly-modes button{flex:1;font-size:12px;min-height:42px;border-radius:5px}.assembly-modes button.active{background:#315f49;color:#fff}.assembly-parts-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:16px}.assembly-parts-heading h3{margin:0!important}.assembly-parts-heading button{font-size:11px;min-height:40px;text-decoration:underline}.assembly-part-list{display:grid;gap:7px;margin:10px 0}.assembly-part-row{display:flex;gap:3px;border:1px solid #dce6d8;border-radius:7px;background:#fafcf8;min-height:51px}.assembly-part-row>button{display:flex;gap:10px;align-items:center;flex:1;min-width:0;text-align:start;padding:8px;font-size:12px;line-height:1.5;border-radius:7px}.assembly-part-row>button.active{box-shadow:inset 0 0 0 2px #387253;background:#edf4e8}.assembly-part-row>label{width:36px;display:grid;place-items:center}.assembly-part-row input{width:17px;height:17px;accent-color:#367552}.assembly-part-number{width:28px;height:28px;border-radius:6px;display:grid;place-items:center;flex-shrink:0;color:#18241f;font-weight:700;border:1px solid #0002}.assembly-part-detail{padding:13px;background:#f1f6ec;border-inline-start:3px solid #4b8867;margin:16px 0;font-size:13px;min-height:92px}.assembly-part-detail p{font-size:12px!important;margin:7px 0}.assembly-part-detail small{font-size:10px;overflow-wrap:anywhere}.assembly-connection{font-weight:600;color:#315b3f!important}.assembly-key-point{border:1px solid #dce6d5;border-radius:8px;padding:14px;margin:14px 0;font-size:12px;background:#fcfcf5}.assembly-key-point p{font-size:12px!important;margin:7px 0 0}.assembly-step{padding:12px 0;font-size:12px}.assembly-step>div{display:flex;gap:8px;margin-top:10px}.assembly-step button{flex:1}.assembly-quiz{padding:15px 12px;border:1px solid #bfd2bb;border-radius:8px;margin-top:12px}.assembly-quiz p{font-size:13px!important}.assembly-quiz .feedback{font-size:12px}.assembly-quiz button{margin-top:12px}.assembly-sources{padding:20px 24px;border-top:1px solid var(--line);font-size:12px;line-height:1.8;color:#53684f}.assembly-sources summary{cursor:pointer;min-height:34px;font-weight:600}.assembly-reference-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.assembly-reference-list a{display:block;padding:12px;border:1px solid #dbe4d6;border-radius:6px;text-decoration:none;font-size:12px;overflow-wrap:anywhere}.assembly-reference-list small{display:block;font-size:11px;color:#5c7256;margin-top:5px}.part-marker{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;padding:0;color:#17291d!important;font-size:13px!important;font-weight:700;border:2px solid #ffffff;box-shadow:0 2px 9px #18332428}.focus-stage .assembly-controls{max-height:28vh;overflow:auto;padding:12px 20px}.focus-stage .assembly-controls .small{display:none}.focus-stage .assembly-slider{margin:8px 0}.focus-stage .assembly-controls .inline-actions{margin:6px 0}.focus-stage .assembly-control-heading{display:none}@media(max-width:1200px){.assembly-grid{grid-template-columns:minmax(0,1fr) 285px}.assembly-system-tabs{grid-template-columns:1fr 1fr}.assembly-grid .stage{height:500px;min-height:500px}}@media(max-width:700px){.assembly-system-tabs{padding:0 16px 14px;gap:8px}.assembly-system-tabs>button{min-height:114px;padding:12px}.assembly-system-tabs>button.active{padding:11px}.assembly-system-tabs strong{font-size:13px}.assembly-system-tabs small{font-size:10px}.assembly-introduction{padding:0 18px 16px;font-size:12px}.assembly-grid{display:flex;flex-direction:column}.assembly-grid .stage{min-height:430px;height:430px}.assembly-controls{padding:18px 16px}.assembly-controls .secondary,.assembly-controls .primary{font-size:12px}.assembly-inspector{padding:20px 18px}.assembly-reference-list{grid-template-columns:1fr}.assembly-sources{padding:18px}.focus-stage .assembly-controls{max-height:35vh}.assembly-system-tabs .assembly-type{font-size:8px}.part-marker{width:32px;height:32px}}

.assembly-grid .focus-stage .stage{flex:1}

/* Numbered component callouts occupy a reserved left rail, with non-interactive leaders. */
.assembly-callout-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.assembly-callout-lines polyline{stroke:#526b60;stroke-width:1.2;stroke-opacity:.72;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.assembly-callout-lines circle{fill:#526b60;stroke:#fff;stroke-width:.8}.part-marker{z-index:2;box-shadow:0 1px 5px #1833241c;font-size:12px!important;border-width:1.5px}

/* Authorship credits stay readable and wrap naturally on smaller screens. */
.studio-footer{flex-wrap:wrap}
.site-credit{flex:0 0 100%;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 20px;border-top:1px solid var(--line);padding-top:14px;color:#56695e;font-size:12px;line-height:1.8;text-align:center}
.site-credit bdi{font-weight:600}
@media(max-width:600px){.site-credit{flex-direction:column;gap:2px}}
