/* The original KASNOV GRID skin remains in style.css; the office owns its panels. */
.layout{grid-template-columns:300px minmax(0,1fr)}.rail{gap:28px}.rail button{white-space:nowrap}
main{position:relative;min-height:0;display:flex;flex-direction:column}.world-heading{padding:20px 24px 0;align-items:center}.world-heading h1{font-size:clamp(1.9rem,2.8vw,2.7rem)}
.office-stage{position:relative;min-height:620px;flex:1;overflow:hidden}.scene{width:min(100%,1050px);max-width:1050px;margin:8px auto 0;aspect-ratio:3/2}.scene canvas{width:100%;height:100%}#character-canvas{position:absolute;left:0;top:0;pointer-events:none;z-index:1;background-repeat:no-repeat;image-rendering:pixelated;will-change:transform;contain:paint}.scene .hotspot{z-index:2}.office-hint{display:flex;justify-content:space-between;gap:16px;padding:8px 24px 20px;font-size:.875rem;color:var(--blue)}
.memory-spot{left:66.9%;top:34%;width:15.2%;height:27%;clip-path:polygon(0 0,100% 35%,100% 100%,0 67%)}.worker-spot{left:29.7%;top:50.6%;width:25.7%;height:26%}.cabinet-spot{left:51.9%;top:30.9%;width:13.5%;height:37%}.manager-spot{left:54%;top:74%;width:8%;height:19%}
.office-overlay{position:absolute;z-index:5;inset:12px 18px 18px;background:rgba(247,247,239,.96);border:3px solid var(--ink);box-shadow:12px 12px 0 var(--ks-color-brand-600);display:flex;flex-direction:column;min-height:0;overflow:hidden}.office-overlay[hidden]{display:none}.overlay-head{flex:none;display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:2px solid var(--ink);background:var(--surface)}.overlay-head h2{margin:0}.overlay-head .quiet{font-size:1.4rem;min-width:44px;text-align:center}.overlay-content{min-height:0;flex:1;overflow:auto}.overlay-content>.panel-actions,.overlay-content>.notice,.overlay-content>.entry,.overlay-content>.card,.overlay-content>.empty,.overlay-content>.muted{margin:16px 20px}.overlay-content>.card-grid{padding:20px}
.board-shell{display:flex;flex-direction:column;height:100%;min-height:440px}.board-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-bottom:2px solid var(--ink);background:var(--bg)}.board-tools button{border:2px solid var(--ink);background:var(--surface);padding:7px 11px;min-height:40px;font-size:.875rem}.board-tools button.active{background:var(--ink);color:var(--surface)}.board-tools button:focus-visible{outline:3px solid var(--blue)}.board-tools .board-save{margin-left:auto}.board-tools .board-save[data-dirty="true"]{background:var(--ks-color-brand-400)}.board-tools label{display:flex;gap:6px;align-items:center;margin:0}.board-tools select{width:auto;min-height:40px;margin:0;padding:6px}
.board-viewport{position:relative;flex:1;min-height:330px;overflow:hidden;cursor:grab;touch-action:none;background-color:var(--bg);background-image:linear-gradient(90deg,rgba(0,49,83,.08) 1px,transparent 1px),linear-gradient(rgba(0,49,83,.08) 1px,transparent 1px);background-size:20px 20px}.board-viewport[data-tool="draw"]{cursor:crosshair}.board-viewport:active{cursor:grabbing}.board-world{position:absolute;left:0;top:0;width:4000px;height:4000px;transform-origin:0 0}.board-lines{position:absolute;inset:0;overflow:visible;pointer-events:none}.board-node{position:absolute;border:2px solid var(--ink);background:var(--surface);box-shadow:5px 5px 0 var(--ks-color-brand-400);padding:14px;cursor:move;overflow:hidden;touch-action:none;user-select:none}.board-node[data-kind="zone"]{background:rgba(96,157,196,.13);border-style:dashed}.board-node[data-color="gold"]{background:#f5e7bd}.board-node[data-color="green"]{background:#e1eddf}.board-node[data-color="blue"]{background:#d9e9f3}.board-node.selected{outline:3px solid var(--blue);outline-offset:3px}.board-node strong{font:1.4rem/1 var(--display);display:block;overflow-wrap:anywhere}.board-node p{font-size:.875rem;margin:8px 0 0}.board-node .node-kind{font:.75rem/1.4 var(--ks-font-mono);color:var(--blue)}
.board-inspector{border-top:2px solid var(--ink);padding:10px 12px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:60px;background:var(--surface)}.board-inspector label{display:flex;align-items:center;gap:8px;margin:0}.board-inspector select{width:auto;min-height:38px;margin:0;padding:5px}.board-inspector button{min-height:38px;padding:4px 10px;border:2px solid var(--ink);background:var(--bg)}.board-status{font-size:.875rem;color:var(--blue);margin-left:auto}.board-form{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:2px solid var(--ink)}.board-form input{width:min(280px,45%);min-height:40px}.board-form select{width:auto;min-height:40px;margin:0}.board-form button{min-height:40px}
@media(max-width:1000px){.layout{grid-template-columns:250px minmax(0,1fr)}.rail{gap:14px}.rail button{font-size:1rem}}
@media(max-width:850px){.layout{grid-template-columns:minmax(0,1fr)}.rail{overflow-x:auto;justify-content:flex-start;gap:18px}.rail button{flex:none}.manager{grid-row:3}.office-stage{min-height:550px}.office-overlay{inset:8px}.overlay-head{padding:10px 14px}.office-hint{padding:8px 16px 16px}}
@media(max-width:520px){.office-stage{min-height:510px}.scene{margin:8px auto}.office-hint{flex-direction:column;gap:4px}.office-overlay{inset:4px;box-shadow:5px 5px 0 var(--ks-color-brand-600)}.overlay-head h2{font-size:1.5rem}.board-tools{gap:5px}.board-tools button{font-size:.75rem;padding:5px 7px}.board-inspector{font-size:.875rem}.board-viewport{min-height:270px}}
