/* A dedicated, full-screen construction surface. Gameplay HUD rules stay separate. */
#modal-backdrop[data-screen="workshop"]{padding:0;background:#0e1c21;backdrop-filter:none}
#modal.workshop-screen{width:100vw;width:100dvw;height:100vh;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;padding:0;display:flex;flex-direction:column;overflow:hidden;box-shadow:none;background:#13242a}
body:has(#modal-backdrop[data-screen="workshop"]:not([hidden]))>.feedback-button{display:none}
#modal.workshop-screen .workshop-header{display:grid;grid-template-columns:minmax(140px,1fr) auto auto;align-items:center;gap:20px;padding:14px max(20px,env(safe-area-inset-right)) 14px max(20px,env(safe-area-inset-left));margin:0;border-bottom:1px solid #50655c;min-height:78px;flex-shrink:0;background:#172c30}
#modal.workshop-screen .workshop-header h2{font-size:29px;line-height:1.1;margin:3px 0 0}
#modal.workshop-screen .workshop-header .eyebrow{font-size:8px;letter-spacing:1.5px}
#modal.workshop-screen #finish-build{min-height:46px;padding:12px 18px;font-size:13px;white-space:nowrap}
#modal.workshop-screen #workshop-scrap{grid-column:auto;grid-row:auto;display:grid;grid-template-columns:auto auto;align-items:center;gap:0 18px;min-width:190px;padding:7px 15px;box-shadow:none;margin:0}
#modal.workshop-screen #workshop-scrap-label{font-size:9px;max-width:64px;white-space:normal;line-height:1.4}
#modal.workshop-screen #workshop-scrap-value{font-size:29px;margin:0;line-height:1.2}
#modal.workshop-screen #workshop-free-build{grid-column:1/-1;font-size:8px;margin:0}
#modal.workshop-screen #workshop-body{display:grid;grid-template-columns:254px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);flex:1;min-height:0;overflow:hidden;margin:0;--build-cell:22px}
#modal.workshop-screen #workshop-lesson{grid-column:1/-1;grid-row:1;border:0;border-bottom:1px solid #8b9970;border-radius:0;margin:0;padding:9px 20px;background:#30483a;line-height:1.4}
#modal.workshop-screen #workshop-lesson strong{font-size:13px;display:inline;margin-right:12px}
#modal.workshop-screen #workshop-lesson span{font-size:12px;display:inline;margin:0}
#modal.workshop-screen .workshop-catalogue{grid-row:2;display:flex;flex-direction:column;min-height:0;overflow:hidden;border-right:1px solid #49605a;background:#192e31;padding:0 12px max(8px,env(safe-area-inset-bottom))}
#modal.workshop-screen .catalogue-heading{display:flex;flex-direction:column;gap:3px;padding:17px 4px 12px}
#modal.workshop-screen .catalogue-heading .eyebrow{font-size:11px}
#modal.workshop-screen .catalogue-heading>span:last-child{font-size:11px;color:#a4b8ad}
#modal.workshop-screen .catalogue-filters{display:grid;grid-template-columns:1fr;gap:8px;padding:0 2px 12px;margin:0;flex-shrink:0}
#modal.workshop-screen .catalogue-filters input[type="search"],#modal.workshop-screen .catalogue-filters select{width:100%;max-width:none;min-width:0;min-height:40px;padding:8px 10px;font-size:13px;background:#102429;color:#e7ebd8;border:1px solid #547168;border-radius:3px}
#modal.workshop-screen .catalogue-filters label{display:flex;align-items:center;gap:5px;font-size:11px;min-height:24px;color:#c3d0bc}
#modal.workshop-screen .catalogue-filters>span{display:block;font-size:10px;color:#9eafa2}
#modal.workshop-screen .parts-list{display:flex;flex-direction:column;gap:7px;flex:1;min-height:0;max-height:none;overflow-y:auto;padding:0 3px 16px;overscroll-behavior:contain;scrollbar-color:#657e6d #14272c;touch-action:pan-y}
#modal.workshop-screen .part-button{display:flex;align-items:center;flex-shrink:0;gap:10px;width:100%;min-height:66px;text-align:left;padding:9px;border:1px solid #405f56;border-radius:5px;background:#203a3b}
#modal.workshop-screen .part-button.selected{background:#3d4937;border-color:#ecc584;box-shadow:inset 3px 0 #ecc584}
#modal.workshop-screen .part-button canvas{width:43px;height:43px;flex-shrink:0}
#modal.workshop-screen .part-button span{font-size:13px;line-height:1.3;overflow-wrap:anywhere}
#modal.workshop-screen .part-button small{display:block;font-size:9px;line-height:1.45;letter-spacing:.2px;margin-top:5px;color:#b4c8ba}
#modal.workshop-screen .workshop-main{grid-row:2;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}
#modal.workshop-screen .part-details{flex-shrink:0;border-bottom:1px solid #435d57;background:#1b3134}
#modal.workshop-screen .drawer-toggle{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#20383b;color:#e9e8cf;padding:10px 15px;font-size:12px;border:0;text-align:left}
#modal.workshop-screen .drawer-toggle.expanded{background:#344937;color:#ffe2a5}
#modal.workshop-screen .drawer-arrow{font-size:22px;line-height:1;color:#e8c688}
#modal.workshop-screen #part-details-toggle{width:100%;padding:9px 18px;min-height:48px}
#modal.workshop-screen #part-details-toggle>span:first-child{display:flex;align-items:center;gap:14px}
#modal.workshop-screen #part-details-toggle small{font-size:8px;letter-spacing:1.2px;color:#a7bcae}
#modal.workshop-screen #part-details-toggle strong{font-size:15px;font-weight:500}
#modal.workshop-screen #workshop-part-details{max-height:min(210px,25dvh);overflow:auto;overscroll-behavior:contain}
#modal.workshop-screen .build-info{padding:14px 20px;max-height:none;overflow:visible;background:transparent;border:0;display:block;grid-column:auto}
#modal.workshop-screen .build-info>.eyebrow,#modal.workshop-screen .build-info>h3{display:none}
#modal.workshop-screen .build-info p{font-size:13px;line-height:1.6;max-width:1100px}
#modal.workshop-screen .build-info dl{display:grid;grid-template-columns:repeat(6,max-content);gap:8px 14px;align-items:baseline;font-size:11px;margin:10px 0}
#modal.workshop-screen .build-info dd{margin:0;color:#f1d498;font-weight:700}
#modal.workshop-screen .build-info .notice{margin:10px 0 0;padding:9px 12px;font-size:12px;background:#263c3a;border:1px solid #4b6458}
#modal.workshop-screen .workshop-stage{display:flex;flex:1;min-width:0;min-height:100px;overflow:hidden}
#modal.workshop-screen .construction{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden;background:#102027}
#modal.workshop-screen .build-viewport{position:relative;flex:1;min-height:0;max-height:none;overflow:auto;border:0;border-radius:0;overscroll-behavior:contain;scrollbar-color:#587469 #12252a;touch-action:none}
#modal.workshop-screen #workshop-body.pan-mode .build-viewport{touch-action:pan-x pan-y}
#modal.workshop-screen #workshop-body.pan-mode .build-cell{touch-action:pan-x pan-y}
#modal.workshop-screen .build-space{width:max-content;min-width:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;position:relative}
#modal.workshop-screen .build-grid{flex-shrink:0;width:calc(var(--build-cell)*15);min-width:0;max-width:none;height:calc(var(--build-cell)*13);aspect-ratio:auto;display:grid;grid-template-columns:repeat(15,var(--build-cell));grid-template-rows:repeat(13,var(--build-cell));gap:0;margin:0;border:1px solid #5c756a;background:#172b2f;box-shadow:0 8px 40px #0003;position:relative}
#modal.workshop-screen .build-cell{padding:0;width:var(--build-cell);height:var(--build-cell);min-height:0;aspect-ratio:1;border:1px solid #2d4547;border-radius:0;background:#14262b;touch-action:none}
#modal.workshop-screen .build-cell.valid{background:#1e3535;border-color:#4e6558}
#modal.workshop-screen .build-cell canvas{width:100%;height:100%;display:block}
#modal.workshop-screen .build-axis{width:calc(var(--build-cell)*15);min-width:0;display:flex;justify-content:space-between;gap:10px;padding:0 2px 8px;font-size:9px;letter-spacing:.7px;color:#a4b7a9;flex-shrink:0}
#modal.workshop-screen .build-axis>span:nth-child(2){font-size:8px}
#modal.workshop-screen .build-navigation{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;min-height:48px;flex-shrink:0;border-top:1px solid #3c5852;background:#172e32}
#modal.workshop-screen .build-navigation>span{color:#dec68e;font-size:11px;padding:0 6px}
#modal.workshop-screen .build-navigation>div{display:flex;gap:5px}
#modal.workshop-screen .build-navigation button{min-width:40px;min-height:36px;padding:7px 11px;background:#28413e;border:1px solid #526e5e;border-radius:3px;font-size:12px}
#modal.workshop-screen .stats-rail{display:flex;flex-shrink:0;min-width:0;overflow:hidden;background:#1a3033;border-left:1px solid #486456}
#modal.workshop-screen .side-toggle{align-self:stretch;width:38px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#243d3c;border:0;font-size:10px;color:#ebd5a6}
#modal.workshop-screen .side-toggle>span:last-child{writing-mode:vertical-rl;letter-spacing:1px}
#modal.workshop-screen #workshop-stats{width:248px;padding:18px 16px;overflow:auto;overscroll-behavior:contain}
#modal.workshop-screen #workshop-stats h3{font-size:25px;margin-bottom:7px}
#modal.workshop-screen #workshop-stats dl{margin:16px 0}
#modal.workshop-screen #workshop-stats dl>div{padding:10px 0;display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid #37544c;font-size:11px}
#modal.workshop-screen #workshop-stats dt{color:#b9c9b9}
#modal.workshop-screen #workshop-stats dd{color:#f0d499;font-weight:700;text-align:right;margin:0;font-size:13px}
#modal.workshop-screen .workshop-dock{flex-shrink:0;border-top:1px solid #638071;padding-bottom:env(safe-area-inset-bottom);background:#1a3032}
#modal.workshop-screen .dock-tabs{display:flex;gap:1px;background:#455f51}
#modal.workshop-screen .dock-tabs>button{flex:1;min-width:0;font-size:12px;min-height:47px;padding:11px 15px}
#modal.workshop-screen .dock-panel{padding:16px 20px;max-height:min(220px,28dvh);overflow:auto;overscroll-behavior:contain}
#modal.workshop-screen .body-plan-tools{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 12px}
#modal.workshop-screen .build-tool{min-width:76px;min-height:44px;padding:10px 18px;font-size:13px;border-radius:4px;background:#23403e}
#modal.workshop-screen .build-tool.active{background:#536047;border-color:#f0d09b;color:#fff1bf}
#modal.workshop-screen .build-tools{display:flex;flex-wrap:wrap;align-items:center;gap:20px;font-size:11px;margin:0}
#modal.workshop-screen .build-tools label{display:flex;gap:6px;align-items:center;min-height:30px}
#modal.workshop-screen .build-tools>span{display:inline}
#modal.workshop-screen .workshop-tool-help{font-size:11px;color:#bbcbba;margin-top:6px}
#modal.workshop-screen #core-reconstruction{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin:0;padding:0;background:none;border:0}
#modal.workshop-screen #core-reconstruction>p{font:22px Georgia,serif;color:#eddfb8}
#modal.workshop-screen #core-reconstruction details{grid-column:1/-1;font-size:12px;line-height:1.5}
#modal.workshop-screen #core-reconstruction summary{cursor:pointer;min-height:36px;padding:7px 0;color:#cfdebf}
#modal.workshop-screen #core-reconstruction .secondary{font-size:12px;min-height:44px}
#modal.workshop-screen .drone-missing{font-size:11px;color:#c3cebb;margin-top:10px}
#modal.workshop-screen #workshop-review-panel h3{font-size:22px;margin-bottom:5px}
#modal.workshop-screen #workshop-review-panel p{font-size:12px;color:#c2d0c0;margin-bottom:12px;max-width:700px}
#modal.workshop-screen #design-library-button{font-size:12px;min-height:44px;border-color:#a9b77e;color:#ecdfa8}
@media(max-width:1100px){
 #modal.workshop-screen #workshop-body{grid-template-columns:214px minmax(0,1fr)}
 #modal.workshop-screen .workshop-header{padding:10px 14px;gap:14px;min-height:72px}
 #modal.workshop-screen #workshop-stats{width:206px;padding:14px}
 #modal.workshop-screen .part-button{gap:7px;padding:7px;min-height:62px}
 #modal.workshop-screen .part-button canvas{width:36px;height:36px}
 #modal.workshop-screen .part-button span{font-size:12px}
 #modal.workshop-screen .build-info{padding:12px 16px}
}
@media(max-width:800px){
 #modal.workshop-screen #workshop-body{grid-template-columns:190px minmax(0,1fr)}
 #modal.workshop-screen .workshop-header{grid-template-columns:minmax(110px,1fr) auto auto;gap:10px}
 #modal.workshop-screen .workshop-header h2{font-size:25px}
 #modal.workshop-screen #workshop-scrap{min-width:150px;gap:0 10px;padding:7px 10px}
 #modal.workshop-screen #workshop-scrap-value{font-size:26px}
 #modal.workshop-screen #finish-build{padding:10px 13px;font-size:12px}
 #modal.workshop-screen .catalogue-filters input[type=search],#modal.workshop-screen .catalogue-filters select{font-size:16px;min-height:42px}
 #modal.workshop-screen .workshop-catalogue{padding:0 8px 8px}
 #modal.workshop-screen .catalogue-heading>span:last-child{font-size:10px}
 #modal.workshop-screen #workshop-stats{width:188px;padding:12px}
 #modal.workshop-screen .dock-tabs>button{font-size:11px;padding:10px;gap:6px}
 #modal.workshop-screen .dock-panel{padding:13px 14px}
 #modal.workshop-screen #core-reconstruction{grid-template-columns:1fr}
 #modal.workshop-screen #core-reconstruction details{grid-column:auto}
 #modal.workshop-screen .build-tool{min-width:60px;padding:10px 14px}
 #modal.workshop-screen .build-axis>span:nth-child(2){visibility:hidden}
}
@media(max-width:560px){
 #modal.workshop-screen #workshop-body{grid-template-columns:132px minmax(0,1fr)}
 #modal.workshop-screen .workshop-header{grid-template-columns:1fr auto;padding:8px;gap:7px}
 #modal.workshop-screen .workshop-header>div:first-child{display:none}
 #modal.workshop-screen #workshop-scrap{min-width:130px}
 #modal.workshop-screen .part-button{flex-direction:column;align-items:flex-start;gap:4px}
 #modal.workshop-screen .part-button canvas{width:32px;height:32px}
 #modal.workshop-screen .part-button span{font-size:11px}
 #modal.workshop-screen .catalogue-heading>span:last-child,#modal.workshop-screen .catalogue-filters>span{display:none}
 #modal.workshop-screen .catalogue-filters label{font-size:10px}
 #modal.workshop-screen .stats-rail:has(#workshop-stats:not([hidden])){position:absolute;right:0;top:0;bottom:0;z-index:9;box-shadow:-10px 0 30px #0006}
 #modal.workshop-screen .workshop-stage{position:relative}
 #modal.workshop-screen #workshop-stats{width:174px}
 #modal.workshop-screen #part-details-toggle small{display:none}
 #modal.workshop-screen #part-details-toggle{padding:8px}
 #modal.workshop-screen #part-details-toggle strong{font-size:13px}
 #modal.workshop-screen .build-info dl{grid-template-columns:1fr 1fr}
 #modal.workshop-screen .build-navigation{padding:5px;gap:3px;flex-wrap:wrap}
 #modal.workshop-screen .build-navigation button{padding:5px 7px;min-width:30px}
 #modal.workshop-screen .dock-tabs>button{font-size:9px;padding:8px 5px;gap:2px}
 #modal.workshop-screen .drawer-arrow{font-size:18px}
}

#modal.workshop-screen .catalogue-filters select{height:42px;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#d6dcb9 50%),linear-gradient(135deg,#d6dcb9 50%,transparent 50%);background-position:calc(100% - 15px) 18px,calc(100% - 10px) 18px;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}
#modal.workshop-screen .no-parts-found{font-size:12px;line-height:1.6;color:#c4d0bc;padding:12px 5px}

/* Reserve real layout space so the corner card never covers run controls. */
.home-main{flex:1 0 auto}
.home-footer{flex-shrink:0;flex-wrap:wrap;gap:20px 3vw;padding:16px 0}
.boss-request{position:relative;flex:0 1 260px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;width:260px;max-width:100%;margin-left:auto;padding:12px 16px;text-align:left;background:linear-gradient(110deg,#164d31,#247345);border:1px solid #8cdda0;border-radius:6px;color:#efffe8}
.boss-request>span{grid-column:1;font-size:10px;font-weight:bold;letter-spacing:1.5px;color:#b8f1bd}.boss-request strong{grid-column:1;font:20px/1.2 Georgia,serif}.boss-request small{grid-column:1;font-size:11px;line-height:1.4;color:#c9e9c7}.boss-request>b{grid-column:2;grid-row:1/4;font-size:25px}
.boss-brief{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(300px,1.2fr);gap:28px}.boss-assignment label{display:block;font-size:13px;color:#d6e4bd;margin:14px 0}.boss-assignment input,.boss-assignment select,.boss-assignment textarea{display:block;width:100%;margin-top:7px;min-height:44px;padding:10px;background:#102a2c;border:1px solid #668675;color:#f3edce;border-radius:4px;font:inherit}.boss-assignment textarea{resize:vertical}.boss-level-context{padding:16px;border-left:3px solid #92ce95;background:#233e35}.boss-level-context h3{font-size:23px}.boss-level-context p{font-size:12px;margin-top:8px;color:#c2d4c1}.boss-assignment .primary{margin-top:16px;width:100%;background:#a1dfad;border-color:#bdeabc}.boss-design-guide>h3{font-size:25px;margin-bottom:12px}.boss-design-guide article{display:flex;gap:13px;padding:12px 0;border-bottom:1px solid #37564a}.boss-design-guide article>span{font:23px Georgia,serif;color:#9ad5a3}.boss-design-guide h4{font-size:14px;color:#e5dfb6;margin:0 0 5px}.boss-design-guide p{font-size:12px;color:#bfd0bc;line-height:1.6}#boss-guide{margin:10px 0 0 12px;font-size:12px;min-height:44px}
@media(max-width:800px){.boss-brief{grid-template-columns:1fr}.boss-assignment input,.boss-assignment select,.boss-assignment textarea{font-size:16px}#boss-guide{margin-left:0}}
.boss-assignment select{height:46px;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#d6dcb9 50%),linear-gradient(135deg,#d6dcb9 50%,transparent 50%);background-position:calc(100% - 15px) 20px,calc(100% - 10px) 20px;background-size:5px 5px;background-repeat:no-repeat;padding-right:28px}
#modal.workshop-screen .workshop-header>div:first-child{min-width:0}#modal.workshop-screen .workshop-header h2{overflow-wrap:anywhere}

/* The playable course keeps one large action at the bottom, clear of touch input. */
#skip-tutorial{background:#602c2b;color:#fff0e8;border:1px solid #ee8978;padding:10px 16px;min-height:44px;font-size:14px;font-weight:bold}
#tutorial-feedback-pointer{position:fixed;right:24px;top:76px;z-index:44;padding:15px 20px;background:#264637;color:#ecffd8;border:2px solid #b7ec8c;border-radius:8px;font-size:20px;line-height:1.5;pointer-events:none;box-shadow:0 8px 30px #0008}
#tutorial-feedback-pointer small{font-size:14px}
body.training-course .tutorial-card{position:fixed;left:50%;right:auto;top:auto;bottom:16px;transform:translateX(-50%);width:min(940px,calc(100vw - 32px));max-width:none;background:#12282df5;border:1px solid #b5d3a5;border-radius:10px;padding:14px 22px;box-shadow:0 8px 40px #0008;z-index:20}
body.training-course .tutorial-card h3{font-size:26px;line-height:1.15;margin:9px 0 8px}
body.training-course .tutorial-card p{font-size:18px;line-height:1.45;color:#f2e8cf;margin:0 0 10px}
body.training-course #tutorial-count{font-size:12px;color:#bce0a9;letter-spacing:1.5px}
body.training-course .dashboard,body.training-course .objective-card,body.training-course .map-card{display:none}
body.training-course #interact-prompt{bottom:250px}
body.training-course #tutorial-ack{min-height:44px;padding:10px 16px;margin-bottom:8px;font-size:15px}
body.training-course.touch-enabled .tutorial-card{bottom:calc(8px + env(safe-area-inset-bottom,0px));width:calc(100vw - 24px);padding:10px 16px}
body.training-course.touch-enabled .tutorial-card h3{font-size:23px;margin:4px 0}
body.training-course.touch-enabled .tutorial-card p{font-size:17px;line-height:1.35;margin:4px 0 8px}
body.training-course.touch-enabled .touch-controls{--touch-floor:242px;--touch-stick-size:144px;--touch-arrow-reach:51px}
body.training-course.touch-enabled .touch-stick-group{gap:7px}
body.training-course.touch-enabled .touch-actions{bottom:calc(242px + env(safe-area-inset-bottom,0px))}
body.training-course.touch-enabled #interact-prompt{bottom:350px}
@media(orientation:portrait){body.training-course.touch-enabled .touch-controls{--touch-floor:270px;--touch-stick-size:156px;--touch-arrow-reach:56px}body.training-course.touch-enabled .touch-actions{bottom:calc(270px + env(safe-area-inset-bottom,0px))}}
@media(max-width:620px){body.training-course .tutorial-card p{font-size:15px}body.training-course.touch-enabled .touch-actions{bottom:440px}body.training-course.touch-enabled .touch-controls{--touch-floor:230px;--touch-stick-size:128px}}

#modal.workshop-screen .boss-back-menu{display:block;background:#722e2c;border:1px solid #f5a090;border-radius:5px;padding:10px 14px;min-height:44px;color:#fff0e4;font-size:15px;font-weight:bold;white-space:nowrap}#modal.workshop-screen .boss-back-menu:hover{background:#943c36}
#confirm-skip{background:#722e2c;color:#fff0e4;border:1px solid #ef9a89;padding:12px 18px;min-height:44px;font-weight:bold;border-radius:4px}#confirm-skip:hover{background:#943c36}

/* Plan status uses words as well as color, and retains a distinct selection outline. */
#modal.workshop-screen .part-button.part-unlocked{background:#193e30;border-color:#477a5c;box-shadow:inset 4px 0 #79d89b}
#modal.workshop-screen .part-button.part-unlocked small{color:#a2e8b8}
#modal.workshop-screen .part-button.part-available{background:#193850;border-color:#497dac;box-shadow:inset 4px 0 #68bfff}
#modal.workshop-screen .part-button.part-available small{color:#9cd6ff}
#modal.workshop-screen .part-button.part-locked{background:#44252a;border-color:#805057;box-shadow:inset 4px 0 #dc8589}
#modal.workshop-screen .part-button.part-locked small{color:#f0adb1}
#modal.workshop-screen .part-button.selected{outline:2px solid #ffe0a0;outline-offset:-2px}
#modal.workshop-screen .catalogue-key{font-size:10px;line-height:1.5;color:#ceded7}
.part-location-dialog{width:min(940px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overflow:auto;padding:24px;color:#e6f3ec;background:#152930;border:1px solid #779487;border-radius:8px}
.part-location-dialog::backdrop{background:#06131bd9}
.part-location-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.part-location-dialog h2{font-size:32px}.part-location-dialog p{margin:10px 0}.part-location-dialog select{max-width:100%;padding:10px;background:#244653;border:1px solid #72b4dc;color:#e4f4ff}
.part-location-dialog canvas{display:block;width:100%;height:auto;border:1px solid #547e8a;border-radius:5px;margin-top:14px}
.part-location-part{font-size:14px}.part-location-instructions{color:#a6d9ff;font-weight:bold}.part-location-legend{font-size:12px;color:#b5cbc5}.part-location-targets{display:flex;flex-wrap:wrap;gap:8px 30px;font-size:12px}.part-location-dialog footer{display:flex;justify-content:flex-end;margin-top:16px}
@media(max-width:600px){.part-location-dialog{padding:16px}.part-location-dialog h2{font-size:26px}}
.explosive-options{display:grid;gap:12px;margin:24px 0}.explosive-options label{display:flex;align-items:center;gap:14px;min-height:52px;padding:14px;cursor:pointer}.explosive-options input{width:24px;height:24px;accent-color:#a4ddad;flex-shrink:0}
