:root{--cream:#fbf7f1;--ink:#18264a;--muted:#716d82;--purple:#6752d8;--line:#e9dfd5;--card:#fffdfa;--tabbar-height:66px;--composer-height:74px}*{box-sizing:border-box}html,body{margin:0;background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",sans-serif;min-height:100%;overflow-x:hidden}body{padding-bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom))}.page{max-width:680px;margin:0 auto;padding:26px 18px 36px}.brand{display:flex;align-items:center;gap:12px;padding:8px 2px 20px}.brand-mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(140deg,#ffcf63,#7a62db);display:grid;place-items:center;color:#fff;font-size:26px}.brand h1{margin:0;font-size:25px}.brand p,.muted{color:var(--muted);margin:5px 0;font-size:14px}.intro{padding:12px 2px 18px}.intro h2,.section-title{font-size:27px;margin:0 0 8px}.intro p{color:var(--muted);margin:0;font-size:14px}.daily-list{display:grid;gap:14px}.daily-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:17px 16px;box-shadow:0 7px 22px #64504210}.eyebrow{font-size:13px;color:var(--purple);font-weight:600}.daily-card .cn{font-size:16px;margin-top:12px;color:#3e4561}.en{font-size:22px;line-height:1.32;font-weight:750;letter-spacing:-.2px;margin-top:6px}.chunk{color:var(--purple);font-size:14px;margin-top:13px}.hint{font-size:13px;color:var(--muted);margin:9px 0 12px}.actions,.row-actions{display:flex;gap:10px}.actions button,.row-actions button,.composer button{border:0;border-radius:999px;padding:9px 15px;background:var(--purple);color:white;font-size:14px}.actions .secondary,.text-button{background:#f0ecff;color:var(--purple)}.takeaway{margin-top:18px;padding:15px;border-radius:17px;background:#f1f7e7;color:#526b39;font-size:14px}.takeaway span{display:block;margin-top:8px;color:#526b39}.scene-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.scene-tile{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;text-align:left;color:var(--ink)}.scene-tile strong{display:block;font-size:19px}.scene-tile span{display:block;color:var(--muted);font-size:13px;margin-top:8px;line-height:1.45}.back{border:0;background:none;color:var(--purple);font-size:15px;padding:0 0 18px}.expression-list,.saved-list{display:grid;gap:12px;margin-top:20px}.expression-row,.saved-item,.empty-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:15px}.expression-row .cn{color:#50536a;margin-top:7px}.row-actions{margin-top:12px}.chat{height:calc(100dvh - var(--tabbar-height) - env(safe-area-inset-bottom));min-height:0;display:flex;flex-direction:column;padding-bottom:calc(var(--composer-height) + 20px)}.chat-intro h2{margin:0;font-size:26px}.chat-intro p{color:var(--muted);font-size:14px}.messages{flex:1;min-height:0;overflow-y:auto;padding:20px 0 calc(var(--composer-height) + 20px);overscroll-behavior:contain}.message{display:flex;margin:10px 0}.message.user{justify-content:flex-end}.bubble{max-width:82%;padding:12px 15px;border-radius:18px;background:white;border:1px solid var(--line);line-height:1.6}.message.user .bubble{background:#eeeafd;border-color:#ddd4ff}.empty{text-align:center;color:#aaa8b0;padding-top:20vh}.composer{position:fixed;left:0;right:0;bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom));min-height:var(--composer-height);display:flex;align-items:center;gap:8px;padding:10px max(14px,calc((100% - 680px)/2 + 14px));background:#fbf7f1ee;backdrop-filter:blur(10px);border-top:1px solid #e8dfd8;z-index:3}.composer input{min-width:0;flex:1;border:1px solid var(--line);border-radius:20px;padding:12px 15px;font-size:16px;background:white;outline:none}.composer button{padding:0 19px;height:42px;flex:none}.tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(680px,100%);height:var(--tabbar-height);background:#fffdfaf5;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:env(safe-area-inset-bottom);z-index:4}.tabbar button{border:0;background:none;color:#8a8792;font-size:14px}.tabbar button.active{color:var(--purple);font-weight:700}@media(min-width:560px){.page{padding-left:28px;padding-right:28px}.daily-list{grid-template-columns:1fr 1fr}.daily-card:first-child{grid-column:span 2}}
