/* Shared toolbox: progressively reduce compartment content on narrow screens. */
#capabilities.toolbox-section .scene{position:relative;aspect-ratio:1383/1137;container-type:inline-size;isolation:isolate}
#capabilities.toolbox-section .base,#capabilities.toolbox-section .handle{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#capabilities.toolbox-section .base{mask-image:url(/media/toolbox/toolbox-original.webp);mask-size:100% 100%;mask-repeat:no-repeat}
#capabilities.toolbox-section .handle{clip-path:polygon(29% 1%,70% 1%,70% 12%,29% 12%)}
#capabilities.toolbox-section .name{position:absolute;top:4.6%;left:36%;width:28%;text-align:center;font-family:Georgia,serif;font-size:1.35cqw;line-height:1.2;letter-spacing:.07em;color:#77776f;text-shadow:0 -.6px 0 #000;pointer-events:none}
#capabilities.toolbox-section .pile{position:absolute;object-fit:contain;pointer-events:none}
#capabilities.toolbox-section .nails{left:15.5%;top:66%;width:15.5%;height:21%;transform:rotate(72deg)}
#capabilities.toolbox-section .screws{left:15.7%;top:23.8%;width:19.4%;height:16.1%;transform:rotate(-12deg)}
#capabilities.toolbox-section .nuts{left:65%;top:25%;width:16.5%;height:13.5%;transform:rotate(9deg)}
#capabilities.toolbox-section .washers{left:68.9%;top:71%;width:13.9%;height:13%;transform:rotate(-17deg)}
#capabilities.toolbox-section .scene.hide-piles .pile{display:none}
#capabilities.toolbox-section .fill{position:absolute;overflow:hidden;pointer-events:none;border-radius:8%;isolation:isolate}
#capabilities.toolbox-section .fill img{position:absolute;height:auto;max-width:none;filter:brightness(.88) saturate(.8) drop-shadow(.5px 1px .7px #36250080);transform-origin:50% 50%}
#capabilities.toolbox-section .fill.screws{left:15.8%;top:24.8%;width:19.8%;height:14.5%;transform:none}
#capabilities.toolbox-section .fill.nuts{left:64.1%;top:24.8%;width:18.2%;height:14.5%;transform:none}
#capabilities.toolbox-section .fill.nails{left:16.1%;top:67.1%;width:14%;height:20%;transform:none}
#capabilities.toolbox-section .fill.washers{left:69.4%;top:67.1%;width:12.9%;height:20%;transform:none}
#capabilities.toolbox-section .scene.hide-piles .fill{display:none}

#capabilities.toolbox-section .fill:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 2px 3px 7px #4c300040}
#capabilities.toolbox-section .fill{transform:scale(.97)!important;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}
#capabilities.toolbox-section .fill.corner{left:5.5%;top:22.7%;width:6.7%;height:6.1%}
#capabilities.toolbox-section .cell-copy{position:absolute;color:#302d1c;display:flex;flex-direction:column;text-shadow:0 1px 0 #fff1aa22}
#capabilities.toolbox-section .cell-copy h3{color:#26392c}

#capabilities.toolbox-section .cell-copy{isolation:isolate}
#capabilities.toolbox-section .cell-copy:before{content:"";position:absolute;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,rgba(255,251,224,.22) 0%,rgba(255,250,218,.12) 43%,rgba(255,250,218,0) 74%)}
#capabilities.toolbox-section .cell-copy h3{margin-bottom:.45cqw}
#capabilities.toolbox-section .cell-copy p{margin-bottom:.4cqw}

#capabilities.toolbox-section .tool-tags{display:flex;flex-wrap:wrap}
#capabilities.toolbox-section .tool-tags span{font-family:'Work Sans',sans-serif;font-weight:500;color:#354532;background:#fff6d532;border:1px solid #51481c28;white-space:nowrap}
#capabilities.toolbox-section .cell-copy{font-size:14px;line-height:1.45;padding:0;justify-content:flex-start}
#capabilities.toolbox-section .cell-copy h3{font-size:22px;line-height:1.15;margin:0 0 10px;text-wrap:balance}
#capabilities.toolbox-section .cell-copy p{margin:0 0 9px}
#capabilities.toolbox-section .cell-copy ul{padding-left:16px;margin:0}
#capabilities.toolbox-section .cell-copy li+li{margin-top:4px}
#capabilities.toolbox-section .tool-tags{gap:5px 6px;margin-top:12px;line-height:1.25}
#capabilities.toolbox-section .tool-tags span{font-size:11px;padding:3px 6px;border-radius:4px}
#capabilities.toolbox-section .copy-research{left:41%;top:25%;width:17.3%;height:13.5%}
#capabilities.toolbox-section .copy-data{left:17.5%;top:46%;width:16.6%;height:13.6%}
#capabilities.toolbox-section .copy-systems{left:41%;top:46%;width:17.3%;height:13.6%}
#capabilities.toolbox-section .copy-games{left:65.3%;top:46%;width:16.7%;height:13.6%}
#capabilities.toolbox-section .copy-ai{left:35%;top:68%;width:10.8%;height:19.3%}
#capabilities.toolbox-section .copy-visual{left:53%;top:68%;width:10.8%;height:19.3%}
#capabilities.toolbox-section .cell-copy:before{inset:-12px -14px;filter:blur(10px)}
#capabilities.toolbox-section .toolbox-viewport{width:min(1261.5px,calc(100% - 26px));margin-inline:auto;overflow-x:auto;overflow-y:hidden}
#capabilities.toolbox-section .scene{width:1752px;zoom:.72;font-family:'Work Sans',sans-serif;font-weight:400;letter-spacing:normal}
#capabilities.toolbox-section .cell-copy h3{font-family:'Playfair Display',Georgia,serif;font-weight:600;letter-spacing:normal}
#capabilities.toolbox-section .cell-copy p{font-size:inherit;line-height:inherit;color:inherit}
#capabilities.toolbox-section .toolbox-viewport:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

#capabilities.toolbox-section .toolbox-art{position:absolute;inset:0}
/* User-marked language compartment floor, clear of the walls. */
#capabilities.toolbox-section .copy-languages{left:7.7%;top:68.2%;width:4.4%;height:7.4%;font-size:12px;line-height:1.3}
#capabilities.toolbox-section .copy-languages h3{font-size:14px;font-weight:700;margin-bottom:6px}
#capabilities.toolbox-section .copy-languages p{margin:0}
#capabilities.toolbox-section .copy-languages p span{display:inline-block;background:#fff6d532;border:1px solid #51481c28;border-radius:4px;padding:2px 5px;margin-bottom:3px;font-size:11px;line-height:1.25;color:#354532}
@media(min-width:1101px) and (max-width:1300px){
 #capabilities.toolbox-section .toolbox-viewport{width:calc(100% - 32px)}
 #capabilities.toolbox-section .scene{zoom:calc((100vw - 32px) / 1752px)}
}
@media(max-width:1100px){
 #capabilities.toolbox-section .toolbox-viewport{width:calc(100% - 26px);overflow:visible}
 #capabilities.toolbox-section .scene{width:100%;zoom:1}
 #capabilities.toolbox-section .cell-copy:not(.copy-languages)>p,
 #capabilities.toolbox-section .cell-copy>ul{display:none}
 #capabilities.toolbox-section .cell-copy h3{font-size:clamp(14px,2cqw,20px);line-height:1.12;margin:0}
 #capabilities.toolbox-section .tool-tags{margin-top:8px;gap:4px}
 #capabilities.toolbox-section .tool-tags span{font-size:clamp(10px,1.12cqw,12px);padding:2px 4px}
}
@media(max-width:760px){
 #capabilities.toolbox-section .tool-tags{display:none}
 #capabilities.toolbox-section .cell-copy h3{font-size:clamp(10px,3cqw,16px);line-height:1.15}
 #capabilities.toolbox-section .cell-copy{justify-content:center}
 #capabilities.toolbox-section .copy-ai{left:34%;width:14%}
 #capabilities.toolbox-section .copy-visual{left:52%;width:14%}
}

@media(max-width:760px){
 #capabilities.toolbox-section .copy-systems{left:40%;width:19.7%}
}
/* The small language compartment cannot hold legible labels at these sizes. */
@media(max-width:1100px){
 #capabilities.toolbox-section .scene{margin-bottom:52px}
 #capabilities.toolbox-section .copy-languages{top:100%;left:0;width:100%;height:auto;margin-top:12px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px}
 #capabilities.toolbox-section .copy-languages:before{content:none}
 #capabilities.toolbox-section .copy-languages h3{font-size:14px;line-height:1.3;margin:0}
 #capabilities.toolbox-section .copy-languages p{display:flex;flex-wrap:wrap;gap:6px}
 #capabilities.toolbox-section .copy-languages br{display:none}
 #capabilities.toolbox-section .copy-languages p span{font-size:12px;margin:0;padding:3px 6px;background:var(--surface-2);color:var(--text);border-color:var(--line)}
}

/* In narrow title-only cells, give the conjunction its own balanced line. */
@media(max-width:760px){
 #capabilities.toolbox-section .cell-copy h3:has(.heading-conjunction){text-align:center}
 #capabilities.toolbox-section .heading-conjunction{display:block}
 #capabilities.toolbox-section .copy-research{top:24%;height:16%}
 #capabilities.toolbox-section :is(.copy-data,.copy-systems,.copy-games){top:45%;height:16%}
}
