:root{font-family:Nunito,ui-rounded,system-ui,-apple-system,Segoe UI,sans-serif;color:#f9f5ff;background:#100b27;font-synthesis:none;--muted:#bdb2d7;--primary:#d8abff;--pink:#ffb1d9;--surface:#271f43;--border:#ffffff1a;--base:#120e2b}*{box-sizing:border-box}html{scroll-behavior:smooth;overscroll-behavior-y:none}body{margin:0;min-width:300px;background:radial-gradient(ellipse at top,#302352 0,#110c29 57%,#0c0a22 100%)}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d9b7ff;outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}[hidden]{display:none!important}.app{max-width:520px;margin:0 auto;min-height:100dvh;background:linear-gradient(150deg,#23183c 0%,#17112d 30%,#130f28 82%);position:relative;overflow:hidden;padding-bottom:calc(100px + env(safe-area-inset-bottom));box-shadow:0 0 100px #0005}.header,.main{position:relative;z-index:1}.header{display:flex;align-items:center;justify-content:space-between;padding:24px 21px 12px;padding-top:calc(20px + env(safe-area-inset-top))}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;background:linear-gradient(140deg,#e8c3ff,#a48bff);color:#50336f;border-radius:14px;font-size:24px;box-shadow:0 8px 23px #af89ee36}.brand strong,.brand small{display:block}.brand strong{font-weight:1000;letter-spacing:3.3px;font-size:15px}.brand small{font-weight:900;font-size:8px;letter-spacing:1.45px;color:#b7a8d2;margin-top:1px}.header-actions{display:flex;gap:8px;align-items:center}.status-chip{background:#352a52a8;border:1px solid #6b587b69;padding:9px 11px;border-radius:19px;display:flex;align-items:center;gap:7px;color:#e3d3f8;font-size:10px;font-weight:900;white-space:nowrap}.status-dot,.conversation-dot{height:7px;width:7px;background:#80e6c4;border-radius:50%;box-shadow:0 0 8px #69ffd2}.circle-button{border:1px solid #65527388;background:#362a4e7d;color:#f5e8ff;border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.circle-button svg,.nav-svg,.send-button svg,.mic-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.main{padding:0 17px}.intro{text-align:center;padding:13px 10px 16px}.overline,.sheet-overline,.eyebrow{font-size:9px;font-weight:1000;letter-spacing:2.5px;color:#c4a7ee}.tiny-spark{color:#ffd4f3;margin-right:5px}.intro h1{font-family:Quicksand,Nunito,sans-serif;margin:8px 0 7px;letter-spacing:-1.2px;font-weight:700;font-size:clamp(25px,6.8vw,36px);line-height:1.18}.intro h1 em,.sheet h2 em{font-style:normal;color:#ffb1dc}.subtitle{font-size:12px;line-height:1.5;color:#bcb0cf;margin:0 auto;max-width:350px}.stage{position:relative;isolation:isolate;height:345px;border-radius:29px;overflow:hidden;background:radial-gradient(ellipse 85% 68% at 50% 52%,#684b9b 0%,#4a336f 48%,#322449 100%);border:1px solid #c6a8f33c;box-shadow:0 20px 58px #08031953,inset 0 1px 0 #ffffff30;display:flex;flex-direction:column;align-items:center}.stage:after{content:'';position:absolute;inset:auto 12% 9% 12%;height:12px;background:#1e173b7a;filter:blur(19px);border-radius:50%;z-index:-1}.ambient{position:absolute;border-radius:50%;filter:blur(15px);pointer-events:none;opacity:.5}.ambient-one{width:220px;height:220px;background:#ce7ec52b;left:-140px;top:12px}.ambient-two{width:185px;height:160px;background:#88c6ff2f;right:-90px;bottom:45px}.sparkle{position:absolute;color:#f0d6ff;opacity:.8;animation:twinkle 3s ease-in-out infinite}.star-one{left:11%;top:25%;font-size:19px}.star-two{right:10%;top:21%;font-size:18px;animation-delay:.9s}.star-three{right:17%;top:58%;font-size:14px;animation-delay:1.3s}.star-four{left:18%;top:67%;font-size:18px;animation-delay:1.7s}.mood-label{background:#ffffff20;color:#fae8ff;border:1px solid #ffffff2b;border-radius:100px;padding:6px 12px;position:absolute;top:13px;font-weight:900;font-size:10px;z-index:2}.character{position:absolute;top:34px;left:50%;transform:translateX(-50%);width:min(285px,80%);height:258px;display:grid;place-items:center;outline:0;cursor:pointer;filter:drop-shadow(0 18px 14px #26153d55);animation:bob 3.9s ease-in-out infinite;touch-action:manipulation}.character svg,.gimbal-character svg{width:100%;height:100%;overflow:visible}.face-shell{filter:drop-shadow(0 7px 5px #23133333)}.eye{transform-box:fill-box;transform-origin:center;animation:blink 6.6s infinite}.eye-right{animation-delay:.07s}.pupil{transform:translate(var(--pupil-x,0px),var(--pupil-y,0px));transition:transform .17s ease-out}.emotion-angry .angry-brows,.emotion-sad .tears,.emotion-kiss .kiss-lips,.emotion-laugh .laugh-mouth,.emotion-sleepy .sleep-mouth{opacity:1}.angry-brows,.tears,.kiss-lips,.laugh-mouth,.sleep-mouth{opacity:0;transition:opacity .2s}.emotion-kiss .regular-mouth,.emotion-laugh .regular-mouth,.emotion-sleepy .regular-mouth,.emotion-sad .regular-mouth{opacity:0}.emotion-angry .regular-mouth{transform:translateY(20px) rotate(180deg);transform-origin:200px 253px}.emotion-sad .regular-mouth{transform:rotate(180deg) translateY(-23px);transform-origin:200px 255px}.emotion-sleepy .eye{animation:none;transform:scaleY(.19)}.emotion-laugh .eye{animation:none;transform:scaleY(.3)}.emotion-kiss .eye{animation:none;transform:scaleY(.62)}.emotion-sad .eye{animation:none;transform:scaleY(1.1)}.emotion-angry .eye{animation:none;transform:scaleY(.7)}.face-shell{transition:transform .2s}.emotion-angry .face-shell{animation:grump .48s ease-in-out 2}.emotion-kiss .face-shell{transform:scale(1.07)}.emotion-sad .face-shell{transform:translateY(7px)}.talk-bubble{position:absolute;z-index:3;bottom:49px;left:16px;right:16px;min-height:43px;display:grid;place-items:center;text-align:center;padding:9px 14px;border:1px solid #ffffff73;background:linear-gradient(125deg,#fff8ffed,#f2e7ffee);border-radius:15px;color:#664679;box-shadow:0 7px 16px #1d0f2c30;font-size:12px;line-height:1.4;font-weight:800;transition:transform .25s}.talk-bubble.bump{animation:bubbleIn .33s ease-out}.pet-tip{position:absolute;bottom:23px;left:0;right:0;margin:0;text-align:center;color:#e7d5ef;font-size:10px}.pet-tip span{color:#ffcee6;font-size:14px;vertical-align:-1px}.stage-bottom{position:absolute;bottom:0;height:18px;width:100%;background:#ffffff12;display:flex;align-items:center;justify-content:space-between;padding:0 17px;font-size:8px;font-weight:800;color:#cfb9e4}.signal{display:flex;align-items:center;gap:2px}.signal i{height:3px;width:3px;background:#b3e8cc;border-radius:1px}.signal i:nth-child(2){height:5px}.signal i:nth-child(3){height:8px}.particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:4}.particle{position:absolute;top:52%;left:50%;font-size:23px;animation:particleFly 1.2s ease-out forwards;pointer-events:none}.below-stage{padding:21px 5px 0}.friend-row{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-size:8px;letter-spacing:2px}.friend-row h2{margin:0;font-size:26px;letter-spacing:-.5px;line-height:1.2}.name-heart{font-size:15px;color:#ffafd8}.friend-row p{margin:2px 0 0;font-size:11px;color:#aa9cbd}.switch-button{color:#f0d6ff;background:linear-gradient(120deg,#4b345f,#4e3867);border:1px solid #8d72a477;padding:11px 14px;border-radius:13px;font-weight:900;font-size:11px;display:flex;gap:12px;align-items:center}.switch-button span:last-child{font-size:18px;font-weight:400}.actions{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:18px -5px 1px;padding-bottom:7px}.actions::-webkit-scrollbar{display:none}.action-pill{border:1px solid #574369;flex:0 0 auto;padding:8px 11px;color:#f6e9ff;background:#2f2547;border-radius:13px;font-weight:900;font-size:10px;display:flex;align-items:center;gap:6px}.action-icon{font-size:17px}.conversation-card,.activity-panel,.play-panel{margin-top:17px;border:1px solid #59446a80;background:linear-gradient(130deg,#312549d9,#221937b8);border-radius:20px;padding:17px 16px;box-shadow:inset 0 1px #ffffff0b}.conversation-heading{display:flex;align-items:center;gap:8px;font-size:12px}.conversation-heading strong{flex:1}.conversation-heading button{border:0;background:none;color:#d9b5ff;font-size:10px;font-weight:900}.conversation-heading button span{font-size:18px}.latest-chat{display:flex;gap:10px;align-items:center;font-size:12px;color:#e6d8f4;line-height:1.45;margin-top:13px}.latest-avatar{width:30px;height:30px;border-radius:12px;background:#8566ba;display:grid;place-items:center;color:#ffe5f7;flex-shrink:0}.composer{display:flex;gap:8px;align-items:center;margin-top:14px;background:#171229;border:1px solid #5b436e;border-radius:14px;padding:5px}.composer input{background:transparent;border:0;outline:0;color:white;min-width:0;flex:1;padding:7px 9px;font-size:13px}.composer input::placeholder{color:#9684ac}.send-button{background:linear-gradient(135deg,#bfa5ff,#f4b4df);color:#472d66;border:0;border-radius:10px;width:38px;height:36px;display:grid;place-items:center;flex:0 0 auto}.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.section-title h3{margin:0;font-size:14px}.section-title span{color:#c3b0d2;font-size:10px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:13px}.stat-title{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;color:#dfd3f2}.stat-value{color:#bbacd6}.bar{height:7px;overflow:hidden;background:#140f2b;border-radius:10px;margin-top:7px}.bar>i{display:block;width:60%;height:100%;background:linear-gradient(90deg,#ff91c3,#ffd2ef);border-radius:10px;transition:width .5s}.stats>div:nth-child(2) .bar>i{background:linear-gradient(90deg,#b0a0fb,#7ee0ff)}.stats>div:nth-child(3) .bar>i{background:linear-gradient(90deg,#ffd17d,#ffaf90)}.care-buttons,.game-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:15px}.care-buttons button,.game-buttons button{border:1px solid #7e628e65;background:#3b2c56;color:#fff0ff;border-radius:13px;padding:10px 4px;font-weight:900;font-size:11px}.care-buttons button b,.game-buttons button b{display:block;font-size:24px;margin-bottom:3px}.game-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.game-buttons button{padding:11px 5px}.game-buttons button b{display:inline;font-size:20px;margin-right:7px}.safe-note{color:#b3a6ce;font-size:11px;text-align:center;margin:13px 10px 0;line-height:1.4}.bottom-bar{position:fixed;z-index:8;bottom:0;left:50%;transform:translateX(-50%);width:min(520px,100%);height:calc(72px + env(safe-area-inset-bottom));padding:8px 18px calc(9px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;background:#21172df2;border-top:1px solid #584267;box-shadow:0 -8px 30px #0d092460;backdrop-filter:blur(16px)}.nav-item{width:63px;border:0;background:transparent;color:#b8a9d0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0}.nav-icon{font-size:23px;line-height:21px}.nav-item small{font-size:9px;font-weight:900}.nav-svg{width:24px;height:24px}.mic-button{width:57px;height:57px;border:4px solid #38234b;background:linear-gradient(135deg,#ffc2e1,#b7a5ff);color:#4c346c;display:grid;place-items:center;border-radius:50%;box-shadow:0 6px 17px #ba7ad44e;transform:translateY(-11px)}.mic-button.listening{animation:micPulse 1.1s ease-in-out infinite;background:linear-gradient(120deg,#d8ffed,#b5d5ff)}.mic-button svg{width:26px;height:26px;stroke-width:1.9}.sheet-backdrop{position:fixed;z-index:11;inset:0;background:#090617ba;backdrop-filter:blur(5px)}.sheet{position:fixed;z-index:12;bottom:0;left:50%;transform:translateX(-50%);width:min(520px,100%);max-height:88dvh;overflow-y:auto;background:linear-gradient(145deg,#342649,#1d1835);border-radius:25px 25px 0 0;padding:13px 21px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -23px 100px #070617b0;border:1px solid #685382}.sheet-grip{height:4px;width:43px;background:#9c8baf;border-radius:5px;margin:0 auto 18px}.sheet-close{position:absolute;right:16px;top:19px;border:0;background:#584369;color:white;width:31px;height:31px;border-radius:50%}.sheet-overline{margin:4px 0;font-size:9px}.sheet h2{font-family:Quicksand,sans-serif;font-size:24px;margin:3px 0 6px}.sheet-description{font-size:12px;color:#c2b3d6;line-height:1.5;margin:6px 0 15px}.character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.character-option{border:1px solid #655477;border-radius:16px;padding:12px 5px;background:#46345279;color:#fef9ff;display:grid;place-items:center;gap:4px}.character-option.selected{border-color:#ffe8ff;box-shadow:0 0 0 2px #dfb2ed inset;background:#6750809c}.character-option svg{height:115px;width:115px;filter:drop-shadow(0 4px 7px #130b2980)}.character-option strong{font-size:13px}.character-option small{font-size:10px;color:#cfc0df}.field-label{display:block;font-size:12px;font-weight:900;margin:17px 0 6px}.settings-input,.settings-select{border:1px solid #795c8c;background:#19132d;color:#fff;border-radius:12px;padding:12px 14px;width:100%;font-size:14px;outline:0}.field-hint{font-size:10px;color:#ab9cbd;line-height:1.5;margin:5px 0 13px}.setting-row{border-top:1px solid #6451776a;display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:16px;cursor:pointer}.setting-row span{flex:1}.setting-row strong{display:block;font-size:12px}.setting-row small{display:block;font-size:10px;color:#b5a5cc;line-height:1.4;margin-top:3px}.setting-row input{width:19px;height:19px;accent-color:#e3b4fb;flex-shrink:0}.setting-row .toggle-track{display:none}.hint-box{display:flex;align-items:flex-start;gap:10px;border:1px solid #8866a851;background:#5c477b45;padding:11px;border-radius:13px;margin:14px 0}.hint-box p{margin:0;font-size:10px;color:#e6d4f6;line-height:1.5}.primary-button,.secondary-button{border:0;border-radius:12px;background:linear-gradient(120deg,#ccb1ff,#ffaddc);color:#412957;font-weight:1000;padding:13px 17px}.secondary-button{background:#403250;color:#f1d7ff;border:1px solid #785a8c}.setting-footer{display:flex;flex-direction:column;gap:11px;margin-top:13px}.setting-footer span{font-size:10px;color:#cdb9de}.history-list{display:flex;flex-direction:column;gap:9px;max-height:50vh;overflow:auto;margin:17px 0}.history-bubble{padding:11px;border-radius:14px;background:#4a365b;font-size:12px;max-width:88%;line-height:1.5;align-self:flex-start;overflow-wrap:anywhere}.history-bubble.mine{background:#705084;align-self:flex-end}.history-bubble small{display:block;font-size:9px;color:#d2c4df;font-weight:900;margin-bottom:3px}.toast{position:fixed;z-index:30;bottom:calc(91px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,20px);width:max-content;max-width:min(88vw,400px);padding:10px 16px;background:#f5e5ff;color:#4b2c65;border-radius:14px;box-shadow:0 8px 28px #100b20a0;font-size:12px;font-weight:900;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.gimbal-overlay{position:fixed;z-index:16;inset:0;background:radial-gradient(ellipse at 50% 49%,#70569e,#2b204d 60%,#0e0c22);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:env(safe-area-inset-top) 20px env(safe-area-inset-bottom)}.gimbal-top{position:absolute;top:calc(20px + env(safe-area-inset-top));left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;color:#e9d8ff;font-size:11px;font-weight:1000;letter-spacing:1.6px}.gimbal-close{background:#ffffff30;border:1px solid #ffffff40;color:white;border-radius:30px;padding:9px 12px}.gimbal-character{height:min(58vh,500px);width:min(94vw,440px);display:grid;place-items:center;filter:drop-shadow(0 20px 25px #2010368c);animation:bob 3.3s ease-in-out infinite;cursor:pointer}.gimbal-bubble{background:#ffedff;color:#49305c;border-radius:18px;text-align:center;font-weight:900;padding:14px 17px;margin-top:15px;max-width:360px;width:100%;font-size:14px}.gimbal-controls{display:flex;gap:19px;position:absolute;bottom:calc(34px + env(safe-area-inset-bottom))}.gimbal-controls button{background:#ffffff35;border:1px solid #ffffff65;border-radius:20px;color:white;font-size:24px;width:65px;height:59px}.gimbal-controls button:nth-child(2){background:#efb7f3;color:#462b66}.quiz-question{padding:16px;border:1px solid #76558c;border-radius:15px;background:#342543;text-align:center;margin:17px 0;font-weight:900;font-size:18px}.quiz-options,.memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:15px}.quiz-options button,.memory-grid button{border:1px solid #836597;background:#4b355e;border-radius:14px;color:#fff;font-size:24px;min-height:63px;padding:9px}.quiz-options button{font-size:13px;font-weight:900}.quiz-options button.correct{background:#246c5a}.quiz-options button.wrong{background:#8c3d62}.game-result{font-size:12px;color:#eee0f8;min-height:22px;text-align:center}.memory-grid button{font-size:25px}.memory-grid button:disabled{opacity:1;background:#695284}.small-link{background:none;border:0;color:#e7baff;text-decoration:underline;font-size:12px;font-weight:900}.mode-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.mode-choice label{font-size:11px;background:#392b50;border:1px solid #675177;border-radius:11px;text-align:center;padding:9px 3px;cursor:pointer}.mode-choice input{accent-color:#e4b2ff}.mode-caption{font-size:10px;color:#e6d0f3;line-height:1.5;margin:8px 0}.senior-mode{font-size:1.12em}.senior-mode .subtitle,.senior-mode .latest-chat,.senior-mode .friend-row p{font-size:14px}.senior-mode .action-pill,.senior-mode .care-buttons button,.senior-mode .game-buttons button{font-size:13px;min-height:50px}.senior-mode .composer input{font-size:17px}.reduced-motion *, .reduced-motion *:before,.reduced-motion *:after{animation:none!important;transition:none!important}@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-7px)}}.gimbal-character{transform:translateY(0);animation:gimbalBob 3.9s ease-in-out infinite}@keyframes gimbalBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes blink{0%,8%,10%,100%{transform:scaleY(1)}9%{transform:scaleY(.07)}}@keyframes twinkle{0%,100%{opacity:.4;transform:scale(.83)}50%{opacity:1;transform:scale(1.25)}}@keyframes particleFly{0%{opacity:1;transform:translate(0,0) scale(.45) rotate(0)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1.4) rotate(var(--rotate))}}@keyframes bubbleIn{0%{transform:scale(.95);opacity:.65}100%{transform:scale(1);opacity:1}}@keyframes micPulse{0%,100%{box-shadow:0 0 0 0 #b9ffd433}50%{box-shadow:0 0 0 12px #b9ffd412}}@keyframes grump{0%,100%{transform:rotate(0)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}@media(max-width:370px){.main{padding:0 11px}.stage{height:325px}.character{height:244px}.header{padding-left:13px;padding-right:13px}.action-pill{font-size:10px;padding:8px}.intro{padding-top:10px}.conversation-card{padding:14px 12px}}@media(min-height:930px){.stage{height:385px}.character{top:53px;height:275px;width:310px}.intro{padding-bottom:23px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

.rotate-notice{display:none}@media(orientation:landscape) and (max-height:650px){.rotate-notice{position:fixed;inset:0;z-index:100;background:#21152f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:30px;font-size:42px}.rotate-notice strong{font-size:21px}.rotate-notice span{font-size:13px;color:#dbc8ed}}

/* TOCO v1.1 enhancements */
.talk-mouth{display:none;transform-box:fill-box;transform-origin:center;animation:talking .22s alternate infinite}.is-talking .talk-mouth{display:block}.is-talking .regular-mouth{display:none}@keyframes talking{from{transform:scaleY(.43)}to{transform:scaleY(1.08)}}
.premium-panel{margin-top:15px;border:1px solid #9174a650;background:linear-gradient(140deg,#392a56,#241b3c);border-radius:18px;padding:15px 14px;box-shadow:0 9px 25px #150b2660}.premium-panel .section-title{margin-bottom:12px}.premium-panel h3{font-size:14px}.panel-footnote{font-size:10px;color:#bfb3d1;line-height:1.5;margin:9px 0 0}.text-action{background:transparent;border:0;color:#f2bbec;font-size:11px;font-weight:900}.bond-row,.personality-display{display:flex;gap:10px;align-items:center}.bond-sigil{font-size:31px}.bond-row>div{flex:1}.bond-row strong,.personality-display strong{font-size:13px}.bond-row p,.personality-display p{font-size:11px;color:#cdbbdd;line-height:1.35;margin:4px 0}.bond-level{font-size:10px;color:#eed3ff;background:#6a478d6c;padding:6px;border-radius:11px}.bond-meter{margin-top:12px}.bond-meter>i{display:block;background:linear-gradient(90deg,#a28af9,#f7aece)}.story-carousel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.story-tile{border:1px solid #8b70a269;background:#46345f;color:white;border-radius:14px;min-height:110px;padding:10px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.story-tile>span{font-size:26px}.story-tile strong{font-size:10px}.story-tile small{font-size:9px;color:#cdb7e5}.companion-intro{font-size:12px;color:#e0cdec;line-height:1.5}.companion-actions{display:flex;gap:7px}.companion-actions button{flex:1;min-width:0;border:1px solid #8a6ba46a;background:#4b3562;color:#fff2ff;border-radius:13px;padding:11px 4px;font-size:10px;font-weight:900}.companion-actions span{display:block;font-size:23px;margin-bottom:5px}.personality-display{background:#4c39637e;border-radius:13px;padding:14px;margin:13px 0}.personality-display>span{font-size:46px}.sheet-subtitle{font-size:13px}.activity-badges{display:flex;flex-wrap:wrap;gap:7px}.activity-badges span{font-size:11px;padding:7px 10px;background:#58436e;border-radius:13px}.block-button{width:100%;margin-top:12px}.story-scene{background:linear-gradient(160deg,#5c437c,#332448);border-radius:17px;padding:19px;text-align:center;margin:18px 0;color:#fff1ff;line-height:1.7;min-height:190px}.scene-icon{font-size:59px}.story-scene p{font-size:15px}.story-scene strong{display:block;font-size:12px;color:#ffdaf0}.story-choices,.companion-topics{display:grid;gap:8px;margin:12px 0}.story-choice,.companion-topics button{border:1px solid #a784b7;background:#523b68;border-radius:12px;color:#fff;padding:13px;font-size:13px;text-align:left}.story-choice.selected{background:#7660ad;border:2px solid #f8bde5}.story-controls{display:flex;gap:7px}.story-controls button{flex:1;padding:12px 6px;font-size:11px}.companion-reply{background:#473355;border-radius:13px;padding:14px;min-height:65px;font-size:13px;line-height:1.5}.keepsake-area,.routine-area{padding-top:10px}.settings-input[rows]{resize:vertical;min-height:85px}.keepsake-list,.routine-list{font-size:11px;color:#c9bcd9;margin-top:10px}.saved-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid #8970935c}.saved-item span{overflow-wrap:anywhere}.saved-item button{border:1px solid #806393;background:#493657;color:#fff;padding:6px 9px;border-radius:8px;flex-shrink:0}.gimbal-tools{position:absolute;bottom:calc(113px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:min(96%,440px)}.gimbal-tools span{width:100%;font-size:11px;text-align:center}.gimbal-tools button{border:1px solid #ffffff50;background:#ffffff27;color:#f8e8ff;border-radius:12px;padding:7px 9px;font-size:11px}.face-preview{position:absolute;top:calc(70px + env(safe-area-inset-top));right:18px;width:74px;height:58px;border-radius:11px;object-fit:cover;transform:scaleX(-1);opacity:.76;border:2px solid #ffffff70}.senior-mode .companion-actions button{font-size:13px}.senior-mode .story-tile strong{font-size:12px}@media(max-height:620px){.gimbal-character{height:min(43vh,340px)}.gimbal-tools{bottom:calc(88px + env(safe-area-inset-bottom))}}

/* TOCO 1.4: atividades cotidianas e contraste acessível */
.checkin-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:12px}
.checkin-actions button{border:1px solid #b993c366;background:linear-gradient(145deg,#57416d,#3c2b53);color:#fff8ff;border-radius:15px;padding:12px 5px;font-size:12px;font-weight:850;min-height:83px;box-shadow:inset 0 1px #ffffff17}
.checkin-actions button span{display:block;font-size:26px;margin-bottom:5px}
.checkin-actions button:active{transform:scale(.98)}
.game-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}
.game-buttons button{min-width:0;overflow-wrap:anywhere}
.sequence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:14px 0}
.sequence-tile{min-height:91px;border:3px solid transparent;color:#24172f;border-radius:18px;font-size:16px;font-weight:900;box-shadow:inset 0 -5px #0002,0 7px 17px #0003;transition:filter .15s,transform .15s}
.sequence-tile:disabled{opacity:.7;cursor:default}
.sequence-tile.seq-rose{background:#ff9aba}.sequence-tile.seq-sun{background:#ffe08c}.sequence-tile.seq-mint{background:#a4eab8}.sequence-tile.seq-blue{background:#99c9ff}
.sequence-tile.lit{border-color:#fff;filter:brightness(1.28);transform:scale(1.05);box-shadow:0 0 22px #ffffff9c}
.senior-mode .checkin-actions button{font-size:15px;min-height:94px}.senior-mode .sequence-tile{font-size:19px}
@media(max-width:370px){.game-buttons button{font-size:10px;padding:10px 4px}.game-buttons button b{font-size:21px}}
@media(prefers-reduced-motion:reduce){.sequence-tile{transition:none!important}}

/* Toco 1.5: conversa imersiva, entrada direta e indicador mínimo de privacidade. */
.conversation-launch{width:100%;margin:9px 0 3px;min-height:52px;border:1px solid #e2b4fd9c;border-radius:16px;background:linear-gradient(135deg,#d8adff,#ffc4e5);color:#472a65;font-size:14px;font-weight:900;box-shadow:0 9px 25px #36175070}
.conversation-launch:focus-visible{outline:3px solid #fff;outline-offset:3px}
.voice-status{display:none;position:absolute;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:5;padding:7px 12px;border-radius:20px;background:#110b2682;color:#f2e3ff;text-align:center;font-weight:700;font-size:12px;max-width:90%;width:max-content;pointer-events:none}
.conversation-only{background:radial-gradient(ellipse at 50% 45%,#7c57b0 0,#493276 42%,#100b2b 100%)}
.conversation-only .gimbal-top{justify-content:flex-end;z-index:8}
.conversation-only .gimbal-top>span,.conversation-only .gimbal-bubble,.conversation-only .gimbal-tools,.conversation-only .gimbal-controls,.conversation-only .face-preview{display:none!important}
.conversation-only .gimbal-close{min-width:48px;min-height:48px;font-size:12px;letter-spacing:.01em;background:#ffffff1c;border-color:#ffffff38;opacity:.45}
.conversation-only .gimbal-close:focus-visible,.conversation-only .gimbal-close:hover{opacity:1;outline:2px solid #fff;outline-offset:3px}
.conversation-only .gimbal-character{height:min(84dvh,740px);width:min(98vw,540px);max-width:100%;filter:drop-shadow(0 26px 38px #140c34aa)}
.conversation-only .gimbal-character svg{width:100%;height:100%}
.conversation-only .voice-status{display:block}
.conversation-only .voice-status[data-state="listening"]{box-shadow:0 0 0 2px #8df5d855;color:#a5ffe9}
.conversation-only .voice-status[data-state="error"]{color:#ffe1c9}
@media(max-height:620px){.conversation-only .gimbal-character{height:75dvh}.conversation-only .voice-status{bottom:calc(7px + env(safe-area-inset-bottom))}}

/* TOCO 1.5 — tela preta total para gimbal + toque direto */
.usage-mode-panel{margin-top:13px;padding:14px 15px;background:#291e40;border:1px solid #81649b55;border-radius:17px}
.usage-mode-heading{font-size:12px;font-weight:900;color:#efdbff;margin-bottom:10px}
.usage-mode-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.usage-mode-choices label{display:flex;flex-direction:column;gap:4px;padding:11px 10px;color:#efdefc;border-radius:13px;background:#423252;border:1px solid #9574ac80;min-width:0;cursor:pointer}
.usage-mode-choices label:has(input:checked){border-color:#ecc8ff;background:#674e81;box-shadow:inset 0 0 0 1px #dcb7ff70}
.usage-mode-choices input{accent-color:#f7d4ff}
.usage-mode-choices strong{font-size:12px}.usage-mode-choices small{font-size:10px;line-height:1.4;color:#ddcde9}
.friend-only-mode .activity-panel{display:none!important}
.actions{display:none!important}
.character,.gimbal-character{touch-action:manipulation;user-select:none;-webkit-user-select:none}
.gimbal-overlay.conversation-only{background:#000!important;overflow:hidden;isolation:isolate;padding:0!important;inset:0!important;touch-action:manipulation}
.conversation-only .gimbal-top,.conversation-only .gimbal-bubble,.conversation-only .gimbal-tools,.conversation-only .gimbal-controls,.conversation-only .face-preview,.conversation-only .voice-status{display:none!important}
.conversation-only .gimbal-character{width:min(162vw,880px)!important;height:min(99dvh,920px)!important;max-width:none!important;flex:0 0 auto;align-self:center;margin:0;filter:none;animation:gimbalBob 3.5s ease-in-out infinite;display:grid;place-items:center;touch-action:manipulation}
.conversation-only .gimbal-character svg{width:100%;height:100%;max-height:none;filter:drop-shadow(0 5px 12px #24242455)}
.emotion-dizzy svg{animation:feelDizzy .42s ease-in-out 6}
.emotion-dizzy::after{content:'💫';position:absolute;top:4%;right:28%;font-size:32px;pointer-events:none}
@keyframes feelDizzy{0%,100%{transform:rotate(0deg)}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}}
@media(max-width:370px){.usage-mode-panel{margin-left:-1px;margin-right:-1px}.conversation-only .gimbal-character{width:168vw!important}}

#app:has(.conversation-only:not([hidden])) #toast{display:none!important}
.conversation-only .gimbal-character svg{transform:scale(1.16);transform-origin:center}

/* Toco 1.5.1 — estado recuperável de microfone, prévia visual independente do áudio */
.preview-fullscreen{width:100%;min-height:42px;margin-top:6px;border:1px solid #9076ad;border-radius:12px;background:#2e2246;color:#e9d8ff;font-weight:800;font-size:12px;padding:9px 12px}
.voice-help-panel{margin:12px 0 0;border:1px solid #e7acb2;background:#4b283c;color:#fff0ef;border-radius:14px;padding:13px 14px;font-size:12px;line-height:1.55}
.voice-help-panel[hidden]{display:none!important}
.voice-help-panel p{margin:7px 0 10px;overflow-wrap:anywhere}
.voice-help-panel button{background:#fff0ef;color:#4f223a;border:0;border-radius:10px;padding:10px 12px;font-weight:900;font-size:12px;min-height:42px}
.senior-mode .voice-help-panel,.senior-mode .preview-fullscreen{font-size:15px}

/* Corrige controles invisiveis na conversa imersiva: feedback de microfone e saida acessivel. */
.gimbal-overlay.conversation-only .gimbal-top{display:flex!important;position:absolute;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:30;pointer-events:none;background:transparent!important}
.gimbal-overlay.conversation-only .gimbal-top>span{display:none!important}
.gimbal-overlay.conversation-only .gimbal-close{display:block!important;pointer-events:auto;opacity:.9;min-width:52px;min-height:48px;margin-left:auto}
.gimbal-overlay.conversation-only .voice-status{display:block!important;position:absolute;bottom:calc(12px + env(safe-area-inset-bottom,0px));left:12px;right:12px;z-index:30;max-width:calc(100% - 24px);text-align:center;pointer-events:none}


/* Toco v1.5.3: tela de conversa imersiva somente com o personagem sobre preto.
   Para sair: toque prolongado no rosto, teclado ou Android Voltar onde suportado. */
.gimbal-overlay.conversation-only{background:#000!important}
.gimbal-overlay.conversation-only .gimbal-top{background:transparent!important;pointer-events:none!important}
.gimbal-overlay.conversation-only .gimbal-close{opacity:0!important;pointer-events:none!important}
.gimbal-overlay.conversation-only .gimbal-close:focus-visible{opacity:1!important;pointer-events:auto!important}
.gimbal-overlay.conversation-only .voice-status{
 display:block!important;position:absolute!important;width:1px!important;height:1px!important;
 left:0!important;right:auto!important;bottom:0!important;padding:0!important;margin:0!important;
 overflow:hidden!important;border:0!important;clip-path:inset(50%)!important;white-space:nowrap!important;
}

/* TOCO 1.5.5: estabiliza a rolagem de botoes proximo a barra fixa. */
html{scroll-behavior:auto;scroll-padding-bottom:calc(125px + env(safe-area-inset-bottom))}
#conversationButton,#previewFullscreenButton{scroll-margin-top:20px;scroll-margin-bottom:calc(130px + env(safe-area-inset-bottom))}


/* TOCO v1.5.15: mic discreto 50x50 APENAS apos reconhecimento do nome. */
.voice-cue{width:50px!important;height:50px!important;min-width:50px;min-height:50px;position:absolute;
 left:50%;bottom:calc(23px + env(safe-area-inset-bottom));transform:translateX(-50%);
 z-index:50;border:1px solid #8dc6ff94;background:linear-gradient(135deg,#473c6688,#170f2888);
 border-radius:50%;display:grid;place-items:center;pointer-events:none;
 color:#e7f9ff;opacity:.73;box-shadow:0 0 10px #43baff33;}
.voice-cue[hidden]{display:none!important}
.voice-cue svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.voice-cue[data-phase=listening]{border-color:#8cf4da;box-shadow:0 0 13px #54f9d077;animation:cueBreathing 1.3s ease-in-out infinite}
.voice-cue[data-phase=thinking]{border-color:#ffdc91;color:#ffe7b7;animation:cueThinking .8s ease-in-out infinite}
.voice-cue[data-phase=speaking]{border-color:#e6a8ff;color:#ffd5ff;animation:cueBreathing .45s ease-in-out infinite}
.voice-cue[data-phase=permission]{opacity:.46}
@keyframes cueBreathing{50%{opacity:1;box-shadow:0 0 20px #66f0ff88}}
@keyframes cueThinking{25%{transform:translateX(-50%) rotate(-7deg)}75%{transform:translateX(-50%) rotate(7deg)}}
#app[data-time-activity=sleep] .stage .eye,#app[data-time-activity=sleep] .gimbal-character .eye{animation:none!important;transform:scaleY(.13)}
#app[data-time-activity=sleep] .stage .regular-mouth,#app[data-time-activity=sleep] .gimbal-character .regular-mouth{opacity:.45}
#app[data-time-activity=sleep] .stage::before{content:'Zzz';position:absolute;right:12%;top:12%;z-index:5;font-size:22px;color:#e8d6ff99;animation:quietZzz 3s infinite}
.gimbal-overlay[data-time-activity=sleep] .gimbal-character::after{content:'Z z z';position:absolute;top:9%;right:12%;font-size:clamp(19px,4vw,28px);color:#b9aaffaa;animation:quietZzz 3s infinite}
@keyframes quietZzz{50%{opacity:.25;transform:translateY(-12px)}}
#app.wake-stretch .character,#app.wake-stretch .gimbal-character{animation:tocoWake 2.4s ease-in-out!important}
@keyframes tocoWake{0%{filter:brightness(.55);transform:translateY(8px) scale(.95)}45%{filter:brightness(1.05);transform:translateY(-12px) scale(1.03)}100%{transform:translateY(0) scale(1)}}
#app[data-time-activity=lunch] .character::after,#app[data-time-activity=dinner] .character::after,
.gimbal-overlay[data-time-activity=lunch] .gimbal-character::after,.gimbal-overlay[data-time-activity=dinner] .gimbal-character::after{
 content:'🍽️';position:absolute;right:5%;bottom:9%;font-size:clamp(23px,7vw,44px);animation:tocoMeal 1.8s ease-in-out infinite;pointer-events:none}
#app[data-time-activity=lunch] .character .regular-mouth,#app[data-time-activity=dinner] .character .regular-mouth,
.gimbal-overlay[data-time-activity=lunch] .gimbal-character .regular-mouth,.gimbal-overlay[data-time-activity=dinner] .gimbal-character .regular-mouth{
 animation:mealMouth .5s ease-in-out infinite alternate;transform-origin:200px 250px}
@keyframes tocoMeal{50%{transform:translateY(-8px) rotate(-9deg)}}@keyframes mealMouth{to{transform:scaleY(.35)}}
#app .emotion-thinking .eye{animation:thinkingEyes 1.4s ease-in-out infinite}
#app .emotion-thinking .face-shell{animation:thinkingFace 1.8s ease-in-out infinite}
@keyframes thinkingEyes{50%{transform:scaleY(.6)}}@keyframes thinkingFace{50%{transform:rotate(3deg) translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.voice-cue,.time-sleeping *,.wake-stretch *{animation:none!important}}

/* TOCO 1.5.17: 18 quadros vetoriais por sequencia. */
/* Poses SVG interpoladas no navegador, sem sprites de imagem. */
@keyframes toco18-sleep {
  0.0000% {transform:translate3d(0,0.00px,0) rotate(0.00deg) scale(1.0000);filter:brightness(1.000);}
  5.8824% {transform:translate3d(0,0.90px,0) rotate(0.25deg) scale(1.0043);filter:brightness(1.000);}
  11.7647% {transform:translate3d(0,1.68px,0) rotate(0.47deg) scale(1.0081);filter:brightness(1.000);}
  17.6471% {transform:translate3d(0,2.24px,0) rotate(0.63deg) scale(1.0107);filter:brightness(1.000);}
  23.5294% {transform:translate3d(0,2.49px,0) rotate(0.70deg) scale(1.0119);filter:brightness(1.000);}
  29.4118% {transform:translate3d(0,2.40px,0) rotate(0.67deg) scale(1.0115);filter:brightness(1.000);}
  35.2941% {transform:translate3d(0,2.00px,0) rotate(0.56deg) scale(1.0096);filter:brightness(1.000);}
  41.1765% {transform:translate3d(0,1.32px,0) rotate(0.37deg) scale(1.0063);filter:brightness(1.000);}
  47.0588% {transform:translate3d(0,0.46px,0) rotate(0.13deg) scale(1.0022);filter:brightness(1.000);}
  52.9412% {transform:translate3d(0,-0.46px,0) rotate(-0.13deg) scale(0.9978);filter:brightness(1.000);}
  58.8235% {transform:translate3d(0,-1.32px,0) rotate(-0.37deg) scale(0.9937);filter:brightness(1.000);}
  64.7059% {transform:translate3d(0,-2.00px,0) rotate(-0.56deg) scale(0.9904);filter:brightness(1.000);}
  70.5882% {transform:translate3d(0,-2.40px,0) rotate(-0.67deg) scale(0.9885);filter:brightness(1.000);}
  76.4706% {transform:translate3d(0,-2.49px,0) rotate(-0.70deg) scale(0.9881);filter:brightness(1.000);}
  82.3529% {transform:translate3d(0,-2.24px,0) rotate(-0.63deg) scale(0.9893);filter:brightness(1.000);}
  88.2353% {transform:translate3d(0,-1.68px,0) rotate(-0.47deg) scale(0.9919);filter:brightness(1.000);}
  94.1176% {transform:translate3d(0,-0.90px,0) rotate(-0.25deg) scale(0.9957);filter:brightness(1.000);}
  100.0000% {transform:translate3d(0,-0.00px,0) rotate(-0.00deg) scale(1.0000);filter:brightness(1.000);}
}
@keyframes toco18-wake {
  0.0000% {transform:translate3d(0,5.00px,0) rotate(0.00deg) scale(0.9500);filter:brightness(0.550);}
  5.8824% {transform:translate3d(0,4.40px,0) rotate(1.70deg) scale(0.9558);filter:brightness(0.576);}
  11.7647% {transform:translate3d(0,3.24px,0) rotate(2.97deg) scale(0.9670);filter:brightness(0.603);}
  17.6471% {transform:translate3d(0,1.62px,0) rotate(3.69deg) scale(0.9824);filter:brightness(0.629);}
  23.5294% {transform:translate3d(0,-0.26px,0) rotate(3.81deg) scale(1.0003);filter:brightness(0.656);}
  29.4118% {transform:translate3d(0,-2.20px,0) rotate(3.39deg) scale(1.0188);filter:brightness(0.682);}
  35.2941% {transform:translate3d(0,-3.98px,0) rotate(2.58deg) scale(1.0358);filter:brightness(0.709);}
  41.1765% {transform:translate3d(0,-5.38px,0) rotate(1.55deg) scale(1.0492);filter:brightness(0.735);}
  47.0588% {transform:translate3d(0,-6.28px,0) rotate(0.49deg) scale(1.0578);filter:brightness(0.762);}
  52.9412% {transform:translate3d(0,-6.57px,0) rotate(-0.43deg) scale(1.0607);filter:brightness(0.788);}
  58.8235% {transform:translate3d(0,-6.27px,0) rotate(-1.08deg) scale(1.0580);filter:brightness(0.815);}
  64.7059% {transform:translate3d(0,-5.45px,0) rotate(-1.41deg) scale(1.0505);filter:brightness(0.841);}
  70.5882% {transform:translate3d(0,-4.26px,0) rotate(-1.41deg) scale(1.0394);filter:brightness(0.868);}
  76.4706% {transform:translate3d(0,-2.91px,0) rotate(-1.17deg) scale(1.0268);filter:brightness(0.894);}
  82.3529% {transform:translate3d(0,-1.61px,0) rotate(-0.79deg) scale(1.0147);filter:brightness(0.921);}
  88.2353% {transform:translate3d(0,-0.59px,0) rotate(-0.40deg) scale(1.0052);filter:brightness(0.947);}
  94.1176% {transform:translate3d(0,-0.01px,0) rotate(-0.11deg) scale(0.9999);filter:brightness(0.974);}
  100.0000% {transform:translate3d(0,-0.00px,0) rotate(-0.00deg) scale(1.0000);filter:brightness(1.000);}
}
@keyframes toco18-lunch {
  0.0000% {transform:translate3d(0,-0.00px,0) rotate(0.00deg) scale(1.0000);filter:brightness(1.000);}
  5.8824% {transform:translate3d(0,-3.13px,0) rotate(1.08deg) scale(1.0224);filter:brightness(1.000);}
  11.7647% {transform:translate3d(0,-2.79px,0) rotate(2.02deg) scale(1.0200);filter:brightness(1.000);}
  17.6471% {transform:translate3d(0,-0.00px,0) rotate(2.69deg) scale(1.0000);filter:brightness(1.000);}
  23.5294% {transform:translate3d(0,-0.00px,0) rotate(2.99deg) scale(1.0000);filter:brightness(1.000);}
  29.4118% {transform:translate3d(0,-0.00px,0) rotate(2.89deg) scale(1.0000);filter:brightness(1.000);}
  35.2941% {transform:translate3d(0,-1.26px,0) rotate(2.39deg) scale(1.0090);filter:brightness(1.000);}
  41.1765% {transform:translate3d(0,-3.49px,0) rotate(1.58deg) scale(1.0249);filter:brightness(1.000);}
  47.0588% {transform:translate3d(0,-1.84px,0) rotate(0.55deg) scale(1.0132);filter:brightness(1.000);}
  52.9412% {transform:translate3d(0,-0.00px,0) rotate(-0.55deg) scale(1.0000);filter:brightness(1.000);}
  58.8235% {transform:translate3d(0,-0.00px,0) rotate(-1.58deg) scale(1.0000);filter:brightness(1.000);}
  64.7059% {transform:translate3d(0,-0.00px,0) rotate(-2.39deg) scale(1.0000);filter:brightness(1.000);}
  70.5882% {transform:translate3d(0,-2.36px,0) rotate(-2.89deg) scale(1.0168);filter:brightness(1.000);}
  76.4706% {transform:translate3d(0,-3.37px,0) rotate(-2.99deg) scale(1.0240);filter:brightness(1.000);}
  82.3529% {transform:translate3d(0,-0.64px,0) rotate(-2.69deg) scale(1.0046);filter:brightness(1.000);}
  88.2353% {transform:translate3d(0,-0.00px,0) rotate(-2.02deg) scale(1.0000);filter:brightness(1.000);}
  94.1176% {transform:translate3d(0,-0.00px,0) rotate(-1.08deg) scale(1.0000);filter:brightness(1.000);}
  100.0000% {transform:translate3d(0,-0.00px,0) rotate(-0.00deg) scale(1.0000);filter:brightness(1.000);}
}
@keyframes toco18-dinner {
  0.0000% {transform:translate3d(0,-0.00px,0) rotate(0.00deg) scale(1.0000);filter:brightness(1.000);}
  5.8824% {transform:translate3d(0,-3.13px,0) rotate(1.08deg) scale(1.0224);filter:brightness(1.000);}
  11.7647% {transform:translate3d(0,-2.79px,0) rotate(2.02deg) scale(1.0200);filter:brightness(1.000);}
  17.6471% {transform:translate3d(0,-0.00px,0) rotate(2.69deg) scale(1.0000);filter:brightness(1.000);}
  23.5294% {transform:translate3d(0,-0.00px,0) rotate(2.99deg) scale(1.0000);filter:brightness(1.000);}
  29.4118% {transform:translate3d(0,-0.00px,0) rotate(2.89deg) scale(1.0000);filter:brightness(1.000);}
  35.2941% {transform:translate3d(0,-1.26px,0) rotate(2.39deg) scale(1.0090);filter:brightness(1.000);}
  41.1765% {transform:translate3d(0,-3.49px,0) rotate(1.58deg) scale(1.0249);filter:brightness(1.000);}
  47.0588% {transform:translate3d(0,-1.84px,0) rotate(0.55deg) scale(1.0132);filter:brightness(1.000);}
  52.9412% {transform:translate3d(0,-0.00px,0) rotate(-0.55deg) scale(1.0000);filter:brightness(1.000);}
  58.8235% {transform:translate3d(0,-0.00px,0) rotate(-1.58deg) scale(1.0000);filter:brightness(1.000);}
  64.7059% {transform:translate3d(0,-0.00px,0) rotate(-2.39deg) scale(1.0000);filter:brightness(1.000);}
  70.5882% {transform:translate3d(0,-2.36px,0) rotate(-2.89deg) scale(1.0168);filter:brightness(1.000);}
  76.4706% {transform:translate3d(0,-3.37px,0) rotate(-2.99deg) scale(1.0240);filter:brightness(1.000);}
  82.3529% {transform:translate3d(0,-0.64px,0) rotate(-2.69deg) scale(1.0046);filter:brightness(1.000);}
  88.2353% {transform:translate3d(0,-0.00px,0) rotate(-2.02deg) scale(1.0000);filter:brightness(1.000);}
  94.1176% {transform:translate3d(0,-0.00px,0) rotate(-1.08deg) scale(1.0000);filter:brightness(1.000);}
  100.0000% {transform:translate3d(0,-0.00px,0) rotate(-0.00deg) scale(1.0000);filter:brightness(1.000);}
}
@keyframes toco18-thinking {
  0.0000% {transform:translate3d(0,-2.50px,0) rotate(0.00deg) scale(1.0000);filter:brightness(1.000);}
  5.8824% {transform:translate3d(0,-1.60px,0) rotate(1.30deg) scale(1.0043);filter:brightness(1.000);}
  11.7647% {transform:translate3d(0,-0.82px,0) rotate(2.43deg) scale(1.0081);filter:brightness(1.000);}
  17.6471% {transform:translate3d(0,-0.26px,0) rotate(3.22deg) scale(1.0107);filter:brightness(1.000);}
  23.5294% {transform:translate3d(0,-0.01px,0) rotate(3.58deg) scale(1.0119);filter:brightness(1.000);}
  29.4118% {transform:translate3d(0,-0.10px,0) rotate(3.46deg) scale(1.0115);filter:brightness(1.000);}
  35.2941% {transform:translate3d(0,-0.50px,0) rotate(2.87deg) scale(1.0096);filter:brightness(1.000);}
  41.1765% {transform:translate3d(0,-1.18px,0) rotate(1.90deg) scale(1.0063);filter:brightness(1.000);}
  47.0588% {transform:translate3d(0,-2.04px,0) rotate(0.66deg) scale(1.0022);filter:brightness(1.000);}
  52.9412% {transform:translate3d(0,-2.96px,0) rotate(-0.66deg) scale(0.9978);filter:brightness(1.000);}
  58.8235% {transform:translate3d(0,-3.82px,0) rotate(-1.90deg) scale(0.9937);filter:brightness(1.000);}
  64.7059% {transform:translate3d(0,-4.50px,0) rotate(-2.87deg) scale(0.9904);filter:brightness(1.000);}
  70.5882% {transform:translate3d(0,-4.90px,0) rotate(-3.46deg) scale(0.9885);filter:brightness(1.000);}
  76.4706% {transform:translate3d(0,-4.99px,0) rotate(-3.58deg) scale(0.9881);filter:brightness(1.000);}
  82.3529% {transform:translate3d(0,-4.74px,0) rotate(-3.22deg) scale(0.9893);filter:brightness(1.000);}
  88.2353% {transform:translate3d(0,-4.18px,0) rotate(-2.43deg) scale(0.9919);filter:brightness(1.000);}
  94.1176% {transform:translate3d(0,-3.40px,0) rotate(-1.30deg) scale(0.9957);filter:brightness(1.000);}
  100.0000% {transform:translate3d(0,-2.50px,0) rotate(-0.00deg) scale(1.0000);filter:brightness(1.000);}
}
@keyframes toco18-pet {
  0.0000% {transform:translate3d(0,-0.00px,0) rotate(0.00deg) scale(1.0000);filter:brightness(1.000);}
  5.8824% {transform:translate3d(0,-0.34px,0) rotate(2.54deg) scale(1.0022);filter:brightness(1.000);}
  11.7647% {transform:translate3d(0,-1.30px,0) rotate(3.51deg) scale(1.0085);filter:brightness(1.000);}
  17.6471% {transform:translate3d(0,-2.77px,0) rotate(2.63deg) scale(1.0180);filter:brightness(1.000);}
  23.5294% {transform:translate3d(0,-4.54px,0) rotate(0.56deg) scale(1.0295);filter:brightness(1.000);}
  29.4118% {transform:translate3d(0,-6.37px,0) rotate(-1.49deg) scale(1.0414);filter:brightness(1.000);}
  35.2941% {transform:translate3d(0,-8.01px,0) rotate(-2.49deg) scale(1.0521);filter:brightness(1.000);}
  41.1765% {transform:translate3d(0,-9.25px,0) rotate(-2.11deg) scale(1.0601);filter:brightness(1.000);}
  47.0588% {transform:translate3d(0,-9.91px,0) rotate(-0.76deg) scale(1.0644);filter:brightness(1.000);}
  52.9412% {transform:translate3d(0,-9.91px,0) rotate(0.68deg) scale(1.0644);filter:brightness(1.000);}
  58.8235% {transform:translate3d(0,-9.25px,0) rotate(1.47deg) scale(1.0601);filter:brightness(1.000);}
  64.7059% {transform:translate3d(0,-8.01px,0) rotate(1.36deg) scale(1.0521);filter:brightness(1.000);}
  70.5882% {transform:translate3d(0,-6.37px,0) rotate(0.62deg) scale(1.0414);filter:brightness(1.000);}
  76.4706% {transform:translate3d(0,-4.54px,0) rotate(-0.17deg) scale(1.0295);filter:brightness(1.000);}
  82.3529% {transform:translate3d(0,-2.77px,0) rotate(-0.56deg) scale(1.0180);filter:brightness(1.000);}
  88.2353% {transform:translate3d(0,-1.30px,0) rotate(-0.47deg) scale(1.0085);filter:brightness(1.000);}
  94.1176% {transform:translate3d(0,-0.34px,0) rotate(-0.16deg) scale(1.0022);filter:brightness(1.000);}
  100.0000% {transform:translate3d(0,-0.00px,0) rotate(-0.00deg) scale(1.0000);filter:brightness(1.000);}
}
@keyframes toco18-laugh {
  0.0000% {transform:translate3d(0,-0.00px,0) rotate(0.00deg) scale(1.0180);filter:brightness(1.000);}
  5.8824% {transform:translate3d(0,-4.79px,0) rotate(3.13deg) scale(1.0080);filter:brightness(1.000);}
  11.7647% {transform:translate3d(0,-5.77px,0) rotate(2.79deg) scale(0.9892);filter:brightness(1.000);}
  17.6471% {transform:translate3d(0,-2.17px,0) rotate(-0.64deg) scale(0.9823);filter:brightness(1.000);}
  23.5294% {transform:translate3d(0,-3.16px,0) rotate(-3.37deg) scale(0.9951);filter:brightness(1.000);}
  29.4118% {transform:translate3d(0,-5.97px,0) rotate(-2.36deg) scale(1.0133);filter:brightness(1.000);}
  35.2941% {transform:translate3d(0,-4.04px,0) rotate(1.26deg) scale(1.0168);filter:brightness(1.000);}
  41.1765% {transform:translate3d(0,-1.10px,0) rotate(3.49deg) scale(1.0017);filter:brightness(1.000);}
  47.0588% {transform:translate3d(0,-5.37px,0) rotate(1.84deg) scale(0.9847);filter:brightness(1.000);}
  52.9412% {transform:translate3d(0,-5.37px,0) rotate(-1.84deg) scale(0.9847);filter:brightness(1.000);}
  58.8235% {transform:translate3d(0,-1.10px,0) rotate(-3.49deg) scale(1.0017);filter:brightness(1.000);}
  64.7059% {transform:translate3d(0,-4.04px,0) rotate(-1.26deg) scale(1.0168);filter:brightness(1.000);}
  70.5882% {transform:translate3d(0,-5.97px,0) rotate(2.36deg) scale(1.0133);filter:brightness(1.000);}
  76.4706% {transform:translate3d(0,-3.16px,0) rotate(3.37deg) scale(0.9951);filter:brightness(1.000);}
  82.3529% {transform:translate3d(0,-2.17px,0) rotate(0.64deg) scale(0.9823);filter:brightness(1.000);}
  88.2353% {transform:translate3d(0,-5.77px,0) rotate(-2.79deg) scale(0.9892);filter:brightness(1.000);}
  94.1176% {transform:translate3d(0,-4.79px,0) rotate(-3.13deg) scale(1.0080);filter:brightness(1.000);}
  100.0000% {transform:translate3d(0,-0.00px,0) rotate(-0.00deg) scale(1.0180);filter:brightness(1.000);}
}
@keyframes toco18-angry {
  0.0000% {transform:translate3d(0,1.00px,0) rotate(0.00deg) scale(1.0000);filter:brightness(1.000);}
  5.8824% {transform:translate3d(0,1.00px,0) rotate(4.69deg) scale(1.0107);filter:brightness(1.000);}
  11.7647% {transform:translate3d(0,1.00px,0) rotate(0.81deg) scale(1.0096);filter:brightness(1.000);}
  17.6471% {transform:translate3d(0,1.00px,0) rotate(-3.96deg) scale(0.9978);filter:brightness(1.000);}
  23.5294% {transform:translate3d(0,1.00px,0) rotate(-1.38deg) scale(0.9885);filter:brightness(1.000);}
  29.4118% {transform:translate3d(0,1.00px,0) rotate(3.16deg) scale(0.9919);filter:brightness(1.000);}
  35.2941% {transform:translate3d(0,1.00px,0) rotate(1.70deg) scale(1.0043);filter:brightness(1.000);}
  41.1765% {transform:translate3d(0,1.00px,0) rotate(-2.35deg) scale(1.0119);filter:brightness(1.000);}
  47.0588% {transform:translate3d(0,1.00px,0) rotate(-1.78deg) scale(1.0063);filter:brightness(1.000);}
  52.9412% {transform:translate3d(0,1.00px,0) rotate(1.59deg) scale(0.9937);filter:brightness(1.000);}
  58.8235% {transform:translate3d(0,1.00px,0) rotate(1.64deg) scale(0.9881);filter:brightness(1.000);}
  64.7059% {transform:translate3d(0,1.00px,0) rotate(-0.93deg) scale(0.9957);filter:brightness(1.000);}
  70.5882% {transform:translate3d(0,1.00px,0) rotate(-1.32deg) scale(1.0081);filter:brightness(1.000);}
  76.4706% {transform:translate3d(0,1.00px,0) rotate(0.42deg) scale(1.0115);filter:brightness(1.000);}
  82.3529% {transform:translate3d(0,1.00px,0) rotate(0.85deg) scale(1.0022);filter:brightness(1.000);}
  88.2353% {transform:translate3d(0,1.00px,0) rotate(-0.11deg) scale(0.9904);filter:brightness(1.000);}
  94.1176% {transform:translate3d(0,1.00px,0) rotate(-0.29deg) scale(0.9893);filter:brightness(1.000);}
  100.0000% {transform:translate3d(0,1.00px,0) rotate(-0.00deg) scale(1.0000);filter:brightness(1.000);}
}
@keyframes toco18-dizzy {
  0.0000% {transform:translate3d(0,0.00px,0) rotate(0.00deg) scale(0.9820);filter:brightness(1.000);}
  5.8824% {transform:translate3d(0,1.08px,0) rotate(6.74deg) scale(0.9867);filter:brightness(1.000);}
  11.7647% {transform:translate3d(0,2.02px,0) rotate(9.96deg) scale(0.9983);filter:brightness(1.000);}
  17.6471% {transform:translate3d(0,2.69px,0) rotate(7.98deg) scale(1.0108);filter:brightness(1.000);}
  23.5294% {transform:translate3d(0,2.99px,0) rotate(1.84deg) scale(1.0177);filter:brightness(1.000);}
  29.4118% {transform:translate3d(0,2.89px,0) rotate(-5.26deg) scale(1.0153);filter:brightness(1.000);}
  35.2941% {transform:translate3d(0,2.39px,0) rotate(-9.62deg) scale(1.0049);filter:brightness(1.000);}
  41.1765% {transform:translate3d(0,1.58px,0) rotate(-8.95deg) scale(0.9920);filter:brightness(1.000);}
  47.0588% {transform:translate3d(0,0.55px,0) rotate(-3.61deg) scale(0.9832);filter:brightness(1.000);}
  52.9412% {transform:translate3d(0,-0.55px,0) rotate(3.61deg) scale(0.9832);filter:brightness(1.000);}
  58.8235% {transform:translate3d(0,-1.58px,0) rotate(8.95deg) scale(0.9920);filter:brightness(1.000);}
  64.7059% {transform:translate3d(0,-2.39px,0) rotate(9.62deg) scale(1.0049);filter:brightness(1.000);}
  70.5882% {transform:translate3d(0,-2.89px,0) rotate(5.26deg) scale(1.0153);filter:brightness(1.000);}
  76.4706% {transform:translate3d(0,-2.99px,0) rotate(-1.84deg) scale(1.0177);filter:brightness(1.000);}
  82.3529% {transform:translate3d(0,-2.69px,0) rotate(-7.98deg) scale(1.0108);filter:brightness(1.000);}
  88.2353% {transform:translate3d(0,-2.02px,0) rotate(-9.96deg) scale(0.9983);filter:brightness(1.000);}
  94.1176% {transform:translate3d(0,-1.08px,0) rotate(-6.74deg) scale(0.9867);filter:brightness(1.000);}
  100.0000% {transform:translate3d(0,-0.00px,0) rotate(-0.00deg) scale(0.9820);filter:brightness(1.000);}
}
@keyframes toco18-sad {
  0.0000% {transform:translate3d(0,0.00px,0) rotate(-0.00deg) scale(1.0000);filter:brightness(1.000);}
  5.8824% {transform:translate3d(0,0.20px,0) rotate(-0.72deg) scale(0.9996);filter:brightness(1.000);}
  11.7647% {transform:translate3d(0,0.78px,0) rotate(-1.35deg) scale(0.9984);filter:brightness(1.000);}
  17.6471% {transform:translate3d(0,1.66px,0) rotate(-1.79deg) scale(0.9967);filter:brightness(1.000);}
  23.5294% {transform:translate3d(0,2.72px,0) rotate(-1.99deg) scale(0.9946);filter:brightness(1.000);}
  29.4118% {transform:translate3d(0,3.82px,0) rotate(-1.92deg) scale(0.9924);filter:brightness(1.000);}
  35.2941% {transform:translate3d(0,4.81px,0) rotate(-1.60deg) scale(0.9904);filter:brightness(1.000);}
  41.1765% {transform:translate3d(0,5.55px,0) rotate(-1.05deg) scale(0.9889);filter:brightness(1.000);}
  47.0588% {transform:translate3d(0,5.95px,0) rotate(-0.37deg) scale(0.9881);filter:brightness(1.000);}
  52.9412% {transform:translate3d(0,5.95px,0) rotate(0.37deg) scale(0.9881);filter:brightness(1.000);}
  58.8235% {transform:translate3d(0,5.55px,0) rotate(1.05deg) scale(0.9889);filter:brightness(1.000);}
  64.7059% {transform:translate3d(0,4.81px,0) rotate(1.60deg) scale(0.9904);filter:brightness(1.000);}
  70.5882% {transform:translate3d(0,3.82px,0) rotate(1.92deg) scale(0.9924);filter:brightness(1.000);}
  76.4706% {transform:translate3d(0,2.72px,0) rotate(1.99deg) scale(0.9946);filter:brightness(1.000);}
  82.3529% {transform:translate3d(0,1.66px,0) rotate(1.79deg) scale(0.9967);filter:brightness(1.000);}
  88.2353% {transform:translate3d(0,0.78px,0) rotate(1.35deg) scale(0.9984);filter:brightness(1.000);}
  94.1176% {transform:translate3d(0,0.20px,0) rotate(0.72deg) scale(0.9996);filter:brightness(1.000);}
  100.0000% {transform:translate3d(0,0.00px,0) rotate(0.00deg) scale(1.0000);filter:brightness(1.000);}
}
@keyframes toco18-kiss {
  0.0000% {transform:translate3d(0,-0.00px,0) rotate(0.00deg) scale(1.0000);filter:brightness(1.000);}
  5.8824% {transform:translate3d(0,-0.20px,0) rotate(1.81deg) scale(1.0024);filter:brightness(1.000);}
  11.7647% {transform:translate3d(0,-0.78px,0) rotate(3.37deg) scale(1.0091);filter:brightness(1.000);}
  17.6471% {transform:translate3d(0,-1.66px,0) rotate(4.48deg) scale(1.0194);filter:brightness(1.000);}
  23.5294% {transform:translate3d(0,-2.72px,0) rotate(4.98deg) scale(1.0318);filter:brightness(1.000);}
  29.4118% {transform:translate3d(0,-3.82px,0) rotate(4.81deg) scale(1.0446);filter:brightness(1.000);}
  35.2941% {transform:translate3d(0,-4.81px,0) rotate(3.99deg) scale(1.0561);filter:brightness(1.000);}
  41.1765% {transform:translate3d(0,-5.55px,0) rotate(2.63deg) scale(1.0648);filter:brightness(1.000);}
  47.0588% {transform:translate3d(0,-5.95px,0) rotate(0.92deg) scale(1.0694);filter:brightness(1.000);}
  52.9412% {transform:translate3d(0,-5.95px,0) rotate(-0.92deg) scale(1.0694);filter:brightness(1.000);}
  58.8235% {transform:translate3d(0,-5.55px,0) rotate(-2.63deg) scale(1.0648);filter:brightness(1.000);}
  64.7059% {transform:translate3d(0,-4.81px,0) rotate(-3.99deg) scale(1.0561);filter:brightness(1.000);}
  70.5882% {transform:translate3d(0,-3.82px,0) rotate(-4.81deg) scale(1.0446);filter:brightness(1.000);}
  76.4706% {transform:translate3d(0,-2.72px,0) rotate(-4.98deg) scale(1.0318);filter:brightness(1.000);}
  82.3529% {transform:translate3d(0,-1.66px,0) rotate(-4.48deg) scale(1.0194);filter:brightness(1.000);}
  88.2353% {transform:translate3d(0,-0.78px,0) rotate(-3.37deg) scale(1.0091);filter:brightness(1.000);}
  94.1176% {transform:translate3d(0,-0.20px,0) rotate(-1.81deg) scale(1.0024);filter:brightness(1.000);}
  100.0000% {transform:translate3d(0,-0.00px,0) rotate(-0.00deg) scale(1.0000);filter:brightness(1.000);}
}
@keyframes toco18-speaking {
  0.0000% {transform:translate3d(0,-0.00px,0) rotate(0.00deg) scale(1.0000);filter:brightness(1.000);}
  5.8824% {transform:translate3d(0,-1.88px,0) rotate(0.88deg) scale(1.0000);filter:brightness(1.000);}
  11.7647% {transform:translate3d(0,-1.68px,0) rotate(1.29deg) scale(1.0000);filter:brightness(1.000);}
  17.6471% {transform:translate3d(0,0.39px,0) rotate(1.04deg) scale(1.0000);filter:brightness(1.000);}
  23.5294% {transform:translate3d(0,2.02px,0) rotate(0.24deg) scale(1.0000);filter:brightness(1.000);}
  29.4118% {transform:translate3d(0,1.41px,0) rotate(-0.68deg) scale(1.0000);filter:brightness(1.000);}
  35.2941% {transform:translate3d(0,-0.76px,0) rotate(-1.25deg) scale(1.0000);filter:brightness(1.000);}
  41.1765% {transform:translate3d(0,-2.09px,0) rotate(-1.16deg) scale(1.0000);filter:brightness(1.000);}
  47.0588% {transform:translate3d(0,-1.11px,0) rotate(-0.47deg) scale(1.0000);filter:brightness(1.000);}
  52.9412% {transform:translate3d(0,1.11px,0) rotate(0.47deg) scale(1.0000);filter:brightness(1.000);}
  58.8235% {transform:translate3d(0,2.09px,0) rotate(1.16deg) scale(1.0000);filter:brightness(1.000);}
  64.7059% {transform:translate3d(0,0.76px,0) rotate(1.25deg) scale(1.0000);filter:brightness(1.000);}
  70.5882% {transform:translate3d(0,-1.41px,0) rotate(0.68deg) scale(1.0000);filter:brightness(1.000);}
  76.4706% {transform:translate3d(0,-2.02px,0) rotate(-0.24deg) scale(1.0000);filter:brightness(1.000);}
  82.3529% {transform:translate3d(0,-0.39px,0) rotate(-1.04deg) scale(1.0000);filter:brightness(1.000);}
  88.2353% {transform:translate3d(0,1.68px,0) rotate(-1.29deg) scale(1.0000);filter:brightness(1.000);}
  94.1176% {transform:translate3d(0,1.88px,0) rotate(-0.88deg) scale(1.0000);filter:brightness(1.000);}
  100.0000% {transform:translate3d(0,0.00px,0) rotate(-0.00deg) scale(1.0000);filter:brightness(1.000);}
}
@keyframes toco18-munch {
  0.0000% {transform:scaleY(1.000);}
  5.8824% {transform:scaleY(0.834);}
  11.7647% {transform:scaleY(0.519);}
  17.6471% {transform:scaleY(0.405);}
  23.5294% {transform:scaleY(0.618);}
  29.4118% {transform:scaleY(0.922);}
  35.2941% {transform:scaleY(0.980);}
  41.1765% {transform:scaleY(0.728);}
  47.0588% {transform:scaleY(0.445);}
  52.9412% {transform:scaleY(0.445);}
  58.8235% {transform:scaleY(0.728);}
  64.7059% {transform:scaleY(0.980);}
  70.5882% {transform:scaleY(0.922);}
  76.4706% {transform:scaleY(0.618);}
  82.3529% {transform:scaleY(0.405);}
  88.2353% {transform:scaleY(0.519);}
  94.1176% {transform:scaleY(0.834);}
  100.0000% {transform:scaleY(1.000);}
}
#app[data-time-activity="sleep"] .character .face-shell,#app[data-time-activity="sleep"] .gimbal-character .face-shell{animation:toco18-sleep 3.8s linear infinite;}
#app[data-time-activity="lunch"] .character .face-shell,#app[data-time-activity="lunch"] .gimbal-character .face-shell{animation:toco18-lunch 2.3s linear infinite;}
#app[data-time-activity="dinner"] .character .face-shell,#app[data-time-activity="dinner"] .gimbal-character .face-shell{animation:toco18-dinner 2.3s linear infinite;}
#app .character.emotion-thinking .face-shell,#app .gimbal-character.emotion-thinking .face-shell{animation:toco18-thinking 2s linear infinite;}
#app .character.emotion-pet .face-shell,#app .gimbal-character.emotion-pet .face-shell{animation:toco18-pet 1.3s linear infinite;}
#app .character.emotion-laugh .face-shell,#app .gimbal-character.emotion-laugh .face-shell{animation:toco18-laugh 1.2s linear infinite;}
#app .character.emotion-angry .face-shell,#app .gimbal-character.emotion-angry .face-shell{animation:toco18-angry 1.4s linear infinite;}
#app .character.emotion-dizzy .face-shell,#app .gimbal-character.emotion-dizzy .face-shell{animation:toco18-dizzy 1.5s linear infinite;}
#app .character.emotion-sad .face-shell,#app .gimbal-character.emotion-sad .face-shell{animation:toco18-sad 1.8s linear infinite;}
#app .character.emotion-kiss .face-shell,#app .gimbal-character.emotion-kiss .face-shell{animation:toco18-kiss 1.1s linear infinite;}
#app .character.is-talking .face-shell,#app .gimbal-character.is-talking .face-shell{animation:toco18-speaking 1.15s linear infinite;}
#app[data-time-activity="lunch"] .character .regular-mouth,#app[data-time-activity="dinner"] .character .regular-mouth,#app[data-time-activity="lunch"] .gimbal-character .regular-mouth,#app[data-time-activity="dinner"] .gimbal-character .regular-mouth{animation:toco18-munch 1.18s linear infinite;transform-origin:200px 260px;}
#app.wake-stretch .character{animation:bob 3.9s ease-in-out infinite!important;}
#app.wake-stretch .gimbal-character{animation:gimbalBob 3.9s ease-in-out infinite!important;}
#app.wake-stretch .character .face-shell,#app.wake-stretch .gimbal-character .face-shell{animation:toco18-wake 2.5s linear 1!important;}
#app .character.emotion-dizzy svg,#app .gimbal-character.emotion-dizzy svg{animation:none!important;}
@media(prefers-reduced-motion:reduce){#app .character .face-shell,#app .gimbal-character .face-shell,#app .regular-mouth{animation:none!important;filter:none!important;transform:none!important;}}
.reduced-motion .character .face-shell,.reduced-motion .gimbal-character .face-shell,.reduced-motion .regular-mouth{animation:none!important;filter:none!important;transform:none!important;}

/* 1.5.17 — prioridade de acessibilidade sobre a animacao de despertar. */
@media(prefers-reduced-motion:reduce){#app.wake-stretch .character .face-shell,#app.wake-stretch .gimbal-character .face-shell{animation:none!important;transform:none!important;filter:none!important}}
.reduced-motion#app.wake-stretch .character .face-shell,.reduced-motion#app.wake-stretch .gimbal-character .face-shell{animation:none!important;transform:none!important;filter:none!important}

/* v1.5.28: bloqueia destaque de toque do Chrome no SVG do personagem. */
#character,#character *,#gimbalCharacter,#gimbalCharacter *{-webkit-tap-highlight-color:transparent!important;-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;touch-action:manipulation!important;}
#character svg *,#gimbalCharacter svg *{pointer-events:none;}
#character:focus,#gimbalCharacter:focus{outline:none!important;}
#character:focus-visible,#gimbalCharacter:focus-visible{outline:2px solid #d9b7ff!important;outline-offset:3px;}

/* v1.5.29: bloqueio de seleção de SVG e destaque azul no Android Chrome */
html,body,.stage,.stage *,.character,.character *,.gimbal-character,.gimbal-character *{
 -webkit-tap-highlight-color:rgba(0,0,0,0)!important;
 -webkit-user-select:none!important;user-select:none!important;
 -webkit-touch-callout:none!important;
}
.character,.gimbal-character{touch-action:none!important;outline:none!important;}
.character svg,.gimbal-character svg{pointer-events:none!important;}
::selection{background:transparent!important;color:inherit!important;}
@keyframes tocoDanceMove{0%,100%{transform:translateY(0) rotate(0)}15%{transform:translateY(-18px) rotate(-13deg)}30%{transform:translateY(0) rotate(12deg)}45%{transform:translateY(-22px) rotate(15deg)}60%{transform:translateY(0) rotate(-13deg)}75%{transform:translateY(-16px) rotate(-8deg)}90%{transform:translateY(0) rotate(12deg)}}
#character.toco-dancing,#gimbalCharacter.toco-dancing{animation:tocoDanceMove 1.1s ease-in-out 5!important;transform-origin:50% 85%!important;}
/* Toco 1.5.31: botão de microfone permanente e acessível na conversa */
.gimbal-overlay.conversation-only .gimbal-controls{display:flex!important;visibility:visible!important;opacity:1!important;position:fixed!important;bottom:calc(20px + env(safe-area-inset-bottom,0px))!important;left:50%!important;transform:translateX(-50%)!important;z-index:100!important;pointer-events:auto!important;}
.gimbal-overlay.conversation-only #gimbalMic{display:flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important;min-width:60px!important;min-height:60px!important;border-radius:50%!important;font-size:29px!important;pointer-events:auto!important;}

.robot-style-selector{padding:14px 6px;text-align:center}
.robot-style-selector[hidden]{display:none!important}
.robot-style-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}
.robot-style-choice{padding:10px 12px;border:2px solid #7e91d7;border-radius:16px;background:#f3f0ff;color:#292447;font-weight:700;cursor:pointer}
.robot-style-choice.active{background:#473a91;color:white;border-color:#473a91}
[data-pet=robot] .robot-eyes{transform-origin:200px 170px;animation:tocoRobotLook 4.8s ease-in-out infinite}
[data-pet=robot] .robot-eyes rect{transform-box:fill-box;transform-origin:center;animation:tocoRobotBlink 5.3s ease-in-out infinite}
@keyframes tocoRobotLook{0%,15%,65%,100%{transform:translateX(0)}30%,42%{transform:translateX(-13px)}51%,59%{transform:translateX(12px)}}
@keyframes tocoRobotBlink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.08)}}
@media(prefers-reduced-motion:reduce){[data-pet=robot] .robot-eyes,[data-pet=robot] .robot-eyes rect{animation:none}}

/* Robot face v1.5.33: SVG motion is driven by a single animation clock. */
[data-pet=robot] .robot-eyes,[data-pet=robot] .robot-eyes rect{animation:none!important}
[data-pet=robot] .robot-eyes{will-change:transform}
[data-pet=robot] .robot-eyes rect{transition:none!important}
.reduced-motion [data-pet=robot] .robot-eyes{will-change:auto}

/* v1.5.34: robot fullscreen is a floating face on pure black. */
.gimbal-overlay.conversation-only .gimbal-character svg[data-pet=robot] .face-shell > g:first-child{display:none!important}
.gimbal-overlay.conversation-only .gimbal-character svg[data-pet=robot]{filter:none!important}
.gimbal-overlay.conversation-only .gimbal-character:has(svg[data-pet=robot]){filter:none!important}

/* Toco v1.5.43: chamada visivel para conhecer os cinco amigos. */
#charactersButton.switch-button{position:relative;isolation:isolate;flex-shrink:0;gap:7px;min-height:54px;padding:8px 11px;border:2px solid #fff0a6;background:linear-gradient(120deg,#ffdc7c,#ffc0e7 56%,#c6b0ff);color:#43274f;box-shadow:0 0 0 1px #fff6b144,0 5px 22px #ffc3eb68;font-size:12px;animation:tocoSwitchPulse 3.8s ease-in-out infinite;transform-origin:center}
#charactersButton .switch-emoji{font-size:22px;line-height:1}#charactersButton .switch-copy{display:flex;flex-direction:column;gap:2px;text-align:left;line-height:1.15}#charactersButton .switch-copy strong{font-size:11px;font-weight:1000;white-space:nowrap}#charactersButton .switch-copy small{font-size:11px;letter-spacing:1px}#charactersButton .switch-arrow{font-size:17px;font-weight:1000}
#charactersButton:active{transform:scale(.97);animation-play-state:paused}#charactersButton:focus-visible{outline:3px solid #fff;outline-offset:4px}
@keyframes tocoSwitchPulse{0%,65%,100%{box-shadow:0 0 0 0 #ffe9b700,0 5px 22px #ffc3eb68;filter:brightness(1);transform:scale(1)}74%{box-shadow:0 0 0 6px #ffe9b73c,0 5px 25px #ffc3eb99;filter:brightness(1.09);transform:scale(1.045)}83%{box-shadow:0 0 0 11px #ffe9b700,0 5px 22px #ffc3eb68;filter:brightness(1);transform:scale(1)}}
@media(max-width:375px){#charactersButton.switch-button{gap:5px;padding:7px 8px;min-height:49px}#charactersButton .switch-copy strong{font-size:10px}#charactersButton .switch-copy small{font-size:10px}#charactersButton .switch-emoji{font-size:18px}}
@media(prefers-reduced-motion:reduce){#charactersButton.switch-button{animation:none}}
.app.reduced-motion #charactersButton.switch-button{animation:none}

/* Toco 1.5.49: festa de aniversario */
.birthday-overlay[hidden]{display:none!important}.birthday-overlay{position:fixed;inset:0;z-index:45;display:grid;place-items:center;background:radial-gradient(circle at center,#7041a4f5,#160b2af8);padding:20px;overflow:hidden}.birthday-party{position:relative;z-index:2;text-align:center;width:min(410px,100%);padding:28px 20px;border-radius:27px;background:linear-gradient(145deg,#ffecf7,#e5d7ff);box-shadow:0 25px 85px #100820aa;color:#56346f;animation:birthdayAppear .55s both}.birthday-stars{font-size:34px;letter-spacing:8px}.birthday-cake{font-size:94px;animation:birthdayBounce 1.5s ease-in-out infinite}.birthday-party h2{font-size:29px;margin:5px 0}.birthday-party p{font-size:14px;line-height:1.5}.birthday-actions{display:flex;flex-direction:column;gap:10px;margin-top:22px}.birthday-actions button{padding:14px;border:0;border-radius:14px;font-weight:900;background:#7440aa;color:white;font-size:15px}.birthday-actions button:last-child{background:#ffffffa8;color:#56346f}.birthday-confetti{position:absolute;inset:0;pointer-events:none}.birthday-confetti span{position:absolute;top:-12%;font-size:23px;animation:birthdayFall 4s linear infinite}@keyframes birthdayFall{to{transform:translateY(120vh) rotate(550deg)}}@keyframes birthdayAppear{from{opacity:0;transform:scale(.78)}to{opacity:1;transform:scale(1)}}@keyframes birthdayBounce{50%{transform:translateY(-12px) rotate(-5deg)}}@media(prefers-reduced-motion:reduce){.birthday-party,.birthday-cake,.birthday-confetti span{animation:none!important}.birthday-confetti span{display:none}}.app.reduced-motion~.birthday-overlay .birthday-cake,.app.reduced-motion~.birthday-overlay .birthday-confetti span{animation:none!important}

.toco-tic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.toco-tic-grid button{aspect-ratio:1;background:#4b3562;border:1px solid #a884c5;border-radius:12px;color:white;font-size:30px}.toco-letter-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:15px 0}.toco-letter-grid button{padding:9px 0;border:1px solid #9974ba;border-radius:8px;background:#503866;color:white;font-weight:900}.toco-letter-grid button:disabled{opacity:.35}

.game-banter{margin:10px 0 14px;padding:12px 14px;background:linear-gradient(125deg,#7354a6,#4d3979);color:#fff7ff;border:1px solid #e9b9ff78;border-radius:14px;font-size:13px;line-height:1.5;font-weight:800;box-shadow:0 5px 15px #120b3066}

/* Toco opcao 2: visual roxo, luminoso, acessivel e responsivo. */
.app{background:linear-gradient(160deg,#241458 0%,#181039 38%,#130e2b 85%)}
.header{padding-bottom:8px}
.brand-logo{width:54px;height:54px;border-radius:16px;box-shadow:0 6px 22px #933eff60;flex-shrink:0}
.brand .toco-wordmark{font-size:24px;line-height:1;letter-spacing:1px;background:linear-gradient(90deg,#ffc53c 0 24%,#26cfff 27% 49%,#75f56c 53% 72%,#ff72d5 75%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #190f38)}
.brand small{letter-spacing:.6px;font-size:8px;color:#e8cafa}
.intro{padding-top:16px;padding-bottom:18px}
.intro h1{font-size:clamp(29px,7vw,39px);text-shadow:0 4px 15px #10072988}
.intro h1 em{color:#7edaff}
.intro .overline{color:#ffd87b}
.stage-showcase{background:radial-gradient(ellipse at 50% 38%,#b76ae6 0%,#6c42b1 36%,#2e215e 75%,#211647 100%);border:2px solid #b991ff9c;box-shadow:0 0 0 4px #b24aff14,0 25px 58px #070318a8,inset 0 2px 20px #ffffff21}
.stage-showcase:before{content:'';position:absolute;inset:5% 16% 18%;border-radius:50%;background:radial-gradient(circle,#f6cb9b39,transparent 70%);pointer-events:none}
.stage-showcase .mood-label{background:#6b36b5e0;border-color:#dfb8ff77}
.conversation-launch,.primary-button{background:linear-gradient(120deg,#0cb9ff,#3975f9);color:white;border:1px solid #a6eaff;box-shadow:0 5px 18px #1689f76e}
.play-panel{background:linear-gradient(145deg,#403080,#28204d);border-color:#9a77eb90}
.game-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.game-buttons button{min-height:86px;padding:12px 8px;border:1px solid #8dd7ff70;border-radius:18px;background:linear-gradient(145deg,#6645ae,#3b2c75);box-shadow:0 6px 0 #1b143c,0 10px 17px #0c072b50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:12px;line-height:1.3;text-align:center;transition:transform .15s,box-shadow .15s}
.game-buttons button b{font-size:30px;line-height:1.1;margin:0;filter:drop-shadow(0 3px 2px #100a3280)}
.game-buttons button:active{transform:translateY(4px) scale(.98);box-shadow:0 2px 0 #1b143c}
.game-buttons button:nth-child(4n+2){background:linear-gradient(145deg,#8544ba,#49307c)}
.game-buttons button:nth-child(4n+3){background:linear-gradient(145deg,#2b81bb,#34467f)}
.game-buttons button:nth-child(4n+4){background:linear-gradient(145deg,#a44899,#5b337e)}
.quiz-options button,.memory-grid button,.toco-tic-grid button,.toco-letter-grid button{transition:transform .12s,filter .12s}
.quiz-options button:active,.memory-grid button:active,.toco-tic-grid button:active,.toco-letter-grid button:active{transform:scale(.95);filter:brightness(1.2)}
.game-banter{border:1px solid #c5a4ff;box-shadow:0 6px 20px #09051b66}
@media(max-width:355px){.brand-logo{width:43px;height:43px}.brand .toco-wordmark{font-size:20px}.game-buttons button{font-size:11px;min-height:80px}}
@media(prefers-reduced-motion:reduce){.game-buttons button,.quiz-options button{transition:none}}

/* Layout 1: inicio simples, mantendo todos os recursos existentes em telas por categoria */
.toco-simple-menu{margin:12px 0 16px;padding:4px 0 0}.toco-simple-menu h2{font-size:20px;text-align:center;margin:10px 0 17px;color:#fff6ff}.toco-simple-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.toco-simple-grid button{border:1px solid #ffffff5c;min-height:133px;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:white;box-shadow:0 10px 23px #100b2755,inset 0 1px #ffffff50;cursor:pointer}.toco-simple-grid button:nth-child(1){background:linear-gradient(145deg,#1bb8ff,#1464db)}.toco-simple-grid button:nth-child(2){background:linear-gradient(145deg,#76d84e,#159b52)}.toco-simple-grid button:nth-child(3){background:linear-gradient(145deg,#ffb347,#f06a2d)}.toco-simple-grid button:nth-child(4){background:linear-gradient(145deg,#d887ff,#813bcd)}.toco-simple-grid button span{font-size:34px}.toco-simple-grid button strong{font-size:17px}.toco-simple-grid button small{font-size:11px;opacity:.9}.toco-simple-grid button:focus-visible,.toco-more:focus-visible,#tocoSimpleBack:focus-visible{outline:3px solid #fff;outline-offset:3px}.toco-more{display:block;margin:16px auto 0;padding:12px 20px;border-radius:18px;background:#ffffff17;color:#f8eaff;border:1px solid #ffffff44;font-weight:800}#tocoSimpleBack{display:block;margin:6px 0 16px;border:1px solid #bba1db88;background:#47335e;color:white;padding:12px 18px;border-radius:15px;font-weight:900}#tocoSimpleBack[hidden],.toco-simple-menu [hidden],.main>section[hidden]{display:none!important}body[data-simple-view="home"] .stage{height:min(41dvh,350px)}body[data-simple-view="home"] .intro{padding-bottom:5px}body[data-simple-view="home"] .bottom-bar{display:none}body[data-simple-view="home"] .main{padding-bottom:35px}body[data-simple-view="home"] .safe-note{display:none}body[data-simple-view="home"] .stage .pet-tip{font-size:10px}body[data-simple-view="home"] .stage .character{max-height:82%}@media(max-width:370px){.toco-simple-grid button{min-height:115px}.toco-simple-grid button strong{font-size:15px}}