@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap";:root{--bg: #f6f8f6;--surface: #ffffff;--surface-2: #fafbfa;--border: #e9ece9;--border-strong: #dbe0db;--ink: #0f1410;--ink-2: #42504a;--ink-3: #6d7a73;--ink-4: #9ba69f;--brand: #21a366;--brand-2: #1a8a55;--brand-soft: #e7f6ee;--brand-softer: #f2faf6;--brand-ink: #0e5a39;--bubble-out: #d9fdd3;--bubble-in: #ffffff;--danger: #e05252;--radius: 14px;--radius-sm: 10px;--shadow-sm: 0 1px 2px rgba(16, 24, 20, .04), 0 1px 1px rgba(16, 24, 20, .03);--shadow-md: 0 2px 6px rgba(16, 24, 20, .05), 0 8px 24px -12px rgba(16, 24, 20, .08)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}@supports (height: 100dvh){html,body,#root{height:100dvh}}body{background:var(--bg);color:var(--ink);font-family:Geist,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--brand-soft);color:var(--brand-ink)}.app-shell{height:100%;width:100%;background:var(--bg)}.app-layout{display:grid;grid-template-columns:300px 1fr;height:100%;width:100%}.app-sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border-strong);background:linear-gradient(180deg,#fff,#f3f8f4)}.app-content{min-width:0;min-height:0;background:var(--surface)}.app-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}.app-btn{border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--ink-2);font-weight:600;transition:all .18s ease}.app-btn:hover{border-color:#c8d4cc;background:#f7faf8}.app-btn-primary{border-color:var(--brand);background:var(--brand);color:#fff}.app-btn-primary:hover{border-color:var(--brand-2);background:var(--brand-2)}.app-btn-danger{border-color:#f0d0d0;color:#ab3d3d}.app-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#f8fbf9;color:var(--ink);outline:none;transition:border-color .18s ease,box-shadow .18s ease}.app-input:focus{border-color:#95cfad;box-shadow:0 0 0 3px #21a3661f}.app-scroll{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#cfd6d1 transparent}.app-scroll::-webkit-scrollbar{width:8px}.app-scroll::-webkit-scrollbar-thumb{background:#cfd6d1;border-radius:8px;border:2px solid transparent;background-clip:padding-box}.app-scroll::-webkit-scrollbar-track{background:transparent}@keyframes waMessageIn{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes waMessageInRight{0%{opacity:0;transform:translate(22px,8px) scale(.82);transform-origin:bottom right}to{opacity:1;transform:translate(0) scale(1);transform-origin:bottom right}}@keyframes waMessageInLeft{0%{opacity:0;transform:translate(-22px,8px) scale(.82);transform-origin:bottom left}to{opacity:1;transform:translate(0) scale(1);transform-origin:bottom left}}@keyframes waSpin{to{transform:rotate(360deg)}}@keyframes skeletonPulse{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes waWave{0%{transform:scaleY(.55);opacity:.62}to{transform:scaleY(1);opacity:1}}.emoji-magic-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;min-height:38px;max-height:96px;overflow:hidden;padding:8px 4px;color:var(--ink);font:inherit;line-height:1.5;white-space:pre-wrap;word-break:break-word;pointer-events:none}.emoji-magic-token{position:relative;border-radius:7px;isolation:isolate}.emoji-magic-token.is-keyword{color:var(--brand-ink);background:#21a36614;text-shadow:0 0 9px rgba(33,163,102,.28);animation:emojiMagicKeywordGlow .62s ease-in-out both}.emoji-magic-scan .emoji-magic-token{animation:emojiMagicBluePass .96s ease-in-out both;animation-delay:calc(var(--emoji-token-index) * 18ms)}.emoji-magic-scan .emoji-magic-token.is-keyword{animation-name:emojiMagicBluePass,emojiMagicKeywordGlow;animation-duration:.96s,.62s;animation-timing-function:ease-in-out,ease-in-out;animation-fill-mode:both,both;animation-delay:calc(var(--emoji-token-index) * 18ms),calc(var(--emoji-token-index) * 18ms + .18s)}.emoji-magic-replace .emoji-magic-token.is-keyword{display:inline-block;color:#107a46;background:#21a3661f;box-shadow:0 0 0 1px #21a36614,0 0 18px #21a36652;text-shadow:0 0 13px rgba(33,163,102,.58);animation:emojiMagicSwap .55s cubic-bezier(.2,.9,.2,1.15) both;animation-delay:calc(var(--emoji-magic-order) * 95ms)}.emoji-magic-done .emoji-magic-token.is-keyword{display:inline-block;color:#0d743f;text-shadow:0 0 15px rgba(33,163,102,.46);animation:emojiMagicSettle .58s ease-out both}.composer-autocomplete-mirror{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;min-height:38px;max-height:160px;overflow:hidden;padding:8px 4px;color:var(--ink);font:inherit;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;pointer-events:none;visibility:hidden}.composer-autocomplete-mirror.is-loading,.composer-autocomplete-mirror.is-suggesting,.composer-autocomplete-mirror.is-committing{visibility:visible}.composer-autocomplete-ghost{color:#2b373061;display:inline;position:relative;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;animation:composerGhostTyped .28s ease-out both}.composer-autocomplete-cursor-glow{display:inline-block;vertical-align:-.16em;width:2px;height:1.18em;margin:0 1px 0 0;border-radius:999px;background:#2c84ff8a;box-shadow:-7px 0 16px 5px #2c84ff33,7px 0 16px 5px #2c84ff2e;filter:blur(.08px);animation:composerCursorDrift 1.12s ease-in-out infinite}.composer-autocomplete-commit{color:var(--ink);position:relative;display:inline;animation:composerCommitText .46s cubic-bezier(.2,.85,.18,1) both}.composer-autocomplete-commit:before{content:"";position:absolute;top:.08em;right:-3px;bottom:.04em;left:-5px;border-radius:999px;background:linear-gradient(100deg,transparent 12%,rgba(44,132,255,.18) 34%,rgba(44,132,255,.42) 48%,rgba(255,255,255,.38) 58%,transparent 82%);filter:blur(.1px);transform:translate(-105%);z-index:-1;animation:composerCommitSweep .46s cubic-bezier(.2,.85,.18,1) both}@keyframes emojiMagicKeywordGlow{0%{box-shadow:0 0 #21a36600;filter:saturate(1)}to{box-shadow:0 0 16px #21a36647;filter:saturate(1.25)}}@keyframes emojiMagicSwap{0%{opacity:.25;transform:translateY(3px) scale(.82);filter:blur(2px)}58%{opacity:1;transform:translateY(-2px) scale(1.22);filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes emojiMagicSettle{0%{transform:scale(1.14);box-shadow:0 0 20px #21a36652}to{transform:scale(1);box-shadow:0 0 #21a36600}}@keyframes emojiMagicBluePass{0%{opacity:0;text-shadow:0 0 0 rgba(44,132,255,0);filter:blur(0);transform:translate(0)}22%{opacity:1;color:#123457;text-shadow:0 0 12px rgba(44,132,255,.66),0 0 24px rgba(44,132,255,.34);filter:blur(.15px);transform:translate(1px)}55%{color:#10263e;text-shadow:0 0 17px rgba(44,132,255,.62),0 0 28px rgba(44,132,255,.28);filter:blur(.2px);transform:translate(-1px)}to{opacity:1;text-shadow:0 0 0 rgba(44,132,255,0);filter:blur(0);transform:translate(0)}}@keyframes composerGhostTyped{0%{opacity:0;filter:blur(.5px)}to{opacity:1;filter:blur(0)}}@keyframes composerCursorDrift{0%,to{opacity:.42;transform:translate(0)}50%{opacity:.82;transform:translate(4px)}}@keyframes composerCommitText{0%{opacity:.45;transform:translate(-8px);filter:blur(1.4px)}to{opacity:1;transform:translate(0);filter:blur(0)}}@keyframes composerCommitSweep{0%{opacity:0;transform:translate(-105%)}20%{opacity:.95}to{opacity:0;transform:translate(108%)}}@media (max-width: 1024px){.app-layout{grid-template-columns:1fr}.app-sidebar{border-right:0;border-bottom:1px solid var(--border-strong)}}@media (max-width: 768px){input,textarea,select{font-size:16px!important}}
