:root,:root[data-theme=dark]{--bg: #060a0f;--bg2: #0c1118;--card: #0f1620;--card2: #141d28;--accent: #3b82f6;--accent2: #60a5fa;--accent-ink: #ffffff;--accent-dim: rgba(59, 130, 246, .12);--accent-glow: rgba(59, 130, 246, .22);--green: #22c55e;--amber: #f59e0b;--red: #ef4444;--text: #e2eaf4;--text2: #94a3b8;--text3: #6b7f9c;--border: #1a2535;--border2: #243347;--shadow: 0 8px 28px rgba(0, 0, 0, .45);color-scheme:dark}:root[data-theme=light]{--bg: #f4f7fb;--bg2: #eaf0f7;--card: #ffffff;--card2: #f1f5fa;--accent: #2563eb;--accent2: #1d4ed8;--accent-ink: #ffffff;--accent-dim: rgba(37, 99, 235, .1);--accent-glow: rgba(37, 99, 235, .18);--green: #15803d;--amber: #b45309;--red: #dc2626;--text: #0b1522;--text2: #475569;--text3: #64748b;--border: #dbe3ee;--border2: #c5d0df;--shadow: 0 8px 24px rgba(15, 30, 55, .12);color-scheme:light}:root{--sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display: "Outfit", var(--sans);--r: 16px;--tap: 48px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--display);margin:0;letter-spacing:-.01em}h1{font-size:1.9rem;line-height:1.15}h2{font-size:1.3rem}p{margin:0}button,input,textarea,select{font:inherit;color:inherit}img{max-width:100%;display:block}.app{display:flex;flex-direction:column;min-height:100%;max-width:640px;margin:0 auto}.screen{flex:1;padding:16px 16px calc(96px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}.screen.center{justify-content:center}.muted{color:var(--text2)}.small{font-size:.85rem}.pre{white-space:pre-line}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:14px}.card.pad0{padding:0;overflow:hidden}.row{display:flex;gap:10px;align-items:center}.row.between{justify-content:space-between}.col{display:flex;flex-direction:column;gap:10px}.grow{flex:1;min-width:0}.btn{min-height:var(--tap);padding:0 18px;border-radius:14px;border:1px solid var(--border2);background:var(--card2);cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 0 24px var(--accent-glow)}.btn.danger{color:var(--red)}.btn.block{width:100%}.btn.ghost{background:transparent}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn.small{min-height:38px;padding:0 12px;font-size:.9rem}:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.85rem;color:var(--text2);font-weight:600}.input,textarea.input{width:100%;min-height:var(--tap);padding:10px 14px;border-radius:14px;border:1px solid var(--border2);background:var(--bg2)}textarea.input{min-height:96px;resize:vertical}.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-dim)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:color-mix(in srgb,var(--bg2) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tabbar-in{max-width:640px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr)}.tab{background:none;border:0;padding:10px 4px 8px;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--text3);cursor:pointer;font-size:.75rem;font-weight:600;min-height:56px}.tab[aria-current=page]{color:var(--accent2)}.tab svg{width:24px;height:24px}.banner{padding:10px 14px;font-size:.85rem;text-align:center}.banner.demo{background:var(--accent-dim);color:var(--accent2);border-bottom:1px solid var(--border2);display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}.banner.offline{background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber)}.chip{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:99px;background:var(--accent-dim);color:var(--accent2);font-size:.75rem;font-weight:700}.chip.green{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}.entry{background:var(--card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.entry .media{aspect-ratio:16 / 10;background:var(--card2);display:grid;place-items:center;color:var(--text3)}.entry .media img{width:100%;height:100%;object-fit:cover}.entry .body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.entry .meta{display:flex;justify-content:space-between;gap:8px;font-size:.8rem;color:var(--text2)}.entry .comment{white-space:pre-wrap;overflow-wrap:anywhere}.entry .actions{display:flex;gap:8px;flex-wrap:wrap}.seg{display:grid;grid-auto-flow:column;background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:4px;gap:4px}.seg button{min-height:40px;border:0;border-radius:10px;background:transparent;cursor:pointer;font-weight:600;color:var(--text2)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.moods{display:flex;gap:8px;flex-wrap:wrap}.mood{width:52px;height:52px;border-radius:14px;border:1px solid var(--border2);background:var(--card2);font-size:1.7rem;cursor:pointer}.mood[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.mood-toggle{background:none;border:1px dashed var(--border2);border-radius:99px;padding:6px 14px;cursor:pointer;color:var(--text2);min-height:40px}.alert{padding:12px 14px;border-radius:14px;font-size:.92rem;border:1px solid}.alert.err{color:var(--red);border-color:color-mix(in srgb,var(--red) 40%,transparent);background:color-mix(in srgb,var(--red) 10%,transparent)}.alert.ok{color:var(--green);border-color:color-mix(in srgb,var(--green) 40%,transparent);background:color-mix(in srgb,var(--green) 10%,transparent)}.alert.warn{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 40%,transparent);background:color-mix(in srgb,var(--amber) 10%,transparent)}.hero{border-radius:24px;overflow:hidden;position:relative;padding:28px 20px;background:radial-gradient(120% 90% at 85% 0%,var(--accent-glow),transparent 60%),var(--card);border:1px solid var(--border)}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.splash .logo{width:112px;height:112px;animation:pop 1.1s ease-out both;filter:drop-shadow(0 0 28px var(--accent-glow))}.splash .word{font-family:var(--display);font-size:1.8rem;font-weight:600;letter-spacing:.02em;animation:fade 1.2s .3s ease-out both}@keyframes pop{0%{opacity:0;transform:scale(.8) translateY(8px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.splash .logo,.splash .word{animation:none}*{transition:none!important}}.camera{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#000;display:flex;flex-direction:column}.camera video{flex:1;min-height:0;width:100%;object-fit:cover}.camera .bar{display:flex;justify-content:space-around;align-items:center;padding:18px 16px calc(18px + env(safe-area-inset-bottom));background:#000}.shutter{width:72px;height:72px;border-radius:50%;border:4px solid #fff;background:#fff3;cursor:pointer}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:70;display:grid;place-items:center;padding:16px}.modal{background:var(--card);border:1px solid var(--border2);border-radius:20px;padding:18px;max-width:420px;width:100%;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}
