
:root{--ink:#283b36;--muted:#66746a;--paper:#fffdf3;--line:#b6c3ac;--green:#49634b;--gold:#efd078}
*{box-sizing:border-box}body{margin:0;font:14px/1.5 system-ui,sans-serif;background:#e9eee2;color:var(--ink)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:1px solid #87957d;border-radius:5px;padding:8px 12px;background:var(--paper);color:var(--ink);box-shadow:0 2px 0 #adb69c}button:hover{background:#edf3df}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #447dcb;outline-offset:3px}a{color:inherit}input,select{background:#fffdf6;border:1px solid #a9b69d;border-radius:4px;padding:8px;color:var(--ink);max-width:100%}label{display:grid;gap:5px}small,.muted{color:var(--muted)}h1,h2,h3,p{margin:0 0 10px}h1{font-size:26px}h2{font-size:21px}h3{font-size:16px}.gold{background:var(--gold)}.danger{color:#993d34;border-color:#b87e70}.eyebrow{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;color:#728262}.shell{display:grid;grid-template-columns:174px minmax(0,1fr);min-height:100vh}.sidebar{background:#f8f9f0;border-right:1px solid var(--line);padding:22px 12px;display:flex;flex-direction:column;gap:9px}.logo{font-weight:900;font-size:23px;letter-spacing:-1px;margin:0 8px 12px}.logo i{color:#708d52}.sidebar button{text-align:left;box-shadow:none;background:transparent;border-color:transparent}.sidebar button.active{background:#d5e6c5;border-color:#8ea081;box-shadow:0 2px 0 #8ea081}.sidebar .footer{margin-top:auto;font-size:11px;padding:28px 7px 0}.topbar{padding:16px 24px;border-bottom:1px solid var(--line);background:#f9faf1;display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}.topbar h1{margin:0;font-size:20px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fffef6;border-bottom:1px solid var(--line)}.stat{padding:12px 24px;border-right:1px solid #e1e5d5}.stat small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px}.stat strong{font-size:20px}.content{padding:22px;max-width:1550px;margin:auto}.heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.panel{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:18px}.life-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#f8edcc;padding:12px;border:1px solid #b6a979;border-radius:6px;margin-bottom:12px}.dot{display:inline-block;background:#628851;border-radius:50%;width:8px;height:8px;margin-right:5px}.floor-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:15px;align-items:start}.floor-scroll{overflow:auto;border:5px solid #4a4b40;background:#303b34;box-shadow:0 5px 0 #bac2ad;border-radius:4px}.office{width:1000px;height:750px;position:relative;background-color:#8aa394;background-image:linear-gradient(90deg,#718f8044 2px,transparent 2px),linear-gradient(#718f8044 2px,transparent 2px);background-size:44px 44px;border:8px solid #d7cdb0;overflow:hidden}.room{position:absolute;top:0;height:185px;border:5px solid #514e43;border-top:0;background:repeating-linear-gradient(0deg,#ddcda9 0 14px,#d1bd96 14px 15px);box-shadow:inset 0 0 0 4px #f0e6ca}.room::after{content:"";position:absolute;bottom:-6px;left:calc(50% - 18px);width:36px;height:7px;background:#9aab92}.room-label{position:absolute;top:10px;left:8px;right:8px;text-align:center;font-size:10px;font-weight:750;padding:2px;background:#f9edbd;border:1px solid #b6a679}.window{position:absolute;top:37px;left:25px;width:60px;height:21px;background:linear-gradient(135deg,#acd3d1 45%,#e1ede0 46% 53%,#99bab9 54%);border:3px double #555f5a}.rug{position:absolute;inset:68px 20px 16px;background:#677f6c;border:3px double #a0b48e}.plant{position:absolute;font-size:30px;filter:saturate(.6);line-height:1}.meeting-table{position:absolute;width:115px;height:62px;left:35px;top:83px;background:#b6935b;border:5px double #72542e;box-shadow:0 12px 0 #4e5c44}.meeting-table::after{content:"";position:absolute;inset:-14px 15px;border-top:7px dashed #67432e;border-bottom:7px dashed #67432e}.kitchen{position:absolute;left:15px;top:66px;width:147px;height:33px;background:#b89962;border:4px double #665341}.fridge{position:absolute;right:15px;top:100px;width:34px;height:65px;background:#e9e3ca;border:4px double #7b8275}.coffee{position:absolute;left:26px;top:55px;background:#384340;color:#faf1d5;width:21px;height:28px;text-align:center}.floor-sign{position:absolute;left:25px;top:199px;color:#344d3e;font-size:12px}.empty{position:absolute;left:170px;right:170px;top:360px;text-align:center;color:#334f40}.empty h2{font-size:25px}.desk{position:absolute;width:102px;height:54px;background:repeating-linear-gradient(0deg,#c9a46b 0 12px,#b3915e 12px 14px);border:3px solid #796246;box-shadow:0 8px 0 #536b57;z-index:2;padding:0;box-sizing:border-box}.desk::before{content:"";position:absolute;width:22px;height:18px;left:37px;top:57px;background:#ba9b63;border:3px double #66543c;box-shadow:0 5px 0 #4c5b47}.monitor{position:absolute;top:-8px;left:32px;width:32px;height:27px;background:#354547;border:4px solid #d2cfb4;box-shadow:0 0 0 1px #535e50}.monitor::after{content:"";position:absolute;top:26px;left:-6px;width:37px;height:7px;background:repeating-linear-gradient(90deg,#a3a79b 0 3px,#d8dacb 3px 5px);border:1px solid #646d5e}.desk-name{position:absolute;left:-12px;right:-12px;top:89px;font-size:10px;background:#f9edc5;border:1px solid #a8a380;border-radius:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desk small{position:absolute;right:3px;top:28px;background:#e4ded1;width:14px;height:15px;transform:rotate(-9deg)}.character{position:absolute;width:34px;height:54px;padding:0;border:0;box-shadow:none;background:transparent;z-index:5;transition:transform 1.8s linear;left:0;top:0}.character:hover{background:transparent;filter:drop-shadow(0 0 3px #fff9cd)}.character svg{width:34px;height:54px;image-rendering:pixelated;overflow:visible}.character .bubble{position:absolute;bottom:56px;left:-37px;min-width:110px;max-width:150px;padding:3px 5px;background:#fff9df;border:1px solid #839071;font-size:9px;white-space:nowrap;display:none}.character:hover .bubble,.character:focus-visible .bubble{display:block}.ceo{position:absolute;left:82px;top:122px;width:30px;height:45px;z-index:6}.profile{position:sticky;top:12px;min-height:350px}.profile-header{display:flex;gap:12px;align-items:center;margin-bottom:15px}.portrait{background:#e8edda;border:1px solid #bcc8ad;border-radius:6px;padding:8px;width:58px;height:75px;flex-shrink:0}.portrait svg{width:100%;height:100%;image-rendering:pixelated}.profile dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px}.profile dt{color:var(--muted)}.profile dd{margin:0;font-weight:700}.meter{height:7px;background:#e2e8d7;border-radius:4px;overflow:hidden}.meter i{display:block;height:100%;background:#789958}.profile .toolbar{margin:15px 0}.profile button{font-size:12px}.chat-log{max-height:215px;overflow:auto;background:#f2f4e9;padding:8px;border:1px solid #d1d9c3;border-radius:5px;margin:12px 0;font-size:12px}.chat-log p{margin:6px 0;padding:7px;background:white;border-radius:5px}.chat-log .you{background:#e2ecd3}.chat-form{display:flex;gap:4px}.chat-form input{min-width:0;width:100%;font-size:12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:12px}.person-card{display:flex;gap:12px}.person-card h3{margin-bottom:3px}.person-card p{font-size:12px;margin-bottom:5px}.person-card .toolbar{margin-top:10px}.badge{display:inline-block;padding:2px 7px;background:#e8ecd8;border-radius:3px;font-size:10px;margin-right:4px}.feed{margin-top:16px;max-height:230px;overflow:auto}.feed p{padding:8px 0;border-bottom:1px solid #e1e5d5;font-size:12px}.notice{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:100;background:#243c30;color:white;padding:13px 22px;border-radius:7px;max-width:90vw;box-shadow:0 5px 30px #243c3044}.setup{max-width:1100px;margin:0 auto}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.map{position:relative;min-height:300px;background:#c8d9b1;overflow:hidden;border:5px solid #8a9e77;border-radius:9px;background-image:linear-gradient(0deg,transparent 46%,#eee9d0 46% 54%,transparent 54%),linear-gradient(90deg,transparent 45%,#eee9d0 45% 52%,transparent 52%)}.map::after{content:"";position:absolute;right:-20px;top:0;width:20%;height:100%;background:#91bfbc;transform:rotate(-12deg);pointer-events:none}.map button{position:absolute;transform:translate(-50%,-50%);font-size:11px;z-index:1;padding:7px;white-space:nowrap}.map button.selected{background:var(--gold);outline:3px solid #6a8153}.location-list{display:grid;gap:7px;margin-top:14px}.location-option{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}.location-option.active{background:#dfebcb;border-color:#6c8858}.fields{display:grid;gap:14px}.comparison{padding:14px;background:#f1efd9;border:1px solid #d0c6a2;border-radius:6px}.case{border-left:4px solid #d4ac52}.case .toolbar{margin-top:15px}.financial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}table{width:100%;border-collapse:collapse;font-size:13px}td,th{padding:9px 7px;text-align:left;border-bottom:1px solid #dce3d2}th{color:var(--muted);font-weight:600}.help{font-size:12px;line-height:1.7}.company-card{margin-bottom:14px}.company-card .toolbar{margin-top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.loading{padding:40px;text-align:center}
@media(min-width:1500px){.floor-scroll .office{zoom:1.05}}
@media(max-width:1190px){.floor-layout{grid-template-columns:1fr}.profile{position:static}.office{zoom:.85}.profile .chat-log{max-height:160px}.sidebar{padding:15px 8px}.shell{grid-template-columns:150px minmax(0,1fr)}}
@media(max-width:700px){.shell{display:block}.sidebar{flex-direction:row;overflow:auto;padding:8px;border-bottom:1px solid var(--line);gap:4px}.sidebar .logo,.sidebar .footer{display:none}.sidebar button{white-space:nowrap;font-size:12px;padding:8px}.topbar{padding:12px}.stats{grid-template-columns:repeat(2,1fr)}.stat{padding:9px 12px}.stat strong{font-size:17px}.content{padding:12px}.setup-grid,.financial{grid-template-columns:1fr}.office{zoom:.75}.heading{align-items:flex-start}.topbar h1{font-size:18px}.grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.character{transition:none}}

/* Illustrated office: layered furniture, quiet labels and varied pixel people. */
.floor-layout{grid-template-columns:minmax(0,1fr);max-width:1160px;margin:auto}
.floor-layout .profile{position:static;min-height:0}
.floor-layout .profile dl{grid-template-columns:repeat(4,1fr)}
.floor-scroll{width:fit-content;max-width:100%;margin:auto;background:#789082;border:6px solid #414b44;border-radius:8px;box-shadow:0 5px 0 #b4bda6,0 16px 35px #253c3020}
.office{zoom:1!important;background-color:#7f9787;background-image:repeating-linear-gradient(0deg,#dce7c808 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,#243e3010 0 1px,transparent 1px 4px),linear-gradient(90deg,transparent 97%,#667f712e 97%),linear-gradient(transparent 97%,#667f712e 97%);background-size:auto,auto,44px 44px,44px 44px;border:8px solid #d9ceb2;box-shadow:inset 0 8px 0 #3d504933,inset 8px 0 0 #3d504918}
.room{background:linear-gradient(#ddd4b9 0 53px,#938d7777 53px 56px,transparent 56px),repeating-linear-gradient(0deg,#b4aa8718 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,#c2b698 0 35px,#b6aa8b 35px 36px);border-color:#586053;box-shadow:inset 3px 0 #f4eddb,inset -3px 0 #f4eddb,inset 0 -4px #f4eddb,8px 8px 0 #314b3d24}
.room::after{height:8px;background:#9caa91;border-left:3px solid #6c624e;border-right:3px solid #6c624e;width:42px;bottom:-6px;left:calc(50% - 21px)}
.room-label{top:8px;background:#eee4ca;border:0;left:9px;right:9px;font:600 10px/18px system-ui;letter-spacing:.2px;color:#475342;box-shadow:0 1px #b4a786}
.window{top:32px;left:26px;width:76px;height:26px;border:3px solid #6a796e;box-shadow:0 2px #fbf4de,2px 3px #515d4133;background:linear-gradient(90deg,transparent 47%,#e4e5cf 47% 51%,transparent 51%),linear-gradient(135deg,#96bcc0 40%,#e9f0df 41% 46%,#a4c4c0 47% 70%,#d7e3ce 71% 73%,#91b9b8 74%)}
.rug{inset:68px 19px 13px;background:repeating-linear-gradient(0deg,#a5ac881a 0 1px,transparent 1px 3px),#687f6b;border:4px double #bfc19c;box-shadow:0 2px 0 #6c785c55}
.desk,.desk:hover{width:106px;height:88px;background:transparent;border:0;box-shadow:none;border-radius:0;overflow:visible}
.desk::before{display:none}
.desk-art{width:112px;height:90px;display:block;position:absolute;left:-4px;top:-3px;overflow:visible}
.desk:hover .desk-art,.desk:focus-visible .desk-art{filter:drop-shadow(0 0 2px #fff4b6)}
.desk-name{opacity:0;pointer-events:none;top:-26px;left:-12px;right:-12px;font-size:10px;padding:3px 5px;background:#fff9e5;box-shadow:0 2px 0 #4e64572a;transition:opacity .15s;z-index:100}
.desk:hover .desk-name,.desk:focus-visible .desk-name,.executive-desk .desk-name{opacity:1}
.executive-desk .desk-name{top:87px;left:-5px;right:-5px;font-size:9px;background:#ece0bd}
.room .desk-name{top:84px}
.character{width:36px;height:54px;transition:none!important}
.character svg{width:36px;height:54px}
.character.is-walking svg{animation:office-step .34s steps(2,end) infinite}
.character.is-walking .arms{animation:office-arms .34s steps(2,end) infinite}
.character:focus-visible{outline-offset:2px}
.character .bubble{bottom:55px;left:-50px;max-width:190px;padding:4px 7px;border-radius:4px;box-shadow:0 2px 0 #30443833;z-index:200}
.ceo{left:80px;top:112px;width:36px;height:54px}
.ceo svg{width:36px;height:54px}
.portrait{width:72px;height:94px;padding:5px;background:linear-gradient(#d2ddc5,#f0ecda);border:3px double #97aa8e}
.meeting-table{top:92px;left:37px;width:118px;height:55px;border:3px solid #745936;border-radius:3px;background:repeating-linear-gradient(0deg,transparent 0 11px,#75563117 11px 12px),#b98d52;box-shadow:inset 0 3px #dfbc7c,inset 0 -3px #987142,0 7px #765b39,3px 12px #4b62413b}
.meeting-table::after{inset:-22px 8px;border-top:13px dashed #546c5e;border-bottom:13px dashed #546c5e;filter:drop-shadow(1px 3px #364d42)}
.meeting-table::before{content:"";position:absolute;left:43px;top:14px;width:23px;height:18px;background:#eae4cb;box-shadow:32px 5px 0 -6px #e9d3a6,-32px 0 0 -5px #e9d3a6;transform:rotate(-7deg)}
.kitchen{top:70px;height:43px;background:linear-gradient(#dedbc7 0 11px,#7e7961 11px 13px,transparent 13px),repeating-linear-gradient(90deg,#ac8857 0 32px,#786745 32px 35px);border:2px solid #72634b;box-shadow:0 4px #6e6e5140}
.kitchen::after{content:"";position:absolute;left:9px;top:19px;width:12px;height:3px;background:#ded1ad;box-shadow:35px 0 #ded1ad,70px 0 #ded1ad}
.fridge{top:118px;height:54px;width:31px;background:linear-gradient(#e2e2d5 0 18px,#a0a99d 18px 20px,#d0d6c7 20px);border:2px solid #78867b;box-shadow:3px 3px #596c5340}
.fridge::after{content:"";position:absolute;top:6px;left:3px;width:2px;height:8px;background:#7e8e84;box-shadow:0 23px #7e8e84}
.coffee{top:61px;left:27px;width:20px;height:28px;font-size:0;background:linear-gradient(#53615b 0 7px,#263832 7px 10px,#75887a 10px 14px,#2b3a33 14px 25px,#8e9583 25px);border:2px solid #34483d;box-shadow:2px 2px #56634b66}
.coffee::after{content:"";position:absolute;width:7px;height:8px;background:#e5d8b1;left:5px;top:13px}
.kitchen-sink{position:absolute;left:96px;top:71px;width:32px;height:12px;background:#657c79;border:3px solid #abb7a5;z-index:1}
.kitchen-sink::after{content:"";position:absolute;top:-9px;left:18px;width:5px;height:10px;border:2px solid #d3d7bd;border-bottom:0}
.bookcase{position:absolute;left:156px;top:70px;width:21px;height:72px;border:3px solid #6b573b;background:repeating-linear-gradient(0deg,transparent 0 19px,#806b46 19px 23px),repeating-linear-gradient(90deg,#596f65 0 4px,#b6a071 4px 7px,#915f4b 7px 11px);box-shadow:2px 3px #5e694944}
.wall-clock{position:absolute;right:29px;top:36px;width:19px;height:19px;background:#f0e7cb;border:3px solid #73785f;border-radius:50%}
.wall-clock::after{content:"";position:absolute;left:6px;top:2px;width:4px;height:6px;border-left:1px solid #485849;border-bottom:1px solid #485849}
.wall-art{position:absolute;right:17px;top:33px;width:42px;height:29px;background:linear-gradient(145deg,#adbfad 45%,#d4c19a 46% 65%,#bd8462 66%);border:4px solid #e7dcc0;box-shadow:1px 2px #8f89726b}
.plant{width:24px;height:46px;filter:none;background:linear-gradient(90deg,#b79465,#d4b78b);clip-path:polygon(12% 65%,88% 65%,77% 98%,24% 98%);overflow:visible}
.plant::before{content:"";position:absolute;inset:0;background:#3d6c4a;clip-path:polygon(46% 75%,16% 47%,10% 12%,41% 30%,50% 2%,65% 31%,96% 12%,82% 50%,55% 76%)}
.plant{clip-path:none;background:none}
.plant::after{content:"";position:absolute;bottom:0;left:4px;width:18px;height:15px;background:linear-gradient(90deg,#a68055,#d5b17d);border-top:3px solid #e1bf8b;clip-path:polygon(0 0,100% 0,85% 100%,15% 100%)}
.floor-sign{font:600 10px/20px system-ui;letter-spacing:1px;color:#e9edda;background:#627967;padding:0 9px;top:204px;left:25px;border-radius:2px}
@keyframes office-step{50%{transform:translateY(-1.5px)}}
@keyframes office-arms{50%{transform:translateY(1px)}}
@media(max-width:700px){.floor-layout .profile dl{grid-template-columns:1fr 1fr}.office{zoom:.8!important}.floor-scroll{width:100%}}
@media(prefers-reduced-motion:reduce){.character.is-walking svg,.character.is-walking .arms{animation:none}.desk-name{transition:none}}

/* Office Studio edition */
.character{width:40px;height:66px;transition:none!important}.character svg{width:40px;height:66px;image-rendering:auto!important;filter:drop-shadow(1px 2px 0 #ffffff18)}
.character[data-facing="left"] svg{transform:scaleX(-1)}.character[data-facing="away"]{filter:brightness(.88)}
.character.is-walking svg{animation:character-stride .55s ease-in-out infinite}.character.is-walking .arm-left{animation:arm-swing .55s ease-in-out infinite;transform-origin:12px 42px}.character.is-walking .arm-right{animation:arm-swing .55s ease-in-out infinite reverse;transform-origin:37px 42px}
.portrait{width:76px;height:98px;border-radius:16px;background:radial-gradient(ellipse at 50% 30%,#fff9e4,#c9d8ce);box-shadow:inset 0 0 0 3px #fff8}.portrait svg{image-rendering:auto}.ceo{width:38px;height:60px;top:111px}
@keyframes character-stride{50%{translate:0 -2px}}@keyframes arm-swing{50%{rotate:9deg}}
.office.layout-studio{background-color:#c1a27d;background-image:repeating-linear-gradient(0deg,transparent 0 32px,#715b3c25 33px 34px),repeating-linear-gradient(90deg,transparent 0 130px,#715b3c15 131px 132px)}
.layout-studio .floor-decor{position:absolute;left:425px;top:260px;width:120px;height:385px;border-radius:50px;background:linear-gradient(#324951,#61838a);border:8px solid #e7d8ba;box-shadow:0 8px 0 #30453630}
.office.layout-garden{background-color:#a5b7ac;background-image:linear-gradient(90deg,#edf2e520 1px,transparent 1px),linear-gradient(#edf2e520 1px,transparent 1px);background-size:50px 50px}
.layout-garden .floor-decor{position:absolute;left:405px;top:280px;width:155px;height:320px;border:12px solid #d6c2a2;border-radius:50%;background:radial-gradient(ellipse at 30% 25%,#80985c 0 20%,transparent 21%),radial-gradient(ellipse at 70% 50%,#466d55 0 28%,transparent 29%),radial-gradient(ellipse at 40% 80%,#709565 0 25%,#a6bb84 26%);box-shadow:7px 12px 0 #344f3320}
.layout-garden .room{background-color:#dde2d2}.layout-studio .room{background-color:#e2c9a4}
.chat-log{max-height:380px!important;min-height:160px;font-size:14px;line-height:1.65}.chat-log p{padding:12px 14px;margin:10px 0;border-radius:12px}.chat-form textarea{font:inherit;min-height:66px;max-height:180px;resize:vertical;width:100%;padding:12px;border:1px solid #a9b69d;border-radius:8px}.profile .chat-form button{min-width:75px}
@media(prefers-reduced-motion:reduce){.character *{animation:none!important}} 

/* A fixed game workspace: only lists and conversation panels scroll. */
html,body,#app{height:100%;overflow:hidden}
.shell{height:100dvh;min-height:0;grid-template-columns:148px minmax(0,1fr)}
.shell>main{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}
.sidebar{min-height:0;overflow:auto;padding:12px 8px;gap:4px}.sidebar .logo{font-size:21px;margin-bottom:6px}.sidebar button{font-size:12px;padding:7px 8px}.sidebar .footer{padding:12px 4px 0;font-size:10px}
.topbar{flex:none;padding:7px 16px;min-height:48px}.topbar h1{font-size:18px}.topbar .eyebrow{display:none}.stats{flex:none}.stat{padding:5px 16px}.stat strong{font-size:18px}.stat small{font-size:9px}
.content{min-height:0;flex:1;width:100%;max-width:none;overflow:auto;padding:12px 16px;margin:0}
.content.view-floor{display:flex;flex-direction:column;overflow:hidden;gap:8px}
.view-floor>.heading{flex:none;margin:0;gap:8px}.view-floor .heading h2{font-size:17px;margin-bottom:2px}.view-floor .heading .eyebrow{display:none}.view-floor .heading small{font-size:10px}
.view-floor>.life-bar{flex:none;padding:7px 10px;margin:0;gap:7px}.life-bar button,.life-bar select{padding:5px 7px;font-size:11px}.life-bar label{font-size:11px}.life-bar small{font-size:10px}
.view-floor>.floor-layout{flex:1;min-height:0;width:100%;max-width:none;margin:0;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px}
.view-floor .floor-layout>div{min-height:0;overflow:hidden}.view-floor .floor-scroll{height:100%;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:none}.view-floor .floor-layout>div>.help{display:none}
.view-floor .profile{height:100%;min-height:0;overflow:auto;position:static;display:flex;flex-direction:column;padding:12px;gap:7px}.view-floor .profile-header{margin:0}.view-floor .profile .portrait{width:46px;height:60px;padding:4px}.view-floor .profile .chat-log{flex:1;max-height:none!important;min-height:100px;font-size:12px;margin:0;overflow:auto}.view-floor .chat-log p{padding:8px;margin:5px 0}.view-floor .chat-form{position:sticky;bottom:0;background:var(--paper);flex:none}.view-floor .chat-form textarea{min-height:54px;padding:7px;font-size:12px;resize:none}.view-floor .profile .chat-form button{min-width:48px}.view-floor .profile .help{margin:0;font-size:10px}.employee-details{flex:none}.employee-details summary,.floor-feed summary{cursor:pointer;font-weight:650;font-size:12px;padding:6px;background:#e4ebd8;border-radius:5px}.employee-details[open]{max-height:45vh;overflow:auto}.employee-details .panel{padding:8px}.employee-details .toolbar{margin:8px 0}.floor-feed{flex:none;position:relative}.floor-feed>.feed{position:absolute;bottom:30px;left:0;right:0;z-index:1000;max-height:240px;background:var(--paper);box-shadow:0 8px 30px #243c3055}
.hiring-tools{position:sticky;top:-12px;z-index:20;box-shadow:0 3px 12px #243c301a}.person-card>div:last-child{min-width:0;flex:1}.transfer-control{flex-basis:100%;font-size:11px}.transfer-control select{width:100%;font-size:12px;padding:6px}
@media(max-height:780px){.sidebar .footer{font-size:0;padding-top:4px}.sidebar .footer button,.sidebar .footer label{font-size:10px}.sidebar .footer br{display:none}.view-floor .heading small{display:none}.topbar small{display:none}}
@media(max-width:950px){.view-floor>.floor-layout{grid-template-columns:minmax(0,1fr) 260px}.shell{grid-template-columns:124px minmax(0,1fr)}.sidebar .logo{font-size:18px}.content{padding:8px}.life-bar{gap:4px!important}.life-bar>small{display:none}}
@media(max-width:700px){.shell{display:flex;flex-direction:column}.sidebar{flex:none;display:flex;flex-direction:row;overflow:auto;max-height:50px;padding:5px}.sidebar button{white-space:nowrap}.sidebar .footer,.sidebar .logo{display:none}.shell>main{flex:1}.stats{grid-template-columns:repeat(4,1fr)}.stat{padding:4px 6px}.stat strong{font-size:13px}.stat small{font-size:8px}.topbar{padding:5px 8px;min-height:40px}.topbar h1{font-size:15px}.view-floor>.floor-layout{grid-template-columns:minmax(0,1fr);position:relative}.view-floor .profile{position:absolute;right:0;top:0;bottom:0;width:min(300px,85%);z-index:1200;box-shadow:0 4px 20px #243c3060}.view-floor .profile:not(:has(.profile-header)){display:none}.view-floor>.heading h2{font-size:14px}.view-floor>.heading button{padding:5px;font-size:10px}}
.close-profile{align-self:flex-end;padding:3px 7px!important;font-size:10px!important;flex:none}
.view-floor>.floor-layout{align-items:stretch;grid-template-rows:minmax(0,1fr)}
.view-floor .floor-layout>div{height:100%}.view-floor .office{flex-shrink:0}
/* Expanded campus: occupied wings, shared facilities and visible circulation. */
.view-floor>.floor-layout:not(.has-employee){grid-template-columns:minmax(0,1fr)}
.view-floor>.floor-layout:not(.has-employee)>.profile{display:none}
.office.campus-office{width:1600px;height:900px;background-color:#b0bba8;border-width:8px;background-size:40px 40px}
.campus-office.theme-creative{background-color:#c7ad87;background-image:repeating-linear-gradient(0deg,transparent 0 38px,#82684624 38px 40px)}
.campus-office.theme-software{background-color:#98afb2;background-image:linear-gradient(90deg,#d8ece82c 1px,transparent 1px),linear-gradient(#d8ece82c 1px,transparent 1px)}
.campus-office.theme-consulting{background-color:#a6ac9b;background-image:repeating-linear-gradient(90deg,transparent 0 39px,#59695020 39px 40px)}
.campus-office.theme-retail{background-color:#c0b8a3;background-image:linear-gradient(90deg,#f2e9cc40 2px,transparent 2px),linear-gradient(#f2e9cc40 2px,transparent 2px)}
.campus-office.theme-events{background-color:#b0a9b4;background-image:linear-gradient(90deg,#eee4e524 1px,transparent 1px),linear-gradient(#eee4e524 1px,transparent 1px)}
.campus-office .floor-sign{left:300px;top:252px;font-size:13px;background:#526d60;color:#f6efd9;padding:5px 10px;border-radius:3px;letter-spacing:1px}
.campus-office .empty{left:380px;right:380px;top:520px}
.campus-aisle{position:absolute;left:252px;top:216px;width:1062px;height:630px;border:2px dashed #f4edcf40;border-radius:10px;pointer-events:none}
.campus-room{position:absolute;border:7px solid #596358;background:repeating-linear-gradient(90deg,#ded3b6 0 39px,#cabea340 40px);box-shadow:inset 0 0 0 4px #f5ecd2,5px 7px 0 #31453626;isolation:isolate}
.campus-label{position:absolute;left:9px;right:9px;top:10px;text-align:center;background:#f4e9ca;color:#445445;font-weight:700;font-size:12px;line-height:21px;border-bottom:2px solid #b7aa8c}
.campus-door{position:absolute;background:#b7beaa;z-index:4}
.door-bottom>.campus-door{width:76px;height:10px;left:calc(50% - 38px);bottom:-8px;border-left:3px solid #74654b;border-right:3px solid #74654b}
.door-left>.campus-door{height:76px;width:10px;top:calc(50% - 38px);left:-8px;border-top:3px solid #74654b;border-bottom:3px solid #74654b}
.door-right>.campus-door{height:76px;width:10px;top:calc(50% - 38px);right:-8px;border-top:3px solid #74654b;border-bottom:3px solid #74654b}
.room-ceo,.room-manager{background:linear-gradient(#dbd3b6 0 54px,#7b9683 54px);box-shadow:inset 0 0 0 6px #f1e7cc,inset 0 0 0 22px #b3b89b}
.room-it{background:repeating-linear-gradient(0deg,#b1c2c1 0 39px,#91a8a6 39px 40px)}
.room-break{background:repeating-linear-gradient(0deg,#c9b18e 0 24px,#b49a76 24px 25px)}
.room-vacant{position:absolute;top:100px;width:100%;text-align:center;font-size:12px;color:#536450}
.campus-prop{position:absolute;box-sizing:border-box;box-shadow:3px 6px 0 #30483b30}
.prop-conference,.prop-lunch{background:#bd9965;border:5px double #705c41;border-radius:10px}
.prop-conference:before,.prop-conference:after{content:'';position:absolute;left:12px;right:12px;height:13px;background:repeating-linear-gradient(90deg,#4b6e6a 0 23px,transparent 23px 38px);border-radius:4px}
.prop-conference:before{top:-20px}.prop-conference:after{bottom:-20px}
.prop-conference .notes{position:absolute;left:25px;top:16px;width:16px;height:20px;background:#eee8cb;box-shadow:45px 7px 0 #ece2c4;transform:rotate(-8deg)}
.prop-filing{background:repeating-linear-gradient(0deg,#9caa9d 0 18px,#596956 18px 21px);border:4px double #5b685b}
.prop-filing i{display:inline-block;width:21px;height:4px;background:#d4d4bb;margin:12px 15px}
.prop-server{background:linear-gradient(90deg,#233f4a,#46616b);border:5px solid #304c54;border-radius:4px;padding:5px;box-shadow:4px 7px #587375}
.prop-server i{display:block;height:11px;margin:3px 0;background:repeating-linear-gradient(90deg,#243f48 0 3px,#769093 3px 4px);border-bottom:2px solid #1f353c;position:relative}
.prop-server i:after{content:'';position:absolute;right:2px;top:3px;width:4px;height:4px;background:#a9d899;box-shadow:-7px 0 #deb878}
.prop-supplies{border:4px solid #8b795d;background:linear-gradient(transparent 48%,#8b795d 48% 55%,transparent 55%)}
.prop-supplies .bottle{display:inline-block;width:14px;height:24px;background:#88b7b4;border-radius:4px;margin:6px 8px;border-top:6px solid #d5ddc6}
.prop-supplies .bottle:nth-child(2){background:#d8b66a}
.prop-supplies .bucket{position:absolute;top:37px;left:10px;width:28px;height:23px;background:#789fab;border:3px solid #466b75;border-radius:2px 2px 8px 8px}
.prop-mops{box-shadow:none;background:#b3baa8;border:2px solid #909f8c}
.prop-mops i{position:absolute;width:4px;height:58px;background:#99764b;left:16px;top:5px;transform:rotate(12deg)}
.prop-mops i:nth-child(2){left:47px;transform:rotate(-8deg)}
.prop-mops i:after{content:'';position:absolute;bottom:-5px;left:-8px;width:21px;height:12px;background:repeating-linear-gradient(90deg,#d5d9c5 0 3px,#929e88 3px 4px);border-top:4px solid #4d7c79}
.prop-mops b{position:absolute;top:90px;left:-80px;background:#e1bc65;color:#5d542f;border:3px solid #a98b46;padding:3px;font-size:10px;transform:rotate(-8deg)}
.prop-sofa{background:#4d7f7b;border:7px solid #3b6965;border-top-width:13px;border-radius:9px;display:flex;gap:4px;padding:4px}
.prop-sofa i{flex:1;background:#779d8b;border-radius:3px}
.prop-lunch{display:flex;justify-content:space-around;align-items:center}
.prop-lunch .plate{width:29px;height:22px;border:4px solid #eae9d1;border-radius:50%;background:#94aa73;box-shadow:8px -12px 0 -7px #547d85}
.prop-counter{background:#b59362;border:5px double #775e3e}
.prop-counter .sink{position:absolute;left:15px;top:10px;width:60px;height:30px;background:#77989a;border:4px solid #d9d8bd;border-radius:4px}
.prop-counter .coffee-machine{position:absolute;right:16px;top:-8px;width:36px;height:46px;background:#344d4f;border:5px solid #677d77;border-bottom:10px solid #243c40}
.campus-office .character{will-change:transform}.campus-office .character.is-walking svg{animation:campus-stride var(--walk-duration,.55s) ease-in-out infinite}
.campus-office .character.is-walking .legs{transform-box:fill-box;transform-origin:center;animation:campus-legs var(--walk-duration,.55s) ease-in-out infinite}
.campus-office .character.is-walking .arm-left,.campus-office .character.is-walking .arm-right{animation-duration:var(--walk-duration,.55s)}
@keyframes campus-stride{0%,100%{translate:0 0;rotate:-.6deg}50%{translate:0 -1.3px;rotate:.6deg}}
@keyframes campus-legs{0%,100%{transform:skewX(-4deg)}50%{transform:skewX(4deg)}}
@media(prefers-reduced-motion:reduce){.campus-office .character *{animation:none!important}}
@media(max-width:900px){.view-floor>.floor-layout.has-employee{grid-template-columns:1fr}.view-floor .has-employee>.profile{position:absolute;z-index:1800;right:12px;top:8px;bottom:8px;width:min(340px,calc(100% - 24px));box-shadow:0 4px 25px #273f3a55}.view-floor>.floor-layout{position:relative}}
