/* A contained game surface: brass instruments, ink-blue glass and a readable research journal. */
#workshop-overlay[hidden]{display:none!important}
#workshop-overlay{position:fixed;inset:0;z-index:190;display:grid;place-items:center;padding:22px;background:#081312b8;backdrop-filter:blur(7px);pointer-events:auto;color:#f4efdc;font:14px/1.6 'Yu Gothic','Meiryo',sans-serif}
#workshop-overlay *{box-sizing:border-box}
#workshop-overlay button,#workshop-overlay select,#workshop-overlay input{font:inherit;color:inherit}
.cw-window{width:min(1190px,100%);max-height:calc(100dvh - 44px);overflow:auto;background:radial-gradient(ellipse at 22% 15%,#2c5a5c47,transparent 55%),#112827;border:1px solid #a48d54;box-shadow:0 28px 110px #000a,inset 0 0 0 5px #172422;border-radius:14px;scrollbar-color:#ad995e #142725}
.cw-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 30px 19px;border-bottom:1px solid #bfa76b50;background:linear-gradient(110deg,#25464466,#122421)}
.cw-header small{font-size:10px;letter-spacing:.25em;color:#d6bd79}.cw-header h2{font:600 27px/1.4 'Yu Mincho','Georgia',serif;letter-spacing:.1em;margin:4px 0}.cw-header p{margin:2px 0;color:#b5c9be;font-size:12px}
#workshop-overlay button{border:1px solid #77958c66;background:linear-gradient(#2a4440,#1d3430);padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
#workshop-overlay button:hover:not(:disabled){border-color:#d7c28a;background:#36594f}#workshop-overlay button:focus-visible,#workshop-overlay select:focus-visible,#workshop-overlay input:focus-visible{outline:2px solid #cce5b9;outline-offset:3px}
#workshop-overlay button:disabled{opacity:.43;cursor:default}#workshop-overlay button[aria-pressed=true]{border-color:#f0cf80;background:#645332}
#workshop-overlay select,#workshop-overlay input{background:#0b1d1c;border:1px solid #65877b70;border-radius:5px;padding:7px 9px;min-width:0}#workshop-overlay option,#workshop-overlay optgroup{background:#172d29}
.cw-content{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:0 26px;padding:23px 30px}
.cw-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 13px}.cw-section-title>span{font-size:12px;letter-spacing:.12em;color:#e0c78b}.cw-section-title small{font-size:11px;color:#adc5b7}.cw-section-title label{font-size:12px}
.cw-palette{display:flex;flex-wrap:wrap;gap:5px}#workshop-overlay .cw-palette button{padding:5px 9px;font-size:11px;display:flex;align-items:center;gap:6px}.cw-palette button span{font:600 18px/1.2 serif;color:#f0d690}
.cw-instruction{font-size:11px;color:#b5c9be;margin:11px 0}
.cw-board{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:15px;background:radial-gradient(ellipse at center,#33656855,#0b1a19 80%);border:1px solid #b7a06d55;border-radius:9px;box-shadow:inset 0 0 35px #0005}
.cw-tubes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.cw-cell .cw-vessel,.cw-cell strong{z-index:2}.cw-finishing .cw-catalyst img{transform:translateY(-10px);filter:drop-shadow(0 0 18px #c9efb9)}
#workshop-overlay .cw-cell{position:relative;height:94px;padding:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#193432;border:1px solid #547b7170}
.cw-cell small{position:absolute;top:3px;left:5px;color:#91afa2;font-size:9px}.cw-cell strong{font-size:11px;font-weight:500}.cw-vessel{width:36px;height:36px;display:grid;place-items:center;border:1px solid #b39e63;border-radius:50%;color:#ead395;font:600 22px/1 'Yu Mincho',serif;background:radial-gradient(circle,#5a6d51,#223d34);box-shadow:inset 0 0 7px #f3d28620,0 4px 9px #0003}
#workshop-overlay .cw-cell.cw-source:disabled,#workshop-overlay .cw-cell.cw-outlet:disabled{opacity:1;border-color:#b89d62;background:#374e3d}.cw-add{color:#607f74;font-size:21px}
.cw-port{position:absolute;width:9px;height:9px;background:#7b9c8b;z-index:2}.cw-port-in{border:2px solid #e3d1a2;border-radius:50%}.cw-port-out{background:#8cdfc0;clip-path:polygon(0 0,100% 50%,0 100%)}
.cw-port-0{right:-6px;top:calc(50% - 4px)}.cw-port-1{bottom:-6px;left:calc(50% - 4px);transform:rotate(90deg)}.cw-port-2{left:-6px;top:calc(50% - 4px);transform:rotate(180deg)}.cw-port-3{top:-6px;left:calc(50% - 4px);transform:rotate(270deg)}
#workshop-overlay .cw-selected{outline:1px solid #e5c982;outline-offset:2px}.cw-connected .cw-port-out{box-shadow:0 0 8px #8feacf}#workshop-overlay .cw-fault{border-color:#d19371}#workshop-overlay .cw-flowing{background:#347b68;box-shadow:inset 0 0 24px #a4ffdf66,0 0 22px #8ce7c144;border-color:#baf3dd}.cw-flowing .cw-vessel{background:#a4dec0;color:#193a2f;box-shadow:0 0 24px #bcffe5}
.cw-board-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;font-size:11px}.cw-board-tools>span{margin-right:auto;color:#bdcec0}.cw-board-tools+ p,[data-cw-path-state]{margin:6px 0 13px;font-size:11px;color:#b8cabc}
.cw-progress{height:3px;background:#365047;margin:13px 0 5px}.cw-progress div{height:100%;width:0;background:linear-gradient(90deg,#70baa3,#e4ce8b);transition:width .25s}.cw-progress+small{color:#afc7ba;font-size:11px}
.cw-result{display:flex;align-items:center;gap:17px;min-height:127px;padding:17px 0 8px}.cw-result img{width:64px;height:84px;object-fit:contain;filter:drop-shadow(0 0 14px #d1b46933)}.cw-result small{font-size:10px;letter-spacing:.12em;color:#c9b984}.cw-result h3{font:600 19px 'Yu Mincho',serif;margin:4px 0 7px}.cw-result strong{color:#e4d5a4;font-size:13px}.cw-result p{font-size:11px;color:#abc2b3;margin:5px 0}.cw-notes{font-size:11px;padding-left:19px;color:#c7d6c7;margin:4px 0 14px}.cw-notes li{padding:2px 0}
.cw-trial{border-top:1px solid #66867444;padding-top:12px}.cw-trial>button{font-size:12px!important}.cw-trial [data-cw-trial-view]{margin-top:12px}.cw-trial strong,.cw-trial small{font-size:11px}.cw-test-health{height:8px;background:#354139;margin:6px 0}.cw-test-health>div{height:100%;background:linear-gradient(90deg,#5bb78a,#c9e8a5);transition:width .5s}
.cw-sidebar{padding-left:23px;border-left:1px solid #bca97633}.cw-sidebar>select{width:100%;font-size:12px!important}.cw-catalyst{display:flex;align-items:center;gap:10px;margin:14px 0}.cw-catalyst [data-cw-weapon-art]{width:64px;height:80px;flex-shrink:0;display:grid;place-items:center;background:radial-gradient(ellipse,#639e7550,transparent 70%)}.cw-catalyst img{width:64px;height:80px;object-fit:contain;filter:drop-shadow(0 3px 8px #0006)}.cw-catalyst [data-cw-weapon-art]>span{font-size:40px;color:#d5c080}.cw-catalyst strong{font-size:13px}.cw-catalyst p{font-size:11px;color:#b3c8b8;margin:5px 0}
.cw-traits>div{display:grid;grid-template-columns:38px 1fr 36px;gap:8px;align-items:center;margin:5px 0;font-size:11px}.cw-traits meter{width:100%;height:7px}.cw-traits meter::-webkit-meter-bar{background:#29443c;border:0}.cw-traits meter::-webkit-meter-optimum-value{background:#cfb777}.cw-traits b{text-align:right;font-weight:500;color:#dac58e}
[data-cw-catalyst-note]{font-size:11px;color:#b9cdbc;margin:12px 0 22px}.cw-materials{display:grid;gap:5px;margin-bottom:12px}.cw-material{display:grid;grid-template-columns:28px 1fr 25px 45px;gap:7px;align-items:center;padding:4px 0;font-size:12px}.cw-material>span{color:var(--ink);display:grid;place-items:center;width:26px;height:26px;border:1px solid currentColor;border-radius:7px;background:#284a3e}.cw-material strong{font-weight:500}.cw-material b{color:#ebdab0;text-align:right}.cw-material small{font-size:10px;color:#a9bdae;text-align:right}
[data-cw-cost],[data-cw-shortage]{font-size:11px;line-height:1.8;margin:12px 0;color:#d6d0af}#workshop-overlay .cw-primary{width:100%;background:linear-gradient(110deg,#b9914f,#e4cd8f);color:#24352b;border-color:#dcca8e;font-weight:600;box-shadow:0 4px 20px #b4933822}
.cw-sidebar details{font-size:11px;color:#b5cbb9;margin-top:16px}.cw-sidebar summary,.cw-journal summary{cursor:pointer;color:#d4c69c}
.cw-journal{grid-column:1/-1;margin-top:24px;padding-top:18px;border-top:1px solid #bca97644}.cw-save-row{display:flex;gap:9px;margin-bottom:13px}.cw-save-row input{flex:1}.cw-journal article{display:flex;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #64807033}.cw-journal article>div{flex:1;min-width:0}.cw-journal article strong{font-size:13px;overflow-wrap:anywhere}.cw-journal article small,.cw-journal article em{display:block;font-size:11px;font-style:normal;color:#b0c8b8}.cw-journal article em{color:#d7bd88}.cw-journal details{margin-top:14px;font-size:11px}.cw-empty-copy{font-size:12px;color:#b0c6b7}
.cw-footer{position:sticky;bottom:0;z-index:3;padding:12px 30px;background:#0d211df5;border-top:1px solid #bca97644}.cw-footer p{font-size:12px;color:#eedda9;margin:0 0 5px}.cw-footer small{font-size:10px;color:#92ac9d}
@media(max-width:820px){#workshop-overlay{padding:8px}.cw-window{max-height:calc(100dvh - 16px)}.cw-content{grid-template-columns:1fr;padding:17px}.cw-sidebar{padding:20px 0 0;margin-top:20px;border-left:0;border-top:1px solid #bca97644}.cw-header{padding:17px}.cw-header h2{font-size:22px}.cw-board{gap:7px;padding:11px}.cw-cell{height:80px!important}.cw-footer{padding:15px 17px}.cw-traits{max-width:400px}.cw-catalyst{max-width:500px}}
@media(max-width:420px){.cw-content{padding:12px}.cw-header{gap:8px;padding:14px}.cw-header h2{font-size:20px}.cw-header p{font-size:11px}.cw-header>button{padding:6px!important;font-size:11px!important}.cw-board{gap:6px;padding:8px}.cw-cell{height:74px!important}.cw-cell strong{font-size:9px}.cw-vessel{width:28px;height:28px;font-size:17px}.cw-save-row{flex-wrap:wrap}.cw-save-row input{width:100%}.cw-journal article{flex-wrap:wrap}.cw-journal article>div{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){#workshop-overlay *{transition:none!important}}
