:root{--ink:#283c34;--muted:#58675f;--paper:#f8f6f0;--green:#1E3A5F;--line:#dcded3;--peach:#efdcc9;--white:#fffefb}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;border-radius:9px;background:var(--green);color:white;padding:12px 19px;font-weight:600;min-height:46px}button:hover{filter:brightness(1.08)}button:disabled{cursor:default;opacity:.65}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b26834;outline-offset:4px}.prototype{background:#e7eadd;text-align:center;padding:8px 16px;font-size:13px;color:#1E3A5F}header{max-width:1280px;margin:auto;padding:25px 42px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font:600 24px Georgia,serif;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.brand-icon{background:var(--green);color:#fff;border-radius:50%;width:38px;height:38px;text-align:center;line-height:35px}.brand-note{width:100%;font:12px system-ui,sans-serif;margin-left:48px;color:var(--muted);margin-top:-8px}nav{display:flex;gap:28px;font-size:14px}nav a{text-decoration:none;padding:8px 0}nav a.active{border-bottom:2px solid var(--green)}main{max-width:1280px;margin:auto;padding:18px 42px 64px;min-height:70vh}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.12}h1{font-size:clamp(36px,4.3vw,60px);letter-spacing:-1.5px;margin-bottom:18px}h2{font-size:30px}h3{font-size:25px;margin-bottom:10px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;margin-bottom:16px;color:var(--muted)}.hero{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center;padding:34px 0 44px}.hero p{max-width:550px;color:var(--muted);font-size:18px}.hero-aside{padding:28px 34px;border-left:1px solid #c8cebf;font-size:16px}.hero-aside p{font-size:15px;margin-bottom:0}.small{font-size:13px;color:var(--muted)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.section-head h2{margin:0;font-size:28px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{background:transparent;border:1px solid var(--line);color:var(--ink);font-size:14px;padding:8px 16px;border-radius:24px}.filter.selected{background:var(--green);color:white;border-color:var(--green)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.card{background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.portrait{height:260px;position:relative;background:#e5e4dc;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.portrait.abstract{display:grid;place-items:center;background:linear-gradient(145deg,#ecebe1,var(--tone))}.initial{font:100px Georgia,serif;color:#fffdf6;opacity:.85}.portrait-caption{position:absolute;bottom:12px;left:14px;font-size:11px;color:#1E3A5F;background:#f8f6f0ee;padding:4px 9px;border-radius:14px}.pilot-label{position:absolute;top:12px;left:14px;background:#fffdf2e6;padding:4px 10px;font-size:11px;border-radius:16px}.card-content{padding:21px;flex:1;display:flex;flex-direction:column}.card-name{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.card-name h3{margin-bottom:12px}.kind{font-size:11px;color:var(--muted)}.tags{font-size:12px;color:var(--muted);margin-bottom:15px}.card p{font-size:15px;min-height:47px;margin-bottom:18px}.card button{margin-top:auto;width:100%;background:transparent;color:var(--green);border:1px solid #bac3b6}.band{margin-top:36px;display:flex;gap:32px;border-top:1px solid var(--line);padding-top:26px;justify-content:space-between}.band p{font-size:14px;color:var(--muted);max-width:280px}.band strong{display:block;margin-bottom:6px;color:var(--ink)}.back{display:inline-block;margin-bottom:24px;color:var(--muted);font-size:14px}.detail{display:grid;grid-template-columns:minmax(230px,.8fr) 1.2fr;gap:48px}.detail .portrait{height:520px;border-radius:18px;position:sticky;top:24px}.detail .portrait img{object-position:center top}.detail .initial{font-size:160px}.detail h1{margin:10px 0 14px}.lead{font-size:21px;color:var(--muted)}.quote{border-left:3px solid #b4896d;padding:12px 22px;margin:25px 0;font:23px/1.4 Georgia,serif}.subtle{color:var(--muted)}.panel{background:var(--white);border:1px solid var(--line);padding:26px;border-radius:14px;margin-top:24px}.panel h2{font-size:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;font-weight:600}label input, label select{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #bac3b6;background:#fff;border-radius:7px;color:var(--ink)}input[type=range]{padding:0;accent-color:var(--green);height:30px}.range-label{display:flex;justify-content:space-between}.check{display:flex;gap:10px;align-items:start;font-weight:400;margin-top:20px}.check input{width:19px;height:19px;margin:3px 0 0;accent-color:var(--green)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.secondary{background:transparent;color:var(--ink);border:1px solid #bfc8bb}.text-button{background:transparent;color:var(--green);text-decoration:underline;padding:8px 0;font-size:14px}.example-preview{padding:18px;background:#eef0e7;border-radius:10px;margin-top:20px}.example-preview p{margin:5px 0}.saved-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.workspace{display:grid;grid-template-columns:1fr 350px;gap:30px}.bubble{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:15px}.bubble.user{background:#e8eee1;margin-left:35px}.bubble p{margin:6px 0 0}.bubble-title{font-size:12px;color:var(--muted)}.memory-item{padding:18px 0;border-top:1px solid var(--line)}.memory-item p{margin:4px 0}.memory-item input{width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;margin-top:8px}.empty{text-align:center;max-width:580px;margin:60px auto}.empty p{color:var(--muted)}.balance{padding:30px;background:var(--green);color:white;border-radius:15px}.balance h2{font-size:50px;margin:5px 0}.balance p{margin-bottom:0;color:#dee7d9}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0}.plan{padding:28px;background:var(--white);border:1px solid var(--line);border-radius:12px}.plan strong{font:32px Georgia,serif}.plan p{color:var(--muted);margin-top:10px}.full{grid-column:1/-1}.credit-row{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding:12px 0}.source{font-size:12px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:28px 42px;display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:white;border-radius:10px;padding:14px 22px;box-shadow:0 5px 25px #0002;max-width:90vw;z-index:5;display:none}dialog{border:1px solid var(--line);border-radius:16px;max-width:520px;width:90vw;padding:30px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#14271bb0}.notice{padding:13px 16px;border-left:3px solid #af896e;background:#eee8dc;font-size:14px;color:#283c34}.error{color:#8d321c}details{margin-top:20px}summary{cursor:pointer;color:var(--green);min-height:36px}.spaced{margin-top:32px}
@media(min-width:1450px){.portrait{height:290px}}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{grid-template-columns:1fr}.detail{gap:28px}.plans{gap:12px}.saved-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){header{padding:20px;display:block}nav{margin-top:22px;gap:22px;justify-content:space-between;font-size:13px}main{padding:12px 20px 40px}.hero{display:block;padding:18px 0 30px}.hero-aside{padding:16px 0;border:0;border-top:1px solid var(--line)}.hero p{font-size:16px}.hero-aside p{font-size:14px}h1{letter-spacing:-.8px}.section-head{align-items:start;flex-direction:column}.grid{gap:12px}.portrait{height:200px}.card-content{padding:15px}.card-name{display:block}.card-name h3{margin-bottom:3px}.kind{display:block;margin-bottom:9px}.tags{font-size:11px}.card p{font-size:14px}.card button{font-size:13px;padding:10px 6px}.band{flex-direction:column;gap:8px}.band p{max-width:none}.detail{display:block}.detail .portrait{height:330px;position:relative;top:0;margin-bottom:24px}.form-grid{grid-template-columns:1fr}.saved-grid{grid-template-columns:1fr}.plans{grid-template-columns:1fr}.plan{padding:23px}.panel{padding:20px}.balance h2{font-size:40px}footer{padding:20px;display:block}footer span{display:block;margin-bottom:10px}.prototype{font-size:11px}.initial{font-size:70px}.actions button{flex:1}.bubble.user{margin-left:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* The pilot is identified in the filter/detail; keep faces unobstructed. */
.pilot-label{display:none}

textarea{display:block;width:100%;margin-top:9px;padding:12px;border:1px solid #bac3b6;border-radius:8px;font:inherit;resize:vertical;color:var(--ink);background:white}textarea:focus-visible{outline:3px solid #b26834;outline-offset:3px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere}#matches p{overflow-wrap:anywhere}

/* Portrait framing: keep full faces visible in every responsive card. */
.portrait,.detail .portrait{height:auto;aspect-ratio:4/5}.portrait img{position:absolute;inset:0;object-fit:cover;object-position:center top}


.voice-panel{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #ded6ca}.voice-panel audio{display:block;width:100%;margin-top:1rem}.voice-panel [hidden]{display:none!important}.voice-panel input[type=checkbox]{width:auto}.voice-panel [data-stop]{background:#9d342f;color:white}

.conversation-controls{background:#f5efe5;border-radius:14px;padding:1rem;margin:1rem 0}.conversation-controls meter{width:100%;height:1rem}.voice-panel [data-end]{background:#9d342f;color:white}.voice-panel details{margin:1rem 0}.conversation-controls select{max-width:100%}

/* Conversation: keep the credit bar out of the content columns. */
.conversation-workspace{grid-template-columns:minmax(220px,300px) minmax(0,1fr);grid-template-areas:"balance balance" "portrait chat" "memory chat";grid-template-rows:auto auto 1fr;align-items:start}
.conversation-balance{grid-area:balance;margin:0}
.conversation-main{grid-area:chat;min-width:0}
.conversation-main>#message-form{margin-top:0}
.conversation-workspace>aside{grid-area:memory;min-width:0}
.conversation-workspace>aside>.panel:first-child{margin-top:0}
.conversation-portrait{grid-area:portrait;margin:0;min-width:0;width:100%;align-self:start}
.conversation-portrait .portrait{border-radius:16px;border:1px solid var(--line)}
.conversation-portrait figcaption{padding-top:10px;font-size:14px;color:var(--muted)}
@media(max-width:760px){.conversation-workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"balance" "portrait" "chat" "memory";grid-template-rows:auto;gap:22px}.conversation-portrait{max-width:260px;justify-self:center}}

.avatar-controls {margin-top:16px}
.avatar-controls button {width:100%;margin-bottom:10px}
.avatar-video {width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:16px;background:#ece8de}
.conversation-portrait [hidden] {display:none!important}

/* Approved Roby/Ruby comic presentation. Labels stay outside the picture. */
.comic-workspace{grid-template-columns:minmax(300px,480px) minmax(0,1fr)}
.comic-workspace .conversation-portrait{max-width:510px}
.comic-workspace .comic-portrait{position:relative;container-type:inline-size;border:3px solid #191919;border-radius:0;aspect-ratio:1122/1402;overflow:hidden}
.comic-speech{position:absolute;inset:0;pointer-events:none}
.comic-speech svg{display:block;width:100%;height:100%}
.comic-window{position:absolute;left:52%;right:6%;top:59.5%;height:8%;overflow:hidden;display:flex;align-items:center}
.comic-ticker{position:relative;flex:none;white-space:nowrap;width:max-content;margin:0;font-family:"Comic Sans MS","Segoe Print",cursive;font-size:3.15cqw;font-weight:700;line-height:1.4;color:#111;transition:transform 120ms linear}
.comic-ticker span{display:inline-block;margin-right:.32em}
.comic-ticker .outside-window{visibility:hidden}
.comic-ticker .spoken-word{background:#ffe49a;border-radius:3px}
.comic-controls button{width:100%;margin-top:14px}
.comic-controls p{margin:8px 0}
@media(max-width:1000px){.comic-workspace{grid-template-columns:minmax(0,1fr);grid-template-areas:"balance" "portrait" "chat" "memory"}.comic-workspace .conversation-portrait{width:100%;justify-self:center}}
@media(prefers-reduced-motion:reduce){.comic-ticker{transition:none}}

/* Keep speech primary; text entry is optional. */
#message-form > .voice-panel:first-child{margin-top:0;padding-top:0;border-top:0}
#message-form > .voice-panel:first-child .conversation-controls{margin-top:0}
.text-message{margin-top:1rem}
.text-message > summary{cursor:pointer;font-weight:600}


/* Retain the approved navy; restore the previous warm neutral surfaces. */
:root{--navy:#1E3A5F;--green:#294f42}
h1,h2,h3,.eyebrow{color:var(--navy)}
header{max-width:none;background:var(--navy);color:#fff;padding-left:max(42px,calc((100% - 1196px)/2));padding-right:max(42px,calc((100% - 1196px)/2))}
.brand-note{color:#dee7d9;margin-left:0}
footer{background:var(--navy);color:#fff;border-top:0}
footer .text-button{color:#fff}
header a:focus-visible,footer button:focus-visible{outline-color:#efdcc9}
.filter.selected,.balance{background:var(--navy);color:white}
.balance h2{color:white}
@media(max-width:650px){header{padding:20px}}

.legal-links{display:flex;gap:.55rem;flex-wrap:wrap;font-size:14px}.legal-links a{text-decoration:underline}.legal-page{max-width:960px}.legal-content{line-height:1.75;overflow-wrap:anywhere}.legal-content p{margin:0 0 1.2rem}.legal-copy{white-space:pre-line}

/* Upright plan cards; scoped to the prices page. */
.pricing-intro{text-align:center;max-width:760px;margin:24px auto 38px}.pricing-intro h1{font-size:clamp(34px,4vw,52px)}.pricing-intro p{color:var(--muted);font-size:17px}.pricing-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:stretch}.pricing-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--white);min-width:0;display:flex;flex-direction:column}.pricing-card-new{border-color:var(--green);box-shadow:0 5px 20px #1e3a5f12}.pricing-tag{padding:9px 8px;text-align:center;background:#edf0f3;color:var(--green);font-size:12px;font-weight:650;min-height:37px}.pricing-card-new .pricing-tag{background:var(--green);color:#fff}.pricing-card-body{padding:23px 17px;display:flex;flex-direction:column;flex:1}.pricing-card h2{font-size:25px;margin-bottom:20px}.pricing-price{margin:0 0 20px}.pricing-price strong{display:block;white-space:nowrap;font:650 clamp(28px,2.6vw,36px)/1.2 system-ui,sans-serif;letter-spacing:-1px;color:var(--green)}.pricing-price span,.pricing-credits span{display:block;font-size:12px;color:var(--muted);margin-top:5px}.pricing-credits{padding:12px 10px;background:#f4f5f1;border:1px solid var(--line);border-radius:8px;margin:0 0 16px}.pricing-credits strong{font-size:16px}.pricing-cta{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 6px;text-align:center;border-radius:8px;background:var(--green);color:white;text-decoration:none;font-size:14px;font-weight:650;border:1px solid var(--green)}.pricing-cta:hover{filter:brightness(1.12)}.pricing-cta-free{color:var(--green);background:transparent}.pricing-condition{font-size:12px;line-height:1.5;color:var(--muted);min-height:54px;margin:12px 0 18px}.pricing-features{border-top:1px solid var(--line);padding-top:19px}.pricing-features h3{font:650 12px/1.5 system-ui,sans-serif;margin:0 0 15px}.pricing-features ul{padding:0;margin:0;list-style:none;display:grid;gap:11px}.pricing-features li{position:relative;padding-left:18px;font-size:13px;line-height:1.5;overflow-wrap:break-word}.pricing-features li::before{content:'✓';position:absolute;left:0;top:0;color:#337b79;font-weight:700}.pricing-terms{font-size:13px;color:var(--muted);line-height:1.7;margin:22px 0 32px}.pricing-topups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.pricing-topup{border:1px solid var(--line);border-radius:10px;padding:20px}.pricing-topup h3{font-size:23px}.pricing-topup p{margin-bottom:12px}.pricing-topup a{font-weight:600;color:var(--green)}
@media(max-width:1100px){.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pricing-price strong{font-size:34px}}
@media(max-width:760px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-card-body{padding:22px}.pricing-intro{margin:20px auto 28px}}
@media(max-width:500px){.pricing-grid,.pricing-topups{grid-template-columns:1fr}.pricing-card-body{padding:24px}.pricing-condition{min-height:0}.pricing-price strong{font-size:38px}.pricing-intro p{font-size:16px}}
.pricing-credits span{min-height:38px}
