:root{
  --cream:#fbf6ea;--tea:#d4700c;--tea-deep:#b85c06;--amber:#f7a823;--amber-deep:#e8960f;--chai:#f2b84b;--clay:#d9822b;
  --ink:#1f2a26;--ink-soft:#5d6b65;--card:#fff;--line:#e8dfc8;--green:#f59e0b;
  --radius:20px;--shadow:0 10px 30px rgba(60,50,20,.1);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
html,body{height:100%}
body{font-family:'Inter',system-ui,sans-serif;background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
a{color:var(--tea)}

/* ---------- Landing ---------- */
.landing{position:relative;min-height:100%;display:flex;flex-direction:column;overflow:hidden;padding:24px clamp(16px,4vw,48px);background:radial-gradient(circle at 20% 0%,#fff0c9 0%,var(--cream) 55%)}
.blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;z-index:0}
.blob-1{width:380px;height:380px;background:var(--chai);top:-120px;right:-80px}
.blob-2{width:300px;height:300px;background:#ffb36b;bottom:-100px;left:-80px}
.topbar,.hero,.info,.foot{position:relative;z-index:1}
.topbar{display:flex;justify-content:space-between;align-items:center}
.logo{font-family:'Fredoka',sans-serif;font-weight:700;font-size:28px;letter-spacing:-.5px;display:flex;align-items:center;gap:8px;color:#2b1a08}
.logo-sub{color:var(--clay);margin-left:-6px}
.logo.small{font-size:22px}
.logo-cup{display:inline-block;animation:wiggle 3s ease-in-out infinite}
@keyframes wiggle{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(8deg)}}
.online-pill{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:14px;font-weight:500;box-shadow:var(--shadow);white-space:nowrap}
.dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(245,158,11,.25)}

.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;max-width:760px;margin:0 auto;padding:48px 0 24px}
.hero h1{font-family:'Fredoka',sans-serif;font-weight:700;font-size:clamp(34px,7vw,64px);line-height:1.08;letter-spacing:-1.5px}
.highlight{background:linear-gradient(transparent 58%,var(--chai) 58%);padding:0 6px}
.sub{margin-top:18px;font-size:clamp(16px,2vw,19px);color:var(--ink-soft);max-width:520px;line-height:1.5}
.agree{margin-top:28px;display:flex;gap:10px;align-items:flex-start;text-align:left;font-size:14px;color:var(--ink-soft);max-width:460px;cursor:pointer}
.agree input{width:18px;height:18px;margin-top:2px;accent-color:var(--tea);flex-shrink:0}
.warn{color:#d4452b;font-size:14px;margin-top:10px;font-weight:500}

.cards{display:flex;gap:18px;margin-top:30px;flex-wrap:wrap;justify-content:center;width:100%}
.card{position:relative;flex:1 1 260px;max-width:320px;background:var(--card);border:2px solid var(--line);border-radius:24px;padding:28px 22px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:var(--shadow);transition:transform .18s,border-color .18s,box-shadow .18s}
.card:not(.locked):hover{transform:translateY(-5px);border-color:var(--tea);box-shadow:0 16px 36px rgba(212,112,12,.22)}
.card:not(.locked):active{transform:translateY(-1px)}
.card-icon{font-size:42px}
.card-title{font-family:'Fredoka',sans-serif;font-size:24px;font-weight:600}
.card-text{font-size:14px;color:var(--ink-soft)}
.card.locked{opacity:.75;cursor:not-allowed;background:#f7f2e4}
.badge{position:absolute;top:12px;right:12px;font-size:12px;font-weight:700;background:var(--chai);color:#4a3205;padding:3px 12px;border-radius:999px}
.foot{text-align:center;font-size:13px;color:var(--ink-soft);margin-top:auto;padding-top:10px}

/* ---------- Info (SEO) ---------- */
.info{max-width:880px;margin:0 auto;padding:24px 0 40px;width:100%}
.info h2{font-family:'Fredoka',sans-serif;font-size:clamp(24px,4vw,32px);margin:36px 0 16px;letter-spacing:-.5px}
.info h3{font-family:'Fredoka',sans-serif;font-size:18px;margin:10px 0 6px}
.info p,.info li{color:var(--ink-soft);line-height:1.6;font-size:15px}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.info-grid>div{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)}
.num{display:inline-flex;width:32px;height:32px;border-radius:50%;background:var(--chai);font-weight:700;align-items:center;justify-content:center}
.safety{padding-left:20px;display:grid;gap:6px}
.info details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-bottom:10px}
.info summary{cursor:pointer;font-weight:600}
.info details p{margin-top:8px}

/* ---------- Chat ---------- */
.logo-img{width:44px;height:44px;border-radius:50%;display:block}
.sub.ml{margin-top:8px;font-size:clamp(16px,2.2vw,20px);color:var(--tea);font-weight:600}
.chat{position:fixed;top:0;left:0;right:0;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--cream)}
.chat-body{flex:1;min-height:0;display:flex;padding:6px clamp(6px,3vw,28px) 0;max-width:760px;width:100%;margin:0 auto}
.message-panel{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.messages{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:6px;overscroll-behavior:contain}
.msg{max-width:82%;padding:8px 13px;border-radius:17px;font-size:15px;line-height:1.35;word-wrap:break-word;overflow-wrap:anywhere;white-space:pre-wrap;animation:pop .16s ease}
@keyframes pop{from{transform:scale(.94);opacity:0}to{transform:none;opacity:1}}
.msg.me{align-self:flex-end;background:linear-gradient(135deg,#fbb937,#f59e1a);color:#2a1704;border-bottom-right-radius:5px}
.msg.them{align-self:flex-start;background:#f3ecda;border-bottom-left-radius:5px}
.msg.sys{align-self:center;max-width:100%;background:none;font-size:13px;color:var(--ink-soft);padding:3px 0;text-align:center}
.msg.photo{padding:4px;width:min(62%,260px)}
.msg.photo.me{background:linear-gradient(135deg,#fbb937,#f59e1a)}
.photo .sq{width:100%;aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:#0002}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
.typing{padding:0 14px 4px;font-size:12px;color:var(--ink-soft);font-style:italic}

.composer{display:flex;gap:6px;padding:7px 8px;border-top:1px solid var(--line);align-items:center}
.composer input[type=text]{flex:1;min-width:0;border:2px solid var(--line);border-radius:999px;padding:8px 15px;font:inherit;font-size:16px;outline:none;background:#fffdf7;color:var(--ink);transition:border-color .15s}
.composer input[type=text]:focus{border-color:var(--tea)}
.msg-input{flex:1;min-width:0;max-height:96px;overflow-y:auto;border:2px solid var(--line);border-radius:22px;padding:8px 15px;font:inherit;font-size:16px;line-height:1.35;background:#fffdf7;color:var(--ink);outline:none;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;transition:border-color .15s}
.msg-input:focus{border-color:var(--tea)}
.msg-input:empty:before{content:attr(data-placeholder);color:#9a8f7c;pointer-events:none}
.msg-input[contenteditable=false]{opacity:.5;cursor:not-allowed}
.photo-btn,.send-btn{width:40px;height:40px;border-radius:50%;font-size:17px;flex:none;display:grid;place-items:center;transition:transform .15s,opacity .15s}
.photo-btn{background:#f3ecda}
.send-btn{background:var(--amber);color:#2a1704;font-size:16px}
.composer button:disabled,.composer input:disabled{opacity:.5;cursor:not-allowed}

.controls{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:6px clamp(6px,3vw,28px) calc(6px + env(safe-area-inset-bottom));max-width:760px;width:100%;margin:0 auto}
.status{flex:1;text-align:center;font-weight:600;font-size:12px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.status.live{color:var(--tea-deep)}
.btn{padding:11px 22px;border-radius:999px;font-weight:600;font-size:15px;transition:transform .15s,background .15s,box-shadow .15s}
.controls .btn{padding:7px 16px;font-size:13px}
.btn.ghost{background:#f3ecda}
.btn.ghost:hover{background:#ebe1c6}
.btn.primary{background:var(--amber);color:#2a1704;box-shadow:0 4px 12px rgba(247,168,35,.4)}
.btn.primary:hover{background:var(--amber-deep)}

.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 20px;border-radius:999px;font-size:14px;z-index:50;box-shadow:var(--shadow)}
