/* Shared website TacoPete. Warm sunset stage; mobile conversation gets the space. */
.tp-shell,.tp-detail,.tp-terms{--ink:#48242a;--red:#aa292a;--cream:#fff8e9;box-sizing:border-box;color:var(--ink);font:15px/1.5 'Libre Franklin',Arial,sans-serif;background:var(--cream);border:1px solid #6d3a2529;border-radius:25px;box-shadow:0 24px 90px #28140955;color-scheme:light}
.tp-shell *,.tp-detail *,.tp-terms *{box-sizing:border-box}.tp-shell [hidden]{display:none!important}
.tp-shell{padding:0;width:min(1140px,calc(100vw - 48px));height:min(860px,calc(var(--tp-height,100dvh) - 48px));max-width:none;max-height:calc(var(--tp-height,100dvh) - 48px);overflow:hidden}
.tp-shell[open],main.tp-shell{display:flex;flex-direction:column}main.tp-shell{margin:24px auto}
.tp-shell::backdrop,.tp-detail::backdrop,.tp-terms::backdrop{background:#2c1a19a8;backdrop-filter:blur(5px)}
.tp-header{display:flex;align-items:center;gap:9px;padding:12px 20px;background:#fff8e9;border-bottom:1px solid #6b39202a;flex-shrink:0}
.tp-brand{display:flex;align-items:center;gap:10px;margin-right:auto;min-width:0}.tp-brand-mark{width:45px;height:45px;border:1px solid #c68b503d;border-radius:50%;background:#f9d69e;overflow:hidden;flex:none}.tp-brand-mark img{width:100%;height:100%;object-fit:cover}
.tp-brand strong{font:700 25px/1.2 Georgia,serif;letter-spacing:-.8px;white-space:nowrap}.tp-brand small{display:block;font:9px/1.8 Arial;letter-spacing:2px;color:#8f543b}
.tp-icon{width:40px;height:40px;flex:none;border:1px solid #79422b38;border-radius:50%;font:25px Georgia;background:#fffaf1;color:#63382b;cursor:pointer}
.tp-location{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 22px;background:#f9ecd5;flex-shrink:0;border-bottom:1px solid #a1682520}
.tp-location select{max-width:82%;font:600 12px Arial;color:#653c2c;border:0;background:transparent;padding:7px 0;min-height:32px}.tp-location small{color:#7d5544;font:11px Arial}
.tp-preview{font:10px/1.2 Arial;text-align:center;background:#f4ddaf;color:#744b31;padding:5px;flex-shrink:0}
.tp-body{display:flex;min-height:0;flex:1;background:#fff7e7}.tp-stage{position:relative;isolation:isolate;overflow:hidden;flex:0 0 43%;background:linear-gradient(180deg,#d4e7e5 0%,#fbe5bb 20%,#ffdc91 52%,#f9b86c 83%,#edb084 100%);border-right:1px solid #b46c3026}
.tp-stage:after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 15% 28%,#fff8dcaa,transparent 35%),radial-gradient(ellipse at 100% 50%,#fff1c875,transparent 30%);pointer-events:none}
.tp-palms{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;z-index:-1;pointer-events:none}.tp-stage-sun{position:absolute;right:12%;top:43%;width:100px;aspect-ratio:1;border-radius:50%;background:#fff8d8;box-shadow:0 0 50px 22px #fff5c369,0 0 100px 50px #ffeab937;z-index:-1}
.tp-stage-title{position:absolute;left:9%;top:7%;z-index:1;pointer-events:none}.tp-stage-title>span{font:700 10px Arial;letter-spacing:3px;color:#925235}.tp-stage-title>strong{display:block;margin-top:12px;font:700 clamp(34px,4.2vw,57px)/.96 Georgia,serif;letter-spacing:-2px;color:#542432}.tp-stage-title em{font-style:normal}
.tp-character{position:absolute;inset:29% 5% 42px 14%;filter:drop-shadow(0 14px 16px #713b2c29)}.tp-pose{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;opacity:0;transition:opacity .18s ease;pointer-events:none}.tp-pose.is-visible{opacity:1}
.tp-stage-caption{position:absolute;bottom:16px;left:12px;right:12px;text-align:center;color:#6c392d;font:600 9px/1.5 Arial;letter-spacing:1.5px;text-transform:uppercase}.tp-stage-caption i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#a93630;margin:0 7px 1px 0}
.tp-shell[data-pose=thinking] .tp-stage-caption i{animation:tp-breathe 1.2s ease-in-out infinite}.tp-shell[data-pose=thinking] .tp-stage-sun{animation:tp-breathe 2s ease-in-out infinite}.tp-quiet .tp-stage{filter:saturate(.65)}
.tp-conversation{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;background:linear-gradient(150deg,#fff9ed,#f9ebd4)}
.tp-scroll{flex:1;overflow:auto;min-height:0;padding:25px 25px 12px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c38c68 transparent}
.tp-intro{min-height:100%;display:flex;flex-direction:column;justify-content:center;text-align:left;padding:22px 8px}.tp-intro>span{font:700 9px Arial;letter-spacing:2px;color:#ad4b35}.tp-intro h1{font:700 clamp(25px,3vw,39px)/1.08 Georgia,serif;letter-spacing:-1.3px;margin:15px 0}.tp-intro p{font:14px/1.65 'Libre Franklin',Arial;color:#82624e;margin:0}
.tp-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 22px 10px;flex-shrink:0}.tp-quick button{min-width:0;min-height:42px;border:1px solid #b8866047;border-radius:13px;padding:9px 7px;color:#773c2c;background:#fff8eb;cursor:pointer;font:600 12px/1.3 Arial}.tp-quick button:hover{background:#f6d9ad}
.tp-composer{display:flex;align-items:flex-end;margin:8px 18px 4px;gap:7px;padding:5px;background:#fffdf6;border:1px solid #a9795255;border-radius:24px;flex-shrink:0;box-shadow:0 3px 12px #7a4b1908}
.tp-composer:focus-within{border-color:#ac4a35;box-shadow:0 0 0 2px #b55b2d12}.tp-composer textarea{display:block;width:0;min-width:0;flex:1;resize:none;border:0;outline:0;background:transparent;color:#492b26;font:16px/24px Arial;padding:9px 10px;height:42px;min-height:42px;max-height:96px;overflow-y:auto;border-radius:18px}.tp-composer textarea::placeholder{color:#94745d}
.tp-composer>button{flex:0 0 42px;height:42px;border:0;border-radius:50%;background:#ad2b2e;color:#fff6e7;font-size:25px;cursor:pointer}.tp-composer>button:disabled{opacity:.45}
.tp-foot{display:flex;justify-content:center;gap:10px;align-items:center;padding:6px 12px 12px;font:10px/1.4 Arial;color:#866751;flex-shrink:0}.tp-text-button{background:none;border:0;text-decoration:underline;color:inherit;padding:0;cursor:pointer;font:inherit;min-height:25px}
.tp-message{max-width:96%;margin:0 0 16px}.tp-message>p{white-space:pre-wrap;overflow-wrap:anywhere;background:#fffaf0;border:1px solid #c3996545;border-radius:18px 18px 18px 4px;padding:13px 15px;margin:0;font-size:14px;line-height:1.65;box-shadow:0 4px 12px #81451207}.tp-me{margin-left:auto;max-width:88%}.tp-me>p{background:#963b31;border-color:#963b31;color:#fff6e9;border-radius:18px 18px 4px 18px}
.tp-thinking{color:#97553b;font-size:12px;display:flex;align-items:center;gap:10px;margin:5px 0}.tp-dots{letter-spacing:3px;animation:tp-breathe 1s ease-in-out infinite}.tp-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.tp-button{display:inline-block;text-decoration:none!important;border:1px solid #b86a4655;border-radius:11px;background:#fff4de;color:#873d2e!important;font:600 12px/1.4 Arial;padding:11px 13px;cursor:pointer;min-height:40px}
.tp-food-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.tp-food-card{padding:0 0 11px;overflow:hidden;display:flex;flex-direction:column;text-align:left;border:1px solid #cda57760;border-radius:13px;background:#fffcf4;color:#492b26;cursor:pointer;min-width:0;box-shadow:0 5px 12px #794d1908}.tp-food-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.tp-food-card strong,.tp-food-card span,.tp-food-card small{padding:0 9px}.tp-food-card strong{font:600 12px/1.35 Arial;margin:10px 0 7px}.tp-food-card span{color:#a3332c;font:700 12px Arial;margin-top:auto}.tp-food-card small{font:9px Arial;color:#8b6c50;margin-top:6px}
.tp-detail{padding:0 24px 25px;width:min(520px,calc(100vw - 26px));max-height:90dvh;overflow:auto;position:fixed}.tp-detail>img{width:calc(100% + 48px);max-height:360px;object-fit:cover;margin:0 -24px 20px}.tp-detail h2{font:700 30px/1.1 Georgia}.tp-detail>small{letter-spacing:1px;color:#a04f37}.tp-detail>p{color:#785843}.tp-detail>a{display:block;text-align:center;margin-top:20px;background:#a82c2c;color:#fff7e7!important}.tp-detail-close{position:absolute;right:12px;top:12px;width:40px;height:40px;border-radius:50%;border:1px solid #fff5df;background:#532d29e8;color:white;font-size:27px;cursor:pointer}.tp-option{border-bottom:1px solid #b98d4f40;padding-bottom:8px}
.tp-terms{padding:25px;width:min(550px,calc(100vw - 26px));max-height:85dvh}.tp-terms pre{max-height:45dvh;white-space:pre-wrap;overflow:auto;font:13px/1.6 Arial;background:#f5e5ca;padding:16px}.tp-terms button{margin-right:9px}.tp-ended{text-align:center;padding:20px;color:#8a4935}.tp-ended button{display:block;margin:10px auto}
.tp-launcher{position:fixed;z-index:2147483000;bottom:calc(100px + env(safe-area-inset-bottom));right:18px;display:flex;align-items:center;filter:drop-shadow(0 5px 15px #582a2140)}.tp-launch{display:flex;align-items:center;gap:6px;padding:5px 16px 5px 7px;border:1px solid #e5bc83;border-radius:30px;background:#fff2d7;color:#7d2c2c;font:700 12px Arial;cursor:pointer}.tp-launch img{width:32px;height:41px;object-fit:contain}.tp-hide{position:absolute;right:-6px;top:-8px;border:1px solid #e7bd8b;background:#fff8e8;color:#773f2d;width:25px;height:25px;border-radius:50%;cursor:pointer}
.tp-shell button:focus-visible,.tp-shell a:focus-visible,.tp-shell select:focus-visible,.tp-detail button:focus-visible,.tp-detail a:focus-visible{outline:3px solid #b13b2d;outline-offset:3px}
@keyframes tp-breathe{50%{opacity:.45}}
@media(max-width:700px){
 .tp-shell,main.tp-shell{position:fixed;top:var(--tp-top,0px);left:0;right:0;bottom:auto;width:100%;height:var(--tp-height,100dvh);max-height:var(--tp-height,100dvh);max-width:100vw;border-radius:0;border:0;margin:0}
 .tp-header{padding:9px 12px;padding-top:max(9px,env(safe-area-inset-top));gap:7px}.tp-brand-mark{width:36px;height:36px}.tp-brand{gap:8px}.tp-brand strong{font-size:22px}.tp-brand small{font-size:8px;letter-spacing:1.4px}.tp-icon{width:35px;height:35px;font-size:23px}
 .tp-location{padding:2px 15px}.tp-location select{min-height:29px;font-size:11px}.tp-location small{font-size:10px}.tp-preview{font-size:9px;padding:4px}
 .tp-body{flex-direction:column}.tp-stage{flex:0 0 clamp(175px,30dvh,275px);border-right:0;border-bottom:1px solid #b97c3a33;transition:flex-basis .18s ease}.tp-stage-title{left:8%;top:20%}.tp-stage-title>span{font-size:8px;letter-spacing:2px}.tp-stage-title>strong{font-size:clamp(32px,9vw,43px);letter-spacing:-1.3px;margin-top:10px}.tp-character{inset:6px 4% 8px 47%}.tp-palms{object-position:top;opacity:.28}.tp-stage-sun{top:19%;right:15%;width:90px}.tp-stage-caption{left:8%;right:auto;bottom:17px;font-size:7px;max-width:42%;letter-spacing:.8px;text-align:left}
 .tp-started .tp-stage{flex-basis:115px}.tp-started .tp-stage-title{top:15%;left:7%}.tp-started .tp-stage-title>span{display:none}.tp-started .tp-stage-title>strong{font-size:28px;margin:0}.tp-started .tp-stage-title br{display:none}.tp-started .tp-stage-title em{display:block}.tp-started .tp-character{inset:4px 7% 3px 48%}.tp-started .tp-stage-caption{bottom:12px;left:7%}.tp-started .tp-stage-sun{width:60px;top:15%}
 .tp-scroll{padding:16px 14px 8px}.tp-intro{padding:4px 3px;justify-content:center;text-align:center}.tp-intro>span{font-size:8px;letter-spacing:1.4px}.tp-intro h1{font-size:29px;margin:9px 0}.tp-intro p{font-size:12px;line-height:1.55}.tp-quick{gap:6px;padding:5px 14px}.tp-quick button{min-height:36px;padding:8px 5px;font-size:11px}
 .tp-composer{margin:7px 12px 2px}.tp-foot{padding:3px 10px max(6px,env(safe-area-inset-bottom));font-size:9px;gap:9px}.tp-message{max-width:97%}.tp-message>p{font-size:14px;padding:11px 13px}.tp-me{max-width:88%}.tp-food-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-food-card strong{font-size:13px}
 .tp-keyboard .tp-stage{flex-basis:76px}.tp-keyboard .tp-stage-title{top:15%;left:7%}.tp-keyboard .tp-stage-title>span,.tp-keyboard .tp-stage-caption{display:none}.tp-keyboard .tp-stage-title>strong{font-size:25px;margin:0}.tp-keyboard .tp-character{inset:3px 8% 2px 48%}.tp-keyboard .tp-quick{display:none}.tp-keyboard .tp-intro{padding:2px}.tp-keyboard .tp-intro>span,.tp-keyboard .tp-intro p{display:none}.tp-keyboard .tp-intro h1{font-size:23px;margin:5px}.tp-keyboard .tp-scroll{padding-top:10px}.tp-keyboard .tp-foot{padding-bottom:3px}.tp-keyboard .tp-preview{display:none}
}
@media(max-width:360px){.tp-brand strong{font-size:19px}.tp-header{gap:5px}.tp-brand-mark{width:30px;height:30px}.tp-icon{width:32px;height:32px}.tp-intro h1{font-size:26px}}
@media(max-height:650px) and (min-width:701px){.tp-stage-title>strong{font-size:37px}.tp-stage-title{top:4%}.tp-character{top:25%}.tp-intro h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){.tp-shell *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Mobile is one shared scene: the host sits behind the conversation, like the app. */
@media(max-width:700px){
 .tp-body{position:relative;isolation:isolate;background:#f6c788}
 .tp-stage,.tp-started .tp-stage,.tp-keyboard .tp-stage{position:absolute;inset:0;z-index:0;flex:none;border:0;transition:none;background:linear-gradient(180deg,#fbe6bc 0%,#ffd492 40%,#efad7f 74%,#c67a6a 100%)}
 .tp-stage-title{display:none}
 .tp-character,.tp-started .tp-character,.tp-keyboard .tp-character{inset:auto -9% 13% auto;width:91%;height:84%;opacity:1}
 .tp-pose{object-position:right bottom}
 .tp-stage-sun,.tp-started .tp-stage-sun{width:240px;max-width:70%;top:15%;right:3%;background:#ffdf8d;box-shadow:0 0 70px #fff1c566}
 .tp-palms{opacity:.3;object-position:center}
 .tp-stage-caption,.tp-started .tp-stage-caption{display:none}
 .tp-conversation{position:relative;z-index:1;background:transparent;min-height:0}
 .tp-scroll{padding:18px 15px 10px}
 .tp-scroll:has(.tp-intro){display:flex;align-items:flex-end;background:linear-gradient(0deg,#fff4dfed,transparent 42%)}
 .tp-intro{min-height:0;width:100%;text-align:left;padding:16px 3px 8px}
 .tp-intro h1{font-size:32px;color:#542432;text-shadow:0 1px 12px #fff0d0}
 .tp-intro p{color:#59372e;font-size:13px;font-weight:500}
 .tp-intro>span{color:#803c31}
 .tp-started .tp-scroll:before{content:'';display:block;height:clamp(115px,22dvh,190px);pointer-events:none}
 .tp-message>p{background:rgb(255 249 234 / 84%);border-color:#fff8e9b0;box-shadow:0 5px 20px #74412a12;color:#48242a;backdrop-filter:none}
 .tp-me>p{background:rgb(111 40 44 / 82%);border-color:#c98b774a;color:#fff9eb}
 .tp-thinking{width:fit-content;padding:8px 11px;border-radius:15px;background:#fff4e0de;color:#6c342c}
 .tp-quick{background:linear-gradient(0deg,#fff2deeb,#fff4dfd9);padding-top:9px}
 .tp-quick button{background:#fff8e9db}
 .tp-composer{background:#fffbf2f5;margin-bottom:0;box-shadow:0 3px 18px #59342525}
 .tp-foot{background:linear-gradient(0deg,#fff3e0,#fff3e0d6);color:#633f31;margin-top:3px}
 .tp-food-card{background:#fffaf0f0}
 .tp-quiet .tp-stage{opacity:.35}
 .tp-keyboard .tp-character{height:90%;width:79%;right:-7%;bottom:5%}
 .tp-keyboard .tp-started .tp-scroll:before,.tp-keyboard.tp-started .tp-scroll:before{height:45px}
 .tp-keyboard .tp-intro{padding:6px 3px}.tp-keyboard .tp-intro h1{font-size:25px}
}
