@import "https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,300;0,8..60,400;0,8..60,600;0,8..60,700;1,8..60,400;1,8..60,600&family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root,.theme-dark{--bg:#1a1614;--surface:#241f1b;--elevated:#2e2824;--brand:#943d3d;--brand-hover:#aa5050;--brand-subtle:#301f1f;--text:#ece3da;--text-sec:#9a8d80;--text-ter:#6b6058;--border:#36302a;--border-sub:#2a2420;--warning:#e85d4a;--warning-bg:#301c18;--success:#4e9b6b;--rating:#c49540;--shadow-1:0 1px 3px #0003;--shadow-2:0 4px 12px #00000040;--shadow-3:0 8px 30px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme-light{--bg:#f6f1ec;--surface:#fff;--elevated:#fff;--brand:#853535;--brand-hover:#973d3d;--brand-subtle:#f5e8e8;--text:#1c1816;--text-sec:#6b5f54;--text-ter:#9a8d80;--border:#e5ddd5;--border-sub:#ede6de;--warning:#cc3d2e;--warning-bg:#fdf0ee;--success:#357a4e;--rating:#b08530;--shadow-1:0 1px 3px #0000000f;--shadow-2:0 4px 12px #00000014;--shadow-3:0 8px 30px #0000001f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--font-serif:"Source Serif 4", Georgia, serif;--font-sans:"Plus Jakarta Sans", system-ui, sans-serif;--avatar-1:#c46b5e;--avatar-2:#8b7bb5;--avatar-3:#5e9b82;--avatar-4:#c49540;--avatar-5:#6b8bb5;--avatar-6:#c47b8b;--avatar-7:#5ea5a0;--avatar-8:#a08060;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:40px;--space-10:48px;--space-11:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-xl:14px;--radius-2xl:20px;--radius-full:999px;--ease:cubic-bezier(.4, 0, .2, 1);--duration-micro:.15s;--duration-standard:.25s;--duration-emphasis:.4s;--bg-black:var(--bg);--bg-primary:var(--bg);--bg-secondary:var(--surface);--bg-card:var(--surface);--bg-elevated:var(--elevated);--bg-input:var(--elevated);--accent:var(--brand);--accent-dim:var(--brand-subtle);--accent-faint:var(--brand-subtle);--violet:var(--avatar-2);--blue:var(--avatar-5);--pink:var(--warning);--text-primary:var(--text);--text-secondary:var(--text-sec);--text-tertiary:var(--text-sec);--text-muted:var(--text-sec);--text-ghost:var(--text-ter);--border-subtle:var(--border-sub);--border-light:var(--border);--border-accent:var(--brand);--font-display:var(--font-sans);--font-mono:var(--font-sans);--ease-out:var(--ease);--duration-fast:var(--duration-micro);--duration-normal:var(--duration-standard)}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--duration-standard) var(--ease), color var(--duration-standard) var(--ease)}::-webkit-scrollbar{width:0;display:none}.type-display{font:600 32px/1.1 var(--font-serif);color:var(--text);letter-spacing:-.01em}.type-heading{font:600 28px/1.1 var(--font-serif);color:var(--text);letter-spacing:-.01em}.type-stat{font:700 28px/1 var(--font-serif);color:var(--text)}.type-title{font:600 15px/1.2 var(--font-sans);color:var(--text)}.type-body{font:400 14px/1.4 var(--font-sans);color:var(--text)}.type-small{font:400 13px/1.3 var(--font-sans);color:var(--text-sec)}.type-caption{font:500 12px/1 var(--font-sans);color:var(--text-sec)}.type-micro{font:500 11px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-sec)}.heading-lg{font:600 32px/1.1 var(--font-serif);letter-spacing:-.01em}.heading-md{font:600 22px/1.2 var(--font-serif);letter-spacing:-.01em}.stat-number{font:700 28px/1 var(--font-serif);letter-spacing:0}.micro-label{font:500 11px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-sec)}.body-sm{font:400 13px/1.5 var(--font-sans);color:var(--text-sec)}.font-display{font-family:var(--font-serif)}.font-mono{font-family:var(--font-sans)}.card{background:var(--surface);border:1px solid var(--border-sub);border-radius:var(--radius-xl);box-shadow:var(--shadow-1)}.status-chip{font:500 11px/1 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-full);background:var(--elevated);color:var(--text-sec);border:1px solid var(--border-sub);align-items:center;padding:4px 10px;display:inline-flex}.status-chip[data-status=seeing_regularly]{background:var(--brand-subtle);color:var(--brand-hover);border-color:#0000}.status-chip[data-status=not_interested],.status-chip[data-status=archived]{opacity:.6}.status-chip.selectable{cursor:pointer;transition:transform var(--duration-micro) var(--ease), border-color var(--duration-micro) var(--ease)}.status-chip.selectable:active{transform:scale(.96)}.flag-chip{font:500 11px/1 var(--font-sans);letter-spacing:.02em;border-radius:var(--radius-full);background:var(--warning-bg);color:var(--warning);align-items:center;gap:4px;padding:4px 10px;display:inline-flex}.vibe-tag{font:500 12px/1 var(--font-sans);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-sec);cursor:pointer;transition:all var(--duration-micro) var(--ease);-webkit-user-select:none;user-select:none;background:0 0;padding:8px 14px}.vibe-tag.selected{background:var(--brand-subtle);border-color:var(--brand);color:var(--text)}.vibe-tag:active{transform:scale(.96)}.star{cursor:pointer;transition:transform var(--duration-micro) var(--ease);-webkit-user-select:none;user-select:none;font-size:24px}.star:active{transform:scale(1.3)}.star.lit{color:var(--rating)}.star.empty{color:var(--border)}.btn-primary{font:600 14px/1 var(--font-sans);background:var(--brand);color:#fff;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-micro) var(--ease);border:none;padding:14px 28px}.btn-primary:hover{background:var(--brand-hover)}.btn-primary:active{transform:scale(.97)}.btn-secondary{font:600 14px/1 var(--font-sans);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-micro) var(--ease);background:0 0;padding:14px 28px}.btn-secondary:active{background:var(--elevated)}.avatar{font-family:var(--font-sans);color:#ffffffeb;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.bottom-nav{background:var(--bg);border-top:1px solid var(--border-sub);height:76px;padding-bottom:env(safe-area-inset-bottom,0);z-index:100;transition:background var(--duration-standard) var(--ease);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{cursor:pointer;color:var(--text-ter);transition:color var(--duration-micro) var(--ease);flex-direction:column;align-items:center;gap:4px;padding:8px 16px;display:flex}.nav-item.active{color:var(--brand-hover)}.nav-item .nav-label{font:500 11px/1 var(--font-sans);letter-spacing:.04em;color:var(--text-sec)}.nav-item.active .nav-label{color:var(--text);font-weight:600}.fab{background:var(--brand);cursor:pointer;z-index:90;width:56px;height:56px;box-shadow:var(--shadow-2);transition:transform var(--duration-micro) var(--ease), background var(--duration-micro) var(--ease);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:92px;right:20px}.fab:hover{background:var(--brand-hover)}.fab:active{transform:scale(.92)}.fab-menu{z-index:89;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:160px;right:20px}.fab-option{animation:fabIn var(--duration-standard) var(--ease) both;justify-content:flex-end;align-items:center;gap:10px;display:flex}.fab-option-label{font:500 13px/1 var(--font-sans);color:var(--text);background:var(--elevated);border-radius:var(--radius-md);white-space:nowrap;box-shadow:var(--shadow-1);padding:8px 14px}.fab-option-icon{background:var(--elevated);border:1px solid var(--border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.input-field{font:400 15px/1.3 var(--font-sans);background:var(--elevated);border:1px solid var(--border-sub);border-radius:var(--radius-lg);color:var(--text);width:100%;transition:border-color var(--duration-micro) var(--ease);outline:none;padding:14px 16px}.input-field:focus{border-color:var(--brand)}.input-field::placeholder{color:var(--text-sec);opacity:.7}.search-bar{font:400 14px/1 var(--font-sans);background:var(--surface);border:1px solid var(--border-sub);border-radius:var(--radius-full);color:var(--text);outline:none;width:100%;padding:12px 16px 12px 40px}.search-bar:focus{border-color:var(--border)}.search-bar::placeholder{color:var(--text-sec);opacity:.7}.overlay-backdrop{z-index:200;animation:fadeIn var(--duration-micro) ease-out;background:#0009;position:fixed;inset:0}.overlay-panel{background:var(--bg);z-index:201;animation:slideUp var(--duration-standard) var(--ease);position:fixed;inset:0;overflow-y:auto}.overlay-sheet{background:var(--surface);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;z-index:201;box-shadow:var(--shadow-3);animation:slideUp var(--duration-standard) var(--ease);padding-bottom:env(safe-area-inset-bottom,0);position:fixed;bottom:0;left:0;right:0}.screen-enter{animation:fadeUp var(--duration-standard) var(--ease) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fabIn{0%{opacity:0;transform:scale(.85)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.app-shell{max-width:480px;min-height:100vh;margin:0 auto;position:relative}@media (width>=600px){.app-shell{border-left:1px solid var(--border-sub);border-right:1px solid var(--border-sub);box-shadow:var(--shadow-3)}.bottom-nav{max-width:480px;left:50%;transform:translate(-50%)}.fab,.fab-menu{right:calc(50% - 220px)}.overlay-panel,.overlay-sheet{max-width:480px;left:50%;transform:translate(-50%)}@keyframes slideUp{0%{transform:translate(-50%)translateY(100%)}to{transform:translate(-50%)translateY(0)}}}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}
