:root{color-scheme:dark;--ink: #111b2a;--ink-soft: #172538;--ink-raised: #1d3045;--gold: #e7c66e;--gold-light: #f2dda0;--paper: #f4f0e6;--paper-muted: #c9c8c1;--muted: #a1adbb;--line: rgba(226, 218, 194, .15);--line-strong: rgba(226, 218, 194, .32);--danger: #ffc2ae;--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", sans-serif;font-family:var(--font-body);background:var(--ink);color:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{background:var(--ink)}body{margin:0;min-width:320px;min-height:100dvh;background:var(--ink)}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,#slide-frame:focus-visible{outline:3px solid var(--gold-light);outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100dvh}.pin-screen{min-height:100dvh;display:grid;grid-template-columns:minmax(340px,455px) minmax(250px,1fr);align-items:center;gap:clamp(50px,10vw,160px);padding:clamp(32px,7.5vw,108px);position:relative;overflow:hidden;background:radial-gradient(ellipse at 82% 49%,rgba(231,198,110,.07),transparent 31%),linear-gradient(112deg,#111b2a,#142136 62%,#172337)}.pin-screen:before{content:"";position:absolute;width:min(54vw,660px);aspect-ratio:1;border:1px solid rgba(231,198,110,.13);border-radius:50%;right:3%;top:50%;transform:translateY(-50%);box-shadow:0 0 0 54px #e7c66e06,0 0 0 108px #e7c66e05,0 0 0 162px #e7c66e03;pointer-events:none}.pin-card{position:relative;z-index:1;width:100%;max-width:420px}.brand-mark{width:46px;height:46px;border:1px solid rgba(231,198,110,.78);border-radius:50%;display:grid;place-items:center;position:relative;color:var(--gold);font-size:10px;font-weight:750;letter-spacing:-.08em}.brand-mark i{width:6px;height:6px;border-radius:50%;background:var(--gold);position:absolute;right:-2px;bottom:5px;box-shadow:0 0 0 3px var(--ink)}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:.17em;line-height:1.5;font-weight:750;margin:0 0 10px}.pin-card>.eyebrow{margin-top:24px}.pin-card h1,.story-copy h1{font-family:var(--font-display);font-size:clamp(40px,3.4vw,48px);line-height:1.08;font-weight:500;letter-spacing:-.04em;margin:0}.pin-intro{font-size:15px;color:var(--paper-muted);line-height:1.65;margin:15px 0 21px;max-width:355px}.pin-card input{width:100%;border:1px solid var(--line-strong);border-radius:8px;background:#070e1857;height:56px;color:var(--paper);padding:0 17px;font-size:16px;letter-spacing:.14em;transition:border-color .18s ease,background .18s ease}.pin-card input:focus{border-color:var(--gold);background:#070e1894}.pin-card input::placeholder{letter-spacing:0;color:#adb5bf}.field-hint{font-size:11px;line-height:1.55;color:#b8c0c9;margin:7px 0 12px}.ai-disclosure{border-left:2px solid var(--gold);padding:3px 0 3px 12px;margin:0 0 10px;color:#c9cfd5;font-size:11px;line-height:1.6}.ai-disclosure strong{color:var(--gold-light)}.direct-contact{color:var(--paper-muted);font-size:11px;line-height:1.7;margin:0 0 12px}.direct-contact a,.success-contact a{color:var(--gold-light);text-underline-offset:3px}.direct-contact a:hover,.success-contact a:hover{color:#fff2bf}.error-note{min-height:0;font-size:12px;line-height:1.5;color:var(--danger);margin:0}.error-note:not(:empty){padding:0 0 12px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 0 13px}.keypad button{min-height:48px;background:#ffffff0b;border:1px solid rgba(226,218,194,.16);border-radius:8px;font-size:17px;transition:background .18s ease,border-color .18s ease,transform .18s ease;cursor:pointer}.keypad button:hover{background:#e7c66e1f;border-color:#e7c66e8c}.keypad button:active{transform:scale(.97)}.keypad .keypad-utility{color:var(--gold-light);font-size:13px}.primary-button{border:0;color:#1a2027;background:var(--gold);min-height:52px;border-radius:8px;padding:0 18px;font-weight:750;cursor:pointer;display:flex;gap:14px;justify-content:center;align-items:center;transition:background .18s ease,transform .18s ease,opacity .18s ease}.primary-button:hover{background:var(--gold-light)}.primary-button:active{transform:translateY(1px)}.primary-button:disabled,.lock-button:disabled{opacity:.55;cursor:wait}.pin-submit{width:100%}.pin-submit span:last-child{font-size:20px;font-weight:400}.secure-caption{margin-top:14px;color:#b6bec7;font-size:11px;display:flex;align-items:center;gap:9px}.lock-symbol{width:11px;height:9px;border:1.5px solid currentColor;border-radius:2px;display:inline-block;position:relative;flex:0 0 auto}.lock-symbol:before{content:"";position:absolute;width:5px;height:5px;border:1.5px solid currentColor;border-bottom:0;border-radius:5px 5px 0 0;left:1.5px;top:-6px}.pin-aside{position:relative;z-index:1;align-self:center;max-width:440px;margin-top:95px}.aside-rule{height:1px;width:76px;background:var(--gold);margin-bottom:24px}.pin-aside p{font-family:var(--font-display);font-size:clamp(28px,3.3vw,44px);line-height:1.25;margin:0;color:var(--paper)}.pin-aside em{color:var(--gold);font-weight:500}.aside-index{display:inline-block;margin-top:40px;font-size:10px;letter-spacing:.15em;color:#aab3bf}.conversation{min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 16% 9%,rgba(231,198,110,.055),transparent 34%),var(--ink)}.topbar{min-height:76px;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px}.wordmark{display:flex;align-items:center;gap:11px;color:var(--paper);text-decoration:none}.wordmark strong{font:600 16px/1.15 var(--font-display);letter-spacing:-.015em}.brand-mark.small{width:38px;height:38px;font-size:9px}.topbar-tagline{color:var(--paper-muted);font-family:var(--font-display);font-size:15px;margin:0}.lock-button{min-height:46px;padding:0 14px;border:1px solid var(--line-strong);background:transparent;border-radius:7px;color:var(--paper-muted);display:flex;align-items:center;gap:10px;font-size:12px;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease}.lock-button:hover{color:var(--gold-light);border-color:var(--gold);background:#e7c66e0d}.workspace{width:min(1120px,100%);flex:1;margin:0 auto;padding:clamp(34px,5vw,66px) clamp(22px,4vw,60px);display:grid;grid-template-columns:minmax(0,.86fr) minmax(440px,1.14fr);gap:clamp(34px,5vw,64px);align-items:start}.story-panel{min-width:0;padding-top:3px}.story-heading{display:grid;grid-template-columns:138px 1fr;gap:18px;align-items:center;min-height:174px}.mascot-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;position:relative}.mascot{width:125px;height:125px;overflow:visible}.mascot-body{fill:var(--gold);stroke:#f6df9c;stroke-width:1.2}.mascot-shadow{fill:#e7c66e1a}.mascot-highlight{fill:#fff8da85}.mascot-eye{fill:#172136}.mascot-mouth,.mascot-happy-mouth,.mascot-thinking{fill:none;stroke:#172136;stroke-width:2.5;stroke-linecap:round}.mascot-happy-eye{display:none;fill:none;stroke:#172136;stroke-width:3.5;stroke-linecap:round}.mascot-happy-mouth{display:none;stroke-width:3.5}.mascot-thinking{display:none}.mascot[data-mood=idle]{animation:mascot-float 4.4s ease-in-out infinite}.mascot[data-mood=idle] .mascot-eye{transform-box:fill-box;transform-origin:center;animation:mascot-blink 5.8s ease-in-out infinite}.mascot[data-mood=thinking] .mascot-mouth{display:none}.mascot[data-mood=thinking] .mascot-thinking{display:block;transform:translateY(-3px)}.mascot[data-mood=thinking] .mascot-eye{transform:translateY(-3px)}.mascot[data-mood=thinking]{animation:mascot-float 2.5s ease-in-out infinite}.mascot[data-mood=happy] .mascot-mouth{display:none}.mascot[data-mood=happy] .mascot-happy-mouth{display:block}.mascot[data-mood=happy] .mascot-eye{display:none}.mascot[data-mood=happy] .mascot-happy-eye{display:block}.mascot[data-mood=happy]{animation:mascot-bounce .62s ease-out 2}.mascot[data-mood=celebration] .mascot-mouth,.mascot[data-mood=celebration] .mascot-eye{display:none}.mascot[data-mood=celebration] .mascot-happy-mouth,.mascot[data-mood=celebration] .mascot-happy-eye{display:block}.mascot[data-mood=celebration]{animation:mascot-celebrate .72s ease-out 3}@keyframes mascot-float{50%{transform:translateY(-5px)}}@keyframes mascot-blink{0%,45%,49%,to{transform:scaleY(1)}47%{transform:scaleY(.12)}}@keyframes mascot-bounce{45%{transform:translateY(-9px)}}@keyframes mascot-celebrate{40%{transform:translateY(-15px) rotate(-4deg) scale(1.08)}70%{transform:translateY(-5px) rotate(4deg) scale(1.02)}}.thinking-dots{display:none;position:absolute;top:5px;right:0;align-items:center;gap:4px}.mascot[data-mood=thinking]+.thinking-dots{display:flex}.thinking-dots i{display:block;width:5px;height:5px;border-radius:50%;background:var(--gold);animation:dots 1s ease-in-out infinite}.thinking-dots i:nth-child(2){animation-delay:.16s}.thinking-dots i:nth-child(3){animation-delay:.32s}.answer-sparkles{position:absolute;inset:2px;display:none;pointer-events:none}.mascot-wrap.answer-sparkle .answer-sparkles{display:block}.answer-sparkles i,.celebration-sparkles i{position:absolute;width:7px;height:7px;background:var(--gold-light);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:sparkle .9s ease-out both}.answer-sparkles i:nth-child(1){left:5px;top:29px}.answer-sparkles i:nth-child(2){right:4px;top:42px;animation-delay:.1s}.answer-sparkles i:nth-child(3){right:16px;bottom:26px;animation-delay:.2s}@keyframes sparkle{0%{opacity:0;transform:scale(.2) rotate(-20deg)}35%{opacity:1;transform:scale(1.15) rotate(15deg)}to{opacity:.75;transform:scale(.75) rotate(45deg)}}.mascot-status{color:#b6bec8;font-size:9px;display:flex;align-items:center;gap:5px}.status-dot{height:6px;width:6px;background:var(--gold);border-radius:50%}.story-copy .eyebrow{margin-bottom:9px}.story-copy h1{font-size:clamp(29px,3vw,40px);overflow-wrap:anywhere}.story-copy>p:last-child{font-size:12px;color:var(--paper-muted);line-height:1.7;max-width:310px;margin:11px 0 0}.slide-frame{margin-top:22px;border-top:1px solid var(--line-strong);padding:20px 0 0}.slide-kicker{display:flex;gap:11px;align-items:center;color:#b8bec7;font-size:9px;letter-spacing:.14em;font-weight:650}.slide-kicker>span:first-child{color:var(--gold);font-variant-numeric:tabular-nums}.kicker-line{width:30px;height:1px;background:#e7c66e7a}.slide-frame h2{font:500 clamp(27px,3vw,36px)/1.2 var(--font-display);letter-spacing:-.025em;margin:22px 0 12px}.slide-frame>p{color:var(--paper-muted);font-size:13px;line-height:1.85;max-width:510px;min-height:116px;margin:0}.slide-foot{display:flex;align-items:center;gap:12px;margin-top:18px}.arrow-button{height:46px;width:46px;border-radius:50%;color:var(--gold);border:1px solid var(--line-strong);background:transparent;cursor:pointer;font-size:19px;transition:border-color .18s ease,background .18s ease}.arrow-button:hover{border-color:var(--gold);background:#e7c66e14}.slide-dots{display:flex;gap:8px;align-items:center}.slide-dot{width:9px;height:9px;padding:0;background:#768190;border:0;border-radius:50%;cursor:pointer}.slide-dot[aria-current=true]{background:var(--gold);width:24px;border-radius:9px}.slide-dot:focus-visible{outline-offset:4px}.story-note{color:#a8b1bd;font-size:10px;margin-top:13px}.story-note span:first-child{color:var(--gold);padding:0 5px}.chat-panel{position:relative;overflow:hidden;min-height:min(740px,calc(100dvh - 122px));display:flex;flex-direction:column;background:linear-gradient(145deg,#19293df5,#132132f7);border:1px solid rgba(226,218,194,.18);border-radius:14px;padding:clamp(20px,2.2vw,28px);box-shadow:0 24px 66px #00000038}.chat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.chat-head .eyebrow{margin-bottom:7px}.chat-head h2{font:500 23px/1.3 var(--font-display);margin:0}.private-badge{color:#c7ced6;border:1px solid rgba(226,218,194,.22);border-radius:50px;padding:8px 10px;display:inline-flex;align-items:center;gap:7px;font-size:9px;flex:0 0 auto}.progress-list{padding:0;margin:25px 0 20px;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);position:relative}.progress-list:before{content:"";position:absolute;height:1px;background:#e2dac233;top:14px;left:12%;right:12%}.progress-list li{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;color:#adb6c2;font-size:9px;text-align:center;white-space:nowrap}.progress-list li>span:first-child{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#283a4f;border:1px solid #536174;font-size:9px;z-index:1}.progress-list li.is-current{color:var(--gold-light)}.progress-list li.is-current>span:first-child{background:var(--gold);color:#101725;border-color:var(--gold)}.progress-list li.is-complete>span:first-child{color:var(--gold-light);border-color:var(--gold);background:#383a31}.transcript{flex:1 1 auto;min-height:210px;max-height:min(430px,43dvh);overflow-y:auto;padding:5px 2px 14px;display:flex;flex-direction:column;gap:13px;scrollbar-color:#617085 transparent;scrollbar-width:thin}.message{width:fit-content;max-width:88%;border-radius:12px 12px 12px 3px;padding:12px 15px;font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.message.assistant{background:#263b52;color:#f2f0e9;border:1px solid rgba(226,218,194,.1);align-self:flex-start}.message.user{background:var(--gold);color:#171e27;border-radius:12px 12px 3px;align-self:flex-end;font-weight:550}.message-label{color:#c2cad3;font-size:8px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}.message.user .message-label{color:#514521}.thinking{display:flex;align-items:center;gap:4px;width:fit-content;padding:12px 15px;border-radius:10px;background:#263b52;margin-bottom:10px}.thinking>span:not(.sr-only){width:5px;height:5px;background:var(--gold);border-radius:50%;animation:dots 1.1s ease-in-out infinite}.thinking>span:nth-child(2){animation-delay:.15s}.thinking>span:nth-child(3){animation-delay:.3s}@keyframes dots{50%{opacity:.3;transform:translateY(-3px)}}.chat-alert{border-left:2px solid var(--danger);padding:9px 12px;margin:0 0 11px;color:var(--danger);font-size:11px;line-height:1.6;background:#ffc2ae12}.confirmation-card{border:1px solid rgba(231,198,110,.52);background:#e7c66e14;border-radius:10px;padding:17px;margin:4px 0 14px}.confirmation-card .eyebrow{margin-bottom:4px}.confirmation-card h3{font:500 21px var(--font-display);margin:0 0 14px}.confirmation-card dl{display:grid;grid-template-columns:112px 1fr;gap:10px 13px;margin:0;font-size:11px;line-height:1.55}.confirmation-card dt{color:#c2c6cb}.confirmation-card dd{color:var(--paper);margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.confirm-note{font-size:10px;color:#d2d0c8;margin:14px 0}.confirm-actions{display:flex;flex-wrap:wrap;gap:9px}.confirm-actions .primary-button{min-height:49px;font-size:13px}.secondary-button{border:1px solid var(--line-strong);background:transparent;color:var(--paper);border-radius:7px;min-height:49px;padding:0 14px;font-size:13px;cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease}.secondary-button:hover{border-color:var(--gold);color:var(--gold-light);background:#e7c66e0d}.secondary-button:disabled{opacity:.55;cursor:wait}.success-card{display:flex;align-items:center;gap:13px;border:1px solid rgba(231,198,110,.46);border-radius:9px;padding:14px 15px;margin-bottom:12px;background:#e7c66e17}.success-mark{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#15202d;background:var(--gold);font-weight:750;flex:0 0 auto}.success-card strong{font-size:12px;color:var(--gold-light)}.success-card p{font-size:11px;line-height:1.55;margin:4px 0 0;color:var(--paper-muted)}.success-contact{flex-wrap:wrap;gap:10px 16px;margin-top:10px;font-size:11px;line-height:1.5}.success-contact:not([hidden]){display:flex}.composer{display:flex;align-items:end;gap:9px;padding:8px;border:1px solid var(--line-strong);border-radius:10px;background:#09111d94;transition:border-color .18s ease,background .18s ease}.composer:focus-within{border-color:#e7c66ecc;background:#09111dc7}.composer textarea{display:block;min-height:44px;max-height:120px;field-sizing:content;overflow-y:auto;resize:none;flex:1;border:0;outline:none;background:transparent;color:var(--paper);padding:11px 9px;font-size:13px;line-height:1.5}.composer textarea::placeholder{color:#aeb8c4}.send-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:102px;height:49px;border:0;border-radius:7px;color:#171e27;background:var(--gold);font-weight:750;font-size:14px;cursor:pointer;transition:background .18s ease,opacity .18s ease}.send-button:hover{background:var(--gold-light)}.send-button svg{height:17px;width:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.send-button:disabled,.composer textarea:disabled{opacity:.55;cursor:not-allowed}.composer-foot{display:flex;justify-content:space-between;gap:12px;color:#aeb8c4;font-size:9px;margin:8px 2px 0}.composer-foot strong{color:var(--gold-light)}.privacy-note{border-top:1px solid rgba(226,218,194,.13);padding-top:13px;color:#aab4c0;font-size:9px;line-height:1.6;margin:15px 0 0}.celebration-sparkles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3}.celebration-sparkles i{width:11px;height:11px}.celebration-sparkles i:nth-child(1){left:8%;top:35%;animation-delay:0ms}.celebration-sparkles i:nth-child(2){left:28%;top:18%;animation-delay:90ms}.celebration-sparkles i:nth-child(3){right:12%;top:25%;animation-delay:.17s}.celebration-sparkles i:nth-child(4){right:25%;top:49%;animation-delay:.24s}.celebration-sparkles i:nth-child(5){left:16%;top:65%;animation-delay:.31s}.celebration-sparkles i:nth-child(6){right:8%;top:70%;animation-delay:.38s}.celebration-sparkles i:nth-child(7){left:49%;top:11%;animation-delay:.45s}.success-card.celebrate{animation:success-arrive .65s ease-out both}@keyframes success-arrive{0%{opacity:.45;transform:translateY(8px) scale(.97)}65%{opacity:1;transform:translateY(-2px) scale(1.015)}to{transform:translateY(0) scale(1)}}@media(min-width:1100px)and (min-height:880px){.chat-panel{min-height:680px}}@media(max-width:900px){.pin-screen{grid-template-columns:minmax(320px,455px) 1fr;gap:48px;padding-inline:clamp(28px,6vw,60px)}.workspace{grid-template-columns:1fr;gap:30px;max-width:720px}.story-heading{min-height:160px}.slide-frame>p{min-height:auto}.chat-panel{min-height:620px}}@media(max-width:640px){.pin-screen{display:block;min-height:100dvh;padding:max(26px,env(safe-area-inset-top)) 22px max(26px,env(safe-area-inset-bottom))}.pin-screen:before{width:380px;right:-230px;top:22%;transform:none}.pin-card{max-width:430px;margin:0 auto}.pin-card>.eyebrow{margin-top:24px}.pin-card h1{font-size:clamp(38px,10vw,48px)}.pin-intro{font-size:14px;margin:14px 0 22px}.keypad{gap:8px}.keypad button{min-height:48px}.pin-aside{display:none}.topbar{min-height:65px;padding:0 15px;gap:10px}.topbar-tagline{display:none}.wordmark{gap:9px}.wordmark strong{font-size:14px}.brand-mark.small{height:35px;width:35px}.lock-button{padding:0 11px;min-height:45px;font-size:11px}.workspace{padding:24px 15px max(28px,env(safe-area-inset-bottom));gap:23px}.story-heading{grid-template-columns:92px 1fr;gap:11px;min-height:130px}.mascot{height:91px;width:91px}.story-copy h1{font-size:clamp(25px,7vw,32px)}.story-copy>p:last-child{font-size:11px;margin-top:7px}.story-copy .eyebrow{font-size:8px}.slide-frame{margin-top:16px;padding-top:17px}.slide-frame h2{margin-top:18px}.slide-frame>p{min-height:0;font-size:12px;line-height:1.75}.slide-foot{margin-top:18px}.arrow-button{height:46px;width:46px}.chat-panel{min-height:min(700px,78dvh);padding:18px 14px 15px;border-radius:11px}.chat-head h2{font-size:20px}.private-badge{padding:7px 8px;font-size:8px}.progress-list{margin:22px 0 18px}.progress-list li{font-size:8px;white-space:normal;line-height:1.25;max-width:72px}.progress-list li>span:first-child{width:29px;height:29px}.transcript{max-height:45dvh;min-height:190px}.message{max-width:95%}.composer textarea{font-size:16px}.send-button{min-width:82px}.composer-foot{font-size:8px;align-items:flex-start}.privacy-note{font-size:9px}.confirmation-card{padding:14px}.confirmation-card dl{grid-template-columns:1fr;gap:4px}.confirmation-card dd{margin-bottom:7px}.confirm-actions{flex-direction:column}.confirm-actions>button{width:100%;min-height:50px}}@media(max-width:370px){.pin-screen{padding-inline:17px}.story-heading{grid-template-columns:78px 1fr}.mascot{width:78px;height:78px}.chat-panel{padding-inline:11px}.progress-list li{font-size:7px}.private-badge{gap:5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
