@font-face{font-family:Bebas;src:url('/bebas-bold.ttf') format('truetype');font-weight:700;font-display:swap}
/* The supplied Latin display face lacks Cyrillic; reuse the owner's Cyrillic Bebas. */
@font-face{font-family:'Kasnov Display';src:url('/bebas-bold.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0400-052F}
@font-face{font-family:Bebas;src:url('/bebas-book.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:light;--display:'Kasnov Display',Bebas,'Arial Narrow',sans-serif;--bg:var(--ks-color-paper-500);--surface:var(--ks-color-paper-100);--ink:var(--ks-color-ink-900);--blue:var(--ks-color-brand-600);--muted:var(--ks-color-brand-600);--line:var(--ks-color-ink-900);--soft:#c9d8dc;--mh-bg:#DDDDD3;--mh-surface:#f7f7ef;--mh-ink:#003153;--mh-secondary:#255d84;--mh-line:#003153;--mh-blue:#255d84;--mh-soft:#c9d8dc;--mh-cream:#DDDDD3;--mh-floor:#c4d1d3;--mh-floor-side:#609dc4;--mh-wall:#f7f7ef;--mh-wall-side:#d4dfdf;--mh-wood:#ddddd3;--mh-wood-side:#609dc4;--mh-dark:#003153;--mh-window:#609dc4;--mh-window-light:#f7f7ef;--mh-plant:#609dc4;--mh-plant-dark:#255d84}
body{margin:0;font:1rem/1.5 var(--ks-font-interface);color:var(--ink)}[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
h1,h2,h3,.brand{font-family:var(--display);font-weight:400;line-height:1.05;letter-spacing:.025em}h1{font-size:var(--ks-text-h1);margin:8px 0 0}h2{font-size:var(--ks-text-h2);margin:0 0 16px}h3{font-size:var(--ks-text-h3);margin:0 0 8px}h4{margin:16px 0 8px}p{margin:0 0 12px}.eyebrow{font:400 1rem/1.4 var(--display);letter-spacing:.12em;color:var(--muted);margin:0}.muted{color:var(--muted)}.small{font-size:.875rem}
.top{min-height:80px;display:flex;align-items:center;gap:12px;padding:16px 28px;border-bottom:2px solid var(--ink);background:var(--bg)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-size:2rem;letter-spacing:.055em}.brand span{color:var(--blue)}.workspace{font:400 1.75rem/1.1 var(--display);color:var(--blue)}.top-right{margin-left:auto;display:flex;align-items:center;gap:16px}.version{font:.75rem/1.4 var(--ks-font-mono);color:var(--blue)}
.quiet{border:0;border-bottom:2px solid transparent;background:transparent;padding:10px 4px;min-height:44px;font-size:.875rem;text-align:left}.quiet:hover{border-color:var(--ink)}.layout{display:grid;grid-template-columns:320px minmax(0,1fr);grid-template-rows:auto 1fr;min-height:calc(100vh - 126px)}
.rail{grid-column:1/-1;display:flex;gap:32px;align-items:center;padding:0 28px;border-bottom:2px solid var(--ink);background:var(--surface)}.rail button{display:flex;align-items:center;gap:10px;min-height:56px;border:0;border-bottom:3px solid transparent;padding:12px 0 9px;background:transparent;font:400 1.25rem/1.2 var(--display);letter-spacing:.055em}.rail button span{font:.75rem/1.4 var(--ks-font-mono);color:var(--blue)}.rail button.active,.rail button:hover{border-bottom-color:var(--ink)}.rail button.active{color:var(--blue)}
.manager{grid-column:1;grid-row:2;display:flex;flex-direction:column;gap:24px;padding:28px 24px;border-right:2px solid var(--ink);background:var(--surface);min-width:0;max-height:calc(100vh - 56px);min-height:650px;position:sticky;top:0}.manager-title{display:flex;align-items:center;gap:16px}.manager-title strong{font:400 1.5rem/1.1 var(--display);letter-spacing:.055em}.manager-title p{margin:4px 0 0}.avatar{width:48px;height:48px;flex:none;background:var(--ink);color:var(--bg);font:400 2rem var(--display);display:grid;place-items:center;box-shadow:4px 4px 0 var(--ks-color-brand-400)}
label{display:block;margin-bottom:12px;font-size:.875rem}label input,label select,label textarea{margin-top:8px}.project-label{margin:0;color:var(--muted)}select,input,textarea{border:var(--ks-border-control);background:var(--surface);padding:12px 14px;border-radius:0;width:100%;min-width:0;min-height:52px;font:1rem/1.4 var(--ks-font-interface)}textarea{resize:vertical;min-height:144px}.notice{padding:16px;background:var(--bg);border-left:3px solid var(--blue);font-size:.875rem;line-height:1.6}.messages{flex:1;overflow:auto;min-height:100px;font-size:1rem;overflow-wrap:anywhere;white-space:pre-wrap}.message{padding:16px 0;border-bottom:1px solid var(--blue)}.message.system{color:var(--muted)}.message small{font-size:.75rem;display:block;margin-bottom:8px}.compose-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px}.compose-foot span{font-size:.75rem;color:var(--muted)}
.primary,.outline{border:var(--ks-border-control);border-radius:0;padding:12px 20px;min-height:48px;font:400 1.25rem/1.1 var(--display);letter-spacing:.055em;box-shadow:var(--ks-shadow-button);transition:transform var(--ks-motion-fast),box-shadow var(--ks-motion-fast)}.primary{background:var(--ink);color:var(--surface)}.outline{background:var(--bg);color:var(--ink)}.primary:hover,.outline:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ks-color-brand-400)}.primary:active,.outline:active{transform:translate(4px,4px);box-shadow:none}.primary:disabled,.outline:disabled{transform:none;box-shadow:2px 2px 0 var(--ks-color-brand-400)}
main{grid-column:2;grid-row:2;min-width:0}.world-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:32px 32px 0}.world-heading>div{min-width:0;overflow-wrap:anywhere}.badge{display:inline-flex;align-items:center;padding:6px 10px;min-height:32px;border:2px solid var(--blue);background:var(--surface);color:var(--blue);font-size:.875rem;line-height:1.4}.world-heading>.badge{max-width:210px;flex:none}.badge.warn{color:var(--ks-color-warning-700);background:var(--ks-color-warning-100);border-color:currentColor}
.scene{position:relative;max-width:1000px;margin:24px auto;aspect-ratio:3/2}canvas{width:100%;height:100%;display:block}.hotspot{position:absolute;transform:translate(-50%,-50%);min-width:44px;min-height:44px;padding:0;background:transparent;border:0;box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.hotspot:hover,.hotspot:active{background:transparent;box-shadow:none}.hotspot:focus-visible{outline:none}.memory-spot{left:67.55%;top:29.2%;width:16.9%;height:32%;clip-path:polygon(0 0,100% 35%,100% 100%,0 67%)}.worker-spot{left:27.4%;top:47.85%;width:27.5%;height:31.25%}.manager-spot{left:53.65%;top:71.75%;width:6%;height:20.5%}
@media(forced-colors:active){.hotspot{border:2px solid ButtonText}.hotspot:focus-visible{outline:3px solid Highlight}}
.office-bottom{margin:0 32px 24px;padding-top:20px;border-top:2px solid var(--ink);display:flex;justify-content:space-between;gap:24px;align-items:center}.office-bottom p{font-size:.875rem;margin:8px 0 0}.overview-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0 39px 39px 32px}.card{background:var(--surface);border:var(--ks-border-control);box-shadow:var(--ks-shadow-card);padding:24px;min-width:0;overflow-wrap:anywhere}.card .number{font:400 3.5rem/1 var(--display);margin:16px 0;color:var(--blue)}.card p{font-size:.875rem;color:var(--muted)}.card p:first-child{font:400 1.125rem/1.2 var(--display);letter-spacing:.055em}.card .quiet{font-size:.875rem}
#panel-view{padding:24px 39px 40px 32px}.panel-actions{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 28px}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.entry{padding:24px 0;border-bottom:2px solid var(--ink);overflow-wrap:anywhere}.entry p{white-space:pre-wrap;max-width:68ch}.entry-meta{font-size:.75rem;color:var(--muted);margin:0 0 12px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.empty{padding:32px;margin-top:24px;background:var(--surface);border:var(--ks-border-control);box-shadow:var(--ks-shadow-card)}.empty p{color:var(--muted);max-width:68ch}.status-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.rows{width:100%;border-collapse:collapse;font-size:.875rem}.rows td,.rows th{text-align:left;padding:12px 8px;border-bottom:1px solid var(--blue);overflow-wrap:anywhere}.rows th{font-weight:600}.table-wrap{overflow:auto}.worker-services{display:grid;gap:16px;margin-top:24px}.service{border-top:2px solid var(--ink);padding:20px 0 0}.service p{margin-bottom:8px}.secret{font:.875rem/1.5 var(--ks-font-mono);width:100%;padding:12px;min-height:96px;word-break:break-all}
footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 28px;border-top:2px solid var(--ink);font:.75rem/1.5 var(--ks-font-mono);color:var(--muted);background:var(--bg)}dialog{width:min(570px,calc(100vw - 40px));max-height:85vh;overflow:auto;background:var(--surface);border:var(--ks-border-modal);border-radius:0;box-shadow:var(--ks-shadow-hero);padding:28px;color:var(--ink)}dialog::backdrop{background:rgb(0 49 83 / 48%)}.dialog-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.dialog-heading h2{margin-bottom:24px}.dialog-heading .quiet{min-width:44px;text-align:center}.form-error,#login-error{color:var(--ks-color-danger-700);margin:16px 0 0}.login-screen{min-height:100vh;display:grid;place-items:center;padding:32px}.login-card{width:min(480px,100%);padding:40px;background:var(--surface);border:var(--ks-border-modal);box-shadow:var(--ks-shadow-hero)}.login-card img{margin-bottom:24px}.login-card h1{font-size:3rem;margin-bottom:20px}.login-card>p{color:var(--muted)}.login-card .primary{width:100%;margin:8px 0 24px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90vw;background:var(--ink);color:var(--surface);border:2px solid var(--surface);box-shadow:var(--ks-shadow-button);padding:16px 20px;z-index:20;font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1650px){.layout{grid-template-columns:360px minmax(0,1fr)}.scene{max-width:1100px}.manager{padding:32px}}
@media(max-width:1200px){.layout{grid-template-columns:280px minmax(0,1fr)}.manager{padding:24px 20px}.world-heading{padding:24px 24px 0;flex-wrap:wrap;gap:12px}.scene{margin:0 auto}.overview-cards{grid-template-columns:1fr;padding:0 31px 31px 24px}.office-bottom{margin:0 24px 24px;align-items:flex-start;flex-direction:column}#panel-view{padding:24px 31px 32px 24px}.card-grid{grid-template-columns:1fr}.version{display:none}}
@media(max-width:850px){.top{padding:16px 24px}.layout{grid-template-columns:minmax(0,1fr)}.rail{gap:24px;padding:0 24px;justify-content:space-between}.rail button{gap:6px}.rail button span{display:none}main{grid-column:1;grid-row:2}.manager{grid-column:1;grid-row:3;border-right:0;border-top:2px solid var(--ink);position:static;max-height:none;min-height:0;padding:24px}.manager .messages{max-height:280px}.card{padding:20px;box-shadow:5px 5px 0 var(--ks-color-brand-400)}.overview-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.scene{max-width:800px;margin:24px auto}.office-bottom{flex-direction:row;align-items:center;gap:16px}.office-bottom .outline{max-width:230px}.world-heading h1{font-size:2.25rem}}
@media(max-width:520px){.top{padding:12px 16px;gap:8px;flex-wrap:wrap}.brand{font-size:1.75rem;gap:8px}.workspace{font-size:1.375rem}.top-right{gap:12px}.top-right .quiet{font-size:.875rem}.rail{padding:0 12px;gap:8px}.rail button{font-size:1.0625rem;min-height:52px;letter-spacing:0}.world-heading{padding:24px 16px 0}.world-heading>.badge{max-width:none}.scene{margin:8px auto}.office-bottom{margin:0 16px 24px;flex-direction:column;align-items:flex-start}.office-bottom .outline{max-width:none}.overview-cards{padding:0 23px 31px 16px;grid-template-columns:1fr;gap:20px}#panel-view{padding:24px 23px 32px 16px}.manager{padding:24px 16px}.login-screen{padding:24px}.login-card{padding:24px}.login-card h1{font-size:2.25rem}footer{padding:16px}.panel-actions button{flex:1}dialog{padding:20px}.empty{padding:24px}h2{font-size:1.875rem}}
