:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:light dark;color:#e4e6eb;background-color:#0e1113;line-height:1.5}*{box-sizing:border-box}body{margin:0}.app{max-width:1280px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.header{margin-bottom:2rem}.header h1{font-size:2rem;margin:0 0 .25rem;color:#ff4500}.subtitle{margin:0;color:#9ca3af}.search-form{display:flex;gap:.75rem;margin-bottom:1.5rem}.search-form input{flex:1;padding:.75rem 1rem;font-size:1rem;background-color:#1a1d20;border:1px solid #2d3338;border-radius:8px;color:inherit}.search-form input:focus{outline:none;border-color:#ff4500}.search-form input:disabled{opacity:.6}.search-form button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;background-color:#ff4500;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .15s}.search-form button:hover:not(:disabled){background-color:#e03d00}.search-form button:disabled{background-color:#4a3026;cursor:not-allowed}.error{padding:1rem;background-color:#2a1517;border-left:3px solid #dc2626;color:#fecaca;border-radius:4px;margin-bottom:1.5rem}.warning{padding:1rem;background-color:#2a230f;border-left:3px solid #ffb070;color:#f8e6b8;border-radius:4px;margin-bottom:1rem;font-size:.9rem;line-height:1.5}.warning code{background:#1a1d20;padding:.1rem .35rem;border-radius:4px}.warning a{color:#ffb070;text-decoration:underline}.warning-hint{margin-top:.6rem;padding-top:.6rem;border-top:1px solid rgba(255,176,112,.25);color:#f8e6b8}.result-count{color:#9ca3af;margin:0 0 1.5rem}.result-count strong{color:#e4e6eb}.posts{display:flex;flex-direction:column;gap:1.25rem}.post{padding:1.25rem;background-color:#1a1d20;border:1px solid #2d3338;border-radius:10px}.post-title{margin:0 0 .5rem;font-size:1.15rem;line-height:1.35;color:#e4e6eb}.post-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:.75rem;font-size:.875rem;color:#9ca3af}.post-links{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;font-size:.9rem}.post-links a{color:#4493f8;text-decoration:none}.post-links a:hover{text-decoration:underline}.post-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin:.5rem 0 .75rem}.vote-btn,.comments-btn{background-color:#1a1d20;border:1px solid #2d3338;color:#d1d5db;padding:.35rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s,background-color .15s}.vote-btn.upvote:hover:not(:disabled){border-color:#ff4500;color:#ff4500}.vote-btn.upvote.active{background-color:#ff4500;border-color:#ff4500;color:#fff}.vote-btn.upvote.active:hover:not(:disabled){background-color:#e03d00;color:#fff}.vote-btn.downvote:hover:not(:disabled){border-color:#7193ff;color:#7193ff}.vote-btn.downvote.active{background-color:#7193ff;border-color:#7193ff;color:#fff}.vote-btn.downvote.active:hover:not(:disabled){background-color:#5a7be0;color:#fff}.vote-btn:disabled{opacity:.6;cursor:wait}.comments-btn:hover{border-color:#4493f8;color:#4493f8;background-color:#1f242a}.vote-tag{margin-left:.35rem;padding:.05rem .4rem;border-radius:999px;font-size:.7rem;font-weight:600}.vote-tag-up{background-color:#ff45002e;color:#ff7a3d}.vote-tag-down{background-color:#7193ff2e;color:#94adff}.vote-error{margin:.4rem 0 .6rem;padding:.5rem .75rem;background-color:#2a1517;border-left:3px solid #dc2626;color:#fecaca;border-radius:4px;font-size:.85rem}.suggest-btn{background-color:#1a1d20;border:1px solid #2d3338;color:#d1d5db;padding:.35rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s,background-color .15s}.suggest-btn:hover:not(:disabled){border-color:#a78bfa;color:#a78bfa;background-color:#1f1a2a}.suggest-btn:disabled{opacity:.6;cursor:wait}.draft-error{margin:.4rem 0 .6rem;padding:.5rem .75rem;background-color:#2a1517;border-left:3px solid #dc2626;color:#fecaca;border-radius:4px;font-size:.85rem}.submit-success{margin:.4rem 0 .6rem;padding:.5rem .75rem;background-color:#102a14;border-left:3px solid #16a34a;color:#d0f0d8;border-radius:4px;font-size:.9rem}.submit-success a{color:#86efac;font-weight:600;margin-left:.5rem}.draft-panel{margin:.75rem 0;padding:.85rem 1rem 1rem;background-color:#15102a;border:1px solid #4c3a8c;border-left:3px solid #a78bfa;border-radius:8px}.draft-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.55rem}.draft-label{font-size:.85rem;font-weight:700;color:#c4b5fd;text-transform:uppercase;letter-spacing:.04em}.draft-hint{font-size:.75rem;color:#9ca3af;font-style:italic}.draft-textarea{width:100%;background-color:#0e1113;color:#e4e6eb;border:1px solid #2d3338;border-radius:6px;padding:.65rem .75rem;font-family:inherit;font-size:.9rem;line-height:1.45;resize:vertical;min-height:5rem;box-sizing:border-box}.draft-textarea:focus{outline:none;border-color:#a78bfa}.draft-textarea:disabled{opacity:.7;cursor:wait}.draft-actions{display:flex;gap:.5rem;margin-top:.6rem}.draft-submit-btn{background-color:#ff4500;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-weight:700;font-size:.9rem;font-family:inherit;cursor:pointer;transition:background-color .15s}.draft-submit-btn:hover:not(:disabled){background-color:#e03d00}.draft-submit-btn:disabled{background-color:#4a3026;cursor:not-allowed}.draft-cancel-btn{background-color:transparent;border:1px solid #2d3338;color:#9ca3af;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-family:inherit;cursor:pointer}.draft-cancel-btn:hover:not(:disabled){border-color:#4a525a;color:#d1d5db}.draft-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.comments-section{margin:1rem -1.25rem -1.25rem;padding:.85rem 1.25rem 1.1rem;background-color:#07090b;border-top:2px solid #ff4500;border-radius:0 0 10px 10px;box-shadow:inset 0 4px 8px #0006}.comments-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #2d3338}.comments-section-title{font-size:.9rem;font-weight:700;color:#ff4500;text-transform:uppercase;letter-spacing:.06em}.comments-section-count{font-size:.75rem;color:#6b7280;font-weight:500}.comments-loading,.comments-empty{color:#9ca3af;font-size:.9rem;font-style:italic;margin:.5rem 0}.comments-list{display:flex;flex-direction:column;gap:.5rem}.comment{padding:.6rem .85rem;background-color:#1a1d20;border:1px solid #2d3338;border-left:3px solid #ff4500;border-radius:6px}.comment.depth-1{border-left-color:#4493f8}.comment.depth-2{border-left-color:#7193ff}.comment.depth-3{border-left-color:#a78bfa}.comment-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.78rem;color:#9ca3af;margin-bottom:.4rem}.comment-meta strong{color:#e4e6eb;font-weight:600}.comment-link{color:#4493f8;text-decoration:none;margin-left:auto;font-size:.75rem}.comment-link:hover{text-decoration:underline}.comment-body{margin:0;color:#e4e6eb;font-size:.9rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.post-image{display:block;max-width:100%;max-height:600px;object-fit:contain;margin-top:.5rem;border-radius:6px;background:#0e1113}.post-content{margin:.75rem 0 0;padding:.875rem 1rem;background-color:#0e1113;border:1px solid #2d3338;border-radius:6px;font-family:inherit;font-size:.95rem;color:#d1d5db;white-space:pre-wrap;word-break:break-word;overflow-x:auto}.time-select{padding:.75rem;font-size:.95rem;background-color:#1a1d20;border:1px solid #2d3338;border-radius:8px;color:inherit;min-width:160px}.time-select:focus{outline:none;border-color:#ff4500}.time-select:disabled{opacity:.6}.match-badge{background:#2a1f12;color:#ffb070;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.match-badge.weak{background:#1f1f24;color:#8b8b8b}.post.weak-match{opacity:.65}.sub-stats{margin:0 0 .75rem;color:#6b7280;font-size:.8rem}.sub-stats strong{color:#d1d5db}.ranking-method{margin-left:.5rem;padding:.05rem .5rem;border-radius:999px;background:#1a1d20;color:#9ca3af;font-size:.75rem;font-weight:500}.samples{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1.5rem}.samples-label{color:#9ca3af;font-size:.875rem}.sample-chip{background:#1a1d20;border:1px solid #2d3338;color:#d1d5db;padding:.4rem .75rem;border-radius:999px;font-size:.85rem;cursor:pointer}.sample-chip:hover:not(:disabled){border-color:#ff4500;color:#ff4500}.sample-chip:disabled{opacity:.5;cursor:not-allowed}.hint{color:#6b7280;font-size:.85rem}.hint code{background:#1a1d20;padding:.1rem .35rem;border-radius:4px;font-size:.8rem}.subreddit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}.sub-card{display:flex;flex-direction:column;background-color:#1a1d20;border:1px solid #2d3338;border-radius:10px;overflow:hidden;transition:border-color .15s}.sub-card.expanded{grid-column:1 / -1}.sub-card:hover{border-color:#3a4248}.sub-card.expanded{border-color:#ff4500}.sub-card-header{display:flex;flex-direction:column;flex:1;text-align:left;background:transparent;border:none;padding:1rem 1.25rem;color:inherit;cursor:pointer;font:inherit}.sub-card-header:hover{background-color:#20242a}.sub-card-title{display:flex;align-items:flex-start;gap:.4rem;flex-wrap:wrap}.sub-card-title h2{margin:0;font-size:1.15rem;color:#ff4500;flex:1 1 auto;min-width:0;word-break:break-word;overflow-wrap:anywhere;line-height:1.25}.caret{color:#9ca3af;font-size:.9rem;width:.9rem;display:inline-block;flex-shrink:0;margin-top:.15rem}.sub-meta{flex-basis:100%;color:#9ca3af;font-size:.85rem;margin:0;word-break:break-word}.sub-card-tagline{margin:.3rem 0 0;color:#d1d5db;font-size:.95rem;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sub-desc{margin:.4rem 0 0;color:#9ca3af;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.sub-card-action{margin-top:auto;padding-top:.6rem;color:#4493f8;font-size:.85rem;font-weight:600}.sub-card-body{padding:1rem 1.25rem 1.25rem;border-top:1px solid #2d3338;margin-top:.5rem}.sub-loading{color:#9ca3af;margin:.5rem 0}.sub-empty{color:#6b7280;font-style:italic;margin:.5rem 0}.url-inspector{margin-top:3rem;border:1px solid #2d3338;background-color:#1a1d20;border-radius:12px;overflow:hidden}.url-inspector-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem;padding:1rem 1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s}.url-inspector-header:hover{background-color:#20242a}.url-inspector-header h2{margin:0;color:#4493f8;font-size:1.2rem}.url-inspector-subtitle{color:#9ca3af;font-size:.9rem;flex:1 1 200px}.url-inspector-body{padding:0 1.25rem 1.25rem;border-top:1px solid #2d3338}.url-form{display:flex;gap:.75rem;margin:1rem 0}.url-form input{flex:1;padding:.7rem 1rem;font-size:1rem;background-color:#0e1113;border:1px solid #2d3338;border-radius:8px;color:inherit}.url-form input:focus{outline:none;border-color:#4493f8}.url-form input:disabled{opacity:.6}.url-form button{padding:.7rem 1.5rem;font-size:1rem;font-weight:600;background-color:#4493f8;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .15s}.url-form button:hover:not(:disabled){background-color:#2d7be0}.url-form button:disabled{background-color:#26344a;cursor:not-allowed}.url-result{margin-top:1rem;padding:1rem;background-color:#0e1113;border:1px solid #2d3338;border-radius:8px}.url-result-header{display:flex;gap:1rem;align-items:flex-start}.url-result-image{width:96px;height:96px;object-fit:cover;border-radius:6px;flex-shrink:0;background:#1a1d20}.url-result-text{flex:1;min-width:0}.url-result-title{margin:0 0 .3rem;font-size:1.15rem;color:#e4e6eb;word-break:break-word}.url-result-link{display:block;color:#4493f8;font-size:.85rem;word-break:break-all;margin-bottom:.55rem;text-decoration:none}.url-result-link:hover{text-decoration:underline}.url-result-description{margin:0;color:#d1d5db;font-size:.9rem;line-height:1.5;word-break:break-word}.url-result-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:.8rem;font-size:.85rem;color:#9ca3af}.url-result-meta strong{color:#d1d5db}.url-keywords{margin-top:.8rem;font-size:.85rem;color:#9ca3af;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.url-keyword{background:#1a1d20;border:1px solid #2d3338;color:#d1d5db;padding:.15rem .55rem;border-radius:999px;font-size:.78rem}.url-content-wrap{margin-top:1rem;padding-top:.8rem;border-top:1px solid #2d3338}.url-content-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem}.url-content-label{color:#9ca3af;font-size:.82rem}.url-toggle-content-btn{background:transparent;border:1px solid #2d3338;color:#4493f8;padding:.25rem .6rem;border-radius:4px;font-size:.78rem;cursor:pointer}.url-toggle-content-btn:hover{border-color:#4493f8}.url-content{margin:0;padding:.75rem .9rem;background-color:#07090b;border:1px solid #2d3338;border-radius:6px;font-family:inherit;font-size:.85rem;color:#d1d5db;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:400px;overflow-y:auto}.url-to-reddit{margin-top:1rem;padding-top:1rem;border-top:1px solid #2d3338}.generate-query-btn{width:100%;padding:.7rem 1rem;font-size:.95rem;font-weight:600;background-color:#1f6f43;color:#eafff1;border:1px solid #2e8a57;border-radius:8px;cursor:pointer;transition:background-color .15s}.generate-query-btn:hover:not(:disabled){background-color:#258050}.generate-query-btn:disabled{opacity:.6;cursor:not-allowed}.generated-query{margin-top:.9rem;padding:.9rem;background-color:#0e1113;border:1px solid #2d3338;border-radius:8px}.generated-summary{margin:0 0 .7rem;color:#d1d5db;font-size:.9rem;line-height:1.5}.generated-summary strong{color:#e4e6eb}.generated-query-label{display:block;margin-bottom:.4rem;color:#9ca3af;font-size:.85rem}.generated-query-input{width:100%;box-sizing:border-box;padding:.6rem .8rem;font-size:.95rem;font-family:inherit;background-color:#07090b;border:1px solid #2d3338;border-radius:8px;color:#e4e6eb;line-height:1.5;resize:vertical}.generated-query-input:focus{outline:none;border-color:#4493f8}.use-query-btn{margin-top:.7rem;padding:.6rem 1.3rem;font-size:.95rem;font-weight:600;background-color:#4493f8;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .15s}.use-query-btn:hover:not(:disabled){background-color:#2d7be0}.use-query-btn:disabled{background-color:#26344a;cursor:not-allowed}@media (max-width: 600px){.app{padding:1.5rem 1rem 3rem}.search-form,.url-form,.url-result-header{flex-direction:column}.url-result-image{width:100%;height:auto;max-height:200px}}.auth-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ca3af;gap:1rem}.auth-loading-spinner{width:32px;height:32px;border:3px solid #2d3338;border-top-color:#ff4500;border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(circle at 20% 20%,rgba(255,69,0,.15),transparent 50%),radial-gradient(circle at 80% 80%,rgba(66,133,244,.1),transparent 50%),#0e1113}.login-card{width:100%;max-width:440px;background-color:#1a1d20;border:1px solid #2d3338;border-radius:16px;padding:2.5rem 2rem;box-shadow:0 10px 40px #0006}.login-brand{font-size:.95rem;color:#ff4500;font-weight:600;margin-bottom:1.5rem;letter-spacing:.02em}.login-title{font-size:1.75rem;margin:0 0 .5rem;color:#e4e6eb}.login-subtitle{margin:0 0 1.75rem;color:#9ca3af;font-size:.95rem;line-height:1.5}.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.85rem 1rem;font-size:1rem;font-weight:500;background-color:#fff;color:#1f1f1f;border:1px solid #dadce0;border-radius:8px;cursor:pointer;transition:box-shadow .15s,background-color .15s}.google-btn:hover{background-color:#f8f9fa;box-shadow:0 1px 3px #0000004d}.google-btn:active{background-color:#f1f3f4}.google-icon{flex-shrink:0}.login-error{margin-top:1rem;padding:1rem;background-color:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:8px;color:#f5a5ab;font-size:.9rem}.login-error p{margin:.5rem 0 0}.login-error code{background:#0000004d;padding:.1rem .35rem;border-radius:4px;font-size:.85em}.login-footer{margin:1.75rem 0 0;font-size:.8rem;color:#6b7280;line-height:1.5}.header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.header-text{flex:1;min-width:0}.user-badge{position:relative;display:flex;align-items:center;gap:.5rem;padding:.4rem .65rem;background-color:#1a1d20;border:1px solid #2d3338;border-radius:999px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;transition:border-color .15s,background-color .15s}.user-badge:hover{border-color:#ff4500;background-color:#21252a}.user-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.user-avatar-fallback{background-color:#ff4500;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem}.user-name{font-size:.9rem;color:#e4e6eb;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-caret{color:#9ca3af;font-size:.8rem}.user-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background-color:#1a1d20;border:1px solid #2d3338;border-radius:10px;padding:.75rem;box-shadow:0 8px 24px #00000080;z-index:10}.user-menu-email{font-size:.85rem;color:#9ca3af;padding:.25rem .5rem .75rem;border-bottom:1px solid #2d3338;margin-bottom:.5rem;word-break:break-all}.user-menu-logout{width:100%;text-align:left;padding:.5rem .75rem;background:transparent;border:none;border-radius:6px;color:#f5a5ab;font-size:.9rem;cursor:pointer}.user-menu-logout:hover{background-color:#dc354526}@media (max-width: 600px){.header-row{flex-direction:column;align-items:stretch}.user-badge{align-self:flex-end}.login-card{padding:2rem 1.5rem}}.recent{margin:.25rem 0 1rem}.comment-reply-btn{margin-left:auto;padding:.1rem .5rem;border:1px solid #d1d5db;border-radius:999px;background:#fff;font-size:.72rem;font-weight:600;color:#2563eb;cursor:pointer}.comment-reply-btn:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd}.comment-reply-btn:disabled{opacity:.5;cursor:default}.recent-head{display:flex;align-items:center;gap:.75rem}.recent-toggle{background:none;border:none;padding:.25rem 0;font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#6b7280;cursor:pointer}.recent-clear{background:none;border:none;padding:.25rem 0;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#b91c1c;cursor:pointer}.recent-clear:hover:not(:disabled){text-decoration:underline}.recent-clear:disabled{opacity:.4;cursor:default}.recent-toggle .caret{font-size:.7rem}.recent-list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.recent-chip{display:inline-flex;align-items:flex-start;gap:.5rem;width:20rem;max-width:100%;padding:.45rem .7rem;border:1px solid #e5e7eb;border-radius:12px;background:#fafafa;font-size:.8rem;line-height:1.35;color:#374151;cursor:pointer;text-align:left}.recent-chip-text{flex:1;min-width:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recent-chip:hover:not(:disabled){border-color:#c7cdd6;background:#f3f4f6}.recent-chip:disabled{opacity:.5;cursor:default}.recent-count{flex:none;min-width:1.2rem;margin-top:1px;padding:0 .35rem;border-radius:999px;background:#e5e7eb;color:#4b5563;font-size:.7rem;line-height:1.5;text-align:center}
