.ambient-layer{position:absolute;inset:0;z-index:2;pointer-events:none}.ambient-slot{position:absolute}.ambient-slot--clip{overflow:hidden}.ambient{position:absolute;inset:0;width:100%;height:100%}.ambient-clock__hour,.ambient-clock__minute{stroke:var(--color-ink);stroke-linecap:round}.ambient-clock__hour{stroke-width:3.4}.ambient-clock__minute{stroke-width:2.2}.ambient-clock__second{stroke:var(--color-suit);stroke-width:1.1;stroke-linecap:round}.ambient-clock__hub{fill:var(--color-ink)}.ambient-clock__second--sweep{transform-box:view-box;transform-origin:50% 50%;animation:ambient-clock-sweep 60s linear infinite}@keyframes ambient-clock-sweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ambient-steam__wisp{position:absolute;left:50%;bottom:0;width:34%;height:78%;border-radius:50%;background:radial-gradient(ellipse at 50% 90%,#fffaf080,#fffaf000 70%);filter:blur(2px);opacity:0;transform:translate(-50%) scale(.6);animation:ambient-steam 4.2s ease-in-out infinite;animation-delay:calc(var(--i) * 1.3s)}@keyframes ambient-steam{0%{opacity:0;transform:translate(-50%,10%) scale(.55) translate(0)}35%{opacity:.55}70%{opacity:.25}to{opacity:0;transform:translate(-50%,-95%) scale(1.15) translate(8%)}}.ambient-rain__sheet{position:absolute;inset:-110% -10%;background-repeat:repeat}.ambient-rain__sheet--far{background-image:repeating-linear-gradient(76deg,#d2e0eb00 0 7px,#d2e0eb29 7px 8px);animation:ambient-rain-fall .9s linear infinite}.ambient-rain__sheet--near{background-image:repeating-linear-gradient(74deg,#e0eaf300 0 11px,#e0eaf333 11px 12.5px);animation:ambient-rain-fall .6s linear infinite}@keyframes ambient-rain-fall{0%{transform:translateY(0)}to{transform:translateY(11%)}}.ambient-lamp{background:radial-gradient(ellipse at 42% 38%,#ffc97a52,#ffc97a00 68%);mix-blend-mode:screen;opacity:.85;animation:ambient-lamp-breathe 6s ease-in-out infinite}@keyframes ambient-lamp-breathe{0%,to{opacity:.7}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.ambient-lamp{opacity:.82}}.office-overlay{position:fixed;inset:0;z-index:1000;background:var(--color-ink);color:var(--color-cream);overflow:hidden;font-family:var(--font-sans)}.entry{position:absolute;inset:0;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(120% 120% at 50% 30%,#34281b 0%,var(--color-ink) 70%)}.entry__card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;max-width:24rem;width:100%}.entry__portrait{width:clamp(140px,40vw,200px);height:auto;filter:drop-shadow(0 8px 24px rgba(0,0,0,.5))}.entry__title{font-family:var(--font-display);font-size:clamp(1.75rem,6vw,2.5rem);line-height:1.1;margin:.25rem 0 0;color:var(--color-cream)}.entry__sub{margin:0;color:var(--color-duck);font-size:1rem}.entry .entry__enter{margin-top:.5rem;background:var(--color-mustard);color:var(--color-ink);font-size:1.0625rem}.entry .entry__enter:hover:not(:disabled){background:#c99236}.entry .entry__enter:disabled{opacity:.6;cursor:progress}.entry__hint{margin:0;font-size:.8125rem;color:var(--color-duck);max-width:22rem}.entry__row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.5rem}.office-link{min-height:44px;display:inline-flex;align-items:center;padding:.4rem .6rem;background:none;border:none;color:var(--color-cream);font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.office-link:hover{color:var(--color-mustard)}.office-toggle{min-height:44px;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:#f5f0e41f;border:1px solid rgba(245,240,228,.35);border-radius:.5rem;color:var(--color-cream);font:inherit;cursor:pointer}.office-toggle:hover{background:#f5f0e438}.scene-viewport{position:absolute;inset:0;padding-top:var(--toolbar-h, 3.5rem);display:grid;place-items:center;overflow:hidden;background:radial-gradient(120% 120% at 50% 32%,#382b1d,#241a1200 72%)}@media(orientation:portrait){.scene-viewport{padding-bottom:6vh;background:radial-gradient(130% 90% at 50% 40%,#3a2c1e,#241a1200 68%),linear-gradient(180deg,#2a2015,#241a12 55%,#191209 88%,#140e08)}}.monitor-wrap{display:flex;flex-direction:column;align-items:center}.monitor__stand{display:none}@media(orientation:portrait){.monitor__stand{display:flex;flex-direction:column;align-items:center}.monitor__neck{width:clamp(44px,13vw,96px);height:clamp(16px,3.5vh,36px);background:linear-gradient(180deg,#a8956f,#8d7a57);border-radius:0 0 8px 8px}.monitor__foot{width:clamp(130px,44vw,280px);height:clamp(10px,2vh,18px);margin-top:-2px;background:linear-gradient(180deg,#b3a184,#7d6b4c);border-radius:50%/60% 60% 40% 40%}.monitor-wrap:after{content:"";width:min(72vw,420px);height:clamp(14px,3vh,26px);margin-top:4px;border-radius:50%;background:radial-gradient(50% 50% at 50% 50%,rgba(0,0,0,.5),transparent 72%);filter:blur(2px)}}.monitor{--bezel: clamp(10px, 2vmin, 26px);--chin: clamp(28px, 5vmin, 56px);--spk: clamp(26px, 5.5vmin, 78px);--surround: clamp(5px, 1vmin, 12px);--gaps: calc(var(--bezel) * 1.4);position:relative;padding:var(--bezel) var(--bezel) calc(var(--bezel) * .5);background:linear-gradient(180deg,#d3c2a2,#c2b08e 45%,#a8956f);border-radius:clamp(14px,2.6vmin,30px);box-shadow:inset 0 2px 3px #fffaee8c,inset 0 -3px 6px #46372373,0 26px 70px #0009,0 8px 20px #00000073}.monitor__body{display:flex;align-items:stretch;gap:calc(var(--bezel) * .7)}.monitor__speaker{width:var(--spk);border-radius:clamp(4px,.8vmin,8px);background:repeating-linear-gradient(45deg,rgba(58,45,30,.34) 0,rgba(58,45,30,.34) 2px,transparent 2px,transparent 6px),linear-gradient(180deg,#c0ad8c,#a8956f);box-shadow:inset 0 2px 5px #00000059,inset 0 -2px 4px #00000040}.monitor__screenwrap{padding:var(--surround);background:#17110b;border-radius:clamp(12px,2.4vmin,30px);box-shadow:inset 0 2px 6px #0009,inset 0 -1px 2px #ffffff0f}.monitor__screen{position:relative;overflow:hidden;border-radius:clamp(10px,2vmin,26px) / clamp(12px,2.4vmin,30px);background:#100b07;box-shadow:inset 0 0 clamp(14px,3vmin,34px) #000c,inset 0 0 4px 2px #000000e6}.monitor__glass{position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:inherit;background:radial-gradient(130% 90% at 28% 10%,rgba(255,244,224,.06),transparent 44%),radial-gradient(145% 125% at 50% 50%,transparent 62%,rgba(0,0,0,.2) 100%);box-shadow:inset 0 0 clamp(12px,2.6vmin,30px) #0000008c}.monitor__chin{height:var(--chin);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(10px,2.2vmin,24px)}.monitor__badge{grid-column:2;width:clamp(40px,8vmin,88px);height:clamp(6px,1.2vmin,11px);border-radius:3px;background:linear-gradient(180deg,#b9a680,#9c8a66);box-shadow:inset 0 1px 2px #00000059,0 1px 1px #ffffff40}.monitor__controls{grid-column:3;justify-self:end;display:flex;align-items:center;gap:clamp(5px,1vmin,10px)}.monitor__btn{width:clamp(7px,1.2vmin,12px);aspect-ratio:1;border-radius:50%;background:#a8956f;box-shadow:inset 0 1px 2px #00000080}.monitor__power{width:clamp(11px,1.9vmin,17px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c9b795,#8d7a57);box-shadow:inset 0 1px 3px #0000008c,0 1px 1px #fff3}.monitor__led{width:clamp(6px,1.1vmin,10px);aspect-ratio:1;border-radius:50%;background:#7d6b4c;transition:background-color .5s ease,box-shadow .5s ease}.monitor__led[data-on=true]{background:var(--color-mustard);box-shadow:0 0 10px #d9a441e6}@media(orientation:portrait){.monitor{--spk: 0px;--gaps: 0px}.monitor__speaker{display:none}}.scene{position:relative;aspect-ratio:var(--scene-aspect, 1.3333);width:min(100vw - 2 * var(--bezel) - var(--gaps) - 2 * var(--spk) - 2 * var(--surround) - .75rem,calc((100dvh - var(--toolbar-h, 3.5rem) - 2 * var(--bezel) - 2 * var(--surround) - var(--chin) - 1rem) * var(--scene-aspect, 1.3333)));background:#b7a88f;overflow:hidden}.scene-art{position:absolute;inset:0;z-index:1}.scene-layer{user-select:none;-webkit-user-drag:none}.fixture-glow{position:absolute;z-index:3;pointer-events:none;border-radius:12%;background:radial-gradient(ellipse at center,#d9a4416b,#d9a44100 72%);mix-blend-mode:screen;animation:fixture-glow-pulse 1.4s ease-in-out infinite}@keyframes fixture-glow-pulse{0%,to{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}.fixture-glow[data-reduced=true]{animation:none;opacity:.8}.scene-coffee{position:absolute;left:61.5%;top:65%;width:8.5%;height:13%;min-width:44px;min-height:44px;z-index:4;padding:0;background:transparent;border:none;border-radius:.4rem;cursor:pointer}.scene-coffee:hover,.scene-coffee:focus-visible{background:#d9a4412e}.hotspots{position:absolute;inset:0;z-index:5}.hotspot{position:absolute;min-width:44px;min-height:44px;margin:0;padding:0;display:flex;align-items:flex-end;justify-content:center;background:transparent;border:2px solid transparent;border-radius:.6rem;color:var(--color-ink);cursor:pointer;text-decoration:none;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.hotspot:hover,.hotspot:focus-visible,.hotspot--selected,.hotspots--show-labels .hotspot{background:radial-gradient(ellipse at center,rgba(217,164,65,.26) 0%,rgba(217,164,65,.1) 55%,transparent 82%);border-radius:50%}.hotspot__label{font-family:var(--font-display);font-size:clamp(.8rem,2.4vw,1.05rem);line-height:1.1;background:var(--color-cream);color:var(--color-ink);padding:.1rem .5rem;margin-bottom:.35rem;border-radius:.4rem;white-space:nowrap;box-shadow:0 2px 6px #0000004d;opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease;pointer-events:none}.hotspot:hover .hotspot__label,.hotspot:focus-visible .hotspot__label,.hotspots--show-labels .hotspot__label{opacity:1;transform:none}.office-controls{position:absolute;top:0;left:0;right:0;min-height:3.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem;padding:.3rem .6rem;background:#241a12eb;backdrop-filter:blur(4px);z-index:500}.office-controls__right{display:flex;flex-wrap:wrap;gap:.4rem}.look-around{position:absolute;top:3.5rem;right:.75rem;z-index:600;max-width:min(90vw,20rem);max-height:calc(100dvh - 4.5rem);overflow-y:auto;padding:.75rem;background:var(--color-cream);color:var(--color-ink);border:1px solid var(--color-wood);border-radius:.5rem;box-shadow:0 10px 30px #0006}@media(max-width:26rem){.office-toggle{padding:.4rem .6rem;gap:.25rem}}.look-around__title{margin:0 0 .5rem;font-weight:600;color:var(--color-wood-dark)}.look-around ul{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}.look-around .office-link{width:100%;color:var(--color-wood-dark);text-align:left}.look-around .office-link:hover{color:var(--color-ink)}.office-overlay[data-view=crt] .scene{transform-origin:50% 50%;animation:crt-unfold var(--crt-ms, 1.35s) cubic-bezier(.25,.8,.35,1) forwards}@keyframes crt-unfold{0%{transform:scaleY(.004);filter:brightness(2.8) saturate(.4)}18%{transform:scaleY(.004);filter:brightness(2.8) saturate(.4)}44%{transform:scaleY(1.05);filter:brightness(1.6) saturate(.9)}58%{transform:scaleY(1);filter:brightness(1.22) saturate(1.03)}to{transform:scaleY(1);filter:brightness(1) saturate(1)}}.crt{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:hidden}.crt__beam{position:absolute;left:5%;right:5%;top:50%;height:2px;transform:translateY(-50%) scaleX(0);transform-origin:center;background:linear-gradient(90deg,transparent,#fff3dc 16%,#ffe9c0 84%,transparent);border-radius:2px;filter:blur(.4px);opacity:0;animation:crt-beam var(--crt-ms, 1.35s) linear forwards}@keyframes crt-beam{0%{transform:translateY(-50%) scaleX(0);opacity:0}5%{opacity:1}16%{transform:translateY(-50%) scaleX(1);opacity:1}30%{opacity:.7}48%{transform:translateY(-50%) scaleX(1);opacity:0}to{opacity:0}}.crt__flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,#ffd69666,#ffd69600 66%);opacity:0;animation:crt-flash var(--crt-ms, 1.35s) ease-out forwards}@keyframes crt-flash{0%,32%{opacity:0}50%{opacity:.8}74%{opacity:.22}to{opacity:0}}.dialogue{position:absolute;left:50%;bottom:1rem;transform:translate(-50%);width:min(96vw,620px);z-index:700}.dialogue__panel{position:relative}.dialogue__art{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45))}.dialogue__body{position:absolute;inset:16% 9% 15%;display:flex;flex-direction:column;justify-content:center;gap:.25rem;color:var(--color-ink)}.dialogue__speaker{margin:0;font-family:var(--font-display);font-size:clamp(.85rem,2.4vw,1.05rem);color:var(--color-wood-dark)}.dialogue__text{margin:0;font-family:var(--font-sans);font-size:clamp(.9rem,2.6vw,1.15rem);line-height:1.25;min-height:2.4em}.dialogue__actions{display:flex;gap:.5rem;margin-top:.15rem}.dialogue__next,.dialogue__skip{min-height:40px;padding:.3rem .9rem;border-radius:.4rem;font:inherit;font-weight:600;cursor:pointer}.dialogue__next{background:var(--color-suit);color:var(--color-cream);border:2px solid transparent}.dialogue__next:hover{background:var(--color-ink)}.dialogue__skip{background:transparent;color:var(--color-wood-dark);border:2px solid var(--color-wood)}.dialogue__skip:hover{color:var(--color-ink);border-color:var(--color-wood-dark)}.panel{position:absolute;inset:0;z-index:750;display:grid;place-items:center;padding:1rem;background:#140e08b8}.panel__stage{position:relative;width:min(96vw,calc(86dvh * var(--ratio, 1.4)));max-width:960px}.panel__art{display:block;width:100%;height:100%}.panel__content{position:absolute;overflow:auto;background:#f4ecd8f2;border-radius:.5rem;padding:.55rem .8rem;box-shadow:0 1px 3px #00000026;color:var(--color-ink);font-family:var(--font-sans);font-size:clamp(.72rem,1.7vw,.95rem);line-height:1.3;-webkit-overflow-scrolling:touch}.panel__content--spread{padding:0 .5%}.panel__title{margin:0 0 .4rem;font-family:var(--font-display);font-size:clamp(1.05rem,2.8vw,1.6rem);color:var(--color-green);outline:none}.panel__close{position:absolute;top:-.6rem;right:-.6rem;width:44px;height:44px;border-radius:50%;background:var(--color-ink);color:var(--color-cream);border:2px solid var(--color-cream);font-size:1.1rem;cursor:pointer;z-index:2}.panel__close:hover{background:var(--color-suit)}.pc-lead{font-weight:700;margin:0 0 .3rem}.pc-tagline{font-weight:600;color:var(--color-wood-dark);margin:0 0 .4rem}.pc-muted{color:var(--color-wood-dark);margin:.2rem 0}.pc-context{font-style:italic;margin:.2rem 0}.pc-note{border:1px solid var(--color-wood);border-radius:.4rem;padding:.3rem .5rem;margin:.3rem 0}.panel__content p{margin:0 0 .4rem}.panel__content h3{margin:.4rem 0 .2rem;font-size:1.05em}.pc-bullets{margin:.2rem 0;padding-left:1.1rem}.pc-bullets li{margin-bottom:.2rem}.pc-plain{list-style:none;margin:.2rem 0;padding:0}.pc-plain li{margin-bottom:.2rem}.pc-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;margin:.3rem 0;padding:0}.pc-links{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.pc-img{display:block;width:100%;max-width:320px;height:auto;border-radius:.3rem;border:1px solid var(--color-wood);margin:.3rem 0}.pc-done{text-decoration:line-through;opacity:.7}.pc-pager{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.5rem}.pc-pager__count{font-weight:600}.pc-more{margin-top:.4rem;font-size:.9em}.pc-exp__item{margin-bottom:.6rem}.rotate-hint{position:absolute;left:50%;bottom:1.25rem;transform:translate(-50%);z-index:900;display:flex;align-items:center;gap:.5rem;max-width:92vw;padding:.4rem .5rem .4rem .9rem;background:var(--color-cream);color:var(--color-ink);border:1px solid var(--color-wood);border-radius:999px;font-size:.9rem;box-shadow:0 8px 24px #00000073}.rotate-hint__dismiss{min-height:44px;padding:.3rem .8rem;border:none;border-radius:999px;background:var(--color-suit);color:var(--color-cream);font:inherit;font-weight:600;cursor:pointer}.rotate-hint__dismiss:hover{background:var(--color-ink)}@media(orientation:landscape){.rotate-hint{display:none}}.office-toast{position:absolute;left:50%;bottom:5.5rem;transform:translate(-50%);z-index:900;max-width:90vw;padding:.5rem 1rem;background:var(--color-ink);color:var(--color-cream);border:1px solid var(--color-mustard);border-radius:.5rem;font-size:.95rem;box-shadow:0 6px 18px #0006}.hotspot--selected{background:radial-gradient(ellipse at center,rgba(217,164,65,.34) 0%,rgba(217,164,65,.14) 55%,transparent 82%)}.hotspot--selected .hotspot__label{opacity:1;transform:none}@keyframes rm-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.office-overlay[data-view=office] .scene,.office-overlay .dialogue,.office-overlay .panel{animation:rm-fade .15s ease-out both!important}}
