:root{--bg:#0b0f18;--panel:#131a28;--panel-2:#1b2437;--line:#27334b;--text:#eef3fa;--muted:#a7b4c8;--accent:#38d9ff;--accent-dim:#38d9ff24;--danger:#ff7a7a;--ok:#5ee08a;--warn:#ffcf6b;--radius:16px;--tabbar:62px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;overflow-x:hidden}body{min-height:100dvh;padding-bottom:calc(var(--tabbar) + var(--safe-b))}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}p,li,.title{overflow-wrap:anywhere}.page{max-width:680px;padding:calc(14px + var(--safe-t)) 14px 28px;margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:10px;min-height:44px;margin-bottom:14px;display:flex}.topbar>div:first-child{min-width:0}.topbar h1{font-size:22px;font-weight:700;line-height:1.2}.topbar .sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:14px;overflow:hidden}.topbar .actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:16px 14px}.card h2{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:15px;font-weight:600;display:flex}.card.accent{border-color:#38d9ff66}.brief-text{white-space:pre-wrap;font-size:17px;line-height:1.6}.brief-text.streaming:after{content:"▍";color:var(--accent);animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.end{justify-content:flex-end}.chips{scrollbar-width:none;gap:8px;padding:2px 0 6px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips .btn{flex:none}.btn{border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-size:15px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);color:#06121a;border-color:#0000}.btn.ghost{background:0 0}.btn.danger{color:var(--danger)}.btn.small{min-height:36px;padding:6px 12px;font-size:14px}.btn.icon{width:44px;padding:0}.btn.icon svg{width:22px;height:22px}.list{flex-direction:column;gap:8px;display:flex}.item{background:var(--panel-2);border-radius:12px;grid-template-columns:auto 1fr;align-items:start;gap:10px;min-width:0;padding:10px 12px;display:grid}.item.plain{grid-template-columns:1fr}.item .when{min-width:48px;color:var(--accent);font-variant-numeric:tabular-nums;padding-top:1px;font-size:15px;font-weight:600}.item .body{min-width:0}.item .title{font-size:16px;line-height:1.4}.item .meta{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:14px}.item.overdue .meta{color:var(--danger)}.item.done{opacity:.6}.item.done .title{text-decoration:line-through}.day-label{color:var(--muted);margin:10px 0 6px;font-size:14px;font-weight:600}.empty{color:var(--muted);font-size:15px}.badge{background:var(--accent-dim);color:var(--accent);overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:4px 10px;font-size:13px;display:inline-flex}.badge.ok{color:var(--ok);background:#5ee08a26}.badge.bad{color:var(--danger);background:#ff7a7a26}.badge.warn{color:var(--warn);background:#ffcf6b26}.notice{border-left:3px solid var(--warn);color:var(--warn);overflow-wrap:anywhere;background:#ffcf6b14;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:14px}.notice.error{border-color:var(--danger);color:var(--danger);background:#ff7a7a14}.input,.select,.textarea{background:var(--bg);border:1px solid var(--line);border-radius:12px;outline:none;width:100%;min-height:44px;padding:11px 14px;font-size:16px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent)}.textarea{resize:vertical;min-height:120px;line-height:1.5}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--muted);font-size:14px}.chat{flex-direction:column;gap:10px;padding-bottom:100px;display:flex}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;max-width:88%;padding:10px 14px;font-size:16px;line-height:1.5}.bubble.user{background:var(--accent);color:#06121a;border-bottom-right-radius:4px;align-self:flex-end}.bubble.assistant{background:var(--panel-2);border-bottom-left-radius:4px;align-self:flex-start}.composer{left:0;right:0;bottom:calc(var(--tabbar) + var(--safe-b));background:linear-gradient(to top, var(--bg) 75%, transparent);z-index:10;padding:12px 14px 10px;position:fixed}.composer .inner{align-items:center;gap:8px;max-width:680px;margin:0 auto;display:flex}.composer .input{flex:1;min-width:0}.mic{border:1px solid var(--line);background:var(--panel-2);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.mic.big{width:92px;height:92px}.mic.recording{background:var(--danger);color:#fff;border-color:#0000;animation:1.2s ease-in-out infinite pulse}.mic.processing{opacity:.6}@keyframes pulse{0%{box-shadow:0 0 #ff7a7a99}to{box-shadow:0 0 0 18px #ff7a7a00}}.speaking{color:var(--accent);align-items:center;gap:4px;font-size:13px;display:inline-flex}.speaking i{background:var(--accent);border-radius:2px;width:3px;height:12px;animation:.8s ease-in-out infinite bars}.speaking i:nth-child(2){animation-delay:.15s}.speaking i:nth-child(3){animation-delay:.3s}@keyframes bars{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.tabbar{height:calc(var(--tabbar) + var(--safe-b));padding-bottom:var(--safe-b);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:20;background:#0b0f18f0;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:0;font-size:11px;display:flex}.tabbar a.active{color:var(--accent)}.tabbar svg{width:22px;height:22px}.login{justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex}.login .card{width:100%;max-width:360px}.logo{border:3px solid var(--accent);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 16px;font-size:34px;font-weight:800;display:flex;box-shadow:0 0 30px #38d9ff40}.journal-day{white-space:pre-wrap;margin-bottom:12px;font-family:inherit;font-size:15px;line-height:1.5}details summary{cursor:pointer;color:var(--muted);padding:6px 0;font-size:15px;list-style:none}details summary:before{content:"▸ ";color:var(--accent)}details[open] summary:before{content:"▾ "}.muted{color:var(--muted)}.sections{gap:10px;display:grid}.sections h3{color:var(--muted);margin-bottom:4px;font-size:14px}.sections ul{padding-left:18px;font-size:16px;line-height:1.5}.profile{align-items:center;gap:12px;min-width:0;display:flex}.avatar{border:2px solid var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:700;display:flex}.tiles{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px;display:grid}.tile{background:var(--panel);border:1px solid var(--line);border-radius:14px;min-width:0;padding:14px}.tile .value{font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1.1}.tile .value small{color:var(--muted);margin-left:4px;font-size:14px;font-weight:500}.tile .label{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.3}.chart{width:100%;position:relative}.chart svg{width:100%;display:block;overflow:visible}.chart .caption{color:var(--muted);min-height:21px;margin-top:8px;font-size:14px}.chart .caption b{color:var(--text);font-weight:600}.table{border-collapse:collapse;width:100%;font-size:14px}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:6px 8px}.table th{color:var(--muted);font-weight:600}.table td.num{text-align:right;font-variant-numeric:tabular-nums}.date-tag{color:var(--muted);white-space:nowrap;padding-top:2px;font-size:13px}@media (min-width:600px){.tiles{grid-template-columns:repeat(4,1fr)}}
