:root {color-scheme:light;--ink:#193a55;--muted:#6e8499;--blue:#15629c;--deep:#103e67;--border:#d9e5ee;--paper:rgba(255,255,255,.94);--shadow:0 16px 45px rgba(20,65,105,.14);font-family:Inter,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:#e9f2f8;color:var(--ink);overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #6bbcea;outline-offset:2px}button:disabled{opacity:.48;cursor:not-allowed}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
.site-shell{display:flex;flex-direction:column;height:100dvh;min-height:510px}.masthead{display:flex;align-items:center;gap:21px;height:79px;flex:none;padding:0 31px;background:#fff;border-bottom:1px solid #dce6ed;box-shadow:0 3px 14px rgba(30,64,91,.04);z-index:20}.brand{display:flex;align-items:center;gap:11px;flex:none}.brand-icon{display:grid;place-items:center;height:44px;width:44px;border:2px solid #206a9c;border-radius:50%;font-size:22px;color:#206a9c;background:#edf8ff;box-shadow:inset 0 0 0 4px #fff}.brand-copy{display:flex;flex-direction:column;gap:2px}.brand-copy strong{font-size:15px;letter-spacing:.1em;white-space:nowrap;font-weight:800}.brand-copy small{font-size:9px;font-weight:700;letter-spacing:.17em;color:#72899c}.masthead-separator{height:32px;width:1px;background:#dce7ee}.project-name{white-space:nowrap;font-size:12px;letter-spacing:.09em;font-weight:800;color:#325875}.version{font-size:9px;padding:3px 6px;background:#eaf3f9;border-radius:3px;color:#497d9b;margin-left:3px}.topnav{display:flex;gap:3px;align-self:stretch;margin-left:auto}.topnav-link{border:0;background:transparent;color:#60798d;font-size:12px;font-weight:700;padding:0 12px;position:relative;white-space:nowrap}.topnav-link:hover{background:#f4f8fb;color:var(--blue)}.topnav-link.active{color:var(--deep)}.topnav-link.active:after{content:'';position:absolute;height:3px;bottom:0;left:12px;right:12px;background:#2e86b3}.user-actions{display:flex;align-items:center;gap:12px;margin-left:3px}.status-pill{white-space:nowrap;color:#63839b;font-size:9px;letter-spacing:.08em;font-weight:800;display:flex;align-items:center;gap:7px}.pulse-dot,.mini-pulse{display:inline-block;height:7px;width:7px;background:#23ac8c;border-radius:50%;box-shadow:0 0 0 4px #d9f3e9}.account-login{border:1px solid #bbd2e2;border-radius:7px;color:var(--deep);font-size:11px;font-weight:800;background:#f5fafe;padding:10px 13px;white-space:nowrap}.account-login:hover{background:#e7f3fb}.account-name{font-size:11px;font-weight:800;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-wrap{display:flex;align-items:center;gap:8px}.logout-btn{border:none;background:transparent;font-size:11px;color:#7990a0}
.viewport{position:relative;flex:1;min-height:0;overflow:hidden;background:linear-gradient(#dfeff7,#c8dbe3)}#world-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;z-index:0}.background-glow{pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,rgba(230,244,249,.53),transparent 40%,transparent 72%,rgba(230,243,250,.22)),linear-gradient(0deg,rgba(217,231,239,.34),transparent 18%);z-index:1}.world-unavailable{position:absolute;z-index:5;top:90px;left:50%;transform:translateX(-50%);background:#fff;border-radius:10px;padding:15px;box-shadow:var(--shadow);font-size:12px}.world-unavailable[hidden],.info-panel[hidden],.enter-nearby[hidden]{display:none!important}
.overview-panel{position:absolute;top:42px;left:32px;z-index:6;width:346px;padding:24px 23px 21px;background:var(--paper);border:1px solid rgba(255,255,255,.86);box-shadow:var(--shadow);border-radius:5px;backdrop-filter:blur(15px)}.eyebrow,.section-eyebrow{font-size:9px;font-weight:900;letter-spacing:.19em;color:#347ea4}.eyebrow{display:flex;gap:8px;align-items:center}.eyebrow .line{height:2px;width:22px;background:#3d96b9}.overview-panel h1{font-size:25px;line-height:1.58;letter-spacing:.035em;margin:13px 0 7px;font-weight:800}.overview-panel h1 em{font-style:normal;color:#277ab2}.overview-panel p{font-size:11px;line-height:1.85;color:#637e90;margin:0}.stat-strip{display:flex;margin:19px 0 17px;padding:16px 0;border-block:1px solid #e6eef3}.stat-strip>div{display:flex;flex:1;flex-direction:column;gap:1px;padding-left:13px;border-left:1px solid #e0eaf0}.stat-strip>div:first-child{padding-left:0;border:0}.stat-strip strong{font-size:25px;font-weight:750;color:#1c5e91;line-height:1.2}.stat-strip span{font-size:10px;color:#7a91a1}.overview-actions{display:flex;align-items:center;gap:10px}.primary-btn{background:#145d91;color:white;border:0;border-radius:4px;padding:13px 13px;min-height:40px;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:space-between;gap:13px}.primary-btn:hover{background:#0c4a76}.quiet-btn{font-size:10px;font-weight:800;border:0;background:none;color:#2e779b;white-space:nowrap;padding:10px 2px}.quiet-btn:hover{text-decoration:underline}
.directory-card{position:absolute;right:26px;top:30px;bottom:80px;width:286px;z-index:6;display:flex;flex-direction:column;background:var(--paper);border:1px solid rgba(255,255,255,.86);border-radius:5px;box-shadow:var(--shadow);backdrop-filter:blur(15px);overflow:hidden}.directory-heading{padding:19px 19px 12px;display:flex;align-items:center;justify-content:space-between}.directory-heading small{font-size:9px;color:#347fa9;letter-spacing:.13em;font-weight:850}.directory-heading h2{margin:4px 0 0;font-size:16px;letter-spacing:.03em}.icon-btn{background:transparent;border:1px solid #d8e8f1;border-radius:6px;color:#527b97;width:30px;height:30px;display:inline-grid;place-items:center;font-size:16px}.icon-btn:hover{background:#eaf3f9}.directory-search{height:39px;display:flex;align-items:center;gap:8px;background:#eff5f9;border:1px solid #e0ebf2;margin:0 17px 11px;padding:0 10px;border-radius:5px;color:#5b89a6}.directory-search input{border:0;background:transparent;outline:0;min-width:0;width:100%;font-size:11px;color:#244960}.directory-search input::placeholder{color:#8da1b0}.facility-list{flex:1;overflow:auto;min-height:0;padding:0 10px 12px 12px;scrollbar-color:#b9cedd transparent;scrollbar-width:thin}.list-waiting{font-size:11px;color:#9aadbb;padding:16px}.facility-group{font-size:9px;font-weight:900;letter-spacing:.12em;color:#8b9eab;margin:12px 7px 6px}.facility-entry{display:flex;text-align:left;align-items:center;width:100%;gap:11px;border:1px solid transparent;background:transparent;padding:10px 8px;border-radius:5px}.facility-entry:hover,.facility-entry.selected{background:#f0f7fb;border-color:#e0edf3}.facility-entry .facility-icon{flex:none;width:36px;height:36px;border-radius:5px;background:#e4f2fa;color:#2a729f;display:grid;place-items:center;font-size:17px}.facility-entry .facility-copy{flex:1;min-width:0}.facility-entry strong{font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.facility-entry small{display:block;font-size:9px;color:#88a0ad;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.facility-arrow{font-size:14px;color:#b1c2ce}.directory-footer{display:flex;align-items:center;gap:10px;padding:14px 17px;border-top:1px solid #e9eff3;font-size:9px;color:#88a0ac;line-height:1.4}.mini-pulse{flex:none;height:6px;width:6px;box-shadow:0 0 0 3px #dbf4e8}
.location-hud{position:absolute;left:34px;bottom:36px;z-index:4;display:flex;align-items:center;gap:13px;background:rgba(255,255,255,.9);border:1px solid #e5edf2;box-shadow:0 8px 25px rgba(28,75,100,.07);padding:11px 16px;min-width:260px;border-radius:4px}.location-mark{font-size:25px;color:#327ea4}.location-hud div{display:flex;flex-direction:column;gap:2px}.location-hud small{color:#8ca4b3;font-size:8px;letter-spacing:.15em;font-weight:800}.location-hud strong{font-size:11px}.location-hud>span:last-child{margin-left:auto;align-self:flex-end;font-size:9px;color:#91a5af;font-family:monospace}.travel-tip{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:4;white-space:nowrap;background:rgba(25,57,80,.78);backdrop-filter:blur(8px);color:#fff;padding:11px 18px;border-radius:35px;font-size:10px;letter-spacing:.03em;box-shadow:0 8px 20px #143c4a24}.travel-tip span{padding:0 7px;opacity:.4}.view-tools{position:absolute;right:338px;bottom:40px;z-index:4;display:flex;flex-direction:column;gap:7px}.view-tools button{background:rgba(255,255,255,.94);border:1px solid #dbe8f0;color:#446b83;font-size:10px;font-weight:800;padding:10px 12px;border-radius:4px;box-shadow:0 6px 15px #244c6115}.view-tools button:hover{background:#e7f5fb}.enter-nearby{position:absolute;left:50%;bottom:69px;transform:translateX(-50%);background:#0c628e;color:#fff;border:0;border-radius:5px;padding:13px 18px;font-size:11px;font-weight:800;z-index:8;box-shadow:0 10px 30px #163d6770}
.info-panel{position:absolute;z-index:12;right:26px;top:25px;bottom:22px;width:424px;background:#fff;border:1px solid #dce8ed;border-radius:6px;box-shadow:-10px 16px 50px rgba(13,65,100,.20);display:flex;flex-direction:column;overflow:hidden}.panel-topbar{height:56px;border-bottom:1px solid #e5edf3;padding:0 18px;display:flex;align-items:center;justify-content:space-between;flex:none}.panel-topbar>div{display:flex;gap:8px}.panel-kicker{font-size:9px;font-weight:900;letter-spacing:.15em;color:#3d83a7}.panel-inner{padding:22px 24px 26px;overflow:auto;flex:1;scrollbar-color:#c1d8e6 transparent}.panel-heading{padding-bottom:16px;border-bottom:1px solid #e6edf2}.panel-heading h2{font-size:24px;line-height:1.4;margin:6px 0 8px;letter-spacing:.025em}.panel-heading p{font-size:11px;line-height:1.8;color:#748d9f;margin:0}.content-section{padding-top:18px}.section-title{font-size:13px;font-weight:850;color:#294e67;margin:0 0 10px;display:flex;justify-content:space-between;align-items:center}.section-title span{font-size:10px;color:#8da4b4;font-weight:500}.data-card{border:1px solid #e0eaf0;background:#fbfdff;padding:13px 14px;border-radius:5px;margin-bottom:10px}.data-card strong{font-size:12px;display:block;margin-bottom:5px;line-height:1.5}.data-card p,.data-card small{font-size:11px;color:#6e8897;line-height:1.75;margin:0;display:block;white-space:pre-wrap;overflow-wrap:anywhere}.data-card .subline{font-size:9px;color:#92a6b3;margin-top:8px}.data-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.small-btn{padding:7px 10px;font-size:10px;font-weight:800;background:#e9f4fa;border:1px solid #cfe3ef;border-radius:4px;color:#1d6895}.small-btn:hover{background:#d7ecf7}.small-btn.negative{background:#fff3f3;border-color:#f1d4d4;color:#b35e5e}.small-btn.voted{background:#236b94;color:#fff}.tag{display:inline-block;border-radius:3px;font-size:9px;padding:3px 7px;background:#e8f4f9;color:#2577a4;font-weight:800}.tag.pending{background:#fef5de;color:#a27c26}.tag.approved{background:#e7f6f0;color:#228069}
.empty-state{text-align:center;padding:24px 10px;color:#90a6b3;font-size:11px;border:1px dashed #d9e7ef;border-radius:4px}.section-description{font-size:11px;line-height:1.75;color:#768b9d;margin:0 0 13px}.form-card{border-radius:5px;background:#f2f7fa;border:1px solid #e2ebf1;padding:15px;margin-top:14px}.form-card h3{font-size:13px;margin:0 0 12px}.form-grid{display:flex;flex-direction:column;gap:10px}.form-grid label{font-size:10px;font-weight:800;color:#547086;display:block}.form-grid label input,.form-grid label textarea,.form-grid label select{display:block;width:100%;border:1px solid #d5e5ed;background:#fff;border-radius:4px;padding:10px 10px;font-size:11px;color:#264b65;margin-top:5px;resize:vertical}.form-grid label textarea{min-height:76px}.form-submit{width:100%;justify-content:center;margin-top:4px}.form-note{font-size:10px;color:#8a9da9;margin:6px 0 0;line-height:1.7}.info-note{background:#e9f4fa;border-left:3px solid #4b98bc;padding:12px;font-size:11px;color:#52798e;line-height:1.7;margin:12px 0}.overview-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:15px}.overview-mini div{border:1px solid #e2ebf2;border-radius:5px;padding:13px;background:#fbfdff}.overview-mini strong{display:block;font-size:23px;color:#23658e}.overview-mini small{color:#7c93a5;font-size:10px}.form-special[hidden]{display:none}
.toast{position:absolute;left:50%;bottom:92px;transform:translateX(-50%) translateY(20px);z-index:30;padding:12px 16px;max-width:min(460px,92vw);border-radius:6px;background:#174f74;color:white;box-shadow:0 10px 24px #1d436044;font-size:11px;text-align:center;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.toast.error{background:#9b4242}.loading-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#f7fbfe,#d8e8f2);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:13px;z-index:15;transition:opacity .6s,visibility .6s}.loading-overlay.done{opacity:0;visibility:hidden;pointer-events:none}.loading-logo{width:76px;height:76px;background:#fff;border:2px solid #80b3d2;display:grid;place-items:center;border-radius:50%;font-size:35px;color:#2476a1;box-shadow:0 15px 35px #9abccc77}.loading-overlay strong{font-size:11px;letter-spacing:.2em;color:#376f91}.loading-overlay span{font-size:11px;color:#839dac}.site-footer{height:29px;flex:none;padding:0 27px;background:#fff;border-top:1px solid #e0e9ef;display:flex;align-items:center;justify-content:space-between;gap:9px;color:#899ead;font-size:9px;letter-spacing:.045em;z-index:20}
@media(max-width:1350px){.project-name{display:none}.topnav-link{padding:0 9px}.masthead{gap:12px}.overview-panel{width:310px}.overview-panel h1{font-size:22px}.view-tools{right:322px}}
@media(max-width:1050px){.brand-copy small,.status-pill,.masthead-separator{display:none}.masthead{padding:0 14px;height:64px}.topnav-link{font-size:11px;padding:0 8px}.user-actions{gap:6px}.account-login{padding:8px}.overview-panel{left:14px;top:16px;width:284px}.directory-card{right:12px;top:16px;bottom:100px;width:236px}.view-tools{right:258px}.location-hud{left:14px;bottom:45px}.travel-tip{bottom:8px}.info-panel{right:9px;top:10px;bottom:12px}}
@media(max-width:760px){.masthead{height:60px;gap:8px}.brand-icon{width:32px;height:32px;font-size:17px}.brand-copy strong{font-size:11px}.topnav{overflow:auto;gap:0;scrollbar-width:none}.topnav-link{font-size:10px;padding:0 7px}.user-actions{margin-left:auto}.account-name,.logout-btn{display:none}.account-login{font-size:10px;padding:8px}.overview-panel{width:calc(100% - 24px);left:12px;right:12px;top:10px;padding:12px 15px 10px;pointer-events:auto}.overview-panel h1{font-size:16px;line-height:1.4;margin:5px 0}.overview-panel h1 br{display:none}.overview-panel p{font-size:10px;line-height:1.5}.eyebrow{font-size:8px}.stat-strip{margin:9px 0;padding:8px 0}.stat-strip strong{font-size:18px}.overview-actions{gap:6px}.primary-btn{min-height:31px;padding:8px;font-size:10px}.quiet-btn{font-size:9px}.directory-card{right:9px;left:9px;top:auto;bottom:57px;width:auto;height:158px}.directory-heading{padding:8px 11px 3px}.directory-heading h2{font-size:12px}.directory-heading small,.directory-search,.directory-footer{display:none}.facility-list{display:flex;overflow-x:auto;overflow-y:hidden;align-items:center;padding:2px 9px 8px}.facility-group{display:none}.facility-entry{width:155px;flex:none;padding:7px}.facility-entry .facility-icon{width:29px;height:29px}.facility-entry strong{font-size:10px}.location-hud{display:none}.view-tools{right:10px;bottom:228px}.view-tools button{font-size:9px;padding:7px}.travel-tip{bottom:222px;font-size:9px;padding:7px 12px}.enter-nearby{bottom:253px}.info-panel{inset:7px;width:auto;z-index:20}.site-footer span:last-child{display:none}.site-footer{padding:0 10px;font-size:8px}}
@media(max-height:650px) and (min-width:761px){.overview-panel{top:13px;padding:13px}.overview-panel h1{font-size:20px;margin:7px 0}.stat-strip{margin:10px 0;padding:9px 0}.directory-card{top:13px;bottom:55px}.location-hud{bottom:13px}.travel-tip{bottom:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V1.1 — touch-friendly controls; desktop layout remains unchanged. */
.directory-header-actions{display:flex;align-items:center;gap:5px}
.mobile-directory-close,.mobile-directory-toggle,.touch-controls{display:none}
.touch-controls,.touch-controls *{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.touch-key{border:1px solid rgba(255,255,255,.7);border-radius:12px;background:rgba(22,74,109,.83);color:#fff;font-size:19px;font-weight:800;box-shadow:0 5px 14px rgba(4,32,55,.28);display:flex;justify-content:center;align-items:center;flex-direction:column;gap:1px;min-width:0;min-height:0;cursor:pointer}
.touch-key.pressed,.touch-key:active{background:#2591c0;border-color:#bce7fb;transform:scale(.97)}
.touch-key:disabled{opacity:.52;cursor:not-allowed}
.touch-key small{display:block;font-size:9px;letter-spacing:.03em;font-weight:700}
.touch-enter{background:rgba(0,112,155,.94);font-size:14px}
.touch-exit{font-size:13px}
.touch-pad-caption{position:absolute;bottom:-18px;left:0;width:100%;text-align:center;color:#123e5d;font-size:10px;font-weight:900;text-shadow:0 1px #fff;pointer-events:none}

@media (max-width:760px), (pointer:coarse) and (max-height:550px){
  .site-shell{min-height:0;height:100dvh}
  .viewport{min-height:0;isolation:isolate}
  .viewport.is-exploring .overview-panel{transform:translateX(-130%)!important;pointer-events:none}
  .viewport.is-exploring .directory-card{display:none}
  .viewport.is-exploring.mobile-directory-open .directory-card{display:flex;position:absolute;top:auto;right:9px;left:9px;bottom:60px;width:auto;height:min(44dvh,340px);z-index:17}
  .viewport.mobile-directory-open .touch-controls{display:none}
  .viewport.is-exploring .directory-heading{padding:11px 13px}
  .viewport.is-exploring .directory-heading h2{font-size:14px}
  .viewport.is-exploring .directory-search{display:flex;flex:none;margin:0 12px 6px}
  .viewport.is-exploring .directory-footer{display:none}
  .viewport.is-exploring .facility-list{display:block;overflow:auto;padding:5px 10px}
  .viewport.is-exploring .facility-group{display:block}
  .viewport.is-exploring .facility-entry{width:100%;padding:8px 10px}
  .viewport.is-exploring .mobile-directory-close{display:inline-grid}
  .viewport.is-exploring .view-tools{right:9px;top:9px;bottom:auto;flex-direction:row;gap:5px;z-index:11}
  .viewport.is-exploring .view-tools button{padding:9px 8px;font-size:10px;border-radius:7px}
  .viewport.is-exploring .mobile-directory-toggle{display:inline-flex;align-items:center}
  .viewport.is-exploring .travel-tip,.viewport.is-exploring .enter-nearby{display:none!important}
  .viewport.is-exploring .touch-controls{--touch-size:clamp(45px,12.6vw,57px);display:flex;justify-content:space-between;align-items:flex-end;gap:8px;position:absolute;left:max(11px,env(safe-area-inset-left,0px));right:max(11px,env(safe-area-inset-right,0px));bottom:max(22px,env(safe-area-inset-bottom,0px));z-index:10;pointer-events:none}
  .touch-move-pad{position:relative;display:grid;grid-template-columns:repeat(3,var(--touch-size));grid-template-rows:repeat(2,var(--touch-size));gap:4px;pointer-events:auto}
  .touch-up{grid-column:2;grid-row:1}
  .touch-left{grid-column:1;grid-row:2}
  .touch-down{grid-column:2;grid-row:2}
  .touch-right{grid-column:3;grid-row:2}
  .touch-action-pad{display:grid;grid-template-columns:repeat(2,var(--touch-size));grid-template-rows:repeat(2,var(--touch-size));gap:4px;pointer-events:auto}
  .viewport.is-exploring.panel-active .touch-controls,.viewport.is-exploring.panel-active .view-tools{display:none}
  .viewport.is-exploring .toast{bottom:158px}
  .viewport.is-exploring .location-hud{display:none}
  .info-panel{z-index:22}
}
@media(max-width:360px){
  .viewport.is-exploring .touch-controls{--touch-size:43px;left:7px;right:7px}
  .viewport.is-exploring .view-tools button{padding:7px 6px;font-size:9px}
}
@media (pointer:coarse) and (max-height:550px){
  .viewport.is-exploring .touch-controls{--touch-size:clamp(38px,9dvh,49px);bottom:max(8px,env(safe-area-inset-bottom,0px))}
  .viewport.is-exploring .directory-card{height:min(65dvh,260px);bottom:35px}
  .viewport.is-exploring .toast{bottom:115px}
}

/* V1.2 | One receptionist per hall + readable role badges. */
.account-rank{font-size:10px;border:1px solid #bbdbe9;background:#e6f4f9;border-radius:20px;padding:5px 8px;color:#21658d;font-weight:800;white-space:nowrap}
.role-lock{background:#fff8e9;border-left:3px solid #d4a752;padding:12px 14px;font-size:11px;color:#80682f;line-height:1.7;margin:14px 0;border-radius:3px}
.role-access{margin:11px 0;background:#f1f7fb;border:1px solid #d7e8f1;border-radius:6px;padding:10px;font-size:11px;line-height:1.65;color:#4e758e}
.maru-nearby{position:absolute;z-index:9;left:50%;bottom:70px;transform:translateX(-50%);background:#116f8e;color:#fff;border:1px solid #97d4e8;border-radius:30px;padding:11px 18px;box-shadow:0 12px 28px #0c51675a;white-space:nowrap;font-size:12px;font-weight:800}
.maru-nearby[hidden],.maru-dialog[hidden]{display:none!important}
.maru-dialog{position:absolute;z-index:21;left:50%;bottom:22px;transform:translateX(-50%);width:min(435px,calc(100% - 20px));height:min(520px,calc(100% - 38px));display:flex;flex-direction:column;background:#fff;border:1px solid #b9dae9;box-shadow:0 18px 55px #143f6261;border-radius:13px;overflow:hidden}
.maru-dialog-header{display:flex;align-items:center;gap:11px;padding:14px 16px;background:linear-gradient(100deg,#e7f4fb,#f7fcff);border-bottom:1px solid #d6e7f1}
.maru-avatar{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#176d9a;color:#fff;font-size:25px;font-weight:900;box-shadow:0 3px 9px #154b7266;flex:none}
.maru-dialog-header>div:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.maru-dialog-header strong{font-size:13px}.maru-dialog-header small{font-size:9px;color:#6a8ba0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.maru-messages{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:18px 16px;background:#f8fbfe;scrollbar-color:#cee1ec transparent}
.maru-bubble{max-width:91%;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:12px;border:1px solid #dceaf2;border-radius:13px 13px 13px 3px;padding:10px 12px;background:#fff;align-self:flex-start}
.maru-bubble.mine{align-self:flex-end;border-color:#2b7ca3;color:#fff;background:#24779e;border-radius:13px 13px 3px 13px}
.maru-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;background:white;padding:10px 12px 4px}
.maru-quick-actions button{font-size:10px;border:1px solid #cfe3ee;border-radius:6px;padding:9px 2px;background:#edf7fd;color:#245d80;font-weight:800}
.maru-quick-actions .maru-service-btn{background:#176e9b;color:#fff;border-color:#176e9b}
.maru-form{display:flex;gap:6px;padding:7px 12px 2px}.maru-form input{min-width:0;flex:1;border:1px solid #cadfe9;border-radius:6px;padding:11px;font-size:12px;background:white;color:#173a52}.maru-form button{background:#146a99;color:#fff;border:0;border-radius:6px;font-size:11px;font-weight:900;padding:0 13px}
.maru-disclaimer{font-size:9px;color:#7790a1;margin:7px 13px 11px;line-height:1.35}
@media(max-width:760px){.account-rank{font-size:9px;padding:4px 6px}.maru-nearby{display:none!important}.maru-dialog{z-index:24;bottom:6px;height:min(520px,calc(100% - 12px))}.maru-bubble{font-size:12px}.maru-quick-actions button{font-size:9px;padding:9px 1px}.viewport.is-exploring.maru-active .touch-controls,.viewport.maru-active .view-tools{display:none!important}}
@media(max-width:390px){.account-rank{display:none}}

/* V1.3 | A single three-floor headquarters. Floor lift remains accessible on phones. */
.floor-controls{position:absolute;left:32px;top:19px;z-index:10;display:flex;flex-direction:column;gap:5px;min-width:184px;background:rgba(255,255,255,.94);border:1px solid #c9e0ec;box-shadow:var(--shadow);padding:10px;border-radius:10px;backdrop-filter:blur(12px)}
.floor-controls[hidden]{display:none!important}
.floor-controls-heading{font-size:10px;color:#2e698c;font-weight:900;padding:2px 4px 5px;letter-spacing:.05em}
.floor-controls button{display:flex;align-items:center;gap:8px;border:1px solid #dae9f1;background:#f5faff;color:#25516d;font-weight:900;border-radius:6px;padding:8px 10px;font-size:12px;text-align:left}
.floor-controls button span{font-size:10px;color:#718ea0;font-weight:700}
.floor-controls button.active{background:#1e709b;border-color:#1e709b;color:#fff}
.floor-controls button.active span{color:#e1f3fd}
.founder-card{padding:15px;border:1px solid #d6e5ef;border-radius:10px;background:#f7fbfe;margin:12px 0}
.founder-card h3{font-size:17px;margin:7px 0 9px}
.founder-card p{font-size:12px;line-height:1.7;color:#577488}
.founder-lock-icon{font-size:32px}
.founder-card form{display:flex;flex-direction:column;gap:13px;margin-top:14px}
.founder-card label{display:block;color:#315d77;font-size:12px;font-weight:800}
.founder-card input,.founder-card textarea{width:100%;display:block;margin-top:8px;border:1px solid #c5dce9;padding:12px;border-radius:7px;color:#163c57;background:#fff}
.founder-card textarea{resize:vertical;line-height:1.6}
.founder-card .primary-btn{align-self:start}
.founder-card .overview-mini{margin-top:14px}
.facility-arrow{font-size:11px;white-space:nowrap}
@media(min-width:761px){.viewport.is-exploring .floor-controls{top:20px}.viewport.is-exploring .overview-panel.hidden-explore~.directory-card{z-index:6}}
@media(max-width:760px), (pointer:coarse) and (max-height:550px){
  .viewport.is-exploring .floor-controls{left:9px;top:9px;min-width:0;padding:5px;max-width:155px;gap:3px;z-index:10}
  .viewport.is-exploring .floor-controls-heading{font-size:8px;padding:2px}
  .viewport.is-exploring .floor-controls button{padding:5px 8px;gap:4px;font-size:10px}
  .viewport.is-exploring .floor-controls button span{font-size:8px}
  .viewport.is-exploring.panel-active .floor-controls,.viewport.is-exploring.maru-active .floor-controls,.viewport.mobile-directory-open .floor-controls{display:none}
  .viewport.is-exploring .view-tools{top:9px;right:9px}
}
@media(max-height:500px){.floor-controls button{padding:4px 7px}}
