*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0c0b14;--surface: #141220;--surface2: #1b1830;--text: #ede9f8;--text-sub: #8b7fa8;--text-muted: #4a4268;--border: #211e33;--border2: #3d3668;--border-dark: #ede9f8;--accent: #ede9f8;--accent-light: #a78bfa;--accent-faint: #1e1640;--green: #10b981;--amber: #f59e0b;--red: #ef4444;--blue: #3b82f6;--pink: #ec4899;--purple: #8b5cf6;--font: "Georgia", "Times New Roman", serif;--font-mono: "SF Mono", "Monaco", "Inconsolata", "Fira Code", monospace;--font-sans: "Inter", "Helvetica Neue", "Arial", sans-serif;--hero-gradient-start: #130d2a;--hero-gradient-end: #0c0b14;--toggle-bg: #1b1830;--toggle-hover: #2d264d;--shadow: rgba(0, 0, 0, .3);--grid-color: rgba(255, 255, 255, .03);--annotation-color: #ede9f8;--marker-size: 8px;--tag-season-bg: #1e3a2e;--tag-season-text: #6ee7b7;--tag-season-border: #10b98133;--tag-occasion-bg: #1e1640;--tag-occasion-text: #a78bfa;--tag-occasion-border: #7c3aed33;--tag-reddit-bg: #1c1035;--tag-reddit-text: #818cf8;--tag-reddit-border: #818cf833}[data-theme=light]{--bg: #faf9f7;--surface: #ffffff;--surface2: #f5f3f0;--text: #1a1a2e;--text-sub: #6b6680;--text-muted: #a8a3b3;--border: #e5e2dc;--border2: #d1ccc4;--border-dark: #1a1a2e;--accent: #1a1a2e;--accent-light: #6b6680;--accent-faint: #f5f3f0;--green: #059669;--amber: #d97706;--red: #dc2626;--blue: #2563eb;--pink: #db2777;--purple: #7c3aed;--hero-gradient-start: #ffffff;--hero-gradient-end: #faf9f7;--toggle-bg: #e5e2dc;--toggle-hover: #d1ccc4;--shadow: rgba(0, 0, 0, .06);--grid-color: rgba(0, 0, 0, .04);--annotation-color: #1a1a2e;--tag-season-bg: #d1fae5;--tag-season-text: #059669;--tag-season-border: #10b98144;--tag-occasion-bg: #f5f3f0;--tag-occasion-text: #1a1a2e;--tag-occasion-border: #1a1a2e33;--tag-reddit-bg: #e0e7ff;--tag-reddit-text: #4f46e5;--tag-reddit-border: #6366f144}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:700;letter-spacing:-.02em;line-height:1.1}.mono{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.label{font-family:var(--font-mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.grid-bg{background-image:linear-gradient(var(--grid-color) 1px,transparent 1px),linear-gradient(90deg,var(--grid-color) 1px,transparent 1px);background-size:40px 40px}.annotation-line{position:absolute;background:var(--annotation-color)}.annotation-line.horizontal{height:1px}.annotation-line.vertical{width:1px}.marker-square{width:var(--marker-size);height:var(--marker-size);background:var(--annotation-color);border:1px solid var(--annotation-color)}.info-box{border:1px solid var(--border-dark);padding:16px;background:var(--surface)}.info-box-header{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;display:flex;align-items:center;gap:8px}.info-box-header:before{content:"";width:var(--marker-size);height:var(--marker-size);background:var(--annotation-color)}button{font-family:var(--font);cursor:pointer}input,select{font-family:var(--font)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}::selection{background:var(--accent);color:var(--bg)}.theme-toggle{position:fixed;top:16px;right:16px;z-index:1000;width:44px;height:44px;border-radius:50%;border:1px solid var(--border-dark);background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:20px;transition:all .2s ease;box-shadow:0 2px 8px var(--shadow)}.theme-toggle:hover{background:var(--surface2);transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.border-brutalist{border:1px solid var(--border-dark)}.text-gradient{background:linear-gradient(135deg,var(--text) 0%,var(--text-sub) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
