:root{--bg:#f6f4ef;--surface:#fff;--surface-2:#f0ede6;--text:#16211f;--muted:#66726f;--border:#e4e0d6;--accent:#0f766e;--accent-strong:#0b5d56;--accent-text:#fff;--accent-soft:#e3f1ee;--mine:#0f766e;--mine-text:#fff;--amber:#f5b72e;--amber-soft:#fff6df;--amber-border:#f0d48f;--danger:#c0392b;--danger-soft:#fdecea;--success:#1d7a4f;--shadow:0 1px 2px #16211f0f, 0 6px 20px #16211f0f;--radius:16px;--radius-sm:10px;--topbar:56px;--tabbar:62px;--sidebar:256px;--panel:340px;--content:760px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:15px;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0e1615;--surface:#152120;--surface-2:#1c2a28;--text:#e7eeec;--muted:#93a4a1;--border:#26352f;--accent:#2fb3a5;--accent-strong:#5ccfc2;--accent-text:#042420;--accent-soft:#143a36;--mine:#1f8f84;--mine-text:#fff;--amber-soft:#2f2610;--amber-border:#6d5a1f;--danger:#f07167;--danger-soft:#3a1b18;--success:#5fd39b;--shadow:0 1px 2px #00000059}}*{box-sizing:border-box}html,body,#root{max-width:100%;height:100%;margin:0;overflow-x:hidden}html{touch-action:manipulation}body{background:var(--bg);color:var(--text);overscroll-behavior-y:none}h1,h2,h3{margin:0;line-height:1.25}h2{font-size:1.35rem;font-weight:700}h3{font-size:1rem;font-weight:650}p{margin:0}.muted{color:var(--muted)}.small{font-size:.86rem}.error{color:var(--danger)}.success{color:var(--success)}button{font:inherit;cursor:pointer;border-radius:var(--radius-sm);background:var(--surface-2);min-height:40px;color:var(--text);-webkit-tap-highlight-color:transparent;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 14px;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:var(--accent-text);font-weight:600}button.primary:not(:disabled):hover{background:var(--accent-strong)}button.secondary{background:var(--surface);border-color:var(--border)}button.secondary:not(:disabled):hover{border-color:var(--accent)}button.danger{color:var(--danger);background:0 0;border-color:#0000}button.danger:not(:disabled):hover{background:var(--danger-soft)}button.ghost{color:var(--accent);background:0 0;min-height:34px;padding:6px 10px}button.ghost:not(:disabled):hover{background:var(--accent-soft)}button.icon{width:40px;height:40px;color:var(--muted);background:0 0;border-radius:999px;padding:0}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:40px;padding:9px 12px;font-size:max(16px,1rem)}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:0;border-color:var(--accent)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 17px) 55%,calc(100% - 12px) 55%;background-repeat:no-repeat;background-size:5px 5px;padding-right:34px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.actions{gap:8px;margin-top:12px;display:flex}.actions>button{flex:1}.actions.wrap{flex-wrap:wrap}.actions.wrap>button{flex:calc(50% - 4px)}.row{align-items:center;gap:8px;display:flex}.row>input,.row>select{flex:1;min-width:0}.row>button{flex:none}.form{flex-direction:column;gap:14px;display:flex}.form label{color:var(--muted);flex-direction:column;gap:6px;font-size:.86rem;font-weight:600;display:flex}.form label>input,.form label>select,.form label>.row{color:var(--text);font-size:max(16px,1rem);font-weight:400}.section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px;font-size:.74rem;font-weight:700}.note{background:var(--amber-soft);border:1px solid var(--amber-border);border-radius:var(--radius-sm);margin-top:10px;padding:8px 10px}.app{flex-direction:column;height:100%;display:flex}.main{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.sidebar,.side-panel,.pagebar{display:none}.topbar{min-height:calc(var(--topbar) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0 16px;background:var(--surface);border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{letter-spacing:-.01em;color:var(--accent);align-items:center;gap:8px;font-size:1.12rem;font-weight:750;display:inline-flex}.brand img{border-radius:8px;width:28px;height:28px}.space-switcher{background-color:var(--surface-2);text-overflow:ellipsis;border-color:#0000;border-radius:999px;width:auto;max-width:60%;min-height:36px;padding:6px 32px 6px 14px;font-weight:600}.topbar .space-switcher{max-width:48%;margin-left:auto}.topbar-actions{flex:none;gap:2px;display:inline-flex}.recent-alerts{flex-direction:column;gap:8px;margin:0 0 18px;padding:0;list-style:none;display:flex}.recent-alert{border:1px solid var(--amber-border);border-radius:var(--radius);background:var(--amber-soft);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.recent-alert svg{color:var(--muted);flex:none;margin-top:2px}.recent-alert-text{overflow-wrap:anywhere;flex:1;min-width:0}.recent-alert-time{color:var(--muted);flex:none;font-size:.78rem}.history-sheet{z-index:9;padding:calc(env(safe-area-inset-top) + 10px) 12px calc(env(safe-area-inset-bottom) + 16px);background:var(--surface);animation:.18s ease-out sheet-in;position:absolute;inset:0;overflow-y:auto}@keyframes sheet-in{0%{opacity:0;transform:translateY(8px)}}.history{flex-direction:column;gap:6px;min-width:0;display:flex}.history-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}button.history-new{background:var(--accent-soft);color:var(--accent);flex:1;justify-content:flex-start;gap:10px;font-weight:650}.history .sidebar-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 10px 4px;font-size:.72rem;font-weight:700;display:block}.history-empty{margin:0;padding:0 10px}.history-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}button.history-item{width:100%;min-height:44px;color:var(--text);text-align:left;background:0 0;justify-content:space-between;gap:12px;padding:8px 10px}button.history-item:hover{background:var(--surface-2)}button.history-item.active{background:var(--accent-soft);color:var(--accent);font-weight:650}.history-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.history-when{color:var(--muted);flex:none;font-size:.78rem;font-weight:400}button.history-more{align-self:flex-start;min-height:34px;margin:4px 10px;padding:6px 12px}.content{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.tabs{min-height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);flex:none;display:flex}.tabs button{color:var(--muted);background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;gap:2px;font-size:.74rem;font-weight:600}.tabs button.active{color:var(--accent)}.banners{flex-direction:column;gap:8px;padding:0 12px;display:flex}.banners:not(:empty){padding-top:10px}.banner{border-radius:var(--radius);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.banner .actions{margin-top:8px}.toast{z-index:10;top:calc(var(--topbar) + env(safe-area-inset-top) + 10px);text-align:left;border-radius:var(--radius);background:var(--text);width:min(460px,100% - 24px);color:var(--bg);justify-content:flex-start;padding:12px 14px;animation:.2s ease-out toast-in;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #00000040}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}}.page{width:100%;max-width:var(--content);flex-direction:column;gap:14px;margin:0 auto;padding:18px 14px 32px;display:flex}.page-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.page .card h3{margin-bottom:4px}.empty-state{text-align:center;color:var(--muted);padding:32px 16px}.reminder-card .reminder-summary{color:var(--muted);margin-top:2px;font-size:.9rem}.reminder-card .actions{justify-content:flex-end}.reminder-card .actions>button{flex:none}.dev{border-style:dashed}.group{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:12px 0;display:flex}.group:first-of-type{padding-top:4px}.group .actions{margin-top:6px}.invite-link{margin-top:6px;font-size:.85rem}.chat{flex-direction:column;height:100%;display:flex}.messages{width:100%;min-height:0;max-width:var(--content);flex-direction:column;flex:1;gap:10px;margin:0 auto;padding:16px 12px 8px;display:flex;overflow-y:auto}.bubble{background:var(--surface);border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:20px 20px 20px 6px;align-self:flex-start;max-width:min(86%,560px);padding:9px 13px 7px}.bubble.mine{background:var(--mine);color:var(--mine-text);border-color:#0000;border-bottom-right-radius:6px;border-bottom-left-radius:20px;align-self:flex-end}.bubble.member{background:var(--surface-2);border-color:#0000}.bubble.reminder{background:var(--amber-soft);border-color:var(--amber-border)}.bubble.reminder .bubble-text:before{content:"⏰ "}.bubble.sending{opacity:.65}.bubble.failed{border-color:var(--danger);color:var(--danger)}.bubble.typing{color:var(--muted);font-style:italic}.bubble.has-card{white-space:normal;background:0 0;border:none;border-radius:0;width:100%;max-width:min(100%,560px);padding:0}.bubble.has-card .bubble-time{padding-right:6px}.bubble-sender{color:var(--accent);margin-bottom:2px;font-size:.8rem;font-weight:650;display:block}.bubble-text{margin:0}.bubble-time{text-align:right;opacity:.6;margin-top:2px;font-size:.7rem;display:block}.empty{text-align:center;flex-direction:column;align-items:center;gap:10px;margin:auto 0;padding:24px 8px;display:flex}.empty img{width:64px;height:64px;box-shadow:var(--shadow);border-radius:16px}.empty p{max-width:420px;color:var(--muted)}.examples{flex-direction:column;gap:8px;width:100%;max-width:460px;margin-top:6px;display:flex}.examples button{text-align:left;background:var(--surface);border-color:var(--border);border-radius:14px;justify-content:flex-start;padding:10px 14px}.examples button:hover{border-color:var(--accent)}.composer{width:100%;max-width:var(--content);flex:none;align-items:flex-end;gap:8px;margin:0 auto;padding:8px 12px 12px;display:flex}.composer textarea{resize:none;min-height:44px;max-height:160px;box-shadow:var(--shadow);border-radius:22px;flex:1;padding:11px 16px;line-height:1.35;overflow-y:hidden}.composer button{border-radius:999px;flex:none;width:44px;height:44px;min-height:44px;padding:0}.composer button.mic{background:var(--surface);border-color:var(--border);color:var(--accent)}.recording-bar{background:var(--surface);border:1px solid var(--border);min-height:44px;box-shadow:var(--shadow);border-radius:22px;flex:1;align-items:center;gap:10px;padding:0 16px;font-weight:600;display:flex}.recording-dot{background:var(--danger);border-radius:999px;width:10px;height:10px;animation:1.2s ease-in-out infinite recording-pulse}.recording-time{font-variant-numeric:tabular-nums;color:var(--muted);margin-left:auto}@keyframes recording-pulse{50%{opacity:.25}}.voice-mark{vertical-align:-2px;opacity:.8;margin-right:6px;display:inline-block}.confirmation{border-color:color-mix(in srgb, var(--accent) 30%, var(--border));padding:14px 16px}.card-summary{font-weight:600}.card-title{color:var(--accent);margin-top:4px;font-size:1.05rem;font-weight:700}.card-meta{background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:6px;margin-top:6px;padding:3px 10px;font-size:.8rem;display:inline-flex}.card-meta strong{color:var(--text)}.card-editor{border-radius:var(--radius-sm);background:var(--surface-2);margin-top:12px;padding:12px}.confirmation .actions{flex-wrap:wrap}.confirmation .actions>button{flex:auto}.occurrences{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.occurrences li{padding-left:16px;position:relative}.occurrences li:before{content:"";background:var(--accent);border-radius:999px;width:7px;height:7px;position:absolute;top:.55em;left:2px}.occurrence-when{flex-wrap:wrap;align-items:baseline;gap:0 8px;font-weight:600;display:flex}.occurrence-lunar{color:var(--muted);white-space:nowrap;font-size:.86rem;font-weight:400}.occurrence-alerts{color:var(--muted);margin-top:1px;font-size:.84rem}.reminder-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.reminder-list li{border-radius:var(--radius-sm);background:var(--surface-2);padding:10px 12px}.login{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:100%;padding:24px 16px;display:flex}.login-logo{box-shadow:var(--shadow);border-radius:18px}.login h1{color:var(--accent);font-size:1.8rem}.login-card{text-align:left;gap:10px;width:100%;max-width:380px;margin-top:12px}.login-card button{width:100%}@media (width>=900px){:root{font-size:15.5px}.app{grid-template-columns:var(--sidebar) minmax(0, 1fr);display:grid}.topbar,.tabs{display:none}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:18px;min-height:0;padding:18px 12px;display:flex;overflow-y:auto}.sidebar .brand{padding:0 8px}.sidebar-section{flex-direction:column;gap:2px;display:flex}.sidebar-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 10px 6px;font-size:.72rem;font-weight:700}.sidebar-item{width:100%;min-height:38px;color:var(--text);border-radius:var(--radius-sm);text-align:left;background:0 0;justify-content:flex-start;gap:10px;padding:8px 10px}.sidebar-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-item:hover{background:var(--surface-2)}.sidebar-item.active{background:var(--accent-soft);color:var(--accent);font-weight:650}.sidebar-item.add{color:var(--muted)}.sidebar-footer{border-top:1px solid var(--border);color:var(--muted);margin-top:auto;padding:10px;font-size:.86rem}.pagebar{border-bottom:1px solid var(--border);background:var(--surface);flex:none;align-items:center;gap:10px;min-height:60px;padding:0 24px;display:flex}.pagebar h2{font-size:1.1rem}.history-sheet{display:none}.sidebar-history{min-height:0}.sidebar-history .history-head{margin-bottom:2px}.sidebar-history button.history-new{min-height:38px}.sidebar-history button.history-item{min-height:36px;padding:6px 10px}.toast{top:72px}.banners{width:100%;max-width:var(--content);margin:0 auto}.page{padding:28px 24px 40px}.main .page-title{display:none}.main .page-header{justify-content:flex-end;margin-bottom:-6px}.messages{padding:24px 24px 8px}.composer{padding:8px 24px 20px}.bubble{max-width:min(78%,560px)}}@media (width>=1240px){.app.with-panel{grid-template-columns:var(--sidebar) minmax(0, 1fr) var(--panel)}.app.with-panel .side-panel{border-left:1px solid var(--border);background:var(--surface);min-height:0;display:block;overflow-y:auto}.side-panel .page{gap:12px;padding:20px 16px}.side-panel .card{box-shadow:none;background:var(--surface-2);border-color:#0000;padding:12px}}
