:root{--bg:#f6f4f0;--surface:#fff;--text:#1c1b19;--muted:#75716a;--border:#e3dfd8;--coach-bubble:#fff;--user-bubble:#2f2c28;--user-text:#fbfaf7;--accent:#d9622b;--accent-text:#fff;--error:#b3261e;--radius:20px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#121212;--surface:#1c1c1c;--text:#f0ede8;--muted:#9b968e;--border:#2c2b29;--coach-bubble:#1f1f1f;--user-bubble:#3a352f;--user-text:#f6f3ee;--accent:#ec7a43;--accent-text:#161210;--error:#f2928a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font:17px/1.45 -apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}.muted{color:var(--muted)}.small{font-size:14px}.error{color:var(--error)}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;height:100%;padding:24px 16px;display:flex}.login h1{letter-spacing:-.02em;margin:0 0 8px;font-size:32px}.login input{border:1px solid var(--border);background:var(--surface);width:min(320px,100%);color:var(--text);border-radius:14px;padding:14px 16px;font-size:17px}.primary{background:var(--accent);min-width:160px;color:var(--accent-text);border:0;border-radius:14px;padding:13px 22px;font-weight:600}.app{flex-direction:column;max-width:720px;height:100%;margin:0 auto;display:flex}header{padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;border-bottom:1px solid var(--border);background:var(--bg);align-items:center;gap:10px;display:flex}header h1{letter-spacing:-.01em;flex:1;margin:0;font-size:20px}.cost{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.icon{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.icon.on{color:var(--accent)}main{overscroll-behavior:contain;flex-direction:column;flex:1;gap:12px;padding:16px 16px 8px;display:flex;overflow-y:auto}.empty{text-align:center;margin:auto 0;padding:24px 8px}.empty .hello{letter-spacing:-.01em;margin:0 0 8px;font-size:24px;font-weight:600}.empty p{margin:6px 0}.msg{flex-direction:column;gap:6px;max-width:86%;display:flex}.msg.user{align-self:flex-end;align-items:flex-end}.msg.assistant{align-self:flex-start}.bubble{border-radius:var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;padding:10px 14px}.user .bubble{background:var(--user-bubble);color:var(--user-text);border-bottom-right-radius:6px}.assistant .bubble{background:var(--coach-bubble);border:1px solid var(--border);border-bottom-left-radius:6px}.msg.error .bubble{color:var(--error)}.thumbs{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.thumb{background:0 0;border:0;border-radius:16px;padding:0;display:block;position:relative}.thumb img{object-fit:cover;border-radius:16px;max-width:240px;max-height:320px;display:block}.thumbs.many .thumb img{width:112px;height:112px}.badge{color:#fff;font-variant-numeric:tabular-nums;background:#0009;border-radius:10px;padding:2px 8px;font-size:13px;position:absolute;bottom:8px;left:8px}.bubble-row{align-items:flex-end;gap:4px;display:flex}.read{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.read.on{color:var(--accent)}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.photo-tag{color:var(--muted);font-size:13px}.logged{color:var(--muted);padding-left:4px;font-size:13px}.typing{gap:5px;padding:14px 16px;display:flex}.typing span{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite blink}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}@media (prefers-reduced-motion:reduce){.typing span{opacity:.6;animation:none}.spinner{animation-duration:2.4s}}.composer{padding:8px 10px calc(env(safe-area-inset-bottom) + 8px);border-top:1px solid var(--border);background:var(--bg)}.composer .row{align-items:flex-end;gap:6px;display:flex}.composer textarea{resize:none;max-height:160px;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:22px;outline:none;flex:1;padding:10px 14px;font-size:17px}.composer textarea:focus{border-color:var(--accent)}.send{background:var(--accent);width:44px;height:44px;color:var(--accent-text);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.previews{gap:10px;margin:0 0 8px 50px;padding-top:8px;display:flex;overflow-x:auto}.preview{flex:none;position:relative}.preview img{border-radius:12px;height:84px;display:block}.preparing{margin:0 0 8px 50px}.preview .remove{background:var(--text);width:26px;height:26px;color:var(--bg);border:0;border-radius:50%;line-height:1;position:absolute;top:-8px;right:-8px}.viewer{z-index:10;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.viewer-strip{scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;display:flex;overflow-x:auto}.viewer-strip::-webkit-scrollbar{display:none}.viewer-slide{scroll-snap-align:center;padding:calc(env(safe-area-inset-top) + 56px) 0 calc(env(safe-area-inset-bottom) + 40px);flex:0 0 100%;place-items:center;display:grid}.viewer-slide img,.viewer-slide video{object-fit:contain;max-width:100%;max-height:100%}.viewer-close{top:calc(env(safe-area-inset-top) + 8px);color:#fff;background:#ffffff2e;border:0;border-radius:50%;width:44px;height:44px;font-size:28px;line-height:1;position:absolute;right:12px}.viewer-hint{left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 10px);text-align:center;color:#ffffffb3;margin:0;font-size:13px;position:absolute}.watch{border:1px solid var(--accent);color:var(--accent);background:0 0;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:9px 14px;font-size:15px;font-weight:600;display:inline-flex}.breakdown-video{min-height:0;padding-top:calc(env(safe-area-inset-top) + 56px);flex:1;place-items:center;display:grid}.breakdown-video video{object-fit:contain;max-width:100%;max-height:100%}.breakdown-panel{padding:14px 16px calc(env(safe-area-inset-bottom) + 14px);color:#fff;flex-direction:column;gap:12px;display:flex}.breakdown-caption{min-height:4.4em;margin:0;font-size:18px;line-height:1.4}.breakdown-time{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.breakdown-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{color:#fff;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #ffffff59;border-radius:999px;padding:6px 12px;font-size:15px}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.breakdown-actions{gap:10px;display:flex}.breakdown-actions button:not(.primary){color:#fff;background:#ffffff24;border:0;border-radius:14px;flex:1;padding:12px;font-weight:600}.breakdown-actions .primary{flex:1}.sheet{z-index:5;background:var(--bg);flex-direction:column;max-width:720px;margin:0 auto;display:flex;position:fixed;inset:0}.done{color:var(--accent);background:0 0;border:0;min-height:44px;padding:10px 4px;font-weight:600}.day-card{text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.day-card strong{font-size:17px}.day-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;display:-webkit-box;overflow:hidden}.day{padding-bottom:calc(env(safe-area-inset-bottom) + 24px);gap:14px}.day h2{letter-spacing:-.01em;margin:4px 0 0;font-size:22px}.day p{margin:0}.points{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.day-media{gap:8px;margin-top:4px;display:flex;overflow-x:auto}.day-media .thumb{flex:none}.day-media .thumb img{object-fit:cover;border-radius:14px;width:96px;height:96px}.link{color:var(--accent);background:0 0;border:0;align-self:flex-start;margin-top:6px;padding:10px 0;font-size:15px;font-weight:600}.last-day{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;align-items:center;gap:2px;margin:18px auto 0;padding:12px 18px;display:flex}
