.decor{--ink:var(--ui-text-e7f2f3,#e7f2f3);--muted:var(--ui-text-9db7bf,#9db7bf);--edge:var(--ui-border-294653,#294653);--accent:var(--ui-accent-e5b966,#e5b966);color:var(--ink);background:var(--ui-bg-0c1c28,#0c1c28);min-height:var(--official-view,100dvh);font-family:inherit;direction:rtl}.decor *{box-sizing:border-box}.decor button,.decor select,.decor input{font:inherit}.decor button{border:1px solid var(--edge);background:var(--ui-bg-182f3e,#182f3e);color:var(--ink);border-radius:12px;padding:11px 16px;min-height:44px;cursor:pointer}.decor button:hover{border-color:#b4cdd3;background:var(--ui-bg-254454,#254454)}.decor button.active,.decor button.primary{background:var(--accent);border-color:var(--accent);color:#172d36}.decor button:focus-visible{outline:3px solid #6de2d0;outline-offset:3px}.decor button:disabled{opacity:.4;cursor:default}.dc-head{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--edge)}.dc-head h1{font-size:22px;margin:0;flex:1}.dc-head small{display:block;color:var(--muted);font-size:14px;margin-bottom:5px}.dc-directory{max-width:1250px;margin:auto;padding:36px 24px}.dc-directory h2{font-size:36px;margin:12px 0}.dc-directory p{color:var(--muted);line-height:1.8}.dc-grades{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:32px}.dc-grade{text-align:right!important;min-height:245px;padding:25px!important;background:linear-gradient(135deg,var(--ui-bg-244655,#244655),var(--ui-bg-132937,#132937))!important;position:relative;overflow:hidden}.dc-grade b{display:block;font-size:42px;color:var(--ui-text-e5b966,#e5b966);margin:20px 0}.dc-grade strong{font-size:24px;display:block}.dc-grade small{display:block;color:var(--ui-text-adcad0,#adcad0);font-size:15px;margin-top:16px}.dc-lessons{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.dc-lesson{display:flex;align-items:center;text-align:right;gap:18px;padding:20px!important}.dc-lesson span:first-child{font-size:27px;color:var(--ui-text-e5b966,#e5b966);min-width:45px}.dc-lesson strong{font-size:18px;line-height:1.5}.dc-lesson small{display:block;color:var(--muted);font-size:14px;margin-top:6px}.dc-work{display:grid;grid-template-columns:265px minmax(0,1fr);height:calc(var(--official-view,100dvh) - 87px);min-height:540px}.dc-tools{padding:18px;overflow:auto;border-left:1px solid var(--edge);background:var(--ui-bg-102533,#102533)}.dc-tools h2{font-size:17px;margin:0 0 18px}.dc-control{display:block;margin:0 0 18px}.dc-control>span{display:flex;justify-content:space-between;font-size:15px;margin-bottom:9px;color:var(--ui-text-c9dce1,#c9dce1)}.dc-control input[type=range]{width:100%;accent-color:var(--ui-text-e5b966,#e5b966);min-height:28px}.dc-control select,.dc-control input[type=number]{width:100%;background:var(--ui-bg-1d3746,#1d3746);border:1px solid var(--ui-border-47606b,#47606b);color:var(--ui-text-ffffff,#ffffff);border-radius:8px;padding:9px}.dc-control input[type=color]{width:100%;height:38px;border:0;background:none}.dc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.dc-actions button{flex:1;font-size:14px;padding:9px}.dc-stage{min-width:0;position:relative;display:flex;flex-direction:column;overflow:hidden}.dc-instruction{padding:12px 20px;color:var(--ui-text-c3d8de,#c3d8de);font-size:15px;background:var(--ui-bg-112633,#112633);line-height:1.6}.dc-canvas-wrap{position:relative;flex:1;min-height:350px;overflow:hidden}.dc-canvas{display:block;width:100%;height:100%;touch-action:none;outline:0}.dc-view{position:absolute;left:16px;top:14px;display:flex;gap:6px;flex-wrap:wrap;max-width:90%}.dc-view button{background:var(--ui-bg-142c3ddd,#142c3ddd);padding:9px 13px;font-size:14px}.dc-status{padding:12px 20px;background:var(--ui-bg-0e2330,#0e2330);border-top:1px solid var(--edge);color:var(--ui-text-bdd1d9,#bdd1d9);font-size:14px;min-height:45px}.dc-stats{display:grid;gap:8px;margin:15px 0;padding:12px;background:var(--ui-bg-203c4b,#203c4b);border-radius:10px;font-size:14px;line-height:1.7}.dc-stats strong{color:var(--ui-text-f0cc8a,#f0cc8a)}.dc-note{font-size:14px;line-height:1.7;color:var(--ui-text-9ab5bf,#9ab5bf)}.dc-palette{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:18px}.dc-palette button{font-size:14px;padding:10px 6px}.dc-reference{position:fixed;inset:0;background:var(--ui-bg-06101cee,#06101cee);z-index:10000;overflow:auto;padding:24px;direction:rtl}.dc-reference header{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--ui-bg-142d3a,#142d3a);padding:10px 20px;border-radius:10px;color:var(--ui-text-ffffff,#ffffff)}.dc-reference img{display:block;width:min(1100px,100%);height:auto;margin:20px auto;border-radius:8px;background:#ffffff}.dc-reference button{padding:10px 20px;background:#e5b966;color:#172d36;border:0;border-radius:8px;font:inherit}.dc-empty-note{max-width:650px;margin:40px auto;line-height:2}.subject-buttons{display:grid;grid-template-columns:1fr 1fr;gap:16px}.subject-buttons button{min-height:155px;font:inherit;font-size:28px;border:1px solid var(--ui-border-486371,#486371);border-radius:20px;background:linear-gradient(135deg,var(--ui-bg-214754,#214754),var(--ui-bg-112535,#112535));color:var(--ui-text-ffffff,#ffffff);cursor:pointer}.subject-buttons #subject-decor{border-color:var(--ui-border-a18450,#a18450);background:linear-gradient(135deg,var(--ui-bg-65512e,#65512e),var(--ui-bg-282720,#282720))}.subject-buttons small{display:block;font-size:15px;margin-top:12px;color:var(--ui-text-c2d3d9,#c2d3d9)}.subject-back{margin-bottom:15px}.dc-progress{height:6px;border-radius:8px;background:var(--ui-bg-28434e,#28434e);overflow:hidden;margin-bottom:14px}.dc-progress i{display:block;height:100%;background:#e5b966;transition:width .25s}.decor [hidden]{display:none!important}@media(max-width:900px){.dc-work{grid-template-columns:220px minmax(0,1fr)}.dc-head{padding:12px}.dc-head h1{font-size:18px}.dc-grades{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px) and (orientation:portrait){.dc-head{gap:8px;flex-wrap:wrap}.dc-head h1{flex-basis:55%;font-size:17px}.dc-head button{font-size:14px;padding:9px}.dc-work{display:flex;flex-direction:column;height:auto;min-height:0}.dc-stage{order:0}.dc-tools{order:1;border:0;overflow:visible;padding:18px}.dc-canvas-wrap{height:52dvh;min-height:360px;flex:auto}.dc-tools .dc-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.dc-tools h2,.dc-tools .dc-palette,.dc-tools .dc-actions,.dc-tools .dc-stats,.dc-tools .dc-note{grid-column:1/-1}.dc-lessons{grid-template-columns:1fr}.dc-directory{padding:20px 14px}.dc-directory h2{font-size:28px}.dc-grades{gap:10px}.dc-grade{min-height:190px;padding:18px!important}.dc-grade strong{font-size:20px}.dc-grade b{font-size:30px}.dc-view{left:8px;top:8px;gap:4px}.dc-view button{font-size:13px;padding:7px;min-height:38px}.dc-instruction{padding:10px 12px}.subject-buttons{grid-template-columns:1fr}.subject-buttons button{min-height:100px}}@media(orientation:landscape) and (max-height:550px){.dc-head{padding:7px 12px;gap:8px}.dc-head h1{font-size:16px}.dc-head small{display:none}.dc-head button{min-height:36px;padding:6px 12px}.dc-work{height:calc(var(--official-view,100dvh) - 53px);min-height:0;grid-template-columns:205px minmax(0,1fr)}.dc-tools{padding:12px}.dc-canvas-wrap{min-height:0}.dc-instruction{padding:6px 12px;font-size:14px}.dc-status{padding:5px 12px;min-height:28px}.dc-view button{min-height:34px;padding:5px 9px}.dc-control{margin-bottom:10px}}@media(prefers-reduced-motion:reduce){.decor *{scroll-behavior:auto!important;transition:none!important}}
.dc-tabs{display:flex;gap:8px;padding:8px 20px;background:var(--ui-bg-102633,#102633);border-bottom:1px solid var(--ui-border-294653,#294653)}.decor:has(.dc-tabs) .dc-work{height:calc(var(--official-view,100dvh) - 149px)}@media(max-width:600px) and (orientation:portrait){.decor:has(.dc-tabs) .dc-work{height:auto}.dc-tabs{padding:8px;flex-wrap:wrap}}@media(orientation:landscape) and (max-height:550px){.dc-tabs{padding:4px 12px}.dc-tabs button{padding:4px 10px;min-height:32px;font-size:14px}.decor:has(.dc-tabs) .dc-work{height:calc(var(--official-view,100dvh) - 94px)}}
/* Compact working surfaces: canvas and controls each own their overflow. */
.decor{overflow-x:hidden}.dc-head h1{min-width:0;line-height:1.5}.dc-head button{flex-shrink:0}.dc-tools{min-width:0;scrollbar-width:thin;scrollbar-color:#577681 transparent}.dc-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dc-controls>.dc-control,.dc-controls>.dc-note{grid-column:1/-1;margin:0 0 8px}.dc-controls>button{font-size:14px;padding:10px 8px;line-height:1.5}.dc-control output{direction:ltr;white-space:nowrap;color:var(--ui-text-f1cc83,#f1cc83);padding-right:8px}.dc-canvas{user-select:none;-webkit-user-select:none}.dc-head button,.dc-tabs button{white-space:nowrap}.dc-status{line-height:1.6}.dc-reference header{gap:12px}.dc-reference strong{font-size:16px}.dc-view{z-index:2}.dc-tools h2{padding-bottom:12px;border-bottom:1px solid var(--ui-border-294653,#294653)}.dc-instruction{font-size:16px}.dc-grade:focus-visible,.dc-lesson:focus-visible{outline-offset:4px}.dc-lesson:hover{transform:translateY(-1px)}
@media(max-width:600px) and (orientation:portrait){.dc-head h1{order:0;flex:1;flex-basis:70%;font-size:17px}.dc-head button{min-height:42px}.dc-canvas-wrap{height:auto;aspect-ratio:10/7;min-height:285px}.dc-tools .dc-controls{gap:12px}.dc-tools .dc-control{grid-column:auto}.dc-tools .dc-controls>.dc-note{grid-column:1/-1}.dc-tools .dc-controls>button{min-height:48px}.dc-status{font-size:14px}.dc-instruction{font-size:15px}.dc-tabs{overflow:auto;flex-wrap:nowrap}.dc-tabs button{white-space:normal;flex:1}.dc-head{padding:10px}.dc-reference{padding:10px}}
@media(orientation:landscape) and (max-height:550px){.dc-controls{gap:7px}.dc-controls>.dc-control{margin-bottom:5px}.dc-instruction{font-size:14px}.dc-head h1{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dc-tools .dc-note{font-size:14px}.dc-status{font-size:13px}.dc-tools{width:auto}.dc-controls>button{padding:7px 4px}.dc-view{top:6px}.dc-canvas-wrap{aspect-ratio:auto}}
.dc-stencil{position:absolute;z-index:4;left:5%;bottom:8%;width:min(500px,90%);background:#cedbc8ed;color:#244651;border:2px solid #9cae91;border-radius:12px;box-shadow:0 12px 25px #071b2855;direction:rtl;overflow:hidden}.dc-stencil header{display:flex;align-items:center;justify-content:space-between;cursor:grab;touch-action:none;padding:5px 12px;background:#e4ead9;font-size:14px}.dc-stencil header button{min-height:32px;padding:3px 10px;color:#274852;background:transparent}.dc-stencil>div{display:flex;overflow-x:auto;padding:6px;gap:5px}.dc-stencil>div button{min-width:78px;width:78px;background:#f3f3dc88;color:#244651;padding:3px;border:1px solid #92a697;font-size:13px}.dc-stencil canvas{width:70px;height:55px;display:block}.dc-stencil span{display:block}.dc-walk{position:fixed;inset:0;z-index:20000;background:var(--ui-bg-0a1925,#0a1925);color:var(--ui-text-ffffff,#ffffff);direction:rtl;font-family:inherit;touch-action:none}.dc-walk canvas{width:100%;height:100%;display:block;touch-action:none}.dc-walk header{position:absolute;top:max(10px,env(safe-area-inset-top));left:12px;right:12px;display:flex;align-items:center;gap:12px;justify-content:space-between;pointer-events:none}.dc-walk header>*{pointer-events:auto}.dc-walk button{font:inherit;border:1px solid var(--ui-border-70979a,#70979a);border-radius:14px;background:var(--ui-bg-163845e8,#163845e8);color:var(--ui-text-ffffff,#ffffff);padding:12px;min-height:44px}.dc-walk p{position:absolute;top:64px;left:15px;right:15px;font-size:14px;text-align:center;pointer-events:none}.dc-walk output{position:absolute;right:18px;bottom:22px;background:var(--ui-bg-102b3bd9,#102b3bd9);padding:9px;border-radius:8px;font-size:14px}.dc-joystick{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));left:25px;width:130px;height:130px;border:2px solid #9bccc699;background:var(--ui-bg-31596588,#31596588);border-radius:50%;display:grid;place-items:center;touch-action:none}.dc-joystick i{display:block;width:55px;height:55px;border-radius:50%;background:#b8d4cb;box-shadow:0 4px 15px #10273380;pointer-events:none}@media(max-width:600px){.dc-walk strong{display:none}.dc-joystick{width:112px;height:112px;left:16px}.dc-walk p{font-size:12px}.dc-walk output{font-size:12px;max-width:48%}}
.dc-photo-stencil{width:min(620px,88%);max-height:76%;left:6%;bottom:6%;background:#efc529;border-color:var(--ui-border-d3b847,#d3b847)}.dc-photo-stencil .dc-stencil-photo{position:relative;display:block;padding:0;overflow:hidden;aspect-ratio:1000/506}.dc-stencil-photo img{display:block;width:100%;height:100%;pointer-events:none}.dc-photo-stencil .dc-stencil-photo button{position:absolute;padding:0;min-width:0;min-height:0;margin:0;background:transparent;border:1px solid transparent;border-radius:4px;touch-action:manipulation}.dc-photo-stencil .dc-stencil-photo button:focus-visible,.dc-photo-stencil .dc-stencil-photo button:active{background:var(--ui-bg-1f939655,#1f939655);border-color:var(--ui-border-19575b,#19575b)}.dc-photo-stencil header{font-size:12px;background:#fff2a8}.dc-look-stick{left:auto;right:25px}.dc-walk output{right:50%;transform:translateX(50%);bottom:12px;max-width:45%;text-align:center;font-size:12px}@media(orientation:landscape) and (max-height:550px){.dc-photo-stencil{width:min(440px,62%);bottom:3%}.dc-photo-stencil header{padding:2px 8px}}@media(max-width:600px){.dc-look-stick{right:16px;left:auto}}

/* Furniture studio shares the compact, full-workspace lab layout. */
.decor.dc-room-lab{height:var(--official-view,100dvh);min-height:0;display:flex;flex-direction:column;overflow:hidden;--accent:var(--ui-accent-66d7be,#66d7be)}
.dc-room-lab .dc-head{flex:0 0 auto;padding:10px 16px;gap:10px}
.dc-room-lab .dc-head h1{font-size:19px;min-width:0}.dc-room-lab .dc-head small{font-size:12px}
.dc-room-lab .dc-simulate{background:#66d7be;color:#102e32;border-color:#66d7be;font-weight:700;white-space:nowrap}
.dc-room-lab .dc-work{display:flex;flex-direction:column;flex:1;min-height:0;height:auto!important}
.dc-room-lab .dc-tools{order:0;flex:none;display:flex;align-items:center;gap:12px;padding:8px 14px;overflow-x:auto;overflow-y:hidden;border:0;border-bottom:1px solid var(--ui-border-294653,#294653);width:100%;background:var(--ui-bg-102331,#102331)}
.dc-room-lab .dc-tools h2,.dc-room-lab .dc-tools>.dc-note,.dc-room-lab .dc-stats{display:none}
.dc-room-lab .dc-controls{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;flex:1}
.dc-room-lab .dc-controls>button{white-space:nowrap;min-width:65px;padding:9px 14px;min-height:44px}
.dc-room-lab .dc-controls>[data-action=stencil]{background:var(--ui-bg-215449,#215449);border-color:var(--ui-border-5dbaa7,#5dbaa7);color:var(--ui-text-e9fff8,#e9fff8);font-weight:700;min-width:110px}
.dc-room-lab .dc-control{margin:0;min-width:120px;max-width:150px}.dc-room-lab .dc-control>span{font-size:11px;margin-bottom:2px}.dc-room-lab .dc-control select{padding:5px;min-height:30px}
.dc-room-lab .dc-tools .dc-view{position:static;display:flex;gap:5px;flex:none;order:2;direction:ltr}.dc-room-lab .dc-view button{padding:8px 12px;min-height:44px;white-space:nowrap}
.dc-room-lab .dc-stage{order:1;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.dc-room-lab .dc-canvas-wrap{flex:1;min-height:0;height:auto;aspect-ratio:auto;width:100%}
.dc-room-lab .dc-canvas{width:100%;height:100%;display:block;touch-action:none}
.dc-room-lab .dc-instruction{padding:6px 16px;font-size:13px;min-height:0;background:var(--ui-bg-102331,#102331);color:var(--ui-text-a9c3cd,#a9c3cd)}
.dc-room-lab .dc-status{flex:none;min-height:26px;padding:4px 16px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){.dc-room-lab .dc-head{padding:7px;gap:5px;flex-wrap:nowrap}.dc-room-lab .dc-head h1{font-size:13px;flex-basis:auto}.dc-room-lab .dc-head small{display:none}.dc-room-lab .dc-head button{padding:7px 9px;min-height:40px;font-size:12px}.dc-room-lab #dc-reference{display:none}.dc-room-lab .dc-tools{gap:8px;padding:6px;flex-wrap:wrap}.dc-room-lab .dc-controls{flex:1 0 100%;overflow-x:auto}.dc-room-lab .dc-controls>button{padding:6px 10px;min-height:40px;font-size:13px}.dc-room-lab .dc-tools .dc-view{margin-inline:auto}.dc-room-lab .dc-view button{min-height:36px;padding:5px 14px}.dc-room-lab .dc-instruction{font-size:12px;padding:5px 10px}}
@media(orientation:landscape) and (max-height:550px){.dc-room-lab .dc-head{padding:4px 10px}.dc-room-lab .dc-head h1{font-size:15px}.dc-room-lab .dc-tools{padding:4px 8px;gap:8px}.dc-room-lab .dc-tools button{min-height:34px;padding:5px 9px;font-size:13px}.dc-room-lab .dc-instruction{display:none}.dc-room-lab .dc-status{min-height:22px;padding:2px 10px}}
/* Contained library cards, matching the ordinary electronics lab drawer. */
.dc-room-lab .dc-furniture-picker{inset:10px auto 10px 10px;width:340px;max-width:calc(100% - 20px);background:var(--ui-bg-122136,#122136);color:var(--ui-text-e8f3f4,#e8f3f4);border-color:var(--ui-border-40536d,#40536d);border-radius:14px;box-shadow:0 14px 50px #0009}
.dc-room-lab .dc-furniture-picker header{background:var(--ui-bg-14273a,#14273a);border-color:var(--ui-border-32475a,#32475a);padding:12px}.dc-room-lab .dc-furniture-picker header small{color:var(--ui-text-aec4cf,#aec4cf);line-height:1.6;font-size:12px}
.dc-room-lab .dc-furniture-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:164px;align-content:start;gap:8px;padding:10px;min-height:0;overflow:auto;flex:1}
.dc-room-lab .dc-furniture-option{height:164px;min-height:164px;max-height:164px;overflow:hidden;padding:7px!important;background:var(--ui-bg-1a3043,#1a3043)!important;border-color:var(--ui-border-334c5e,#334c5e)!important;color:var(--ui-text-e8f3f4,#e8f3f4)!important;display:flex;flex-direction:column;justify-content:flex-start;gap:4px;flex-shrink:0}
.dc-room-lab .dc-furniture-option canvas{position:static!important;width:100%!important;height:90px!important;min-height:90px!important;max-height:90px!important;flex:0 0 90px!important;aspect-ratio:16/11;object-fit:contain;background:#fff;border-radius:7px}
.dc-room-lab .dc-furniture-option span{font-size:12px;line-height:1.5;display:block}.dc-room-lab .dc-furniture-option small{font-size:11px;color:var(--ui-text-adc4cf,#adc4cf);margin:0;line-height:1.4}
.dc-room-lab .dc-furniture-picker[hidden]{display:none!important}
@media(max-width:600px){.dc-room-lab .dc-furniture-picker{width:330px;inset:6px auto 6px 6px;max-width:calc(100% - 12px)}}
/* Paper is visually knocked out; the reference linework sits on the surface. */
.dc-room-lab .dc-furniture-option canvas{background:transparent!important;filter:invert(1);mix-blend-mode:screen;border-radius:0}
/* Walkthrough overlays never share a line with the navigation buttons. */
.dc-walk>canvas{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:fill}
.dc-walk header{z-index:2;align-items:flex-start;gap:12px}.dc-walk header button{font-size:14px;padding:10px 14px;line-height:1.4}
.dc-walk>p{top:70px;margin:0;line-height:1.7;background:var(--ui-bg-102735b8,#102735b8);border-radius:8px;padding:5px 10px;left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px)}
@media(max-width:600px){.dc-walk header{top:max(10px,env(safe-area-inset-top));left:10px;right:10px}.dc-walk header button{font-size:12px;max-width:45%;padding:9px 11px}.dc-walk>p{top:68px;font-size:11px;max-width:90%;white-space:normal}.dc-walk output{bottom:max(12px,env(safe-area-inset-bottom));font-size:11px}}

/* Floating dual-touch controls; the canvas owns both pointer captures. */
.dc-walk .dc-joystick{position:fixed;right:auto;bottom:auto;width:110px;height:110px;transform:translate(-50%,-50%);pointer-events:none;z-index:3}
.dc-walk .dc-joystick[hidden]{display:none!important}
.dc-room-lab .dc-furniture-picker{inset:8px 8px auto;width:auto;max-width:none;height:auto;max-height:170px}
.dc-room-lab .dc-furniture-picker header{padding:4px 10px;min-height:30px}
.dc-room-lab .dc-furniture-picker header small{display:none}
.dc-room-lab .dc-furniture-picker header button{min-height:28px;padding:0 9px}
.dc-room-lab .dc-furniture-list{display:flex;flex-wrap:nowrap;gap:6px;padding:6px;overflow-x:auto;overflow-y:hidden;touch-action:pan-x}
.dc-room-lab .dc-furniture-option{flex:0 0 104px;width:104px;min-width:104px;height:104px;min-height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;overflow:hidden;gap:2px}
.dc-room-lab .dc-furniture-option canvas{width:82px!important;height:56px!important;position:static;object-fit:contain;flex:none}
.dc-room-lab .dc-furniture-option span{font-size:11px;line-height:1.2;white-space:nowrap}
.dc-room-lab .dc-furniture-option small{font-size:10px;line-height:1.2}

/* Explicitly reset old card canvas minimums so labels and dimensions stay visible. */
.dc-room-lab .dc-furniture-option{height:100px;min-height:100px;max-height:100px;padding:5px!important;gap:2px;justify-content:flex-start}
.dc-room-lab .dc-furniture-option canvas{width:76px!important;height:44px!important;min-height:44px!important;max-height:44px!important;flex:0 0 44px!important}
.dc-room-lab .dc-furniture-option span{margin:0;line-height:15px;font-size:11px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 0 15px}
.dc-room-lab .dc-furniture-option small{margin:0;line-height:16px;font-size:11px;flex:0 0 16px;white-space:nowrap;direction:ltr}
.dc-home-grades{margin-top:16px}
.dc-home-grades[hidden]{display:none}
.dc-room-lab .dc-controls .dc-control:has(input[type=range]){min-width:150px;max-width:190px}
.dc-room-lab .dc-controls .dc-control input[type=range]{width:100%;margin:4px 0}
.dc-room-lab .dc-controls .dc-control:has(input[type=color]){min-width:85px}
@media(min-width:1024px) and (pointer:fine){
 .decor .dc-head{padding:10px 22px}
 .decor:not(.dc-room-lab) .dc-work{grid-template-columns:290px minmax(0,1fr)}
 .decor .dc-canvas{cursor:grab}
 .decor .dc-canvas:active{cursor:grabbing}
 .dc-room-lab .dc-tools{flex-wrap:wrap;overflow:visible;gap:8px}
 .dc-room-lab .dc-controls{flex-wrap:wrap;gap:7px}
 .dc-room-lab .dc-tools .dc-view{margin-inline-start:auto}
 .dc-room-lab .dc-controls>button{font-size:13px;padding:7px 11px}
 .dc-room-lab .dc-control{min-width:125px}
 .dc-walk canvas{cursor:crosshair}
}

.wood-lab{position:relative;height:var(--official-view,100dvh);display:flex;flex-direction:column;background:var(--ui-bg-0c1c28,#0c1c28);color:var(--ui-text-e9f2f3,#e9f2f3);font-family:inherit;overflow:hidden}
.wood-lab button,.wood-lab select{font:inherit;color:inherit;background:var(--ui-bg-1b3444,#1b3444);border:1px solid var(--ui-border-385363,#385363);border-radius:10px;padding:9px 15px;min-height:42px;cursor:pointer}
.wood-lab button:disabled{opacity:.4;cursor:default}.wood-lab button:focus-visible{outline:2px solid #72e1c6;outline-offset:2px}
.wood-lab button:hover:not(:disabled){background:var(--ui-bg-294b59,#294b59)}
.wood-lab .wood-primary,.wood-lab button.active{background:var(--ui-bg-286153,#286153);border-color:var(--ui-border-67c9ae,#67c9ae)}
.wood-lab>header{display:flex;align-items:center;gap:14px;padding:12px 20px;border-bottom:1px solid var(--ui-border-294653,#294653)}
.wood-lab h1,.wood-lab h2{margin:0;font-size:22px}.wood-lab>header>div{flex:1}.wood-lab small{color:var(--ui-text-a4bbc5,#a4bbc5);font-size:12px}
.wood-lab>nav{display:flex;align-items:center;gap:7px;padding:9px 18px;overflow-x:auto;flex:none;border-bottom:1px solid var(--ui-border-294653,#294653)}
.wood-lab nav button{white-space:nowrap;font-size:14px}.wood-lab nav>span{flex:1}
.wood-stage{position:relative;flex:1;min-height:0;overflow:hidden}.wood-stage>canvas{width:100%;height:100%;display:block;touch-action:none;user-select:none;cursor:grab}
.wood-stage>canvas:active{cursor:grabbing}.wood-help{position:absolute;top:12px;left:20px;right:20px;text-align:center;color:var(--ui-text-a7c0cb,#a7c0cb);font-size:13px;pointer-events:none}
.wood-selection{position:absolute;right:14px;bottom:16px;display:grid;gap:10px;padding:14px;background:var(--ui-bg-122b3bea,#122b3bea);backdrop-filter:blur(12px);border:1px solid var(--ui-border-365564,#365564);border-radius:15px;width:220px}
.wood-selection label{display:flex;align-items:center;justify-content:space-between;font-size:13px}.wood-selection select{padding:5px;min-height:32px}
.wood-axes{display:flex;direction:ltr;gap:5px}.wood-axes button{flex:1}.wood-selection>div:not(.wood-axes){display:flex;gap:7px}.wood-selection>div>button{flex:1}
.wood-empty{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);text-align:center;line-height:2;font-size:24px;pointer-events:none;width:90%}.wood-empty[hidden]{display:none}
.wood-lab>footer{display:flex;justify-content:space-between;gap:10px;padding:8px 20px;font-size:12px;border-top:1px solid var(--ui-border-294653,#294653);color:var(--ui-text-b9ccd4,#b9ccd4)}
.wood-picker{position:absolute;z-index:20;inset:10% 8%;border:1px solid var(--ui-border-527080,#527080);border-radius:18px;background:var(--ui-bg-122735,#122735);box-shadow:0 25px 80px #000a;display:flex;flex-direction:column;overflow:hidden}
.wood-picker[hidden]{display:none}.wood-picker header,.wood-picker footer{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--ui-border-345363,#345363)}
.wood-catalog{overflow:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px}
.wood-catalog article{display:flex;flex-direction:column;align-items:center;background:var(--ui-bg-203b4a,#203b4a);border:1px solid var(--ui-border-3b5664,#3b5664);border-radius:12px;padding:8px;gap:7px}
.wood-catalog canvas{width:100%;max-width:180px;height:125px;object-fit:contain}.wood-catalog strong{font-size:14px}.wood-catalog article>div{display:flex;align-items:center;gap:16px;direction:ltr}.wood-catalog output{min-width:20px;text-align:center}
@media(max-width:700px){.wood-lab>header{padding:8px;gap:7px}.wood-lab h1{font-size:17px}.wood-lab>header small{display:none}.wood-lab button{padding:7px 10px}.wood-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.wood-picker{inset:4% 3%}.wood-picker footer{flex-wrap:wrap}.wood-selection{width:170px;right:8px;bottom:8px;padding:9px;gap:6px}.wood-selection small{display:none}.wood-help{font-size:11px;left:8px;right:8px}.wood-empty{font-size:19px}.wood-lab>footer{font-size:11px;padding:7px}}
@media(orientation:landscape) and (max-height:550px){.wood-lab>header{padding:5px 12px}.wood-lab>nav{padding:4px 10px}.wood-lab button{min-height:32px;padding:5px 10px}.wood-selection{width:190px;gap:5px;padding:8px}.wood-selection small{display:none}.wood-catalog{grid-template-columns:repeat(4,minmax(0,1fr))}.wood-catalog canvas{height:75px}.wood-picker{inset:3%}.wood-picker header,.wood-picker footer{padding:8px}}
.wood-picker-body{flex:1 1 0;overflow:auto;overscroll-behavior:contain;min-height:0;padding:0 12px 12px}.wood-picker-body h3{margin:18px 12px 0;color:var(--ui-text-e8cf9e,#e8cf9e)}.wood-picker-body .wood-catalog{overflow:visible}.wood-presets{grid-template-columns:repeat(5,minmax(0,1fr))}.wood-presets canvas{height:155px}.wood-join{position:absolute;top:58px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #6ed4b7;border-radius:14px;background:var(--ui-bg-142e3af5,#142e3af5);z-index:3;max-width:95%;flex-wrap:wrap;justify-content:center}.wood-join[hidden]{display:none}.wood-join span{font-size:13px}.wood-join [data-join]{background:#60d2b5;color:#0b2b30}.wood-selection select[data-link]{max-width:125px;font-size:12px}.wood-selection label{gap:6px}.wood-catalog small{font-size:12px;color:var(--ui-text-aec5ce,#aec5ce)}
@media(max-width:700px){.wood-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.wood-presets canvas{height:130px}.wood-join{top:42px;width:max-content}.wood-join span{width:100%;text-align:center}.wood-selection label{font-size:11px}}

.ink-toolbar{position:absolute;top:12px;inset-inline-end:12px;z-index:5;display:flex;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:7px;border:1px solid var(--ui-border-54717d,#54717d);border-radius:16px;background:var(--ui-bg-142e3ded,#142e3ded);box-shadow:0 6px 24px #0003;direction:rtl;flex-wrap:wrap}
.ink-toolbar[hidden],.ink-options[hidden]{display:none!important}
.ink-toolbar button{min-height:38px;padding:7px 11px;font-size:13px}.ink-options{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ink-options label{display:flex;align-items:center;gap:5px;font-size:12px}.ink-options input[type=color]{width:30px;height:30px;padding:2px}.ink-options input[type=range]{width:70px}.ink-options output{min-width:17px}.ink-toolbar button:disabled{opacity:.4}
@media(max-width:700px){.ink-toolbar{top:7px;inset-inline-end:7px;max-width:calc(100% - 14px);gap:4px;padding:5px}.ink-options{gap:5px}.ink-toolbar button{min-height:36px;padding:5px 8px}.ink-options input[type=range]{width:54px}}
.dc-canvas-wrap:has(.ink-toolbar){display:flex;flex-direction:column}.dc-canvas-wrap:has(.ink-toolbar)>.dc-canvas{min-height:0;flex:1;height:0}.dc-canvas-wrap>.ink-toolbar{position:relative;order:-1;top:auto;inset-inline-end:auto;max-width:100%;margin:6px 8px;align-self:flex-end;flex-shrink:0}.dc-canvas-wrap:has(.ink-toolbar)>.dc-view{position:relative;order:-2;left:auto;top:auto;margin:6px 8px 0;max-width:100%;flex-shrink:0}
.df-work>.ink-toolbar{top:68px;max-width:calc(100% - 24px)}
@media(max-height:500px) and (orientation:landscape){.ink-toolbar button{min-height:32px}.ink-toolbar{padding:3px}.ink-options label{font-size:12px}}
.dc-walk .dc-use{position:absolute;inset-inline-start:50%;bottom:100px;transform:translateX(50%);z-index:8;min-width:145px;min-height:60px;padding:10px 22px;border-radius:20px;border:1px solid #bbebd9;background:#e8f4edee;color:#173d36;box-shadow:0 8px 30px #0004;touch-action:manipulation;cursor:pointer}.dc-use b{display:block;font-size:20px}.dc-use span{display:block;font-size:12px;margin-top:3px}.dc-walk .dc-use[hidden]{display:none}.dc-walk .dc-use:active{background:#a4e0cb}.dc-walk .dc-use:focus-visible{outline:3px solid #e5b966;outline-offset:4px}
@media(orientation:landscape) and (max-height:550px){.dc-walk .dc-use{bottom:50px;min-height:48px;padding:5px 16px}.dc-use b{font-size:17px}.dc-walk>p{display:none}}
/* Calm, compact room workspace. */
.dc-room-lab .dc-instruction,.dc-room-lab .dc-status,.dc-room-lab .dc-tools>.dc-view{display:none!important}
.dc-room-lab .dc-work{height:calc(var(--official-view,100dvh) - 72px);min-height:0;display:flex;flex-direction:column}
.dc-room-lab .dc-tools{overflow:visible;flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;padding:6px 10px;gap:6px}
.dc-room-lab .dc-controls{display:flex;align-items:center;flex-wrap:wrap;overflow:visible;flex:1;gap:6px}
.dc-room-lab .dc-controls>.dc-control{margin:0;min-width:135px;max-width:220px}.dc-room-lab .dc-controls>.dc-control>span{display:none}.dc-room-lab .dc-controls select{min-height:40px}
.dc-room-lab .dc-stage{flex:1;min-height:0}.dc-room-lab .dc-canvas-wrap{min-height:0;flex:1;height:auto}.dc-room-lab .dc-canvas{width:100%;height:100%;min-height:0}
.dc-room-lab .room-ink{position:relative;margin:0;padding:0;border:0;background:transparent;box-shadow:none;inset:auto;flex-shrink:0}.room-ink .ink-options{position:absolute;top:calc(100% + 8px);inset-inline-end:0;width:max-content;max-width:min(520px,90vw);padding:12px;border-radius:14px;background:var(--ui-bg-16313f,#16313f);border:1px solid var(--ui-border-56727e,#56727e);box-shadow:0 8px 28px #0004;z-index:30}
.room-settings{background:var(--ui-bg-16313f,#16313f);color:var(--ui-text-e6eff4,#e6eff4);border:1px solid var(--ui-border-698592,#698592);border-radius:20px;width:min(430px,92vw);max-height:85dvh;padding:20px;direction:rtl}.room-settings::backdrop{background:var(--ui-bg-05121b88,#05121b88)}.room-settings header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.room-settings label{display:grid;gap:8px;margin:18px 0;font-size:15px}.room-settings output{float:left}.room-settings input[type=range]{width:100%}.room-settings input[type=color]{width:100%;height:42px}.room-settings select{width:100%;padding:10px}
.room-context{position:absolute;z-index:25;display:flex;gap:6px;padding:8px;background:var(--ui-bg-16313f,#16313f);border:1px solid var(--ui-border-64818b,#64818b);border-radius:15px;box-shadow:0 8px 28px #0004}.room-context[hidden],.room-rotation[hidden]{display:none!important}
.room-rotation{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;z-index:10;direction:ltr}.room-rotation>button{border-radius:50%;width:44px;height:44px;padding:0;font-size:25px;touch-action:none;background:var(--ui-bg-173543,#173543);color:var(--ui-text-edf8f6,#edf8f6);border:1px solid #96bcbf}.room-rotation .room-dial{width:62px;height:62px;font-size:12px;position:relative;border:2px solid #68d2bd}.room-dial i{position:absolute;inset:4px;border-radius:50%;pointer-events:none}.room-dial i:before{content:'';display:block;width:4px;height:9px;background:#68d2bd;margin:0 auto;border-radius:2px}.room-dial span{pointer-events:none}.dc-structure-icon{height:64px;display:grid;place-items:center;font:48px Arial;color:inherit}
.dc-walk .dc-use{inset-inline-start:auto;right:max(25px,env(safe-area-inset-right));bottom:24%;transform:none;width:76px;height:76px;min-width:0;min-height:0;border-radius:50%;padding:15px;background:#effaf2ed;color:#173e39;display:grid;place-items:center;box-shadow:0 5px 24px #0004}.dc-use svg{width:37px;height:37px}.dc-use b{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.dc-use span{position:absolute;right:0;top:calc(100% + 8px);max-width:180px;min-width:76px;padding:5px 8px;border-radius:9px;background:var(--ui-bg-173543dd,#173543dd);color:var(--ui-text-ffffff,#fff);font-size:12px;white-space:nowrap}
@media(orientation:landscape) and (max-height:550px){.dc-room-lab .dc-head{min-height:46px;max-height:54px}.dc-room-lab .dc-work{height:calc(var(--official-view,100dvh) - 50px)}.dc-room-lab .dc-controls>button{font-size:13px;padding:5px 9px;min-height:36px}.dc-room-lab .dc-tools{padding:4px 8px;gap:4px}.dc-room-lab .dc-controls select{min-height:36px;padding:5px}.dc-room-lab .room-ink button{min-height:36px}.dc-walk .dc-use{width:66px;height:66px;bottom:23%;right:24px}.room-rotation{bottom:8px}.room-rotation .room-dial{width:50px;height:50px}}
/* Compact annotation controls; detailed choices open only on demand. */
.ink-toolbar{flex-wrap:nowrap;gap:4px;padding:4px}
.ink-toolbar .ink-options,.room-ink .ink-options{position:static;display:flex;flex-wrap:nowrap;gap:4px;padding:0;border:0;box-shadow:none;background:transparent;width:auto;max-width:none}
.ink-toolbar .ink-icon{display:grid;place-items:center;width:40px;height:40px;min-height:40px;min-width:40px;padding:8px;font-size:20px;touch-action:manipulation}
.ink-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.ink-icon svg circle{fill:var(--ui-bg-142e3ded,#142e3d)}
.ink-popover{position:fixed;z-index:1000;width:240px;max-width:calc(100vw - 16px);padding:12px;border:1px solid var(--ui-border-54717d,#54717d);border-radius:12px;background:var(--ui-bg-142e3ded,#142e3d);color:var(--ui-text-e4ecf7,#e4ecf7);box-shadow:0 8px 24px #0003;direction:rtl}
.ink-popover[hidden]{display:none!important}
.ink-settings label{display:flex;align-items:center;gap:10px;margin:4px 0 12px}.ink-settings label:last-child{margin-bottom:0}
.ink-settings input[type=color]{width:40px;height:34px;padding:2px;margin-inline-start:auto}.ink-settings input[type=range]{width:110px;margin:0}.ink-settings output{min-width:22px}
.ink-confirm p{margin:0 0 10px}.ink-confirm>div{display:flex;gap:8px}.ink-confirm button{flex:1}

/* Lesson workspaces fit the visible screen. The drawing stays in view while
   tools move horizontally on narrow screens; navigation never scrolls away. */
.decor.dc-lesson-lab{height:var(--official-view,100vh);height:var(--official-view,100dvh);min-height:0;display:flex;flex-direction:column;overflow:hidden}
.dc-lesson-lab>.dc-head,.dc-lesson-lab>.dc-tabs{flex:0 0 auto}
.dc-lesson-lab>.dc-head{gap:8px;padding:8px 14px}
.dc-lesson-lab .dc-head h1{font-size:clamp(15px,1.65vw,21px);line-height:1.45}
.dc-lesson-lab .dc-head small{font-size:12px;margin-bottom:2px}
.dc-lesson-lab:not(.dc-room-lab)>.dc-work{flex:1;min-height:0;height:auto;grid-template-columns:260px minmax(0,1fr)}
.dc-lesson-lab:not(.dc-room-lab) .dc-stage{min-height:0}
.dc-lesson-lab:not(.dc-room-lab) .dc-canvas-wrap{min-height:0;aspect-ratio:auto;height:auto;flex:1}
.dc-lesson-lab .dc-tools{overscroll-behavior:contain;scrollbar-width:thin}
.dc-lesson-lab .dc-stats{gap:5px;margin:12px 0 0;line-height:1.6;border:1px solid var(--ui-border-35535f,#35535f);background:linear-gradient(120deg,var(--ui-bg-203c4b,#203c4b),var(--ui-bg-153340,#153340))}
.dc-lesson-lab .dc-stats>span{display:block}
.dc-lesson-lab .dc-status{padding:7px 14px;min-height:0;flex:0 0 auto}
.dc-lesson-lab .dc-tools h2{margin-bottom:12px;font-size:15px}
.dc-lesson-lab .dc-instruction{padding:8px 14px;font-size:14px}
.dc-lesson-lab #dc-lessons{font-weight:700;border-color:var(--ui-border-5dbaa7,#5dbaa7)}
.dc-course-room .dc-tools{flex-wrap:wrap}
.dc-course-room .dc-instruction{display:block!important}
.dc-course-room .dc-stats{display:flex!important;flex-wrap:wrap;flex:1 0 100%;gap:4px 18px;margin:0;padding:5px 9px;font-size:12px}
.dc-course-room .dc-stats>span{display:inline-block}
.dc-course-room #dc-reference{display:block}
.dc-room-lab .dc-controls{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;min-width:0;padding-bottom:2px}
.dc-room-lab .dc-controls>*{flex-shrink:0}
@media(max-width:600px) and (orientation:portrait){
 .dc-lesson-lab>.dc-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:5px;padding:7px}
 .dc-lesson-lab .dc-head h1{grid-column:2;grid-row:1;font-size:14px;flex-basis:auto}
 .dc-lesson-lab .dc-head #dc-lessons{grid-column:1;grid-row:1}
 .dc-lesson-lab .dc-head [data-fullscreen]{grid-column:3;grid-row:1}
 .dc-lesson-lab .dc-head button{padding:6px 10px;min-height:38px;font-size:12px}
 .dc-lesson-lab #dc-reset{grid-column:1;grid-row:2}
 .dc-lesson-lab #dc-reference{grid-column:2;grid-row:2;justify-self:end}
 .dc-lesson-lab #dc-simulate{grid-column:2;grid-row:2;justify-self:start}
 .dc-lesson-lab:not(.dc-room-lab)>.dc-work{display:flex;flex-direction:column}
 .dc-lesson-lab:not(.dc-room-lab) .dc-stage{flex:1;min-height:0;order:0}
 .dc-lesson-lab:not(.dc-room-lab) .dc-tools{order:1;flex:0 0 auto;padding:8px;overflow:hidden;border-top:1px solid var(--edge)}
 .dc-lesson-lab:not(.dc-room-lab) .dc-tools h2,.dc-lesson-lab:not(.dc-room-lab) .dc-tools>.dc-note{display:none}
 .dc-lesson-lab:not(.dc-room-lab) .dc-controls{display:flex;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;padding:3px 1px 8px;scroll-snap-type:x proximity}
 .dc-lesson-lab:not(.dc-room-lab) .dc-controls>*{flex:0 0 145px;scroll-snap-align:start;margin:0}
 .dc-lesson-lab:not(.dc-room-lab) .dc-controls>button{flex-basis:110px;min-height:44px;font-size:12px}
 .dc-lesson-lab:not(.dc-room-lab) .dc-controls>.dc-note{flex-basis:210px;font-size:12px}
 .dc-lesson-lab .dc-control>span{font-size:12px;margin-bottom:4px}
 .dc-lesson-lab:not(.dc-room-lab) .dc-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 10px;font-size:12px;padding:7px;margin:0;line-height:1.4}
 .dc-lesson-lab .dc-instruction{font-size:12px;padding:5px 9px;line-height:1.5}
 .dc-lesson-lab .dc-status{font-size:11px;padding:4px 9px;line-height:1.5}
 .dc-lesson-lab .dc-tabs{padding:4px 7px;gap:5px}
 .dc-lesson-lab .dc-tabs button{min-height:36px;padding:5px 9px;font-size:12px}
 .dc-room-lab .dc-tools{padding:5px 7px}
 .dc-room-lab .dc-controls{flex:1 1 100%}
 .dc-course-room .dc-stats{gap:3px 10px;padding:4px 7px;font-size:11px}
}
@media(orientation:landscape) and (max-height:550px){
 .dc-lesson-lab>.dc-head{padding:4px 9px}
 .dc-lesson-lab:not(.dc-room-lab)>.dc-work{grid-template-columns:205px minmax(0,1fr)}
 .dc-lesson-lab .dc-head h1{font-size:15px}
 .dc-lesson-lab .dc-instruction{padding:4px 10px;font-size:12px}
 .dc-lesson-lab .dc-status{padding:3px 10px;font-size:11px}
 .dc-lesson-lab .dc-tools{padding:8px}
 .dc-lesson-lab .dc-stats{padding:8px;font-size:12px}
 .dc-lesson-lab .dc-tabs{padding:3px 9px}
}

/* Engineering perspective: a quiet drafting surface inside the captured walkthrough. */
.dc-walk .dc-perspective{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;background:#f1f3ef;color:#233e3d;touch-action:manipulation;overflow:hidden;font-family:Arial,sans-serif;isolation:isolate}
.dc-perspective *{box-sizing:border-box}.dc-perspective [hidden]{display:none!important}
.dc-walk .dc-perspective .pg-header{position:static;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px max(18px,env(safe-area-inset-right)) 12px max(18px,env(safe-area-inset-left));background:#f9faf7;border-bottom:1px solid #dce3db;pointer-events:auto;flex:none}
.dc-perspective .pg-title{text-align:center}.dc-perspective .pg-title span{font-size:11px;color:#6c827b;letter-spacing:.3px}.dc-perspective h2{font-size:23px;line-height:1.35;margin:3px 0;font-weight:700;color:#254d45}
.dc-walk .dc-perspective button,.dc-walk .dc-perspective select{font:inherit;min-height:40px;max-width:none;padding:8px 14px;border:1px solid #cfdbd3;border-radius:11px;background:#fff;color:#32584e;cursor:pointer;line-height:1.4;transition:background .16s,border-color .16s,box-shadow .16s;touch-action:manipulation}
.dc-walk .dc-perspective button:hover{background:#eaf2ec;border-color:#8aafa0}.dc-walk .dc-perspective button:focus-visible,.dc-perspective select:focus-visible,.dc-perspective input:focus-visible{outline:3px solid #5eac91;outline-offset:3px}.dc-walk .dc-perspective button:disabled{opacity:.45;cursor:wait}.dc-walk .dc-perspective button[aria-pressed=true]{background:#dcece1;border-color:#729d87;color:#1e5541}
.dc-perspective .pg-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 18px;flex:none;border-bottom:1px solid #dce3db;background:#f9faf7;font-size:13px}.pg-toolbar label{display:flex;align-items:center;gap:8px;white-space:nowrap}.pg-tools{display:flex;gap:6px}.dc-perspective .pg-toolbar button,.dc-perspective .pg-toolbar select{min-height:34px;padding:6px 10px;font-size:12px}
.dc-perspective .pg-work{display:flex;flex:1;min-height:0;direction:ltr}.dc-perspective .pg-paper-area{flex:1;min-width:0;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;padding:18px 18px 38px;background:radial-gradient(ellipse at 50% 40%,#f8f9f5,#e7ece5);overflow:hidden;direction:rtl}.dc-perspective .pg-paper{position:relative;flex:none;background:#fff;box-shadow:0 10px 35px #27443712,0 1px 4px #27443720;border:1px solid #e1e7df;overflow:hidden}.dc-perspective .pg-paper canvas{width:100%;height:100%;display:block;cursor:default;max-width:none;max-height:none}.dc-perspective .pg-original{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.pg-paper-number{position:absolute;bottom:6px;left:10px;font-size:9px;letter-spacing:.4px;color:#a0afa6;pointer-events:none}.dc-perspective .pg-badge{position:absolute;bottom:9px;left:16px;font-size:11px;color:#5b776c;padding:4px 9px;border:1px solid #d6e1d6;border-radius:20px;background:#f8faf6}
.dc-perspective .pg-busy{position:absolute;inset:0;display:grid;place-items:center;background:#f5f7f0ed;color:#416e5d;font-size:16px;z-index:3}
.dc-perspective .pg-notes{width:270px;flex:none;overflow-y:auto;overscroll-behavior:contain;background:#f9faf7;border-left:1px solid #d9e2d7;padding:24px 20px;direction:rtl;touch-action:pan-y}.pg-step-count{font-size:12px;color:#789082}.pg-step-count b{font-size:22px;color:#315f4b;margin:0 4px}.dc-perspective h3{font-size:22px;line-height:1.5;margin:12px 0;color:#244e3e}.dc-walk .dc-perspective p{position:static;transform:none;width:auto;max-width:none;background:transparent;padding:0;margin:8px 0;text-align:right;pointer-events:auto;font-size:14px;line-height:1.85;color:#607568}.dc-perspective .pg-stages{display:grid;gap:4px;margin:20px 0}.dc-walk .dc-perspective .pg-stages button{text-align:right;font-size:12px;padding:8px;min-height:34px;background:transparent;border-color:transparent;display:flex;align-items:center;gap:10px;color:#829187}.dc-perspective .pg-stages span{border:1px solid #d7e0d5;border-radius:50%;width:24px;height:24px;display:grid;place-items:center;flex:none;font-size:11px}.dc-walk .dc-perspective .pg-stages .is-active{background:#e5eee2;border-color:#cfdfc9;color:#29553c}.dc-perspective .pg-stages .is-active span{background:#3f6b4d;color:#fff;border-color:#3f6b4d}.dc-walk .dc-perspective .pg-stages .is-done{color:#466b54}.dc-perspective details{border-top:1px solid #dae3d7;padding-top:14px;font-size:12px}.dc-perspective summary{cursor:pointer;line-height:1.8;color:#52745c}.dc-perspective small{font-size:10px;color:#83937f}.dc-walk .dc-perspective .pg-camera-note{font-size:11px;line-height:1.7;margin-top:20px;color:#82917e}
.dc-perspective .pg-footer{flex:none;display:flex;align-items:center;gap:22px;background:#fff;border-top:1px solid #dce3d8;padding:14px max(20px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));direction:rtl}.pg-play-controls{display:flex;gap:6px;align-items:center}.dc-walk .dc-perspective [data-pg-play]{background:#345f49;color:#fff;border-color:#345f49;min-width:96px}.dc-walk .dc-perspective output{position:static;transform:none;background:none;padding:0 4px;max-width:none;min-width:38px;font-size:13px;color:#5f7b67;font-variant-numeric:tabular-nums}.pg-scrubber{flex:1;min-width:0}.pg-scrubber>label{font-size:12px;color:#526d58}.dc-perspective input[type=range]{width:100%;height:28px;margin:4px 0 0;accent-color:#476f50;cursor:ew-resize;touch-action:none}.pg-range-labels{display:flex;justify-content:space-between;direction:ltr;font-size:10px;color:#829780}.dc-walk .dc-perspective [data-pg-next]{font-size:12px;white-space:nowrap}.dc-walk header [data-perspective]{background:#eff6ea;color:#244b3a;border-color:#b6d3ac;font-size:13px;padding:10px 13px}.dc-walk header [data-perspective][hidden]{display:none}
@media(max-width:850px){.dc-perspective .pg-notes{width:220px;padding:14px}.dc-perspective h3{font-size:18px}.dc-perspective .pg-title span{display:none}.dc-perspective .pg-toolbar{padding:6px 10px;gap:8px}.dc-perspective .pg-toolbar label{font-size:0}.dc-perspective .pg-footer{gap:10px;padding:9px 12px}.dc-perspective .pg-toolbar button{font-size:11px}.dc-walk .dc-perspective p{font-size:12px}.dc-perspective .pg-stages{margin:12px 0;gap:0}.dc-walk .dc-perspective .pg-stages button{padding:4px;min-height:30px}.dc-walk header [data-perspective]{max-width:none}}
@media(orientation:portrait) and (max-width:850px){.dc-perspective .pg-work{flex-direction:column}.dc-perspective .pg-notes{width:100%;max-height:145px;flex:none;padding:9px 16px;display:grid;grid-template-columns:1fr auto;gap:0 12px;border-left:0;border-top:1px solid #dae3d7}.dc-perspective .pg-notes h3{grid-column:1;margin:0;font-size:17px}.dc-perspective .pg-step-count{grid-column:2;grid-row:1}.dc-perspective .pg-step-count b{font-size:17px}.dc-perspective .pg-notes p[data-pg-description]{grid-column:1/3;font-size:12px;line-height:1.65;margin:4px 0}.dc-perspective .pg-stages{display:none}.dc-perspective .pg-camera-note{display:none}.dc-perspective details{grid-column:1/3;padding-top:4px}.dc-perspective .pg-toolbar{flex-wrap:wrap;justify-content:center;padding:5px}.dc-perspective h2{font-size:18px}.dc-walk .dc-perspective .pg-header{padding:8px 10px;gap:8px}.dc-walk .dc-perspective .pg-header button{font-size:11px;padding:7px;min-height:36px}.dc-perspective .pg-footer{flex-wrap:wrap;gap:6px;justify-content:space-between}.pg-scrubber{order:3;flex-basis:100%}.dc-perspective .pg-paper-area{padding-bottom:30px}.dc-perspective .pg-header .pg-title{flex:1}.dc-walk .dc-perspective .pg-play-controls button{min-height:34px;padding:5px 10px}.dc-perspective .pg-footer>[data-pg-next]{min-height:34px}}
@media(orientation:landscape) and (max-height:550px){.dc-walk .dc-perspective .pg-header{padding:5px 12px}.dc-perspective h2{font-size:18px}.dc-perspective .pg-header button{min-height:32px;padding:5px 10px}.dc-perspective .pg-toolbar{padding:3px 12px}.dc-perspective .pg-toolbar button,.dc-perspective .pg-toolbar select{min-height:28px;padding:4px 9px}.dc-perspective .pg-notes{width:215px;padding:10px 14px}.dc-perspective .pg-notes h3{margin:4px 0;font-size:17px}.dc-perspective .pg-step-count b{font-size:17px}.dc-perspective .pg-stages{display:none}.dc-walk .dc-perspective .pg-camera-note{font-size:10px;margin-top:8px}.dc-walk .dc-perspective .pg-notes p{display:block;font-size:12px}.dc-perspective .pg-footer{padding:5px 12px;gap:10px}.dc-perspective .pg-paper-area{padding:8px 12px 27px}.dc-perspective .pg-range-labels{display:none}.dc-perspective .pg-footer button{min-height:34px;padding:5px 10px}.dc-perspective input[type=range]{height:24px;margin:0}}
@media(prefers-reduced-motion:reduce){.dc-perspective *{transition:none!important}}

/* Live engineering view retains the same camera, collision and touch controls. */
.dc-walk>header{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}
.dc-walk>header button{max-width:none!important;flex:0 1 auto}
.dc-walk>header [data-camera]{margin-inline-start:auto}
.dc-walk>header [data-engineering]{background:#edf4f5;color:#23414b;border-color:#afc5cb;font-size:13px}
.dc-walk>header [data-engineering][aria-pressed=true]{background:#245e54;color:#fff;border-color:#77c1ab}
.dc-walk>header [hidden]{display:none}
.dc-walk.is-engineering>p,.dc-walk.is-engineering>output{background:#f5f7f4ed;color:#31464c;border:1px solid #cbd7d2}
.dc-walk.is-engineering>.dc-joystick{border-color:#527d77;background:#b6cec477}
@media(max-width:650px){.dc-walk>header{display:grid;grid-template-columns:1fr 1fr;gap:6px}.dc-walk>header button,.dc-walk>header [data-engineering],.dc-walk>header [data-perspective]{font-size:11px;padding:6px 8px;min-height:40px;width:100%;margin:0}.dc-walk>p{top:108px;font-size:10px}}
@media(prefers-reduced-motion:no-preference){.dc-walk>header [data-engineering]{transition:background .22s,color .22s,border-color .22s}}
.dc-perspective .pg-paper-area{touch-action:none;overscroll-behavior:contain}
.dc-perspective .pg-paper{transform-origin:center;will-change:transform}
.dc-perspective .pg-paper canvas,.dc-perspective .pg-original{pointer-events:none}
.dc-perspective .pg-zoomed{cursor:grab}
.dc-perspective .pg-zoomed:active{cursor:grabbing}
.dc-perspective .pg-zoom-controls{position:absolute;top:10px;left:12px;z-index:4;display:flex;align-items:center;gap:3px;direction:ltr;background:#fffffff2;border:1px solid #d3ded5;border-radius:12px;padding:3px;box-shadow:0 3px 14px #29463712;cursor:default}
.dc-walk .dc-perspective .pg-zoom-controls button{min-width:40px;min-height:40px;padding:5px 10px;border:0;border-radius:8px;background:transparent;color:#36594d;font-size:20px;line-height:1}
.dc-walk .dc-perspective .pg-zoom-controls [data-pg-zoom-fit]{font-size:12px}
.dc-walk .dc-perspective .pg-zoom-controls output{position:static;transform:none;background:none;color:#526e61;font-size:11px;min-width:38px;max-width:none;text-align:center;padding:0}
.dc-perspective .pg-zoom-controls button:disabled{opacity:.35}

/* Curriculum only: standalone furniture, wood, joinery and factory are excluded. */
.dc-course-directory .dc-directory{max-width:1300px;padding-block:32px 64px}
.dc-course-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:12px 0 26px;border-bottom:1px solid var(--edge)}
.dc-course-intro small{font-size:13px;color:var(--ui-text-e5b966,#e5b966)}
.dc-course-intro h1{font-size:clamp(27px,4vw,42px);margin:10px 0;letter-spacing:-.6px}
.dc-course-intro p{margin:0}.dc-course-intro>span{font-size:13px;color:var(--muted);white-space:nowrap;padding:9px 13px;border:1px solid var(--edge);border-radius:30px}
.dc-course-directory .dc-lessons{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.dc-course-directory .dc-lesson{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0!important;overflow:hidden;border-radius:18px;transition:transform .16s,border-color .16s;min-width:0}
.dc-course-directory .dc-lesson:hover{transform:translateY(-3px);border-color:var(--ui-text-e5b966,#e5b966)}
.dc-course-art{position:relative;background:var(--ui-bg-132937,#132937);border-bottom:1px solid var(--edge);overflow:hidden}
.dc-course-art svg{display:block;width:100%;height:175px;opacity:.95}
.dc-course-directory .dc-course-art .dc-week{position:absolute;top:12px;right:12px;font-size:11px;min-width:0;padding:5px 9px;background:var(--ui-bg-0c1c28,#0c1c28);border:1px solid var(--edge);border-radius:20px;color:var(--ink)}
.dc-card-copy{display:flex;flex:1;flex-direction:column;padding:18px 20px;gap:9px}
.dc-course-directory .dc-card-copy>small{margin:0;font-size:12px;color:var(--ui-text-e5b966,#e5b966)}
.dc-course-directory .dc-card-copy>strong{font-size:17px;line-height:1.7;min-height:58px}
.dc-course-directory .dc-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:14px;border-top:1px solid var(--edge)}
.dc-course-directory .dc-card-footer span{font-size:12px;color:var(--muted);min-width:0}.dc-card-footer b{font-size:20px;color:var(--ui-text-e5b966,#e5b966)}
.decor.dc-course-lab{height:var(--official-view,100dvh);min-height:0;display:flex;flex-direction:column;overflow:hidden}
.decor.dc-course-lab .dc-head{display:flex;flex:none;padding:12px 20px;gap:10px}
.decor.dc-course-lab .dc-head h1{font-size:19px;line-height:1.5;min-width:0}.decor.dc-course-lab .dc-head small{font-size:12px;color:var(--muted)}
.decor.dc-course-lab .dc-head button{font-size:13px;min-height:44px;padding:8px 13px;flex-shrink:0}
.decor.dc-course-lab .dc-work,.decor.dc-course-lab.dc-room-lab .dc-work{display:grid;grid-template-columns:280px minmax(0,1fr);height:auto;min-height:0;flex:1;overflow:hidden}
.decor.dc-course-lab .dc-tools,.decor.dc-course-lab.dc-room-lab .dc-tools{display:block;overflow:auto;min-height:0;max-height:none;padding:20px;border-left:1px solid var(--edge);border-bottom:0;overscroll-behavior:contain}
.decor.dc-course-lab .dc-controls,.decor.dc-course-lab.dc-room-lab .dc-controls{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;overflow:visible;flex:none}
.decor.dc-course-lab .dc-controls>.dc-control{flex:1 0 100%;min-width:0;max-width:none;margin:4px 0 13px}
.decor.dc-course-lab .dc-controls>button{flex:1 1 auto;font-size:13px;min-height:44px;padding:9px 11px}
.decor.dc-course-lab .dc-controls>.dc-note{flex-basis:100%;margin:4px 0 12px}
.decor.dc-course-lab .dc-tools h2{font-size:14px;color:var(--ui-text-e5b966,#e5b966);margin:22px 0 15px}
.decor.dc-course-lab .dc-course-brief{padding:13px;border:1px solid var(--edge);border-radius:13px;background:var(--ui-bg-182f3e,#182f3e);font-size:13px;line-height:1.8}
.dc-course-brief summary{cursor:pointer;font-weight:700;min-height:24px;list-style-position:inside}.dc-course-brief summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.dc-course-brief strong{display:block;margin-top:14px}.dc-course-brief ol{padding-inline-start:19px;margin:10px 0}.dc-course-brief li{padding-inline-start:3px;margin-bottom:8px;color:var(--muted)}.dc-course-brief p{font-size:12px;margin:8px 0 0;color:var(--muted);padding-top:10px;border-top:1px solid var(--edge)}
.decor.dc-course-lab .dc-stats{margin:18px 0 12px;padding:14px;border:1px solid var(--edge);font-size:13px}
.decor.dc-course-lab .dc-review{width:100%;border-color:var(--ui-text-e5b966,#e5b966);color:var(--ui-text-e5b966,#e5b966);background:transparent;font-size:13px}
.decor.dc-course-lab .dc-review-result{padding:12px;border-right:3px solid var(--accent);border-radius:4px;background:var(--ui-bg-182f3e,#182f3e);font-size:13px;line-height:1.9}
.decor.dc-course-lab .dc-stage{min-height:0}.decor.dc-course-lab .dc-canvas-wrap,.decor.dc-course-lab.dc-room-lab .dc-canvas-wrap{flex:1;min-height:0;height:auto}
.decor.dc-course-lab .dc-instruction{padding:10px 18px;line-height:1.8;font-size:13px;flex:none;display:block}
.decor.dc-course-lab .dc-status{white-space:normal;line-height:1.7;padding:8px 16px;font-size:12px;min-height:36px;flex:none}
.decor.dc-course-lab .dc-view{gap:5px;max-width:calc(100% - 24px)}.decor.dc-course-lab .dc-view button{min-height:40px;padding:7px 12px}
.decor.dc-course-lab .dc-course-footer{display:flex;align-items:center;gap:16px;padding:8px 20px;border-top:1px solid var(--edge);background:var(--ui-bg-102533,#102533);flex:none;font-size:12px;color:var(--muted)}
.dc-course-footer button{font-size:12px;min-height:38px;padding:7px 14px}.dc-course-footer .dc-save-label{flex:1}.dc-course-footer .dc-save-label[data-error=true]{color:var(--ui-text-e5b966,#e5b966)}
.decor.dc-course-lab.dc-tools-hidden .dc-work,.decor.dc-course-lab.dc-room-lab.dc-tools-hidden .dc-work{grid-template-columns:minmax(0,1fr)}.decor.dc-course-lab.dc-tools-hidden .dc-tools{display:none}
.decor.dc-course-lab .dc-tabs{flex:none;overflow-x:auto;white-space:nowrap}.decor.dc-course-lab .dc-tabs button{min-height:42px}
.decor.dc-course-lab.dc-room-lab .dc-tools>.dc-view{position:static;display:flex;margin-top:14px;max-width:none;flex-wrap:wrap}
.decor.dc-course-lab.dc-room-lab .dc-tools .room-ink{margin-top:12px;flex-wrap:wrap}
@media(max-width:1050px){.dc-course-directory .dc-lessons{grid-template-columns:repeat(2,minmax(0,1fr))}.decor.dc-course-lab .dc-work,.decor.dc-course-lab.dc-room-lab .dc-work{grid-template-columns:235px minmax(0,1fr)}.decor.dc-course-lab .dc-tools{padding:14px}.decor.dc-course-lab .dc-head{padding:9px 12px}.decor.dc-course-lab .dc-head h1{font-size:16px}}
@media(max-width:600px) and (orientation:portrait){
 .dc-course-directory .dc-directory{padding:18px 14px 40px}.dc-course-intro{display:block;padding-bottom:20px}.dc-course-intro>span{display:inline-block;margin-top:14px}.dc-course-intro p{font-size:13px}.dc-course-directory .dc-lessons{grid-template-columns:1fr;gap:16px}.dc-course-art svg{height:150px}.dc-course-directory .dc-card-copy>strong{min-height:0}.dc-card-copy{padding:16px 18px}
 .decor.dc-course-lab{height:auto;min-height:var(--official-view,100dvh);overflow:visible}.decor.dc-course-lab .dc-head,.decor.dc-course-lab.dc-room-lab .dc-head{flex-wrap:wrap;padding:10px;gap:6px}.decor.dc-course-lab .dc-head h1,.decor.dc-course-lab.dc-room-lab .dc-head h1{flex:1 0 calc(100% - 95px);font-size:16px;order:0}.decor.dc-course-lab .dc-head small,.decor.dc-course-lab.dc-room-lab .dc-head small{display:block;font-size:11px}.decor.dc-course-lab .dc-head button{min-height:40px;padding:7px 11px;font-size:12px}.decor.dc-course-lab #dc-reference{display:block}.decor.dc-course-lab .dc-head button:not(#dc-lessons){order:1}
 .decor.dc-course-lab .dc-work,.decor.dc-course-lab.dc-room-lab .dc-work{display:flex;flex-direction:column;overflow:visible;flex:none}.decor.dc-course-lab .dc-stage{order:0}.decor.dc-course-lab .dc-tools,.decor.dc-course-lab.dc-room-lab .dc-tools{order:1;overflow:visible;border-left:0;border-top:1px solid var(--edge);padding:18px;display:block}.decor.dc-course-lab .dc-canvas-wrap,.decor.dc-course-lab.dc-room-lab .dc-canvas-wrap{height:52dvh;min-height:330px;flex:none}.decor.dc-course-lab .dc-controls>.dc-control{flex:1 0 43%;min-width:0;max-width:none}.decor.dc-course-lab .dc-controls{column-gap:16px}.decor.dc-course-lab .dc-instruction{font-size:12px;padding:9px 12px}.decor.dc-course-lab .dc-view button{font-size:12px;padding:6px 9px}.decor.dc-course-lab .dc-course-footer{padding:9px 10px;gap:10px;flex-wrap:wrap}.dc-course-footer .dc-save-label{font-size:11px}.decor.dc-course-lab.dc-tools-hidden .dc-tools{display:none}
}
@media(orientation:landscape) and (max-height:550px){
 .decor.dc-course-lab .dc-head,.decor.dc-course-lab.dc-room-lab .dc-head{padding:5px 10px;gap:6px}.decor.dc-course-lab .dc-head h1{font-size:14px}.decor.dc-course-lab .dc-head small{display:none}.decor.dc-course-lab .dc-head button{min-height:36px;padding:5px 9px;font-size:12px}.decor.dc-course-lab .dc-work,.decor.dc-course-lab.dc-room-lab .dc-work{grid-template-columns:205px minmax(0,1fr)}.decor.dc-course-lab .dc-tools{padding:12px}.decor.dc-course-lab .dc-instruction{font-size:11px;line-height:1.5;padding:5px 10px}.decor.dc-course-lab .dc-status{min-height:25px;font-size:11px;padding:3px 10px}.decor.dc-course-lab .dc-course-footer{padding:4px 10px;gap:10px}.dc-course-footer button{min-height:32px;padding:4px 10px}.decor.dc-course-lab .dc-tabs{padding:4px 10px}.decor.dc-course-lab .dc-tabs button{min-height:32px;padding:4px 10px;font-size:12px}.decor.dc-course-lab .dc-view{top:6px;left:8px}.decor.dc-course-lab .dc-view button{min-height:32px;padding:4px 8px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.dc-course-directory .dc-lesson{transition:none}}
.decor.dc-course-lab #dc-teach-toggle{border-color:var(--ui-text-e5b966,#e5b966);color:var(--ui-text-e5b966,#e5b966)}
.decor.dc-course-lab #dc-teach-toggle[aria-pressed=true]{background:var(--accent);color:#172d36}
.decor.dc-course-lab .dc-teacher-panel{flex:none;margin:10px 14px 0;padding:13px 17px;border:1px solid var(--accent);border-radius:14px;background:var(--ui-bg-182f3e,#182f3e);max-height:38%;overflow:auto;overscroll-behavior:contain}
.dc-teacher-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.dc-teacher-heading span{font-size:11px;color:var(--ui-text-e5b966,#e5b966)}.dc-teacher-heading strong{font-size:16px}
.decor.dc-course-lab .dc-teacher-panel p{margin:7px 0;line-height:1.8;font-size:14px}.decor.dc-course-lab #dc-teacher-answer{font-size:13px;color:var(--muted);border-right:2px solid var(--accent);padding-right:12px}
.dc-teacher-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.decor.dc-course-lab .dc-teacher-actions button{min-height:36px;padding:6px 11px;font-size:12px}.dc-teacher-actions #dc-teach-answer{margin-inline:auto;color:var(--ui-text-e5b966,#e5b966)}
.decor.dc-course-lab .dc-teaching-focus{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:600px) and (orientation:portrait){.decor.dc-course-lab .dc-teacher-panel{max-height:none;margin:10px 10px 0;padding:12px}.dc-teacher-heading{gap:7px}.dc-teacher-heading strong{font-size:14px}.decor.dc-course-lab .dc-teacher-panel p{font-size:13px}.decor.dc-course-lab .dc-teacher-actions button{font-size:11px;padding:6px 8px}}
@media(orientation:landscape) and (max-height:550px){.decor.dc-course-lab .dc-teacher-panel{max-height:42%;padding:8px 12px;margin:4px 8px 0}.dc-teacher-heading strong{font-size:13px}.decor.dc-course-lab .dc-teacher-panel p{font-size:12px;margin:4px 0}.decor.dc-course-lab .dc-teacher-actions{margin-top:4px}.decor.dc-course-lab .dc-teacher-actions button{min-height:30px;padding:4px 7px;font-size:11px}}
@media(orientation:landscape) and (max-height:550px){
 .decor.dc-course-lab{height:auto;min-height:100dvh;overflow:visible}
 .decor.dc-course-lab .dc-work,.decor.dc-course-lab.dc-room-lab .dc-work{height:max(330px,calc(100dvh - 150px));min-height:330px;flex:none}
 .decor.dc-course-lab .dc-tools>.dc-teacher-panel{max-height:none;margin:0 0 16px;padding:10px}
 .decor.dc-course-lab .dc-tools>.dc-teacher-panel .dc-teacher-heading{gap:5px}
 .decor.dc-course-lab .dc-tools>.dc-teacher-panel .dc-teacher-actions button{flex:1 0 100%}
}
.dc-course-guide{width:min(580px,calc(100% - 24px));max-height:85dvh;overflow:auto;border:1px solid var(--ui-border-47606b,#47606b);border-radius:20px;padding:24px;background:var(--ui-bg-102533,#102533);color:var(--ui-text-e7f2f3,#e7f2f3);font-family:inherit}
.dc-course-guide::backdrop{background:#03101bbd}.dc-course-guide header{display:flex;align-items:center;justify-content:space-between;gap:16px}.dc-course-guide h2{font-size:24px;margin:5px 0}.dc-course-guide small{font-size:12px;color:var(--ui-text-e5b966,#e5b966)}
.dc-course-guide p{font-size:14px;line-height:1.9;color:var(--ui-text-9db7bf,#9db7bf)}.dc-course-guide button{font:inherit;min-height:44px;padding:10px 14px;border:1px solid var(--ui-border-47606b,#47606b);border-radius:12px;background:var(--ui-bg-182f3e,#182f3e);color:inherit;cursor:pointer}.dc-course-guide button:focus-visible{outline:3px solid #6de2d0;outline-offset:3px}.dc-course-guide button:disabled{opacity:.5;cursor:default}
.dc-guide-choices{display:grid;gap:12px;margin:20px 0}.dc-guide-choices button{text-align:right;padding:18px}.dc-guide-choices strong,.dc-guide-choices span{display:block}.dc-guide-choices span{font-size:12px;color:var(--ui-text-9db7bf,#9db7bf);margin-top:8px}.dc-course-guide .dc-guide-page-note{font-size:12px}

/* The picker stays above the official footer; only its catalogue scrolls. */
.wood-picker>header,.wood-picker>footer{flex:0 0 auto}
.wood-picker>footer{border-bottom:0;border-top:1px solid var(--ui-border-345363,#345363)}
.wood-picker [data-confirm]{flex-shrink:0;white-space:nowrap;min-height:44px}
@media(max-width:700px){.wood-lab>header{flex-wrap:wrap}.wood-lab>header>div{min-width:0}.wood-picker>footer{gap:6px}.wood-picker [data-confirm]{width:100%}}
@media(orientation:landscape) and (max-height:550px){.wood-picker>header small{display:none}.wood-picker>header h2{font-size:18px}.wood-picker>footer small{font-size:10px}.wood-picker .wood-presets canvas{height:75px}}
