.demo-ribbon{display:flex;justify-content:center;align-items:center;gap:5px;font-size:8px;min-height:29px;padding:0 5px}.demo-ribbon span{padding-left:4px}.demo-day{padding:3px 7px;margin-left:5px;border:1px solid #c9b899;border-radius:5px;font-size:8px;line-height:1.5;white-space:nowrap;background:#fff6e5;color:#8e6551}.demo-day[aria-pressed=true]{background:#9c5147;color:white;border-color:#9c5147}.app-nav{grid-template-columns:repeat(4,1fr)}body.user-test .app-nav{grid-template-columns:repeat(5,1fr)}
.chat-home-entry{margin:8px 0 20px}.chat-home-entry>.primary{font-size:15px;min-height:52px}.chat-home-entry>p{font-size:10px;color:var(--muted);text-align:center;margin-top:9px}.chat-home-chips{display:flex;justify-content:center;gap:6px;margin-top:14px}.chat-home-chips>button{font-size:10px;border:1px solid #d8c6ad;background:#fff6e7;border-radius:20px;padding:7px 9px;white-space:nowrap}.home-cards-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px}.home-cards-heading h2{font:700 24px var(--hand);letter-spacing:-.7px}.home-cards-heading>span{font-size:9px;color:#a68a73}.home-screen .book-cover{min-height:175px;margin-bottom:15px}.home-screen .book-label h2{font-size:27px}.home-screen .book-label p{font-size:11px;margin-top:12px}.home-screen .book-cover .polaroid{width:95px;left:-7px;bottom:3px}.home-screen .book-cover .polaroid img{height:70px}.home-screen .secondary.home-card-cta{min-height:44px;margin-top:8px}
.return-note{display:block;width:100%;text-align:left;padding:18px 18px 15px;margin:20px 0;background:#f3e5cd;border:1px dashed #c4a079;border-radius:4px 12px 5px 8px;position:relative}.return-note:before{content:'';width:50px;height:15px;position:absolute;top:-8px;left:calc(50% - 25px);background:#e0be8d70;transform:rotate(-4deg)}.return-note>span{display:block;font-size:10px;color:#a07457}.return-note>strong{display:block;font:700 23px var(--hand);margin:9px 0;color:#754e3e}.return-note>small{font-size:11px;color:#94735a;display:block;line-height:1.9}.return-note>b{font-size:11px;display:flex;justify-content:flex-end;align-items:center;gap:5px;margin-top:12px;color:#a25647}.return-note .icon{width:15px;height:15px}.quiet-return{background:#f4ebdb;border-style:solid;border-color:#e0d0b6}
.companion-screen{padding-top:12px}.companion-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#a18c76;font-size:10px}.companion-toolbar button{display:flex;align-items:center;gap:5px;font-size:10px;min-height:32px;padding:4px 0 4px 8px;color:#96735f}.companion-toolbar .icon{width:14px;height:14px}.ham-stage{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:177px;margin:4px auto 0;isolation:isolate}.ham-stage:before{content:'';position:absolute;width:154px;height:98px;left:calc(50% - 77px);bottom:24px;border-radius:50%;background:#e8d9bb50;z-index:-1;filter:blur(12px)}.ham-sprite{width:150px;height:150px;background-size:200% 200%;background-repeat:no-repeat;transform-origin:50% 90%;flex:none;will-change:transform;clip-path:inset(0 4% 0 4%)}.ham-state-label{font:20px var(--hand);color:#9d755d;line-height:1.1;letter-spacing:-.5px;position:relative;margin-top:1px}.ham-stage-mark{position:absolute;right:calc(50% - 82px);top:20px;color:#be685a;transform:rotate(10deg);font:24px var(--hand);pointer-events:none}.ham-stage-mark .icon{width:18px;height:18px}.mood-rest .ham-stage-mark{font-size:17px;color:#9b927c;top:38px;right:calc(50% - 70px);animation:ham-drift 3s ease-in-out infinite}.mood-shy:before{background:#e5bdc260}.mood-empathy:before{background:#d8d5c750}.mood-thinking:before{background:#dfd6be60}.mood-celebration .ham-stage-mark{animation:ham-spark 1.3s ease-in-out 2}.mood-shy .ham-stage-mark{animation:ham-heart 2s ease-in-out infinite}.companion-title{font-size:27px!important;text-align:center;line-height:1.4!important;margin:8px 0 10px}.companion-scope{font-size:9px;line-height:1.9;color:#a18c76;text-align:center;margin:0 auto 20px;max-width:285px}.companion-history{display:grid;gap:15px;margin-top:20px}.companion-message{max-width:93%}.companion-message.assistant{justify-self:start}.companion-message.assistant>span{display:block;font-size:10px;color:#aa8d72;margin:0 0 6px 5px}.companion-message p{font-size:13px;line-height:1.95;padding:14px 16px;border-radius:3px 17px 17px 17px;background:#fff8e9;border:1px solid #e4d5bc;overflow-wrap:anywhere}.companion-message.user{justify-self:end}.companion-message.user p{background:#e9d9be;border-color:#dbc5a5;border-radius:17px 3px 17px 17px;color:#735744}.companion-pending{font-size:11px;color:#a28167;padding:12px 4px;display:flex;align-items:center;gap:5px}.companion-pending i{width:4px;height:4px;background:#bb9173;border-radius:50%;animation:ham-dot 1s ease-in-out infinite}.companion-pending i:nth-child(2){animation-delay:.18s}.companion-pending i:nth-child(3){animation-delay:.36s}
.sentence-paper{background:#fff8e9;border:1px solid #d8bea0;border-radius:3px 10px 6px 3px;padding:20px 17px 16px;margin:25px 0 15px;position:relative;box-shadow:3px 4px 0 #e5d4b9}.sentence-paper:before{content:'';width:60px;height:17px;position:absolute;top:-10px;left:calc(50% - 30px);background:#d3b38d70;transform:rotate(-5deg)}.sentence-heading{display:flex;align-items:center;justify-content:space-between;color:#a27d60;font-size:10px}.sentence-heading .icon{width:17px;height:17px}.sentence-paper h2{font:700 26px var(--hand);letter-spacing:-.8px;margin:8px 0 14px}.sentence-tones{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:13px}.sentence-tones button{font-size:9px;color:#9a7e63;min-height:31px;padding:5px 9px;border:1px solid #deccb1;background:#fff8e9;border-radius:18px}.sentence-tones button[aria-pressed=true]{background:#af5c4f;color:#fff7eb;border-color:#af5c4f}.sentence-paper textarea{background:repeating-linear-gradient(transparent 0,transparent 38px,#dfceb75c 38px,#dfceb75c 39px);font:700 25px/39px var(--hand);color:#715446;padding:8px 5px;min-height:145px;resize:vertical;width:100%;border:0;border-radius:0}.sentence-paper>p{font-size:10px;line-height:1.8;color:#aa8b6e;margin:9px 0 15px}.sentence-actions{display:flex;gap:8px;margin-bottom:9px}.sentence-actions>*{flex:1;min-height:40px;font-size:12px;padding:8px}.sentence-actions .icon{width:16px;height:16px}.sentence-paper>.primary{min-height:45px;font-size:13px;gap:8px}.sentence-paper>small{display:block;font-size:9px;line-height:1.9;color:#a5886d;margin-top:10px;text-align:center}.companion-suggestions{display:flex;gap:7px;overflow:auto;scrollbar-width:none;margin:20px 0 10px}.companion-suggestions button{flex:none;font-size:10px;border:1px solid #dac5a9;border-radius:20px;background:#fbf3e3;padding:8px 11px}.companion-composer{background:#fcf4e5;border:1px solid #d5bea0;border-radius:14px;padding:14px;margin:14px 0 7px}.companion-composer>label{font-size:10px;display:block;color:#9a765b;margin-bottom:8px}.companion-composer textarea{font-size:13px;min-height:90px;width:100%;border:0;background:transparent;resize:vertical;padding:3px 2px;color:#6e5543;line-height:1.9}.companion-composer .counter-line{font-size:9px;margin:7px 0 14px;gap:8px;line-height:1.7}.companion-composer>.primary{min-height:43px;font-size:13px}.companion-bottom{display:flex;justify-content:space-between;margin-top:20px}.companion-bottom button{font-size:10px;text-decoration:underline;text-underline-offset:4px;color:#a17b60;padding:8px 0}
.chat-checkin{border:1px dashed #c6aa85;background:#f4e8d0;border-radius:11px;padding:17px;margin:22px 0}.chat-checkin .eyeline{font-size:10px;margin-bottom:10px}.chat-checkin h2{font:700 24px var(--hand)}.chat-checkin blockquote{font:22px/1.5 var(--hand);color:#8f6a4e;margin:12px 0}.chat-checkin>p{font-size:11px;line-height:1.8;color:#9b7e62}.checkin-options{display:flex;gap:5px;margin:14px 0}.checkin-options button{flex:1;font-size:10px;min-height:37px;background:#fbf4e5;border:1px solid #d6bd99;border-radius:8px;padding:5px}.checkin-options button[aria-pressed=true]{background:#a55c4b;color:#fff6e7;border-color:#a55c4b}#companion-checkin label{display:block;font-size:11px;color:#987359;margin:18px 0 9px}#companion-checkin label small{font-size:9px;color:#b49c7f}#companion-checkin textarea{width:100%;font-size:12px;min-height:90px;background:#fff7e8;border:1px solid #d3ba95;padding:9px;border-radius:8px;line-height:1.8}#companion-checkin .secondary{min-height:39px;font-size:12px;margin-top:10px}
.companion-note{background:#fff7e7;border:1px solid #d9c5a9;border-radius:4px 11px 8px 4px;margin:22px 0;padding:19px}.companion-note>header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;color:#b0967d}.companion-note>header b{font-size:9px;font-weight:500;color:#aa7258}.companion-note h2{font:700 24px var(--hand);margin-top:13px;color:#755440}.companion-note blockquote{font:23px/1.65 var(--hand);color:#8b6950;margin:13px 0 18px;white-space:pre-line;overflow-wrap:anywhere}.note-storage{font-size:9px;color:#b19b81;margin:12px 0}.note-actions{display:flex;gap:10px;align-items:center}.note-actions>.secondary{flex:1;min-height:39px;font-size:12px}.note-actions .icon-button{width:38px;height:38px}.note-actions .icon{width:18px;height:18px}.note-checkin{border-top:1px dashed #ddc8a9;padding-top:12px;margin-top:12px}.note-checkin span{font-size:9px;color:#b49678}.note-checkin p{font-size:12px;line-height:1.9;color:#8f6d53;margin-top:8px;white-space:pre-line;overflow-wrap:anywhere}.companion-empty{text-align:center;padding:10px 0 35px}.companion-empty h2{font:700 25px var(--hand);margin-top:10px}.companion-empty>p{font-size:12px;color:#9d8166;line-height:1.9;margin:15px 0 24px}.companion-notebook>.privacy-note{margin-top:25px}
#companion-save label{display:block;font-size:12px;color:#8c694f;margin:15px 0 8px}#companion-save input:not([type=checkbox]),#companion-save textarea{width:100%;padding:10px 11px;border:1px solid #d7bfa0;border-radius:8px;background:#fff9ed;font-size:13px;line-height:1.8}#companion-save textarea{min-height:110px;resize:vertical}#companion-save label.check-row{display:flex;margin-top:16px;font-size:11px}#companion-save .primary{margin-top:18px;font-size:14px}.copy-fallback{width:100%;min-height:140px;border:1px solid #d1b797;padding:12px;background:#fff8e9;font:22px/1.7 var(--hand)}
.expression-gallery .hand-title{font-size:29px;line-height:1.4}.expression-preview{background:#fff7e9;border:1px dashed #d4b996;border-radius:13px;margin:22px 0;padding:5px 10px 18px;text-align:center}.expression-preview .ham-stage{height:215px}.expression-preview .ham-sprite{width:190px;height:190px}.expression-preview h2{font:700 23px var(--hand);margin-top:8px}.expression-preview>p{font-size:11px;color:#ac8b70;margin-top:8px}.expression-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.expression-grid>button{border:1px solid #ddc8ac;border-radius:10px;background:#fcf4e5;padding:6px 2px 10px;min-width:0;overflow:hidden}.expression-grid>button[aria-pressed=true]{border:2px solid #ae5c4d;background:#f4e5d0;padding:5px 1px 9px}.expression-grid .ham-stage{height:90px;margin:0}.expression-grid .ham-sprite{width:88px;height:88px;animation:none}.expression-grid .ham-stage:before{width:70px;left:calc(50% - 35px);height:50px;bottom:0}.expression-grid .ham-state-label,.expression-grid .ham-stage-mark{display:none}.expression-grid>button>b{font:17px var(--hand);display:block;margin-top:6px}.expression-gallery>.primary{margin-top:23px}
.motion-breathe{animation:ham-breathe 3s ease-in-out infinite}.motion-ponder{animation:ham-ponder 2.5s ease-in-out infinite}.motion-sway{animation:ham-sway 3s ease-in-out infinite}.motion-wave{animation:ham-wave 1.5s ease-in-out 2}.motion-pop{animation:ham-pop .65s ease-out 1}.motion-sleep{animation:ham-breathe 4s ease-in-out infinite}.motion-scribble{animation:ham-scribble .7s ease-in-out 4}.motion-settle{animation:ham-settle .8s ease-out 1}.motion-cheer{animation:ham-cheer .9s ease-in-out 2}.motion-tilt{animation:ham-ponder 3s ease-in-out 2}
.companion-message.assistant>.companion-byline{display:flex;align-items:center;gap:5px;margin-bottom:4px}.reply-mini{display:inline-block;width:38px;height:38px;flex:none;vertical-align:middle}.reply-mini .ham-stage{width:38px;height:38px;margin:0}.reply-mini .ham-sprite{width:38px;height:38px;animation:none}.reply-mini .ham-stage:before,.reply-mini .ham-state-label,.reply-mini .ham-stage-mark{display:none}.companion-pending .reply-mini .ham-sprite{animation:ham-ponder 2s ease-in-out infinite}
@keyframes ham-breathe{50%{transform:translateY(-2px) scale(1.012)}}@keyframes ham-ponder{30%,60%{transform:rotate(-3deg) translateY(-1px)}}@keyframes ham-sway{25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}@keyframes ham-wave{25%{transform:rotate(-4deg) translateY(-2px)}75%{transform:rotate(3deg)}}@keyframes ham-pop{30%{transform:translateY(-5px) scale(1.035)}70%{transform:translateY(1px)}}@keyframes ham-scribble{25%{transform:translateX(-1px) rotate(-1deg)}75%{transform:translateX(1px)}}@keyframes ham-settle{30%{transform:translateY(-3px)}60%{transform:translateY(1px)}}@keyframes ham-cheer{35%{transform:translateY(-5px) rotate(-3deg)}70%{transform:translateY(0) rotate(2deg)}}@keyframes ham-spark{50%{transform:rotate(40deg) scale(1.2);opacity:.7}}@keyframes ham-heart{50%{transform:translateY(-4px) rotate(-6deg);opacity:.65}}@keyframes ham-drift{50%{transform:translateY(-5px);opacity:.55}}@keyframes ham-dot{50%{opacity:.3;transform:translateY(-2px)}}
@media(max-width:760px){.companion-screen{padding-left:18px;padding-right:18px}.home-scene{height:178px}.home-scene .scene-art{height:176px}.home-scene .speech{font-size:22px}.home-screen .paper-tabs{margin-top:8px}.companion-screen .hand-title{font-size:27px}.sentence-paper textarea{font-size:25px}.expression-grid{gap:8px}.app-nav{padding-left:8px;padding-right:8px}}
@media(max-width:370px){.demo-ribbon{font-size:7px;gap:2px}.demo-day{font-size:7px;margin-left:2px;padding:3px 5px}.chat-home-chips>button{font-size:9px;padding:7px 8px}.expression-grid .ham-sprite{width:80px;height:80px}.expression-grid .ham-stage{height:84px}.expression-grid>button>b{font-size:16px}.sentence-tones{gap:4px}.sentence-tones button{padding:5px 7px}.companion-scope{font-size:9px}.companion-message p{font-size:12px}.companion-composer .counter-line{font-size:8px}}
@media(prefers-reduced-motion:reduce){.ham-sprite,.ham-stage-mark,.companion-pending i{animation:none!important;will-change:auto}}

/* Home entry uses the bottom conversation balloon, per the selected UI feedback. */
body .app-nav button[data-go="talk"]{position:relative;isolation:isolate;overflow:visible;color:#a75446;gap:3px;padding:6px 0}
body .app-nav button[data-go="talk"]:before{content:'';position:absolute;inset:1px 1px 0;background:#f1dfc4;border:1.5px solid #bd8970;border-radius:45% 48% 43% 46% / 40% 42% 45% 43%;z-index:-1;transform:rotate(-3deg)}
body .app-nav button[data-go="talk"]:after{content:'';position:absolute;width:10px;height:10px;bottom:-4px;left:25%;background:#f1dfc4;border:0;border-left:1.5px solid #bd8970;border-bottom:1.5px solid #bd8970;transform:skewY(-25deg) rotate(-12deg);z-index:-1;border-radius:0 0 0 2px}
body .app-nav button[data-go="talk"] .icon{width:23px;height:23px;transform:rotate(-3deg)}
body .app-nav button[data-go="talk"][aria-current=page]{color:#fff5e6}
body .app-nav button[data-go="talk"][aria-current=page]:before,body .app-nav button[data-go="talk"][aria-current=page]:after{background:#b34f43;border-color:#a84c41}
body .app-nav{padding-top:9px;padding-bottom:calc(13px + env(safe-area-inset-bottom));gap:4px}
.chat-home-entry{margin:2px 0 17px}.chat-home-entry>.home-chat-hint{font:21px var(--hand);color:#9c795e;margin:5px 0 9px;text-align:center}.chat-home-chips{margin-top:9px}
