:root{font-family:Inter,system-ui,sans-serif;color:#f3ead4;background:#0d100d;font-synthesis:none}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{overflow:hidden}button{font:inherit}.app-shell{min-height:100svh;position:relative;overflow:hidden;display:grid;place-items:center;isolation:isolate;background:radial-gradient(circle at 50% 45%,rgba(65,75,53,.24),transparent 44%),linear-gradient(90deg,rgba(0,0,0,.36),transparent 25% 75%,rgba(0,0,0,.36)),repeating-linear-gradient(0deg,#151912 0 2px,#11150f 2px 4px)}.app-shell:before{content:"";position:absolute;inset:0;z-index:-2;opacity:.44;background:linear-gradient(86deg,transparent 48%,rgba(255,255,255,.025) 49%,transparent 51%) 0 0 / 160px 100%,repeating-linear-gradient(90deg,rgba(255,255,255,.022) 0 1px,transparent 1px 190px),repeating-linear-gradient(0deg,rgba(0,0,0,.28) 0 3px,transparent 3px 132px);filter:blur(.3px)}.stone-vignette{position:absolute;inset:-8%;pointer-events:none;box-shadow:inset 0 0 180px 90px #050705,inset 0 -120px 170px #050705;z-index:8}.portrait-gallery{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:center;gap:clamp(26px,4.5vw,82px);margin-top:-18svh}.portrait-stage{position:relative;width:min(37vw,41.3354svh,510px);aspect-ratio:2 / 3;z-index:0;transition:filter 1.2s ease,transform 1.4s cubic-bezier(.2,.8,.2,1)}.is-dormant .portrait-stage{filter:brightness(.52) saturate(.7);transform:scale(.96)}.is-awake .portrait-stage{filter:brightness(.88) saturate(.9);transform:scale(.985)}.is-awake .portrait-stage.is-selected{filter:brightness(1) saturate(1);transform:scale(1);z-index:1}.frame-shadow{position:absolute;inset:1.5% -4% -3%;background:#000;filter:blur(30px);opacity:.84;transform:translateY(24px)}.ornate-frame{position:absolute;inset:0;padding:clamp(13px,2.3vw,24px);background:linear-gradient(135deg,transparent 18px,#90713b 0) top left,linear-gradient(-135deg,transparent 18px,#90713b 0) top right,linear-gradient(45deg,transparent 18px,#4c381c 0) bottom left,linear-gradient(-45deg,transparent 18px,#4c381c 0) bottom right;background-size:50% 50%;background-repeat:no-repeat;filter:drop-shadow(0 6px 3px rgba(0,0,0,.68));cursor:pointer}.portrait-stage.is-selected .ornate-frame{filter:drop-shadow(0 6px 3px rgba(0,0,0,.68)) drop-shadow(0 0 15px rgba(192,155,82,.16))}.ornate-frame:before,.ornate-frame:after{content:"";position:absolute;pointer-events:none}.ornate-frame:before{inset:8px;border:3px solid #b19051;outline:7px ridge #4e371a;box-shadow:inset 0 0 0 2px #2a1a0d,0 0 0 2px #21160c}.ornate-frame:after{inset:18px;border:2px solid rgba(238,205,124,.52);box-shadow:inset 0 0 14px 5px #000000d9}.frame-inner{width:100%;height:100%;overflow:hidden;background:#0a0b08}.frame-corner{position:absolute;width:46px;aspect-ratio:1;border:4px double #b99959;background:radial-gradient(circle,#c9a965 0 11%,#5c431e 13% 34%,#b08a43 36% 40%,transparent 42%);z-index:4;transform:rotate(45deg);box-shadow:0 3px 8px #000}.corner-tl{left:-10px;top:-10px}.corner-tr{right:-10px;top:-10px}.corner-bl{left:-10px;bottom:-10px}.corner-br{right:-10px;bottom:-10px}.portrait{--look-x: 0;--look-y: 0;--face-x: 52%;--face-y: 32%;--blink-x: 52%;--blink-y: 28.5%;position:relative;width:100%;height:100%;overflow:hidden;background:#11130e}.portrait-wizard{--face-x: 50.5%;--face-y: 31%;--blink-x: 50.5%;--blink-y: 27.2%}.portrait img{position:absolute;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none}.portrait-depth{position:absolute;inset:-1.5%;will-change:transform}.portrait-depth-back{transform:scale(1.035) translate(calc(var(--look-x) * -2px),calc(var(--look-y) * -2px))}.portrait-depth-body{inset:-1.5%;-webkit-mask-image:radial-gradient(ellipse 69% 74% at 51% 63%,#000 52%,transparent 74%);mask-image:radial-gradient(ellipse 69% 74% at 51% 63%,#000 52%,transparent 74%);transform:translate(calc(var(--look-x) * 2.2px),calc(var(--look-y) * 1.5px));animation:breathe 5.8s ease-in-out infinite}.portrait-depth-face{inset:-1.5%;-webkit-mask-image:radial-gradient(ellipse 29% 26% at var(--face-x) var(--face-y),#000 46%,transparent 74%);mask-image:radial-gradient(ellipse 29% 26% at var(--face-x) var(--face-y),#000 46%,transparent 74%);transform:translate(calc(var(--look-x) * 3.5px),calc(var(--look-y) * 2.4px));transition:transform .35s cubic-bezier(.2,.8,.2,1)}.expression-layer{position:absolute;inset:-1.5%;pointer-events:none}.expression-layer img{inset:0}.video-layer{position:absolute;inset:-1.5%;pointer-events:none}.video-layer video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.blink-layer{opacity:0;clip-path:ellipse(19% 4.8% at var(--blink-x) var(--blink-y));transform:translate(-.1%,-.15%)}.is-awake .blink-layer{animation:blink 7.8s linear infinite 2.1s}.portrait-wizard.is-awake .blink-layer{animation:blink 9.4s linear infinite 5.3s}.window-bloom{position:absolute;inset:0;background:radial-gradient(ellipse at 88% 16%,rgba(175,216,160,.16),transparent 31%);mix-blend-mode:screen;opacity:.7;animation:windowPulse 8s ease-in-out infinite}.canvas-grain{position:absolute;inset:0;opacity:.12;mix-blend-mode:overlay;background:repeating-linear-gradient(88deg,transparent 0 3px,rgba(255,255,255,.18) 3px 4px),repeating-linear-gradient(2deg,transparent 0 4px,rgba(0,0,0,.24) 4px 5px)}.portrait-vignette{position:absolute;inset:0;box-shadow:inset 0 0 65px 18px #030503d1}.dust{position:absolute;width:3px;height:3px;border-radius:50%;background:#dec88d;box-shadow:0 0 8px 2px #dac28399;opacity:0}.dust-one{left:22%;top:30%;animation:floatDust 8s ease-in infinite 1s}.dust-two{right:18%;top:44%;animation:floatDust 10s ease-in infinite 4s}.dust-three{left:74%;top:22%;animation:floatDust 9s ease-in infinite 6s}.name-plaque{position:absolute;left:50%;top:calc(100% + 22px);bottom:auto;transform:translate(-50%);width:68%;padding:10px 18px 9px;color:#2a1c0d;text-align:center;background:linear-gradient(180deg,#d2b570,#8f6c31 52%,#c2a158);border:2px ridge #d4b873;box-shadow:0 5px 13px #000,inset 0 0 10px #41280c80;z-index:6;appearance:none;font:inherit;cursor:pointer}.name-plaque:focus-visible{outline:2px solid #ead296;outline-offset:4px}.portrait-stage.is-selected .name-plaque{box-shadow:0 5px 13px #000,0 0 18px #dab86847,inset 0 0 10px #41280c80}.plaque-name{display:block;font:600 clamp(16px,2.2vw,22px)/.9 Georgia,"Times New Roman",serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.plaque-title{display:block;margin-top:5px;font:600 9px/1 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase;opacity:.74}.portrait-stage-wizard .name-plaque{width:min(118%,460px);padding-inline:18px}.portrait-stage-wizard .plaque-name{width:100%;font-size:clamp(11px,1.15vw,16px);text-align:center}.portrait-stage-mara .name-plaque{width:min(110%,440px);padding-inline:18px}.portrait-stage-mara .plaque-name{width:100%;text-align:center}.caption{position:absolute;left:50%;bottom:7.5%;width:min(86%,540px);transform:translate(-50%,14px);opacity:0;display:flex;align-items:center;gap:14px;padding:13px 20px;color:#fbf2da;background:linear-gradient(90deg,transparent,rgba(10,12,9,.84) 12% 88%,transparent);text-shadow:0 2px 5px #000;transition:opacity .5s ease,transform .55s ease;z-index:7;pointer-events:none}.caption.is-visible{opacity:1;transform:translate(-50%)}.caption.is-user{color:#dbe7d1}.caption.is-user p:before{content:"“"}.caption.is-user p:after{content:"”"}.caption p{margin:0;flex:1;text-align:center;font:italic 500 clamp(15px,2.4vw,20px)/1.25 Georgia,"Times New Roman",serif}.caption-flourish{color:#b99855;font-size:8px}.entry-veil{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,#090c0933,#050705cc 64%,#050605);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:veilIn 1s ease both}.entry-copy{width:min(88vw,600px);text-align:center;margin-top:1vh}.eyebrow{margin:0 0 18px;color:#b9a270;font-size:10px;font-weight:600;letter-spacing:.38em;text-transform:uppercase}.entry-copy h1{margin:0;font:500 clamp(44px,8vw,78px)/.88 Georgia,"Times New Roman",serif;letter-spacing:-.03em;text-shadow:0 6px 28px #000}.wake-button{margin-top:34px;padding:14px 21px 14px 25px;display:inline-flex;align-items:center;gap:18px;color:#f2e5c5;border:1px solid #8b7446;background:#121610c7;box-shadow:inset 0 0 0 1px #e6ca8414,0 8px 30px #0000008c;letter-spacing:.12em;text-transform:uppercase;font-size:11px;cursor:pointer;transition:border-color .25s,background .25s,transform .25s}.wake-button:hover{border-color:#d2b874;background:#252b1fe6;transform:translateY(-2px)}.wake-button i{color:#d2b874;font-style:normal}.prototype-note{margin-top:17px;color:#e3dac26e;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.interaction-bar{position:fixed;right:24px;bottom:22px;z-index:12;display:flex;align-items:center;gap:4px;padding:7px;border:1px solid rgba(170,143,83,.25);background:#080b08bd;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 30px #0006;animation:controlsIn .8s ease 1s both}.presence-status{display:flex;align-items:center;gap:8px;padding:0 10px;color:#a9ae9b;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.status-orb{width:6px;height:6px;border-radius:50%;background:#87976e;box-shadow:0 0 8px #87976e}.phase-indicator{min-width:142px}.phase-indicator.phase-greeting .status-orb,.phase-indicator.phase-speaking .status-orb{background:#d1ac65;box-shadow:0 0 11px #d1ac65;animation:statusPulse .7s ease-in-out infinite}.phase-indicator.phase-recording .status-orb{background:#d97f66;box-shadow:0 0 12px #d97f66;animation:statusPulse .46s ease-in-out infinite}.phase-indicator.phase-thinking .status-orb,.phase-indicator.phase-transcribing .status-orb,.phase-indicator.phase-connecting .status-orb{background:#89a67c;animation:statusPulse 1.2s ease-in-out infinite}.phase-indicator.phase-error .status-orb{background:#c5675f}.mic-privacy{min-width:86px;display:flex;align-items:center;gap:8px;padding:0 11px;min-height:34px;color:#817f75;border-left:1px solid rgba(170,143,83,.18);border-right:1px solid rgba(170,143,83,.18);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.mic-privacy.is-active{color:#aebc9e}.mic-privacy.is-muted{color:#b37b70}.mic-rings{width:14px;height:17px;display:flex;align-items:end;gap:2px}.mic-rings i{display:block;width:2px;height:5px;background:currentColor;opacity:.6}.mic-rings i:nth-child(2){height:11px}.mic-rings i:nth-child(3){height:7px}.phase-recording .mic-rings i{animation:micBounce .5s ease-in-out infinite alternate}.phase-recording .mic-rings i:nth-child(2){animation-delay:-.18s}.phase-recording .mic-rings i:nth-child(3){animation-delay:-.31s}.control-buttons{display:flex;gap:4px}.control-buttons button{padding:10px 11px;color:#d8ccb1;border:1px solid transparent;background:transparent;font-size:9px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.control-buttons button:hover,.control-buttons button:focus-visible{color:#fff1d0;border-color:#685633;background:#1a2018;outline:none}.control-buttons button:disabled{opacity:.35;cursor:default}.control-buttons .end-button{color:#b8998e}.control-buttons .caption-toggle span{font-weight:700;letter-spacing:-.02em}.control-buttons .caption-toggle.is-off{color:#857f70}.help-card{position:fixed;right:24px;bottom:88px;z-index:15;width:min(340px,calc(100vw - 32px));padding:25px 28px 27px;color:#d9d0b8;border:1px solid #685634;background:#0c100bf0;box-shadow:0 16px 50px #000;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:controlsIn .24s ease both}.help-card>button{position:absolute;top:7px;right:10px;color:#a89d86;border:0;background:none;font-size:22px;cursor:pointer}.help-card .eyebrow{margin-bottom:9px}.help-card h2,.session-veil h2{margin:0 0 11px;color:#f0e5ca;font:500 30px/1 Georgia,serif}.help-card p:last-child,.session-veil>p{margin:0;font:400 13px/1.55 Inter,sans-serif;color:#a9a58f}.session-veil{position:fixed;inset:0;z-index:20;display:grid;place-content:center;justify-items:center;padding:30px;text-align:center;background:radial-gradient(circle at 50% 48%,#0a0d0994,#040604f2 70%);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:veilIn .5s ease both}.session-veil>p{max-width:440px}.session-veil .eyebrow{margin-bottom:12px;color:#b9a270}.session-veil .wake-button{margin-top:25px}.ended-veil{background:radial-gradient(circle at 50% 44%,#0f120d80,#040604e8 72%)}.wall-sconce{position:absolute;top:29%;width:3px;height:30%;background:linear-gradient(#6f5428,#20160a);opacity:.44;filter:blur(.2px)}.wall-sconce:before{content:"";position:absolute;top:-30px;left:-12px;width:28px;height:42px;background:radial-gradient(ellipse at 50% 80%,#f6c668,#9b5724 36%,transparent 69%);filter:blur(3px);animation:flame 2.2s ease-in-out infinite}.wall-sconce-left{left:11%}.wall-sconce-right{right:28.5%}.room-floor{position:absolute;inset:auto 0 0;height:17svh;overflow:hidden}.room-floor:before{content:"";position:absolute;left:-30%;right:-30%;top:0;height:320%;transform:perspective(430px) rotateX(52deg);transform-origin:50% 0;background:repeating-linear-gradient(90deg,rgba(8,5,2,.6) 0 3px,transparent 3px 108px),linear-gradient(#2e2213,#1b1309 62%,#120c06)}.room-floor:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(6,8,6,.5),transparent 36% 58%,rgba(4,5,4,.62))}.room-baseboard{position:absolute;left:0;right:0;bottom:17svh;height:13px;background:linear-gradient(#3a3325,#211c12 55%,#0e0b07);box-shadow:0 3px 6px #0000008c}.room-wainscot{position:absolute;left:0;right:0;bottom:calc(17svh + 13px);height:9svh;background:linear-gradient(#00000052,#0000000f 34%,#00000057),linear-gradient(#332918,#251d10 62%,#1b140a)}.room-wainscot:before{content:"";position:absolute;inset:14px 0 10px;background:repeating-linear-gradient(90deg,transparent 0 30px,rgba(0,0,0,.55) 30px 32px,rgba(146,118,66,.22) 32px 34px,rgba(0,0,0,.16) 34px 156px,rgba(146,118,66,.22) 156px 158px,rgba(0,0,0,.55) 158px 160px,transparent 160px 190px)}.room-wainscot:after{content:"";position:absolute;left:0;right:0;top:-8px;height:8px;background:linear-gradient(#4d3f26,#2e2515 58%,#171008);box-shadow:0 3px 6px #0000008c}.northstar-portal{position:absolute;right:1.8%;top:8%;width:clamp(230px,24vw,420px);aspect-ratio:16 / 9;margin:0;z-index:9;pointer-events:none;transform:rotate(-.7deg);transition:filter .8s ease}.is-dormant .northstar-portal{filter:brightness(.48) saturate(.64)}.portal-nail{position:absolute;top:-31px;left:50%;width:8px;height:8px;transform:translate(-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#f0cf7d,#8f672d 52%,#34220c);box-shadow:0 2px 4px #000000c7}.portal-cord{position:absolute;top:-28px;left:3%;width:94%;height:28px;overflow:visible}.portal-cord path{fill:none;stroke:#a18146b8;stroke-width:1.5;vector-effect:non-scaling-stroke}.portal-frame{position:absolute;inset:0;padding:11px;background:linear-gradient(135deg,transparent 0 7px,rgba(240,205,126,.45) 8px 9px,transparent 10px),linear-gradient(315deg,transparent 0 7px,rgba(240,205,126,.32) 8px 9px,transparent 10px),linear-gradient(150deg,#b28a46,#6e4c23 26%,#3a250f,#8b672f 82%,#be9651);border:2px solid #241607;box-shadow:0 18px 38px #000000b8,0 0 24px #c886341f,inset 0 0 0 2px #f1ca7261}.portal-frame:before,.portal-frame:after{content:"";position:absolute;pointer-events:none}.portal-frame:before{inset:5px;border:2px ridge rgba(220,177,88,.72);box-shadow:inset 0 0 0 2px #1d1107d6}.portal-frame:after{inset:9px;border:1px solid rgba(243,205,122,.36);box-shadow:inset 0 0 18px 4px #000000eb}.portal-window{position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate;background:#14162b}.portal-poster,.portal-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.portal-poster{z-index:0}.portal-video{z-index:1;background:transparent}.portal-glass{position:absolute;inset:0;z-index:2;background:linear-gradient(116deg,rgba(255,231,181,.13),transparent 19% 68%,rgba(90,116,166,.08)),radial-gradient(ellipse at 52% 108%,transparent 49%,rgba(5,8,18,.26) 92%);box-shadow:inset 0 0 18px 5px #03050c9e;pointer-events:none}@media(prefers-reduced-motion:reduce){.portal-video{display:none}}.picture-nail{position:absolute;top:-4.5svh;left:50%;width:10px;height:10px;transform:translate(-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#d8b568,#7c5a26 55%,#3a2810);box-shadow:0 2px 4px #000000b3}.hanging-wire{position:absolute;top:calc(-4.5svh + 5px);left:1.5%;width:97%;height:calc(4.5svh - 5px);overflow:visible}.hanging-wire path{fill:none;stroke:#8b714299;stroke-width:1.6;vector-effect:non-scaling-stroke}.mouse-table{position:absolute;left:6.5%;bottom:calc(17svh - 14px);width:172px;height:118px;z-index:1;transition:filter 1.2s ease}.is-dormant .mouse-table{filter:brightness(.55) saturate(.75)}.table-top{position:absolute;top:26px;left:0;width:100%;height:9px;background:linear-gradient(#7a5c2e,#4a3417 55%,#241708);border-radius:2px;box-shadow:0 2px 4px #00000080}.table-apron{position:absolute;top:35px;left:7px;right:7px;height:7px;background:linear-gradient(#3d2b12,#1c1206)}.table-leg{position:absolute;top:42px;width:7px;height:76px;background:linear-gradient(90deg,#4e3818,#2a1c0a 70%)}.table-leg-left{left:12px;transform:skew(1.5deg)}.table-leg-right{right:12px;transform:skew(-1.5deg)}.table-shadow{position:absolute;bottom:-6px;left:-4%;width:108%;height:10px;background:radial-gradient(ellipse at 50% 50%,rgba(0,0,0,.55),transparent 70%)}.table-mouse{position:absolute;top:6px;left:12px;width:34px;height:20px;translate:calc(var(--mouse-x) * 114px) 0;scale:var(--mouse-facing) 1;transition:translate var(--mouse-move-ms, 0ms) linear,scale .14s ease}.mouse-sprite{display:block;width:100%;height:100%;overflow:visible}.mouse-sprite *{transform-box:fill-box}.mouse-shadow{fill:#00000059}.mouse-root{transform-origin:30% 92%}.mouse-defs{position:absolute;width:0;height:0}.mouse-body{fill:url(#mouseBodyGrad)}.mouse-haunch{fill:url(#mouseHaunchGrad)}.mouse-foot-back{fill:#2c261f}.mouse-head{fill:url(#mouseHeadGrad)}.mouse-ear{fill:url(#mouseEarGrad)}.mouse-ear-far{fill:#453a2f}.mouse-ear-inner{fill:url(#mouseEarInnerGrad)}.mouse-sheen{stroke:#d6c4a829;stroke-width:1.8;stroke-linecap:round;fill:none}.mouse-leg{stroke:#332c24;stroke-width:1.5;stroke-linecap:round;fill:none;transform-origin:50% 0}.mouse-tail{stroke:url(#mouseTailGrad);stroke-width:1.5;stroke-linecap:round;fill:none}.mouse-eye{fill:#0c0a08}.mouse-eye-glint{fill:#ece2cecc}.mouse-nose{fill:#23180f}.mouse-whiskers path{stroke:#cdbea561;stroke-width:.6;fill:none}.mouse-whiskers{transform-origin:0 50%}.mouse-paws{opacity:0;transition:opacity .25s ease;transform-origin:30% 100%}.mouse-paws path{stroke:#5a4c3d;stroke-width:1.3;stroke-linecap:round;fill:none}.mouse-head-g{transform-origin:6% 76%}.mouse-eye-g{transform-origin:50% 50%;animation:mouseBlink 4.4s linear infinite;animation-delay:calc(var(--mouse-seed) * -4s)}.mouse-ear-near-g{transform-origin:50% 85%;animation:mouseEarTwitch 7.3s linear infinite;animation-delay:calc(var(--mouse-seed) * -6s)}.mouse-tail-g{transform-origin:100% 60%;animation:mouseTailSway 5.2s ease-in-out infinite;animation-delay:calc(var(--mouse-seed) * -7s)}.clip-idle .mouse-body,.clip-idle .mouse-haunch{transform-origin:50% 100%;animation:mouseBreath 2.6s ease-in-out infinite}.clip-idle .mouse-head-g{animation:mouseIdleHead 6.4s ease-in-out infinite;animation-delay:calc(var(--mouse-seed) * -5s)}.clip-sniff .mouse-head-g{animation:mouseHeadSniff .85s ease-in-out infinite}.clip-sniff .mouse-whiskers{animation:mouseWhiskerTwitch .14s linear infinite}.clip-groom .mouse-head-g{animation:mouseGroomHead 1.15s ease-in-out infinite}.clip-groom .mouse-body,.clip-groom .mouse-haunch{transform-origin:50% 100%;animation:mouseGroomHunch 1.15s ease-in-out infinite}.clip-groom .mouse-paws{opacity:1;animation:mousePawWipe .28s ease-in-out infinite alternate}.clip-sit .mouse-root{animation:mouseSitUp 2.9s ease-in-out infinite}.clip-sit .mouse-head-g{animation:mouseSitHead 2.9s ease-in-out infinite}.clip-sit .mouse-leg{animation:mouseSitLegs 2.9s ease-in-out infinite}.clip-sit .mouse-tail-g{animation:mouseSitTail 2.9s ease-in-out infinite}.clip-scurry .mouse-root{animation:mouseGallop .16s linear infinite}.clip-scurry .mouse-leg-a{animation:mouseLegRun .16s linear infinite}.clip-scurry .mouse-leg-b{animation:mouseLegRun .16s linear infinite;animation-delay:-.08s}.clip-scurry .mouse-tail-g{animation:mouseTailStream .32s ease-in-out infinite}.clip-scurry .mouse-head-g{transform:rotate(3deg)}@keyframes mouseBlink{0%,93.5%,to{transform:scaleY(1)}95.5%,97%{transform:scaleY(.08)}}@keyframes mouseEarTwitch{0%,91%,to{transform:rotate(0)}93%{transform:rotate(-14deg)}95%{transform:rotate(5deg)}97%{transform:rotate(-6deg)}}@keyframes mouseTailSway{50%{transform:rotate(6deg)}}@keyframes mouseBreath{50%{transform:scaleY(.95)}}@keyframes mouseIdleHead{0%,to{transform:rotate(0)}35%{transform:rotate(2.5deg)}60%{transform:rotate(-1.5deg)}}@keyframes mouseHeadSniff{0%,to{transform:rotate(0)}30%{transform:rotate(-11deg) translateY(-.3px)}55%{transform:rotate(-7deg)}75%{transform:rotate(-12deg)}}@keyframes mouseWhiskerTwitch{50%{transform:rotate(4deg)}}@keyframes mouseGroomHead{0%,to{transform:rotate(2deg)}40%,70%{transform:rotate(16deg)}}@keyframes mouseGroomHunch{0%,to{transform:scaleY(.97)}50%{transform:scaleY(.9)}}@keyframes mousePawWipe{0%{transform:rotate(-8deg)}to{transform:rotate(14deg) translateY(-.6px)}}@keyframes mouseSitUp{0%,8%{transform:rotate(0)}20%,80%{transform:rotate(-27deg) translateY(-.4px)}92%,to{transform:rotate(0)}}@keyframes mouseSitHead{0%,8%,92%,to{transform:rotate(0)}22%{transform:rotate(9deg)}45%{transform:rotate(13deg)}62%{transform:rotate(6deg)}80%{transform:rotate(10deg)}}@keyframes mouseSitLegs{0%,8%,92%,to{transform:rotate(0)}20%,80%{transform:rotate(-38deg)}}@keyframes mouseSitTail{0%,8%,92%,to{transform:rotate(0)}20%,80%{transform:rotate(21deg)}}@keyframes mouseGallop{50%{transform:translateY(-1px) rotate(-1.5deg)}}@keyframes mouseLegRun{0%,to{transform:rotate(24deg)}50%{transform:rotate(-26deg) translateY(-.4px)}}@keyframes mouseTailStream{0%,to{transform:rotate(14deg)}50%{transform:rotate(9deg)}}@keyframes breathe{0%,to{transform:translate(calc(var(--look-x) * 2.2px),calc(var(--look-y) * 1.5px)) scale(1)}50%{transform:translate(calc(var(--look-x) * 2.2px),calc(var(--look-y) * 1.5px + 1.5px)) scale(1.0035)}}@keyframes blink{0%,38%,40.5%,71%,73%,to{opacity:0}38.7%,39.6%,71.7%,72.3%{opacity:1}}@keyframes windowPulse{0%,to{opacity:.55}50%{opacity:.86}}@keyframes floatDust{0%{opacity:0;transform:translateY(18px)}18%,70%{opacity:.65}to{opacity:0;transform:translate(22px,-70px)}}@keyframes veilIn{0%{opacity:0}to{opacity:1}}@keyframes controlsIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes statusPulse{50%{transform:scale(1.4)}}@keyframes micBounce{0%{transform:scaleY(.55);opacity:.42}to{transform:scaleY(1.25);opacity:1}}@keyframes flame{0%,to{transform:skew(-2deg) scale(.92);opacity:.72}50%{transform:skew(4deg) scale(1.08);opacity:1}}@media(max-width:700px){.portrait-gallery{width:calc(100vw - 18px);gap:10px;margin-top:-10svh}.portrait-stage{width:min(calc((100vw - 28px)/2),calc(55svh * .6667))}.wall-sconce,.mouse-table,.northstar-portal{display:none}.interaction-bar{right:12px;left:12px;bottom:10px;justify-content:space-between}.phase-indicator,.mic-privacy{min-width:0}.control-buttons button{padding-inline:8px}.help-card{right:12px;bottom:82px}.name-plaque{top:calc(100% + 22px)}.plaque-name,.portrait-stage-wizard .plaque-name{font-size:9px;letter-spacing:.04em}.portrait-stage-wizard .name-plaque{width:118%;padding-inline:10px}.portrait-stage-wizard .plaque-name{font-size:8px}.portrait-stage-mara .name-plaque{width:110%;padding-inline:10px}.plaque-title{margin-top:3px;font-size:6px;letter-spacing:.06em}.caption{bottom:8.5%;width:92%}.caption p{font-size:11px}.caption-flourish{display:none}}@media(max-width:520px){.interaction-bar{flex-wrap:wrap}.presence-status{flex:1}.mic-privacy{border-right:0}.control-buttons{width:100%;justify-content:flex-end;border-top:1px solid rgba(170,143,83,.16);padding-top:4px}}@media(max-height:720px)and (min-width:700px){.portrait-gallery{margin-top:-12svh}.portrait-stage{width:min(34vh,360px)}}.away-plate{position:absolute;inset:-1.5%;opacity:0;transition:opacity 1.4s ease;pointer-events:none}.portrait.is-away .away-plate{opacity:1}.butterfly-flight{position:absolute;top:30%;left:-60px;z-index:5;pointer-events:none;animation:butterfly-cross 7.5s linear forwards}.butterfly-bob{animation:butterfly-bob 1.9s ease-in-out infinite}.butterfly{width:30px;height:25px;animation:butterfly-flap .22s ease-in-out infinite alternate}.butterfly-wing{fill:#7f5f8f;opacity:.92}.butterfly-wing-low{fill:#5d7a68}.butterfly-body{fill:#2c2431}@keyframes butterfly-cross{0%{transform:translate(0)}to{transform:translate(calc(100vw + 120px))}}@keyframes butterfly-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-34px)}}@keyframes butterfly-flap{0%{transform:scaleX(1)}to{transform:scaleX(.35)}}.explosion-flash{position:absolute;inset:0;z-index:6;pointer-events:none;background:radial-gradient(ellipse at 8% 78%,rgba(255,196,120,.55),rgba(255,140,70,.25) 30%,transparent 62%);animation:explosion-flash 1.15s ease-out forwards}@keyframes explosion-flash{0%{opacity:0}12%{opacity:1}to{opacity:0}}.app-shell.is-quaking{animation:room-quake .9s ease-out}@keyframes room-quake{0%{transform:translate(0)}14%{transform:translate(-5px,2px)}28%{transform:translate(4px,-2px)}42%{transform:translate(-3px,1px)}58%{transform:translate(2px,-1px)}74%{transform:translate(-1px,1px)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.portrait-depth{transform:none!important}}.train-shell{display:block;color:#efe1bd;background:#050707;--brass-light: #d2aa61;--brass: #8f672c;--brass-dark: #3b2812}.train-cockpit{position:absolute;inset:0;overflow:hidden;isolation:isolate;background:#050707}.train-cockpit:before,.train-cockpit:after{content:"";position:absolute;inset:0;z-index:20;pointer-events:none}.train-cockpit:before{background:radial-gradient(ellipse at 43% 43%,transparent 33%,rgba(0,0,0,.14) 68%,rgba(0,0,0,.62) 118%)}.train-cockpit:after{opacity:.12;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.76' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.cinematic-stage{position:absolute;z-index:1;left:50%;top:50%;width:max(100vw,177.68vh);aspect-ratio:1672 / 941;transform:translate(-50%,-50%);overflow:hidden;background:#0a1114}.windshield,.outside-world{position:absolute;inset:0;overflow:hidden}.outside-world{background:#9aa9ad}.route-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.route-film{z-index:1;opacity:0;object-position:50% 50%;filter:saturate(.92) contrast(1.04) brightness(.92);transition:opacity .55s ease}.route-ready .route-film{opacity:1}.windshield-haze{position:absolute;z-index:7;inset:0;background:linear-gradient(112deg,rgba(214,238,243,.12),transparent 23% 71%,rgba(159,196,207,.08)),radial-gradient(ellipse at 50% 100%,rgba(229,236,232,.11),transparent 30%);mix-blend-mode:screen}.cockpit-master-plate{position:absolute;inset:0;z-index:8;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:contrast(1.025) saturate(1.04)}.robot-pilot{position:absolute;inset:0;z-index:8;pointer-events:none;filter:brightness(.62) saturate(.72);transition:filter 1.2s ease;animation:cabRide 3.4s ease-in-out infinite}.robot-pilot.is-awake{filter:none}.robot-eye-live{position:absolute;z-index:10;top:26.8%;width:2.05%;aspect-ratio:1;border-radius:50%;opacity:.18;background:radial-gradient(circle,#dfffff 0 9%,#51dbe4 15% 30%,transparent 62%);box-shadow:0 0 13px 3px #49dce442;animation:eyeCurrent 5.8s ease-in-out infinite}.robot-eye-left{left:70.15%}.robot-eye-right{left:75.55%;animation-delay:-.14s}.robot-voice-organ{position:absolute;z-index:11;inset:0;pointer-events:none}.robot-voice-cell{position:absolute;aspect-ratio:1;border-radius:50%}.robot-voice-cell:before,.robot-voice-cell:after{content:"";position:absolute;border-radius:50%;mix-blend-mode:screen;transition:opacity 60ms linear,transform 60ms linear,box-shadow 60ms linear}.robot-voice-cell:before{inset:25%;opacity:calc(.03 + var(--voice-cell-level) * .9);background:radial-gradient(circle,#f4ffef 0 8%,#68eee5 17%,rgba(58,210,205,.72) 31%,rgba(21,75,74,.36) 48%,transparent 69%);box-shadow:0 0 calc(1px + var(--voice-cell-level) * 7px) rgba(74,232,224,calc(.1 + var(--voice-cell-level) * .72));transform:scale(calc(.36 + var(--voice-cell-level) * .68))}.robot-voice-cell:after{inset:15%;opacity:calc(var(--voice-cell-level) * .58);background:repeating-conic-gradient(from 4deg,rgba(244,188,105,.82) 0 3deg,transparent 4deg 58deg);-webkit-mask:radial-gradient(circle,transparent 0 30%,#000 33% 46%,transparent 50%);mask:radial-gradient(circle,transparent 0 30%,#000 33% 46%,transparent 50%);transform:rotate(calc(-8deg + var(--voice-cell-level) * 48deg))}.robot-voice-cell-1{left:70.04%;top:37.63%;width:2.02%;transform:rotate(11deg) scaleX(.92)}.robot-voice-cell-2{left:72.01%;top:35.72%;width:2.46%;transform:rotate(7deg) scaleX(.95)}.robot-voice-cell-3{left:74.58%;top:36.47%;width:2.48%;transform:rotate(9deg) scaleX(.92)}.robot-voice-cell-4{left:71.72%;top:40.74%;width:2.14%;transform:rotate(13deg) scaleX(.94)}.robot-voice-cell-5{left:73.82%;top:41.07%;width:2.17%;transform:rotate(13deg) scaleX(.91)}.snow-stream{position:absolute;z-index:6;inset:-30%;pointer-events:none;background-image:radial-gradient(ellipse,rgba(255,255,255,.82) 0 1px,transparent 1.8px);background-size:48px 35px;transform:rotate(-14deg)}.snow-stream-far{opacity:.18;animation:snowFall 3.6s linear infinite}.snow-stream-near{opacity:.24;background-size:83px 61px;filter:blur(.5px);animation:snowFall 1.5s linear infinite reverse}.weather-squall .snow-stream{opacity:.85;background-size:31px 23px;filter:blur(.8px);animation-duration:.62s}.weather-squall .outside-world:after{content:"";position:absolute;z-index:5;inset:0;background:#dfe9e95c;-webkit-backdrop-filter:blur(3.5px);backdrop-filter:blur(3.5px)}.track-signal{position:absolute;z-index:4;right:21%;top:36%;width:8px;height:34%;opacity:0;border-radius:5px;background:linear-gradient(90deg,#12191a,#778084 47%,#12191a);box-shadow:6px 8px 13px #00000085;transition:opacity 1.2s}.track-signal i{position:absolute;left:-9px;top:-13px;width:25px;height:34px;border:3px solid #222a2b;border-radius:12px 12px 7px 7px;background:radial-gradient(circle at 50% 38%,#8ccba2 0 14%,#1a2b24 18% 31%,#0b1112 34%);box-shadow:0 4px 12px #000}.event-signal:not(.route-ready) .track-signal{opacity:.88}.track-signal.signal-caution i{background:radial-gradient(circle at 50% 38%,#ffd47a 0 14%,#44351b 18% 31%,#0b1112 34%)}.tunnel-mouth{position:absolute;z-index:5;inset:7% 29% 21% 10%;opacity:0;transform:scale(.32);transform-origin:52% 62%;border:5.5vw solid rgba(18,20,19,.97);border-bottom-width:2vw;border-radius:48% 48% 8% 8%;background:#000000e0;box-shadow:0 0 0 12px #514c42b3,inset 0 0 70px #000;transition:opacity 1.6s,transform 11s linear}.event-tunnel:not(.route-ready) .tunnel-mouth{opacity:.94;transform:scale(1.38)}.moonwhale{position:absolute;z-index:4;left:14%;top:26%;width:9%;height:4.2%;opacity:0;transition:opacity 2s;filter:drop-shadow(0 4px 7px rgba(0,0,0,.72))}.moonwhale>i{position:absolute;inset:7% 18% 7% 0;border-radius:55% 35% 48% 52%;background:linear-gradient(#dde5e3,#819091 51%,#3a4b4e);box-shadow:inset 0 0 0 1px #ead18f}.moonwhale>b{position:absolute;right:0;top:2%;border-left:2.1vw solid #718082;border-top:.9vw solid transparent;border-bottom:.9vw solid transparent}.moonwhale>span{position:absolute;left:31%;bottom:-34%;width:2px;height:44%;background:#b58e4c;box-shadow:1.4vw 0 #b58e4c}.event-landmark .moonwhale{opacity:.86;animation:whalePass 16s linear both}.cab-state-plate{position:absolute;z-index:12;left:33.4%;bottom:17.2%;width:16.5%;min-height:4.8%;padding:.46% 1.25%;color:#26180be6;border:1px solid rgba(222,177,92,.54);border-radius:3px;background:linear-gradient(145deg,#be9042e0,#64461de6 56%,#cb9f4cd6);box-shadow:inset 0 0 9px #291808b8,0 3px 8px #000000a6;font-family:Georgia,serif;text-align:center;transform:perspective(300px) rotateX(11deg)}.cab-state-plate span{display:block;overflow:hidden;font-size:clamp(5px,.62vw,10px);font-weight:700;letter-spacing:.1em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.cab-state-plate strong{font-size:clamp(8px,.9vw,15px);font-weight:600}.cab-state-plate small{font-size:.58em;letter-spacing:.08em;text-transform:uppercase}.cab-state-plate>i{position:absolute;right:5%;top:38%;width:7px;height:7px;border-radius:50%;background:#79b894;box-shadow:0 0 8px #84caa0}.cab-state-plate>i.signal-caution{background:#efb548;box-shadow:0 0 9px #f2ba50}.cab-state-plate>i.signal-stop{background:#c95a49;box-shadow:0 0 9px #dd6654}.event-ticket{position:absolute;z-index:24;left:6%;top:14%;width:min(300px,31vw);padding:13px 18px 15px;color:#21190d;border:1px solid #74582c;background:linear-gradient(112deg,#decda1,#ac9868);box-shadow:9px 12px 28px #0000008f;transform:rotate(-1deg);animation:ticketIn .55s cubic-bezier(.2,.9,.3,1.2) both}.event-ticket:before{content:"";position:absolute;inset:5px;border:1px dashed rgba(61,48,25,.5);pointer-events:none}.event-ticket span{font:700 7px/1 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;opacity:.65}.event-ticket strong{display:block;margin-top:4px;font:600 17px/1.1 Georgia,serif}.event-ticket p{margin:6px 0 0;font:500 9px/1.35 Inter,sans-serif}.train-caption{position:absolute;z-index:25;right:5%;bottom:12%;width:min(510px,43vw);padding:14px 20px 16px;color:#f6ecd3;border-left:2px solid #bc8d45;background:linear-gradient(90deg,rgba(6,11,12,.94),rgba(10,17,18,.78),transparent);text-shadow:0 2px 4px #000;transform:translateY(12px);opacity:0;transition:opacity .35s,transform .4s;pointer-events:none}.train-caption.is-visible{opacity:1;transform:none}.train-caption>span{color:#b99b65;font:700 8px/1 Inter,sans-serif;letter-spacing:.2em;text-transform:uppercase}.train-caption p{margin:6px 0 0;font:italic 500 clamp(14px,1.45vw,19px)/1.3 Georgia,serif}.train-caption.is-user{right:auto;left:8%;border-left-color:#739b98}.train-shell .entry-veil{background:radial-gradient(ellipse at 44% 40%,#060e112b,#030708db 69%,#020405)}.train-shell .entry-copy{margin-left:-18vw}.train-shell .entry-copy .eyebrow{color:#c9a76b}.train-shell .entry-copy h1{font-size:clamp(48px,7.2vw,94px)}.train-shell .wake-button{border-color:#8f6d3a;background:#0c1415d1}.train-shell .interaction-bar{border-color:#b88b4461;background:#070d0ecc}.train-shell .help-card{color:#d9d2c0;border-color:#7d5c2c;background:#080f10f5}.train-shell .help-card .route-footage-credit{margin:12px 0 0;padding-top:10px;color:#918b7d;border-top:1px solid rgba(184,139,68,.25);font-size:10px;line-height:1.45}.train-shell .route-footage-credit a{color:#c8aa72;text-decoration-color:#c8aa7280}.train-shell .session-veil{background:radial-gradient(circle at 50% 44%,#0e1b1da8,#030708f5 72%)}@keyframes snowFall{0%{transform:translate3d(-4%,-8%,0) rotate(-14deg)}to{transform:translate3d(9%,10%,0) rotate(-14deg)}}@keyframes whalePass{0%{transform:translate3d(35vw,3vh,0) scale(.56)}to{transform:translate3d(-28vw,-3vh,0) scale(1.22);opacity:0}}@keyframes cabRide{0%,to{transform:translateY(0)}50%{transform:translateY(1.2px)}}@keyframes eyeCurrent{0%,42%,48%,79%,85%,to{opacity:.18;transform:scale(1)}45%,82%{opacity:.04;transform:scaleY(.12)}62%{opacity:.31;transform:scale(1.08)}}@keyframes ticketIn{0%{opacity:0;transform:translateY(-14px) rotate(-3deg)}to{opacity:1;transform:rotate(-1deg)}}@media(max-width:700px){.cinematic-stage{width:max(158vw,177.68vh);left:56%}.event-ticket{left:4%;top:12%;width:54vw}.train-caption{right:4%;bottom:20%;width:69vw}.train-caption.is-user{left:4%}.train-shell .entry-copy{margin-left:0}.train-shell .entry-copy h1{font-size:clamp(44px,14vw,72px)}}@media(prefers-reduced-motion:reduce){.snow-stream,.robot-pilot,.moonwhale{animation-duration:30s}}
