#workbenchDialog{width:min(1180px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--line);border-radius:24px;background:var(--panel);color:var(--text);overflow:auto}#workbenchDialog::backdrop{background:#02080cdd}.wb-shell{padding:26px}.wb-shell header{display:flex;justify-content:space-between;align-items:center;gap:18px}.wb-kicker{color:var(--cyan);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800}.wb-shell h2{font-size:32px;margin:6px 0 12px}.wb-shell button{font:inherit;cursor:pointer}.wb-close{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:50%;width:48px;height:48px;font-size:28px!important}.wb-progress{display:flex;gap:8px;margin:14px 0 24px}.wb-progress span{height:8px;border-radius:6px;flex:1;background:var(--line);font-size:0}.wb-progress .done{background:#43be9b}.wb-progress .current{background:var(--cyan)}.wb-layout{display:grid;grid-template-columns:230px 1fr;gap:26px}.wb-tray h3{margin:0 0 12px;font-size:16px}.wb-parts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wb-part{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:116px;border:1px solid var(--line);border-radius:16px;color:var(--text);background:var(--panel2);padding:8px;font-size:12px!important;font-weight:700!important}.wb-part svg{width:64px;height:64px;pointer-events:none}.wb-part.used{opacity:.45}.wb-part b{position:absolute;top:5px;right:8px;color:var(--cyan)}.wb-part[aria-pressed=true]{border:2px solid var(--cyan);background:color-mix(in srgb,var(--cyan) 12%,var(--panel))}.wb-tray p{font-size:12px;color:var(--body);line-height:1.6}.wb-instruction span{color:var(--cyan);font-size:11px;font-weight:800;letter-spacing:.12em}.wb-instruction h3{font-size:24px;margin:6px 0}.wb-instruction p{color:var(--body);margin:8px 0 16px;font-size:14px}.wb-canvas{position:relative;aspect-ratio:800/520}.wb-scene{width:100%;height:100%;display:block}.wb-target{position:absolute;transform:translate(-50%,-50%);height:64px;width:64px;border:2px dashed #6ee8e5;border-radius:50%;color:#c9ffff;background:#064a5dde;box-shadow:0 0 0 8px #54dce31c;font-size:32px!important}.wb-target:hover{background:#087c84}.wb-complete{position:absolute;top:20px;right:20px;background:#abf2d0;color:#083827;border-radius:50%;padding:8px 15px;font-size:28px}.wb-feedback{display:flex;align-items:center;gap:10px;min-height:55px;line-height:1.5;font-size:14px;padding:12px 0;color:var(--body)}.wb-feedback strong{font-size:23px}.wb-feedback.ok strong{color:var(--green)}.wb-feedback.retry strong{color:var(--amber)}.wb-actions{display:flex;gap:10px;flex-wrap:wrap}.wb-actions button{min-height:44px;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:10px 16px}.wb-actions button:disabled{opacity:.4;cursor:default}.wb-actions .wb-primary{background:var(--cyan);color:#06202a;font-weight:800}.wb-shell footer{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;line-height:1.6;color:var(--body)}.wb-shell button:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}@media(max-width:720px){.wb-shell{padding:16px}.wb-layout{display:flex;flex-direction:column-reverse;gap:20px}.wb-parts{grid-template-columns:repeat(4,1fr)}.wb-part{min-height:90px;font-size:10px!important}.wb-part svg{width:48px;height:48px}.wb-instruction h3{font-size:21px}.wb-target{width:48px;height:48px}.wb-shell h2{font-size:26px}}@media(max-width:380px){.wb-parts{grid-template-columns:repeat(3,1fr)}}
.wb-part{touch-action:none;user-select:none}.wb-drag-ghost{position:fixed;transform:translate(-50%,-50%);z-index:10;pointer-events:none;width:80px;height:80px;background:#dff6fae6;border:2px solid #5edbea;border-radius:16px;box-shadow:0 12px 30px #0005}.wb-drag-ghost svg{width:100%;height:100%}
.wb-target.wb-other{border:1px solid #7797a7;background:#183d50;color:#dbebf0;font-size:14px!important;box-shadow:none}.wb-flip{display:flex;gap:16px;align-items:center;margin-top:12px;color:var(--body);font-size:14px}.wb-flip button{min-height:44px;border:1px solid var(--cyan);border-radius:12px;background:var(--panel2);color:var(--text);padding:10px 16px}

.wb-part .wb-original,.wb-drag-ghost .wb-original{width:70px;height:70px;object-fit:contain;padding:6px;border-radius:10px;background:#fff;pointer-events:none;user-select:none}.wb-reference{margin:16px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.wb-reference summary{padding:14px;cursor:pointer;font-weight:650;font-size:14px}.wb-reference figure{margin:0;padding:12px;background:#fff;color:#17394c}.wb-reference img{display:block;width:100%;max-height:300px;object-fit:contain}.wb-reference figcaption{font-size:12px;text-align:center;padding:10px}.fu-reference-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fu-reference-pair img{height:230px}@media(max-width:480px){.fu-reference-pair img{height:160px}}

/* Consistent white part cards and learning canvas, independent of app theme. */
.wb-part svg,.wb-part .wb-original{box-sizing:border-box;width:70px;height:70px;padding:7px;border-radius:10px;background:#fff}.wb-drag-ghost{background:#fff}.wb-part.wb-needed:not(.used){border-color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan)}
.wb-howto{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:14px;padding:14px 16px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;margin-bottom:12px}.wb-howto>span:nth-child(2){color:var(--body)}
.wb-goal{margin-bottom:20px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.wb-goal summary{display:flex;align-items:center;gap:14px;padding:10px 14px;cursor:pointer}.wb-goal summary img{width:52px;height:60px;object-fit:contain;background:white;border-radius:8px;padding:4px}.wb-goal small{display:block;margin-top:5px;color:var(--body)}.wb-goal figure{margin:0;background:#fff;color:#17394c;padding:12px;text-align:center}.wb-goal figure img{max-height:300px;width:100%;object-fit:contain}.wb-goal figcaption{font-size:13px;padding:8px}
.wb-target small{position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);white-space:nowrap;color:#143c4e;background:#fff;border:1px solid #bad2dc;padding:4px 8px;border-radius:6px;font-size:12px;font-weight:700}.wb-target.wb-insert{width:auto;height:auto;min-height:48px;border-radius:12px;border-style:solid;font-size:16px!important;padding:12px 20px;background:#08727c;color:#fff;white-space:nowrap}.wb-flip{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:10px 0 16px;flex-wrap:wrap;gap:10px}.wb-flip svg{background:white;border-radius:6px;flex-shrink:0}.wb-flip span{flex:1;min-width:150px}.wb-canvas{background:#fff;border-radius:20px;overflow:visible}
@media(max-width:720px){.wb-part svg,.wb-part .wb-original{width:52px;height:52px;padding:5px}.wb-howto{gap:7px;font-size:12px}.wb-target small{font-size:10px;padding:3px 5px}.wb-target.wb-insert{font-size:13px!important;padding:10px 14px}.wb-flip{font-size:12px}}
