:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e0e0e0;background-color:#0a0a0a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0 0 .5rem}code{font-family:JetBrains Mono,Fira Code,monospace}.aurora-container{position:fixed;inset:0;overflow:hidden;z-index:0;background:#000}.aurora-streaks{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.streak{position:absolute;border-radius:100%;filter:blur(30px) saturate(1);mix-blend-mode:lighten;transform-origin:center center;animation-play-state:paused}.aurora-container.started .streak{animation-play-state:running}.streak-1{width:420px;height:100px;background:linear-gradient(90deg,#8030ff,#4060ff,#20a0ff,#20e0c0,#60e060,#d0d020 70%,#ff8020,#ff3030);--angle: -30deg;--offset-y: -80px;animation:flyOutDim 28s ease-in-out infinite;animation-delay:var(--delay-1)}.aurora-container.finishing .streak-1{animation-iteration-count:1;animation-fill-mode:forwards}.streak-2{width:380px;height:85px;background:linear-gradient(90deg,#9040ff,#5070ff,#30b0ff,#30e8c8,#70e870,#e0d830 70%,#ff9030,#ff4040);--angle: -55deg;--offset-y: -40px;animation:flyOutVeryDim 32s ease-in-out infinite;animation-delay:var(--delay-2)}.aurora-container.finishing .streak-2{animation-iteration-count:1;animation-fill-mode:forwards}.streak-3{width:350px;height:90px;background:linear-gradient(90deg,#7028ff,#3050ff,#1890ff,#18d8b8,#50d850,#c0c818 70%,#ff7018,#ff2828);--angle: -120deg;--offset-y: -60px;animation:flyOutBright 26s ease-in-out infinite;animation-delay:var(--delay-3)}.aurora-container.finishing .streak-3{animation-iteration-count:1;animation-fill-mode:forwards}.streak-4{width:320px;height:75px;background:linear-gradient(90deg,#8838ff,#4868ff,#28a8ff,#28e0c0,#68e068,#d8d028 70%,#ff8828,#ff3838);--angle: -160deg;--offset-y: 20px;animation:flyOutDim 30s ease-in-out infinite;animation-delay:var(--delay-4)}.aurora-container.finishing .streak-4{animation-iteration-count:1;animation-fill-mode:forwards}.streak-5{width:360px;height:88px;background:linear-gradient(90deg,#9848ff,#5878ff,#38b8ff,#38f0d0,#78f078,#e8e038 70%,#ff9838,#ff4848);--angle: 150deg;--offset-y: 50px;animation:flyOutVeryDim 35s ease-in-out infinite;animation-delay:var(--delay-5)}.aurora-container.finishing .streak-5{animation-iteration-count:1;animation-fill-mode:forwards}.streak-6{width:300px;height:70px;background:linear-gradient(90deg,#7020ff,#3048ff,#1898ff,#18d0b0,#50d050,#b8c010 70%,#ff6810,#ff2020);--angle: 120deg;--offset-y: 70px;animation:flyOutBright 24s ease-in-out infinite;animation-delay:var(--delay-6)}.aurora-container.finishing .streak-6{animation-iteration-count:1;animation-fill-mode:forwards}.streak-7{width:340px;height:82px;background:linear-gradient(90deg,#a050ff,#6080ff,#40c0ff,#40f8d8,#80f880,#f0e840 70%,#ffa040,#ff5050);--angle: 60deg;--offset-y: 40px;animation:flyOutDim 28s ease-in-out infinite;animation-delay:var(--delay-7)}.aurora-container.finishing .streak-7{animation-iteration-count:1;animation-fill-mode:forwards}.streak-8{width:280px;height:65px;background:linear-gradient(90deg,#7830ff,#3858ff,#20a0ff,#20d8b8,#58d858,#c8c820 70%,#ff7820,#ff3030);--angle: 25deg;--offset-y: 90px;animation:flyOutVeryDim 26s ease-in-out infinite;animation-delay:var(--delay-8)}.aurora-container.finishing .streak-8{animation-iteration-count:1;animation-fill-mode:forwards}@keyframes flyOutBright{0%{transform:rotate(var(--angle)) translate(0) translateY(var(--offset-y));opacity:0}10%{opacity:1}80%{opacity:1}to{transform:rotate(var(--angle)) translate(900px) translateY(var(--offset-y));opacity:0}}@keyframes flyOutDim{0%{transform:rotate(var(--angle)) translate(0) translateY(var(--offset-y));opacity:0}10%{opacity:1}80%{opacity:1}to{transform:rotate(var(--angle)) translate(900px) translateY(var(--offset-y));opacity:0}}@keyframes flyOutVeryDim{0%{transform:rotate(var(--angle)) translate(0) translateY(var(--offset-y));opacity:0}10%{opacity:1}80%{opacity:1}to{transform:rotate(var(--angle)) translate(900px) translateY(var(--offset-y));opacity:0}}.aurora-center-void{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:1000px;height:1000px;background:radial-gradient(circle,#000 0% 20%,#000000fa 25%,#000000f2,#000000e6,#000c,#000000a6,#00000080,#00000059,#0003,#0000001a 65%,#0000 75%);border-radius:50%;pointer-events:none;filter:blur(20px)}.text-content{position:relative;z-index:1;width:100%;height:100vh;overflow-y:auto;padding:100px 24px 140px;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}.text-content::-webkit-scrollbar{display:none}.text-content-inner{max-width:700px;margin:0 auto;text-align:justify;text-justify:inter-character;hyphens:auto;-webkit-hyphens:auto}.text-content p{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:600;font-size:16px;line-height:1.4;letter-spacing:-.011em;margin:0 0 1em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.text-content p:last-child{margin-bottom:0}.text-content p.user-text{color:#3c3c3c}.text-content p.default-text{color:#737373}.message-row{display:flex;align-items:flex-start;gap:0;margin:0 0 1em}.message-row.with-avatar{margin-left:-44px;gap:12px}@media(max-width:768px){.message-row.with-avatar{margin-left:0}}.message-row p{margin:0;flex:1}.message-avatar{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:20px;background:#0000000f;border-radius:50%;margin-top:-2px}.text-content p.user-message{color:#737373;margin:0 0 1em;text-align:left}.text-content p.loading-emoji{color:#737373;font-size:20px;margin:0 0 1em;text-align:left;display:block;-webkit-hyphens:none;hyphens:none;text-justify:none;backface-visibility:hidden;-webkit-font-smoothing:antialiased}.text-content p.loading-emoji.initial-fade{animation:emoji-fade-in .7s ease-out}@keyframes emoji-fade-in{0%{opacity:0}to{opacity:1}}.intro-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:24px;box-sizing:border-box;z-index:5;pointer-events:none;opacity:1;transition:opacity .6s ease-out}.intro-overlay.fading{opacity:0}.intro-overlay .intro-text{max-width:540px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:400;font-size:17px;line-height:1.65;font-style:italic;color:#5a5a5a;text-align:center;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.intro-button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:0;background:#2b2b2b99;border:none;border-radius:50%;cursor:pointer;transition:opacity .2s ease,transform .2s ease;color:#74747d99;pointer-events:auto;opacity:1;transform:scale(1)}.intro-button:hover{opacity:.8}.intro-button:active{opacity:.6}.intro-button svg{display:block}.input-bar-container{position:fixed;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 24px 40px;pointer-events:none;z-index:1000}.input-bar{display:flex;align-items:flex-end;gap:8px;width:100%;max-width:460px;padding:12px 12px 12px 24px;background:#2b2b2b99;border:0px solid #333333;border-radius:30px;backdrop-filter:blur(20px) saturate(200%);-webkit-backdrop-filter:blur(30px) saturate(200%);pointer-events:auto;transition:max-width .7s cubic-bezier(.34,1.8,.5,1),opacity .3s ease,background .3s ease}.input-bar.entering{animation:inputBarEnter .7s cubic-bezier(.34,1.8,.5,1) forwards}@keyframes inputBarEnter{0%{opacity:0;max-width:380px;transform:scale(.95)}to{opacity:1;max-width:460px;transform:scale(1)}}.input-bar.inactive{max-width:380px;opacity:.7;background:#2b2b2b4d;pointer-events:none}.input-bar-field{flex:1;background:transparent;border:none;outline:none;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,system-ui,sans-serif;font-weight:500;font-size:15px;line-height:1.4;color:#e0e0e099;caret-color:#e0e0e099;resize:none;overflow:hidden;min-height:36px;max-height:200px;padding:8px 0;margin:0;box-sizing:border-box;transition:opacity .2s ease}.input-bar.inactive .input-bar-field{opacity:0}.input-bar-field.scrollable{overflow-y:auto}.input-bar-field::-webkit-scrollbar{width:6px}.input-bar-field::-webkit-scrollbar-track{background:transparent}.input-bar-field::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.input-bar-field::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.input-bar-field::placeholder{color:#5b5b6199}.input-bar-field:disabled{cursor:not-allowed}.input-bar-send{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:0;background:#2b2b2b99;border:none;border-radius:50%;cursor:pointer;transition:opacity .2s ease,transform .2s ease;color:#74747d99;align-self:flex-end;opacity:0;transform:scale(.5);pointer-events:none}.input-bar.inactive .input-bar-send{opacity:0;transform:scale(.8)}.input-bar-send.visible{opacity:1;transform:scale(1);pointer-events:auto}.input-bar-send.visible:hover{opacity:.8}.input-bar-send.visible:active{opacity:.6}.input-bar-send svg{display:block}.input-bar-map-toggle{display:none}@media(max-width:768px){.input-bar-map-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:0;background:#2b2b2b99;border:none;border-radius:50%;cursor:pointer;transition:opacity .2s ease,transform .2s ease,background .3s ease;color:#74747d99;align-self:flex-end;opacity:1;transform:scale(1);pointer-events:auto}.input-bar-map-toggle.active{background:#74747d4d;color:#e0e0e0cc}.input-bar-map-toggle:hover{opacity:.8}.input-bar-map-toggle:active{opacity:.6}.input-bar-map-toggle svg{display:block}.input-bar-container.map-open{z-index:10001}}.map-panel-container{--map-scale: 1.5;position:fixed;top:50%;left:calc(50% + 350px);right:0;transform:translateY(-50%);display:flex;justify-content:center;align-items:center;z-index:1000;pointer-events:none}.map-panel-container>*{pointer-events:auto}.map-panel-container.disabled{pointer-events:none;opacity:.6;cursor:not-allowed}.map-panel-container.disabled>*{pointer-events:none}.map-panel{position:relative;display:flex;align-items:flex-start;width:auto;padding:calc(50px * var(--map-scale)) calc(50px * var(--map-scale));background:#2b2b2b99;border-radius:calc(30px * var(--map-scale));backdrop-filter:blur(20px) saturate(200%);-webkit-backdrop-filter:blur(30px) saturate(200%);overflow:visible}.map-content{position:relative;margin:0;font-family:SF Mono,Menlo,Monaco,Courier New,monospace;font-size:calc(11px * var(--map-scale));line-height:1.2;letter-spacing:.05em;white-space:pre;-webkit-user-select:none;user-select:none;perspective:800px;perspective-origin:center top}.map-row{display:block;height:1.2em}.map-char{display:inline-flex;justify-content:center;align-items:center;width:.7em;margin-right:.7em;color:#e0e0e099;transition:transform .35s cubic-bezier(.25,.46,.45,.94),text-shadow .3s ease-out,filter .3s ease-out;will-change:transform;position:relative;cursor:default}.map-char.hovered{text-shadow:0 .3em 1em rgba(255,255,255,.15),0 0 1.5em rgba(255,255,255,.1);filter:brightness(1.4)}.map-char.invisible{color:#92929299;pointer-events:none}.map-char.path-tile{color:#ffb464;text-shadow:0 0 8px rgba(255,180,100,.6)}.map-char.path-destination{color:#ffb464;text-shadow:0 0 12px rgba(255,180,100,.8);font-weight:700}.map-tooltip{position:absolute;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:15px 27px;background:#3636384d;border-radius:34px;backdrop-filter:blur(25px) saturate(200%);-webkit-backdrop-filter:blur(25px) saturate(200%);pointer-events:none;z-index:100;isolation:isolate;transform:translateZ(0);box-shadow:0 0 #0003}.map-tooltip-item{font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:600;font-size:15px;color:#b9b9b9b3;line-height:1.2;letter-spacing:0;text-align:left;white-space:nowrap}@media(max-width:768px){.map-panel-container{display:none}}.map-fullscreen-overlay{display:none}@media(max-width:768px){.map-fullscreen-overlay{display:flex;position:fixed;inset:0;z-index:10000;background:#0a0a0af2;backdrop-filter:blur(30px) saturate(200%);-webkit-backdrop-filter:blur(30px) saturate(200%);align-items:center;justify-content:center;overflow:auto;-webkit-overflow-scrolling:touch}.map-fullscreen-inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:60px 16px 120px;box-sizing:border-box;overflow:auto}.map-panel-fullscreen{--map-scale: 1.2;background:#2b2b2b66;border-radius:calc(24px * var(--map-scale));padding:calc(30px * var(--map-scale));max-width:100%;overflow:visible}}.debug-indicator{position:fixed;bottom:20px;left:20px;padding:12px 16px;background:#1e1e1ee6;border:1px solid rgba(255,255,255,.1);border-radius:12px;font-family:SF Mono,Menlo,monospace;font-size:12px;color:#e0e0e0;z-index:9999;min-width:180px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.debug-header{font-weight:600;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1);color:#fff}.debug-status{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-weight:500}.debug-circle{width:12px;height:12px;border-radius:50%;transition:all .15s ease}.debug-pos{color:#a0a0a0;margin-bottom:8px}.debug-events{display:flex;flex-direction:column;gap:4px;max-height:100px;overflow-y:auto}.debug-event{display:flex;align-items:center;gap:6px;font-size:11px;color:#888}.debug-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.animating-message{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:600;font-size:16px;line-height:1.4;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;pointer-events:none;will-change:transform;transform:translateZ(0)}.animating-message.user-text{color:#3c3c3c}.animating-message.default-text{color:#737373}.invite-page{min-height:100vh;width:100%;background-color:#000;display:flex;align-items:center;justify-content:center;overflow:hidden}.master-control{--master-scale: 1.3;--master-x: 0px;--master-y: 80px;transform:translate(var(--master-x),var(--master-y)) scale(var(--master-scale));transform-origin:center center}.invite-content{display:flex;flex-direction:column;align-items:center;position:relative;width:100%;max-width:1200px;padding:2rem}.invite-text{position:absolute;top:-100px;left:50%;transform:translate(-50%);text-align:left;z-index:2}.invite-title{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:128px;font-weight:400;color:#cecece;margin:0;line-height:1;letter-spacing:-2px;position:relative;left:-28px}.invite-subtitle{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:22.6px;font-weight:400;color:#757575;margin:16px 0 0;line-height:1.4;position:relative;left:-20px}.invite-letter{position:relative;display:flex;align-items:center;justify-content:center;margin:0}.letter-image{width:920px;height:auto;position:relative;z-index:1;border-style:solid;border-width:1px;border-color:#000}.invite-button{position:absolute;bottom:30px;left:50%;transform:translate(-50%);background:transparent;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:transform .4s cubic-bezier(.34,1.56,.64,1);z-index:2}.invite-button:hover{transform:translate(-50%) translateY(-8px)}.invite-button:active{transform:translate(-50%) translateY(-4px);transition-duration:.1s}.invite-button:focus{outline:none}.invite-button:focus-visible{outline:2px solid #757575;outline-offset:8px;border-radius:50%}.hand-icon{width:72px;height:72px;opacity:.7;transition:opacity .3s ease}.invite-button:hover .hand-icon{opacity:.85}@media(max-width:768px){.invite-title{font-size:72px}.invite-subtitle{font-size:18px}.invite-text{top:60px}.letter-image{width:380px}.invite-button{bottom:40px}.hand-icon{width:56px;height:56px}}@media(max-width:480px){.invite-title{font-size:56px}.invite-subtitle{font-size:16px}.invite-text{top:40px}.letter-image{width:300px}.invite-button{bottom:30px}}.debug-panel{max-width:900px;margin:0 auto;padding:2rem}header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #333}header h1{margin:0;font-size:1.8rem;color:#e0e0e0}.subtitle{margin:.25rem 0 0;color:#888;font-size:.9rem}section{margin-bottom:2rem}section h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#666;margin-bottom:.75rem}.config-display{background:#1a1a1a;padding:1rem 1.25rem;border-radius:8px;border:1px solid #2a2a2a}.config-item{display:flex;align-items:center;gap:.75rem;padding:.35rem 0}.config-item .label{color:#888;font-size:.85rem;min-width:100px}.config-item code{background:#252525;padding:.25rem .5rem;border-radius:4px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;color:#4ade80}.button-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.debug-actions button{background:#252525;border:1px solid #333;color:#e0e0e0;padding:.6rem 1rem;border-radius:6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem;cursor:pointer;transition:all .15s ease}.debug-actions button:hover{background:#2a2a2a;border-color:#4ade80;color:#4ade80}.debug-actions button:active{transform:scale(.98)}.response-area{background:#0d0d0d;border:1px solid #222;border-radius:8px;overflow:hidden}.response-area h2{padding:.75rem 1rem;margin:0;background:#151515;border-bottom:1px solid #222}.loading{padding:2rem;text-align:center;color:#888}.error{padding:1rem;background:#ef44441a;color:#f87171;border-left:3px solid #ef4444;margin:1rem;border-radius:0 4px 4px 0;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem}.response{padding:1rem}.response-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #222}.status{padding:.25rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;font-family:JetBrains Mono,Fira Code,monospace}.status-2xx{background:#4ade8026;color:#4ade80}.status-3xx{background:#facc1526;color:#facc15}.status-4xx{background:#fb923c26;color:#fb923c}.status-5xx{background:#ef444426;color:#f87171}.url{color:#666;font-size:.8rem;font-family:JetBrains Mono,Fira Code,monospace}.response pre{background:#111;padding:1rem;border-radius:6px;overflow-x:auto;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem;line-height:1.5;color:#a3e635;margin:0}.placeholder{padding:2rem;text-align:center;color:#555;font-size:.9rem}
