/* Geometry is independent of theme, label, hover, loading, sound and FX state. */
.theme-trigger{width:180px!important;height:43px!important;min-width:180px;flex:0 0 180px;padding:0 10px!important}
.language-trigger{width:100px!important;height:43px!important;min-width:100px;flex:0 0 100px;padding:0 10px!important}
.cinematic-toggle{width:100px!important;height:43px!important;min-width:100px;padding:0 10px!important}
.theme-trigger #theme-label{flex:1;min-width:0;max-width:none;text-align:left;overflow:hidden;text-overflow:ellipsis}
.theme-trigger>*:not(#theme-label),.language-trigger>*{flex-shrink:0}
.desktop-nav{flex-shrink:0}.desktop-nav button{width:116px;height:36px;min-width:0;justify-content:center;overflow:hidden;text-overflow:ellipsis;padding:0 7px}
.menu-toggle{width:108px!important;min-width:108px;height:43px!important;justify-content:center;overflow:hidden;white-space:nowrap}
#motion-toggle{width:64px!important;height:32px!important;flex-shrink:0;white-space:nowrap}
#sound-toggle{width:148px!important;height:32px!important;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#sound-settings{width:32px!important;height:32px!important;flex-shrink:0}
#sound-power{width:82px!important;height:30px!important;flex-shrink:0;overflow:hidden;white-space:nowrap}
.theme-panel>button{height:68px!important;min-height:68px!important;overflow:hidden;transform:none!important}
.theme-panel>button small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.language-panel>button{height:44px!important;min-height:44px!important;overflow:hidden}
.cinematic-toggle span{overflow:hidden;text-overflow:ellipsis}
.room-exit{height:40px;width:220px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
@media(max-width:1440px){.desktop-nav{display:none}.menu-toggle{display:flex;margin-left:auto;align-items:center;gap:10px;border:1px solid #dce3df38;border-radius:6px;background:#0d1b26e8;font-size:11px}.mobile-nav{display:flex;position:fixed;inset:0;z-index:25;background:#111b23f5;backdrop-filter:blur(24px);padding:100px 10vw 40px;flex-direction:column;justify-content:center;gap:18px;opacity:0;visibility:hidden}.mobile-nav.open{opacity:1;visibility:visible}.mobile-nav button{display:flex;gap:22px;text-align:left;font-size:12px;color:#b9c4be;height:58px;align-items:center}.mobile-nav button span{font-family:var(--serif);font-size:32px;color:#eeeee7}}
@media(max-width:760px){.theme-trigger{width:136px!important;min-width:136px;flex-basis:136px;height:38px!important}.language-trigger{width:87px!important;min-width:87px;flex-basis:87px;height:38px!important}.cinematic-toggle{width:90px!important;min-width:90px;height:38px!important}.menu-toggle{width:108px!important;min-width:108px;height:36px!important}.brand{flex-basis:calc(100% - 150px)}.theme-control{order:1}.language-control{order:3}.cinematic-toggle{order:4}.menu-toggle{order:2;margin-right:auto}.header:after{display:none}.header{row-gap:7px}.theme-trigger{font-size:10px}.language-trigger{font-size:10px}.room-exit{width:180px;height:36px;font-size:10px}}

/* The living archive. A stable dark interior keeps the dialogue readable in all weather. */
body.inside-room .floor.floor-assistant,body.scene-unavailable .floor.floor-assistant{display:grid!important}
.floor.floor-assistant{grid-template-columns:minmax(230px,.8fr) minmax(320px,1.3fr);gap:36px;max-width:1240px;margin:0 auto;padding:110px 36px 90px;align-items:stretch;overflow:hidden;color:#e8e6d9}
.archive-character{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-height:0;text-align:center;isolation:isolate}
.archive-character:before{content:'';position:absolute;inset:0 -25px;background:radial-gradient(ellipse,#07252bc9,transparent 72%);z-index:-1}
.archive-eyebrow{font-size:9px;letter-spacing:3px;color:#d7c299;margin:0 0 8px}
.archive-portrait{width:min(100%,330px);min-height:0;flex:1;max-height:365px;display:flex;align-items:center;justify-content:center}
.archive-portrait svg{width:100%;height:100%;filter:drop-shadow(0 15px 28px #020b1099)}
.archive-orbit{transform-origin:180px 173px;animation:archive-orbit 90s linear infinite}
.archive-heart{animation:archive-breathe 4s ease-in-out infinite}
.archive-small{font-size:9px;letter-spacing:2px;color:#b2c6bd;text-transform:uppercase}
.archive-identity h2{font-family:var(--serif);font-size:clamp(28px,3.4vw,51px);font-weight:400;margin:9px 0 10px;line-height:1.1;color:#f1e7cf}
.archive-identity p{font-size:12px;line-height:1.6;color:#c2ccc4;max-width:260px;margin:0 auto}
.archive-seal{display:flex;align-items:center;gap:13px;color:#c4b18e;font-size:9px;letter-spacing:3px;margin-top:23px}.archive-seal i{height:1px;width:54px;background:#c4b18e5c}
.archive-dialogue{min-height:0;display:flex;flex-direction:column;background:linear-gradient(145deg,#162930f2,#0b181ff5);border:1px solid #9bad9e55;border-top:2px solid #c6b38c;box-shadow:0 18px 100px #0007;backdrop-filter:blur(20px);padding:0 28px 17px;position:relative;border-radius:2px}
.archive-toolbar{height:55px;min-height:55px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #b6c1ad26;gap:12px}
.archive-status{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:#b5c9be;min-width:0}.archive-status span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-status i{width:5px;height:5px;flex-shrink:0;background:#a9dcc4;border-radius:50%;box-shadow:0 0 10px #a9dcc460}
.archive-icon{width:38px;height:38px;min-width:38px;flex:0 0 38px;display:grid;place-items:center;font-size:22px;color:#d0c5ad!important;border:1px solid #b5bda52c!important;border-radius:2px;background:transparent!important;padding:0!important}
.archive-icon:hover{background:#a9bdb214!important}.archive-dialogue button:focus-visible,.archive-dialogue textarea:focus-visible,#archive-enter:focus-visible{outline:2px solid #dcc18c;outline-offset:3px}
#archive-messages{flex:1;min-height:100px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8aa69a50 transparent;padding:26px 4px 18px 0;outline-offset:-2px}
.archive-message{margin:0 0 24px;animation:archive-arrive .3s ease both}.archive-speaker{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1.8px;color:#c6b38c;margin-bottom:10px}.archive-message-body{font-size:14px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;color:#e1e6de}.archive-user{padding-left:16px;border-left:1px solid #819c9855}.archive-user .archive-speaker{color:#8facab}.archive-user .archive-message-body{color:#aebfbc;font-size:13px}
.archive-choices{display:flex;flex-direction:column;gap:6px;padding-bottom:12px}.archive-choices button{display:flex;align-items:center;gap:12px;width:100%;height:35px;min-height:35px;padding:0 12px;text-align:left;border:1px solid #c0b49230;color:#d6d7c9;background:#899b8d06;font-size:11px;overflow:hidden}.archive-choices button>span:first-child{color:#9f946f;font-size:9px;flex-shrink:0}.archive-choices button>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-choices button b{margin-left:auto;font-weight:400;color:#cbb88f}.archive-choices button:hover{border-color:#d3c09590;background:#aab8950d}.archive-dialogue:has(.archive-user) .archive-choices{display:none}
#archive-notice{font-size:11px;line-height:1.5;color:#d6c599;min-height:18px;margin:0 0 7px;overflow-wrap:anywhere}
#archive-form{display:flex;align-items:center;gap:14px;border:1px solid #a5b8ad50;border-radius:2px;background:#05141b55;padding:8px 10px;flex-shrink:0}
#archive-input{background:none;border:0;resize:none;color:#e9eee4;min-width:0;width:100%;font:13px/1.65 var(--sans);height:46px;padding:3px 0;outline:none;scrollbar-width:thin}#archive-input::placeholder{color:#859c98}#archive-send{background:#c1b28f!important;color:#152d31!important;border:0!important;font-size:24px}
.archive-tools{display:flex;align-items:center;gap:8px;padding-top:10px;flex-shrink:0}.archive-tools button{height:30px;font-size:10px;padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b4c2b9;border:1px solid #9aafa42e;border-radius:2px}#archive-search{width:148px;flex:0 0 148px;text-align:left}#archive-copy{width:138px;flex:0 0 138px;margin-left:auto}#archive-count{color:#8ca29a;font-size:9px;white-space:nowrap;font-variant-numeric:tabular-nums}.archive-tools button:disabled{opacity:.4}
.archive-privacy{font-size:9px;line-height:1.6;color:#91a39c;margin:12px 0 0;flex-shrink:0}.archive-sources{margin-top:16px;border-top:1px solid #aac5b12b;padding-top:8px}.archive-sources p{font-size:9px;letter-spacing:1px;color:#b6c8bc}.archive-sources a{display:block;color:#bfcdb8;font-size:11px;margin:7px 0;line-height:1.5;text-decoration-color:#bfcdb845;overflow-wrap:anywhere}
#archive-enter{position:fixed;z-index:21;left:50%;bottom:18%;transform:translateX(-50%);width:280px;height:48px;max-width:calc(100vw - 40px);padding:0 20px;background:#152830ed;color:#eee2c7;border:1px solid #d1ba8b9c;border-radius:2px;font-size:12px;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 10px 35px #0004}#archive-enter[hidden]{display:none}#archive-enter:hover{background:#263c42}
.cinematic-mode #archive-enter{visibility:hidden;pointer-events:none}
.archive-busy .archive-status i{animation:archive-breathe 1.2s ease-in-out infinite}.archive-busy .archive-heart{animation-duration:1.3s}
@keyframes archive-orbit{to{transform:rotate(360deg)}}@keyframes archive-breathe{50%{opacity:.4}}@keyframes archive-arrive{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:900px){.floor.floor-assistant{gap:18px;padding:112px 22px 85px;grid-template-columns:minmax(160px,.65fr) minmax(300px,1.3fr)}.archive-dialogue{padding:0 18px 13px}.archive-eyebrow{font-size:8px;letter-spacing:1.5px}.archive-identity h2{font-size:30px}.archive-tools{gap:5px}#archive-search{width:125px;flex-basis:125px}#archive-copy{width:105px;flex-basis:105px}}
@media(max-width:650px){.floor.floor-assistant{padding:117px 14px 68px;grid-template-columns:1fr;grid-template-rows:83px minmax(0,1fr);gap:10px}.archive-character{flex-direction:row;text-align:left;justify-content:flex-start;gap:14px}.archive-portrait{width:80px;height:93px;flex:0 0 80px;order:-1}.archive-eyebrow{position:absolute;left:94px;top:0;margin:0;font-size:8px}.archive-identity h2{font-size:27px;margin:4px 0}.archive-identity{padding-top:12px}.archive-small{font-size:8px;letter-spacing:1px}.archive-identity p,.archive-seal{display:none}.archive-dialogue{padding:0 15px 10px}.archive-toolbar{height:40px;min-height:40px}.archive-icon{height:30px;width:30px;min-width:30px;flex-basis:30px;font-size:19px}.archive-message-body{font-size:13px;line-height:1.7}#archive-messages{padding-top:16px}.archive-message{margin-bottom:18px}.archive-choices{gap:4px;padding-bottom:5px}.archive-choices button{height:31px;min-height:31px;font-size:10px}.archive-privacy{font-size:8px;margin-top:7px;line-height:1.5}.archive-tools{padding-top:5px}.archive-tools button{height:26px}#archive-search{width:128px;flex-basis:128px}#archive-copy{width:105px;flex-basis:105px}#archive-form{padding:5px 8px}#archive-input{height:38px;font-size:12px}#archive-notice{font-size:10px;margin-bottom:4px;min-height:15px}.inside-room .room-exit{bottom:21px;top:auto;left:14px}.inside-room .footer .footer-left{visibility:hidden}#archive-enter{bottom:22%}}
@media(max-height:740px){.archive-choices{flex-direction:row}.archive-choices button{min-width:0;padding:0 6px}.archive-choices button>span:first-child,.archive-choices button b{display:none}#archive-messages{min-height:60px}.archive-privacy{font-size:8px;line-height:1.4;margin-top:5px}.archive-toolbar{height:40px;min-height:40px}}
@media(max-height:620px) and (min-width:651px){.floor.floor-assistant{padding-top:90px;padding-bottom:65px}.archive-portrait{max-height:200px}.archive-seal,.archive-eyebrow,.archive-identity p{display:none}}
.reduced-motion .archive-character *,.reduced-motion .archive-message,.reduced-motion .archive-status i{animation:none!important}
@media(prefers-reduced-motion:reduce){.archive-character *,.archive-message,.archive-status i{animation:none!important}}
@media(max-width:760px){#theme-label{display:block!important}.theme-trigger{gap:7px!important}.theme-trigger #theme-icon{width:25px!important;height:25px!important;flex:0 0 25px!important}}
@media(max-width:650px){.inside-room .room-exit{bottom:auto;top:116px;right:14px;left:auto;width:145px;height:32px;font-size:9px;z-index:25}.archive-character{padding-top:14px}.archive-eyebrow{display:none}.inside-room .floor-status{visibility:hidden}}
.archive-message-body strong{font-weight:600;color:#f3eddc}.archive-message-body code{font-family:ui-monospace,monospace;font-size:.9em;color:#bbddd5}.archive-message-body pre{background:#06151b;border:1px solid #91b6a62d;padding:14px;overflow:auto;white-space:pre;max-width:100%;border-radius:3px}
@media(max-width:360px){.menu-toggle{width:90px!important;min-width:90px;font-size:9px;gap:7px!important;padding:0 6px!important}.language-trigger{width:80px!important;min-width:80px;flex-basis:80px}.cinematic-toggle{width:80px!important;min-width:80px;font-size:9px;padding:0 6px!important}.archive-tools{flex-wrap:wrap}#archive-count{margin-left:auto}#archive-copy{width:105px;flex-basis:105px}.archive-privacy{font-size:8px}}
