:root{font-family:ui-rounded,"Aptos","Segoe UI",sans-serif;color:#29263c;background:#f7f5f0;font-synthesis:none;--violet:#7960b1;--muted:#92909a;--line:#e7e3e9;--app-height:100dvh}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{font-size:16px}button,textarea{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none;touch-action:manipulation}button:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #b29cd7;outline-offset:3px}button:disabled{cursor:wait;opacity:.55}[hidden]{display:none!important}#app{height:var(--app-height);width:100%;display:flex;flex-direction:column;overflow:hidden;padding:env(safe-area-inset-top) max(20px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(20px,env(safe-area-inset-left))}.topbar{height:76px;flex:none;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line);width:100%;max-width:1440px;margin:auto}.brand{display:flex;align-items:center;gap:9px;padding:0;font-size:30px;letter-spacing:-1.4px;font-weight:800}.brand img{width:39px;height:39px}.purple{color:var(--violet)}.header-title{font-size:14px;color:#7d788a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:16px;margin-left:auto}.star-counter{display:flex;align-items:center;gap:8px;border:1px solid #eadfb9;background:#fff8df;border-radius:99px;padding:8px 15px;min-width:72px;justify-content:center;font-size:19px}.star-counter>span{color:#d7aa32;font-size:23px}.star-counter strong{font-variant-numeric:tabular-nums;font-weight:650}.star-counter.bump{animation:counter-pop .4s ease}.icon-button{font-size:28px;line-height:1;width:36px;height:40px;border-radius:10px}.icon-button:hover{background:#eae5f1}.shelf{width:100%;max-width:1230px;margin:0 auto;flex:1;min-height:0;display:flex;flex-direction:column;padding:clamp(12px,2vh,28px) 0 0}.shelf-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;margin-bottom:clamp(10px,2vh,25px)}.eyebrow{font-size:13px;letter-spacing:1.2px;color:var(--violet);margin:0 0 7px}h1{font-size:clamp(24px,3.2vw,40px);margin:0;letter-spacing:-1.3px;font-weight:650}.resume{background:#e9e1f5;border-radius:12px;color:#6e529d;padding:12px 18px;font-weight:650;white-space:nowrap}.stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:clamp(10px,1.6vw,20px);flex:1;min-height:0}.story-card{min-height:0;min-width:0;position:relative;display:flex;flex-direction:row;overflow:hidden;border-radius:20px;padding:0;text-align:left;background:#fff;border:1px solid #fff;box-shadow:0 3px 0 #e5e1d9;transition:transform .18s,box-shadow .18s}.story-card:hover{transform:translateY(-3px);box-shadow:0 6px 0 #ded7e6}.cover-wrap{position:relative;flex:0 0 48%;height:100%;min-width:0;overflow:hidden;background:var(--cover)}.cover-wrap img{height:100%;width:100%;object-fit:cover;display:block;transition:transform .6s}.story-card:hover img{transform:scale(1.05)}.cover-wrap img:not([src]){visibility:hidden}.cover-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:48px;background:radial-gradient(circle at 70% 25%,#fff9 0 15%,transparent 16%),linear-gradient(145deg,#ffffff22,#ffffff00)}.cover-wrap.loaded .cover-placeholder{display:none}.card-label{padding:clamp(10px,1.5vw,23px);display:flex;flex-direction:column;justify-content:center;gap:8px;flex:1;min-width:0}.card-label strong{font-size:clamp(15px,1.65vw,24px);font-weight:650;line-height:1.13;letter-spacing:-.5px}.card-label small{font-size:12px;color:#8b8593}.card-label .arrow{color:var(--violet);font-size:20px;margin-top:3px}.shelf-note{text-align:center;font-size:12px;color:#99939c;margin:12px 0;flex:none}.play{width:100%;max-width:1200px;margin:auto;flex:1;min-height:0;display:flex;flex-direction:column}.story-top{height:39px;flex:none;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.text-button{font-size:12px;padding:7px 0;color:#8b829c}.text-button:hover{color:var(--violet)}.progress{height:3px;background:#e8e3ef;border-radius:2px;flex:none;overflow:hidden;opacity:.75}.progress>div{height:100%;background:#ad99cb;width:0;transition:width .8s ease;border-radius:2px}.chat-wrap{position:relative;flex:1;min-height:0;display:flex}.chat{width:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ddd5e7 transparent;min-height:0;padding:24px 22px 30px 10px;scroll-behavior:smooth}.message{max-width:100%;margin:0 0 18px;animation:arrive .35s ease}.message.child{margin-left:auto;max-width:78%;width:fit-content;padding:11px 17px;border-radius:18px 18px 4px 18px;background:#e9e2f2;font-size:19px;line-height:1.5;overflow-wrap:anywhere;color:#63517d}.message.story{padding:17px 22px;border-radius:19px;background:#ffffffa6;border:1px solid #eeebef;line-height:1.65;font-size:21px;color:#817a8a;display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:24px}.message.story.no-picture{grid-template-columns:1fr}.message.story .copy{min-width:0;align-self:center}.message p{margin:0 0 .5em;white-space:pre-line;overflow-wrap:anywhere}.message p:last-child{margin-bottom:0}.message .question{color:#8d7eaa;font-weight:550}.message.latest{background:#fff;border-color:#e9e4ed;box-shadow:0 4px 0 #e9e5df;font-size:clamp(28px,min(3vw,5.1vh),44px);line-height:1.48;color:#332e43;padding:clamp(20px,2.8vw,38px);grid-template-columns:minmax(0,1fr) minmax(170px,34%);gap:clamp(20px,3vw,40px)}.message.latest .question{color:#73559b;margin-top:.6em}.message.child.latest-child{font-size:24px;color:#5f467f}.illustration{aspect-ratio:1;position:relative;align-self:center;width:100%;max-height:340px;overflow:hidden;border-radius:17px;background:#f0ebf6;display:grid;place-items:center;color:#a393b7}.illustration img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;opacity:0;transition:opacity .65s}.illustration.ready img{opacity:1}.illustration .picture-status{font-size:12px;text-align:center;line-height:1.5;padding:16px}.illustration .picture-status:before{content:'✦';display:block;font-size:27px;margin-bottom:8px;animation:breathing 2.2s ease-in-out infinite}.illustration.ready .picture-status{display:none}.illustration.failed{background:#f4f0f7}.illustration.failed .picture-status:before{animation:none}.jump{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);background:#fff;box-shadow:0 2px 15px #30204920;color:var(--violet);padding:9px 18px;border-radius:30px;border:1px solid var(--line);font-size:13px}.composer{flex:none;padding:0 10px 8px;background:#f7f5f0}.feedback{height:26px;font-size:13px;display:flex;justify-content:center;align-items:center;gap:9px;color:#8b7d9b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feedback .reward{color:#c89e31;font-weight:700}.error{font-size:13px;background:#fff1e3;color:#9d5e38;margin:5px 0;padding:8px 12px;border-radius:10px}#answer-form{position:relative;display:flex;align-items:center;gap:10px;border:1.5px solid #dcd3e9;background:#fff;border-radius:22px;padding:9px 10px 9px 22px;box-shadow:0 3px 0 #ede8e1}#answer{width:100%;min-height:49px;max-height:100px;resize:none;border:0;background:transparent;outline:none;font-size:25px;line-height:1.45;padding:5px 0;overflow-y:auto}#answer::placeholder{color:#b2aabb}#answer:focus-visible{outline:none}.send{width:51px;height:51px;flex:none;background:#8263b1;color:#fff;border-radius:16px;font-size:33px;line-height:1;box-shadow:0 3px 0 #64478e}.send:hover{background:#70509f}.composer-footer{display:flex;align-items:center;gap:20px;justify-content:space-between;min-height:30px;font-size:11px;color:#aaa1b2}.composer-footer>span{margin:auto}.ending{display:flex;align-items:center;justify-content:center;gap:22px;min-height:68px}.ending>span{font-size:23px;color:var(--violet)}.primary{background:#8263b1;color:white;border-radius:14px;padding:12px 20px;font-size:14px}.star-burst{position:fixed;inset:0;pointer-events:none;z-index:50;overflow:hidden}.flying-star{position:absolute;color:#e5b332;font-size:42px;filter:drop-shadow(0 2px 2px #be891f40);animation:star-flight 1.2s cubic-bezier(.2,.6,.25,1) both}.reward-pop{position:absolute;color:#a5761e;background:#fff5cd;border:1px solid #eed99d;border-radius:30px;font-size:22px;font-weight:700;padding:10px 20px;animation:reward-rise 1.5s ease both}dialog{border:1px solid var(--line);border-radius:24px;padding:28px;max-width:min(460px,90vw);max-height:85dvh;overflow:auto;background:#fff;box-shadow:0 20px 80px #35234720;color:#645c70}dialog::backdrop{background:#33244255;backdrop-filter:blur(3px)}dialog h2{color:#30293d;font-size:24px;margin:0 25px 18px 0}dialog p{font-size:14px;line-height:1.7}.dialog-close{position:absolute;right:14px;top:12px;font-size:26px}.danger{color:#a85f68}.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}@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes breathing{50%{opacity:.3;transform:scale(.8)}}@keyframes counter-pop{50%{transform:scale(1.18)}}@keyframes star-flight{0%{opacity:0;transform:translate(0,30px) scale(.2) rotate(-30deg)}20%{opacity:1;transform:translate(var(--spread),-50px) scale(1.2) rotate(12deg)}50%{opacity:1;transform:translate(var(--spread),-75px) scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.25) rotate(180deg)}}@keyframes reward-rise{0%{opacity:0;transform:translate(-50%,20px) scale(.7)}20%,65%{opacity:1;transform:translate(-50%,-20px) scale(1)}100%{opacity:0;transform:translate(-50%,-60px) scale(.9)}}
@media(min-width:1500px){.topbar{max-width:1500px}.shelf{max-width:1360px}.play{max-width:1320px}}
@media(max-width:800px){#app{padding-left:16px;padding-right:16px}.topbar{height:64px;gap:12px}.brand{font-size:26px}.brand img{width:33px;height:33px}.header-title{font-size:12px}.stories{gap:12px}.story-card{flex-direction:column;border-radius:16px}.cover-wrap{flex:1;min-height:0;width:100%;height:auto}.card-label{flex:none;padding:10px 11px;gap:4px}.card-label strong{font-size:17px}.card-label .arrow{display:none}.card-label small{font-size:10px}.message.latest{font-size:30px;grid-template-columns:minmax(0,1fr) 30%;padding:22px;gap:20px}.message.story{font-size:19px;gap:15px}.chat{padding:18px 10px 22px 0}.composer{padding-left:0;padding-right:0}}
@media(max-width:520px){#app{padding-left:12px;padding-right:12px}.topbar{height:60px;gap:10px}.header-title{display:none}.top-actions{gap:8px}.star-counter{padding:6px 12px;font-size:17px;min-width:65px}.shelf-heading{margin-bottom:12px;gap:10px}.eyebrow{font-size:10px;letter-spacing:.8px;margin-bottom:5px}h1{font-size:25px;letter-spacing:-.8px}.resume{font-size:12px;padding:9px 10px}.stories{gap:9px}.story-card{border-radius:13px}.card-label{padding:8px 7px;min-height:44px}.card-label strong{font-size:14px;letter-spacing:-.3px}.card-label small{display:none}.cover-placeholder{font-size:32px}.shelf-note{font-size:10px;margin:10px 0}.story-top{height:31px;font-size:10px}.chat{padding:13px 3px 18px 0}.message.story{grid-template-columns:minmax(0,1fr) 66px;font-size:17px;padding:14px;gap:12px;border-radius:15px}.message.latest{font-size:28px;line-height:1.47;display:flex;flex-direction:column;align-items:stretch;padding:20px;gap:18px}.message.latest .illustration{width:100%;aspect-ratio:1.7;max-height:200px;border-radius:12px}.message.latest .illustration img{object-position:center}.message.child{font-size:17px;padding:9px 13px}.message.child.latest-child{font-size:21px}.illustration{border-radius:10px}.illustration .picture-status{font-size:10px;padding:5px}.illustration .picture-status:before{font-size:21px;margin:0}.message.latest .picture-status{font-size:12px}.feedback{font-size:11px;height:24px;justify-content:flex-start;padding-left:5px}.composer-footer{gap:8px;min-height:30px;font-size:10px}.text-button{font-size:11px}.composer-footer #saved{font-size:9px}#answer-form{border-radius:18px;padding:7px 8px 7px 15px}#answer{font-size:23px;min-height:42px;max-height:72px}.send{height:44px;width:44px;font-size:28px;border-radius:13px}.ending{gap:10px;flex-wrap:wrap;padding:10px 0;min-height:62px}.ending>span{font-size:18px}.primary{font-size:12px;padding:10px 12px}}
@media(max-height:600px){.topbar{height:48px}.shelf{padding-top:9px}.shelf-heading{margin-bottom:8px}.eyebrow,.shelf-note{display:none}h1{font-size:23px}.stories{gap:8px;padding-bottom:8px}.card-label{padding:6px;min-height:32px}.card-label strong{font-size:13px}.card-label small,.card-label .arrow{display:none}.story-top{height:25px}.composer-footer{min-height:23px}.feedback{height:20px}.message.latest{font-size:26px;padding:18px}.message.latest .illustration{max-height:145px}.composer-footer #saved{display:none}.brand{font-size:24px}.brand img{width:30px;height:30px}.star-counter{padding:3px 10px}}
@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.flying-star{display:none}.reward-pop{display:none}}
