:root{--font-mono: "Consolas", "Menlo", "Monaco", "Courier New", monospace;--topbar-height: 3rem;--color-warm-narrative: #A6563E;--color-gentle-bond: #D7CCC8;--color-inspired-path: #8A55A5;--color-anchor: var(--color-warm-narrative);--color-support: var(--color-gentle-bond);--color-brand-accent: var(--color-inspired-path)}html[data-theme=light]{--color-bg: #F5F0E6;--color-text: #241A14;--color-accent: #241A14;--color-bg-rgb: 245, 240, 230;--color-text-rgb: 36, 26, 20;--color-surface-raised: #FFFCF5;--color-on-surface-raised: #241A14;--color-surface-sunken: #EBE3D5;--color-error: #8C2F2F;--tint-selected: rgba(var(--color-text-rgb), .08);color-scheme:light}html[data-theme=dark]{--color-bg: #000000;--color-text: #ffffff;--color-accent: #ffffff;--color-bg-rgb: 0, 0, 0;--color-text-rgb: 255, 255, 255;--color-surface-raised: #EDEDED;--color-on-surface-raised: #101010;--color-surface-sunken: #0A0A0A;--color-error: #FFB4B4;--tint-selected: rgba(var(--color-text-rgb), .1);color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}html{width:100%;min-width:100vw;height:100%}body{width:100%;min-width:100vw;height:100%;margin:0;overflow:hidden;background:var(--color-bg);color:var(--color-text);font-family:var(--font-mono);font-size:clamp(1rem,2vw,1.5rem);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}#root{position:relative;z-index:0;width:100%;min-width:100vw;height:100%;display:block}.app-container{width:100vw;min-width:100%;height:100vh;position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg);overflow:hidden;transition:background-color 1s ease-out;box-sizing:border-box;padding-top:var(--topbar-height)}.listen-page-shell{align-items:flex-start}.top-bar{position:fixed;top:0;left:0;right:0;height:var(--topbar-height);display:flex;align-items:center;justify-content:flex-end;padding:0 1rem;background:var(--color-bg);z-index:1500;box-sizing:border-box}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:.2rem;background:transparent;border:1px solid rgba(var(--color-text-rgb),.3);color:var(--color-text);cursor:pointer}.theme-toggle svg{width:34px;height:34px}.theme-toggle:hover{background:var(--color-text);color:var(--color-bg)}.theme-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion: no-preference){.theme-toggle{transition:background-color .3s ease,color .3s ease}}#ghost-portal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999999;pointer-events:none}#ghost-portal-root *{pointer-events:auto}.app-container>.connect-content{flex:0 0 100%;width:100%;max-width:800px;padding:2rem;text-align:left;letter-spacing:.05em;line-height:1.8;box-sizing:border-box}.connect-portal-buttons{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:1.5rem}.connect-portal-btn{display:inline-block;background:transparent;border:2px solid var(--color-text);color:var(--color-text);font-family:var(--font-mono);font-size:clamp(1rem,2vw,1.2rem);padding:.9rem 1.5rem;cursor:pointer;letter-spacing:.1em;transition:all .3s ease;text-transform:lowercase;text-decoration:none}.connect-portal-btn:hover:not(:disabled){background:var(--color-text);color:var(--color-bg)}.connect-portal-btn:disabled{opacity:1;cursor:not-allowed;border-color:rgba(var(--color-text-rgb),.3);color:rgba(var(--color-text-rgb),.48);background:rgba(var(--color-text-rgb),.06)}.connect-portal-btn:disabled:focus{outline:none}.connect-auth-form{display:flex;flex-direction:column;gap:.65rem;width:min(32rem,100%)}.connect-auth-input{width:100%;background:var(--color-surface-raised);border:2px solid var(--color-text);color:var(--color-on-surface-raised);font-family:var(--font-mono);font-size:clamp(1rem,2vw,1.2rem);letter-spacing:.05em;padding:.9rem 1rem;box-sizing:border-box}.connect-auth-input:focus{outline:2px solid var(--color-accent);outline-offset:2px}.connect-auth-input:read-only{opacity:.55;border-color:rgba(var(--color-text-rgb),.38);background:var(--color-surface-raised)}.connect-auth-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.connect-portal-buttons .connect-portal-btn-text{color:rgba(var(--color-text-rgb),.8);text-decoration:none;font-size:clamp(1rem,2vw,1.2rem);letter-spacing:.1em;border-bottom:1px solid rgba(var(--color-text-rgb),.35);padding-bottom:.2rem;text-transform:lowercase;background:transparent;border-top:0;border-left:0;border-right:0;cursor:pointer;font-family:var(--font-mono)}.connect-auth-message,.connect-auth-error{margin:0;font-size:.95rem;letter-spacing:.04em}.connect-auth-message{opacity:.85}.connect-auth-confirmation{margin:.5rem 0 0;padding:.8rem 1rem;border-left:3px solid rgba(var(--color-text-rgb),.82);background:rgba(var(--color-text-rgb),.08);font-size:1.08rem;letter-spacing:.035em;line-height:1.45}.connect-auth-confirmation p{margin:0}.connect-auth-confirmation p+p{margin-top:.3rem;font-size:.86rem;opacity:.72}#ghost-portal-root iframe[data-testid=portal-notification-frame],#ghost-portal-root iframe.gh-portal-notification-iframe{display:none!important}.connect-auth-error{color:var(--color-error)}.connect-portal-hint{margin:-.5rem 0 1.5rem;font-size:.85rem;opacity:.7;letter-spacing:.03em}.ghost-portal-triggers{display:none;position:fixed;left:50%;transform:translate(-50%);flex-wrap:wrap;gap:1rem;align-items:center;justify-content:center;z-index:1000;pointer-events:auto;max-width:min(800px,calc(100vw - 4rem));width:100%;box-sizing:border-box;padding:0 2rem}body.route-connect .app-container{align-items:flex-start}body.route-connect .app-container>.connect-content{padding-top:2rem}body.route-connect #ghost-portal-triggers.ghost-portal-triggers{display:none!important}.ghost-portal-triggers button{background:transparent;border:2px solid var(--color-text);color:var(--color-text);font-family:var(--font-mono);font-size:clamp(1rem,2vw,1.2rem);padding:.9rem 1.5rem;cursor:pointer;letter-spacing:.1em;transition:all .3s ease;text-transform:lowercase}.ghost-portal-triggers button:hover{background:var(--color-text);color:var(--color-bg)}.ghost-portal-triggers button[data-portal=signin]{border-color:rgba(var(--color-text-rgb),.35)}.app-container>div{user-select:text!important;-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important}.app-container.flash-white{background-color:rgba(var(--color-text-rgb),.8);animation:flashFade 2.1s cubic-bezier(.4,0,.2,1)}@keyframes flashFade{0%{background-color:rgba(var(--color-text-rgb),.8)}4.76%{background-color:rgba(var(--color-text-rgb),.8)}to{background-color:var(--color-bg)}}.play-button{background:transparent;border:2px solid var(--color-text);color:var(--color-text);font-family:var(--font-mono);font-size:clamp(1rem,2vw,1.5rem);padding:1.5rem 3rem;cursor:pointer;letter-spacing:.1em;transition:all .3s ease;text-transform:lowercase;display:flex;align-items:center;justify-content:center}.play-button:hover{background:var(--color-text);color:var(--color-bg)}.play-button:active{transform:scale(.95)}.time-counter{position:fixed;top:1rem;right:1rem;font-size:clamp(.75rem,1.5vw,1rem);opacity:.5;letter-spacing:.05em;z-index:10}.debug-buttons{position:fixed;bottom:1rem;left:1rem;display:flex;gap:.5rem;z-index:10}.debug-pause-button{background:transparent;border:2px solid var(--color-text);color:var(--color-text);font-family:var(--font-mono);font-size:clamp(.75rem,1.5vw,1rem);padding:.5rem 1rem;cursor:pointer;letter-spacing:.1em;transition:all .3s ease;text-transform:lowercase;opacity:.5}.debug-pause-button:hover{background:var(--color-text);color:var(--color-bg);opacity:1}.debug-stop-button{background:transparent;border:2px solid var(--color-text);color:var(--color-text);font-family:var(--font-mono);font-size:clamp(.75rem,1.5vw,1rem);padding:.5rem 1rem;cursor:pointer;letter-spacing:.1em;transition:all .3s ease;text-transform:lowercase;opacity:.5}.debug-stop-button:hover{background:var(--color-text);color:var(--color-bg);opacity:1}.text-display{text-align:center;letter-spacing:.1em;line-height:1.4;text-shadow:0 1px 2px rgba(var(--color-bg-rgb),.9);position:relative;animation:none!important;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%}.input-container-below{position:absolute;top:calc(50% + 1.5rem);left:50%;transform:translate(-50%);width:100%;max-width:400px}.form-screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;position:relative}.name-form{display:flex;flex-direction:column;align-items:center;width:100%;max-width:400px;gap:1rem}.greeting{margin-bottom:1rem;text-align:center;letter-spacing:.1em;opacity:.9;text-shadow:0 1px 2px rgba(var(--color-bg-rgb),.9)}.form-label{text-align:center;letter-spacing:.1em;margin-bottom:1rem;text-shadow:0 1px 2px rgba(var(--color-bg-rgb),.9);width:100%}.form-input{width:100%;max-width:400px;background:transparent;border:none;border-bottom:2px solid var(--color-text);color:var(--color-text);font-family:var(--font-mono);font-size:clamp(1rem,2vw,1.5rem);padding:1rem 0;text-align:center;outline:none;letter-spacing:.05em;transition:border-color .3s ease}.form-input:focus{border-bottom-color:var(--color-accent)}.form-input::placeholder{color:rgba(var(--color-text-rgb),.35);opacity:1}textarea.form-input{padding:1rem;text-align:left;line-height:1.5}.submit-button{margin-top:2rem;background:transparent;border:2px solid var(--color-text);color:var(--color-text);font-family:var(--font-mono);font-size:clamp(1rem,2vw,1.5rem);padding:1rem 3rem;cursor:pointer;letter-spacing:.1em;transition:all .3s ease;text-transform:lowercase;display:flex;align-items:center;justify-content:center;align-self:center}.submit-button:hover{background:var(--color-text);color:var(--color-bg)}.submit-button:active{transform:scale(.95)}.conversational-text{text-align:center;letter-spacing:.1em;line-height:1.6;margin:1rem 0;opacity:1!important;transform:none!important;animation:none!important}.glow-text{text-shadow:0 0 10px rgba(var(--color-text-rgb),.35),0 0 20px rgba(var(--color-text-rgb),.22),0 0 30px rgba(var(--color-text-rgb),.12);transition:opacity .1s ease-out}.typing-indicator{display:inline-block;animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.yes-no-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}.yes-no-button{background:transparent;border:2px solid var(--color-text);color:var(--color-text);font-family:var(--font-mono);font-size:clamp(1rem,2vw,1.5rem);padding:1rem 2rem;cursor:pointer;letter-spacing:.1em;transition:all .3s ease;text-transform:lowercase;min-width:120px}.yes-no-button:hover{background:var(--color-text);color:var(--color-bg)}.yes-no-button:active{transform:scale(.95)}.timeline-container{position:fixed;bottom:60px;left:0;right:0;height:80px;background:rgba(var(--color-bg-rgb),.9);border-top:1px solid rgba(var(--color-text-rgb),.2);z-index:10;display:flex;align-items:center;padding:0 1rem}.timeline-track{position:relative;width:100%;height:4px;background:rgba(var(--color-text-rgb),.2);cursor:pointer;margin:0 auto;border-radius:2px}.timeline-progress{position:absolute;top:0;left:0;height:100%;background:var(--color-text);border-radius:2px;transition:width .1s linear}.timeline-playhead{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:var(--color-text);border-radius:50%;cursor:pointer;z-index:1;box-shadow:0 0 4px rgba(var(--color-text-rgb),.5);pointer-events:none}.timeline-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:2px;height:8px;background:rgba(var(--color-text-rgb),.6);z-index:3;cursor:pointer;pointer-events:auto}.timeline-marker:hover{background:var(--color-text);height:12px}.timeline-marker-tooltip{position:absolute;bottom:100%;margin-bottom:8px;background:var(--color-surface-sunken);border:1px solid rgba(var(--color-text-rgb),.3);padding:.5rem .75rem;border-radius:4px;white-space:nowrap;pointer-events:none;z-index:20;font-family:var(--font-mono);font-size:clamp(.7rem,1.2vw,.85rem);letter-spacing:.05em}.timeline-tooltip-time{color:rgba(var(--color-text-rgb),.8);margin-bottom:.25rem;font-weight:600}.timeline-tooltip-text{color:var(--color-text);text-transform:lowercase}@media (max-width: 768px){.play-button,.submit-button{width:60px;height:60px;border-radius:50%;padding:0}.form-input{font-size:clamp(1rem,2vw,1.5rem)}}
