*,*:before,*:after{box-sizing:border-box}:root{font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#1a1a1a;background:#f5f5f7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{margin:0;min-height:100vh}#root{min-height:100vh}button{font:inherit;cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.1rem;transition:background .15s,opacity .15s}button:disabled{opacity:.55;cursor:not-allowed}input{font:inherit;border:1px solid #d1d5db;border-radius:8px;padding:.65rem .85rem;width:100%}input:focus{outline:2px solid #ff2442;outline-offset:1px;border-color:#ff2442}.app{max-width:880px;margin:0 auto;padding:2rem 1.25rem 3rem}.header{margin-bottom:2rem}.header h1{margin:0 0 .35rem;font-size:1.75rem;font-weight:700}.header p{margin:0;color:#6b7280}.steps{display:grid;gap:1.25rem}.card{background:#fff;border-radius:14px;padding:1.35rem 1.5rem;box-shadow:0 1px 3px #0000000f;border:1px solid #ececf0}.card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.step-badge{width:28px;height:28px;border-radius:50%;background:#ff2442;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;flex-shrink:0}.step-badge.done{background:#10b981}.card h2{margin:0;font-size:1.05rem}.card p{margin:0 0 1rem;color:#4b5563;font-size:.95rem}.actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.btn-primary{background:#ff2442;color:#fff}.btn-primary:hover:not(:disabled){background:#e01e3a}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.status{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;padding:.35rem .7rem;border-radius:999px;font-weight:500}.status.ok{background:#d1fae5;color:#065f46}.status.pending{background:#fef3c7;color:#92400e}.status.error{background:#fee2e2;color:#991b1b}.profile-form{display:flex;gap:.65rem;flex-wrap:wrap}.profile-form input{flex:1;min-width:200px}.search-form{display:flex;gap:.65rem;flex-wrap:wrap}.search-form input{flex:1;min-width:220px}.alert{padding:.75rem 1rem;border-radius:8px;font-size:.9rem;margin-top:.75rem}.alert.error{background:#fee2e2;color:#991b1b}.alert.info{background:#eff6ff;color:#1e40af}.results{margin-top:1.5rem}.results-summary{font-size:.95rem;color:#374151;margin-bottom:1rem}.post-list{display:grid;gap:1rem}.post-card{border:1px solid #e5e7eb;border-radius:10px;padding:1rem 1.1rem;background:#fafafa}.post-card.has-mention{border-color:#fca5a5;background:#fff5f5}.post-title{margin:0 0 .25rem;font-size:1rem;font-weight:600}.post-meta{margin:0 0 .75rem;font-size:.85rem;color:#6b7280}.post-link{color:#ff2442;text-decoration:none;font-size:.85rem}.post-link:hover{text-decoration:underline}.mention-badge{display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;margin-bottom:.5rem}.mention-badge.yes{background:#ff2442;color:#fff}.mention-badge.no{background:#e5e7eb;color:#6b7280}.comment-list{margin:.5rem 0 0;padding-left:1.1rem;font-size:.875rem}.comment-list li{margin-bottom:.35rem}.loading{color:#6b7280;font-size:.9rem}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;background:#1a1a1e;color:#e5e7eb;display:flex;flex-direction:column;padding:1.25rem 1rem;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:.5rem;margin-bottom:2rem;padding:0 .5rem}.sidebar-logo{background:#ff2442;color:#fff;font-weight:700;font-size:.75rem;padding:.35rem .5rem;border-radius:6px}.sidebar-title{font-size:.9rem;font-weight:600}.sidebar-nav{display:flex;flex-direction:column;gap:.35rem;flex:1}.sidebar-link{text-align:left;background:transparent;color:#9ca3af;padding:.65rem .75rem;border-radius:8px;width:100%}.sidebar-link:hover{background:#2d2d33;color:#fff}.sidebar-link.active{background:#ff2442;color:#fff}.sidebar-footer{border-top:1px solid #374151;padding-top:1rem;margin-top:1rem}.sidebar-email{font-size:.8rem;margin:0 0 .25rem;color:#9ca3af;word-break:break-all}.sidebar-tokens{font-size:.85rem;font-weight:600;margin:0 0 .75rem;color:#fbbf24}.sidebar-signout{background:transparent;color:#9ca3af;padding:.4rem 0;font-size:.85rem}.sidebar-signout:hover{color:#fff}.main-content{flex:1;padding:2rem 2rem 3rem;max-width:900px}.page-header{margin-bottom:1.5rem}.page-header h1{margin:0 0 .35rem;font-size:1.6rem}.page-header p{margin:0;color:#6b7280}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-card{background:#fff;border-radius:16px;padding:2rem;width:100%;max-width:400px;box-shadow:0 4px 24px #00000014}.auth-card h1{margin:0 0 .5rem;font-size:1.5rem}.auth-subtitle{color:#6b7280;margin:0 0 1.5rem;font-size:.95rem}.auth-form label,.stack-form label{display:block;margin-bottom:1rem;font-size:.875rem;font-weight:500}.auth-form label input,.stack-form label input{display:block;margin-top:.35rem}.auth-form .btn-primary{width:100%;margin-top:.5rem}.auth-toggle{text-align:center;margin-top:1.25rem;font-size:.9rem;color:#6b7280}.link-btn{background:none;color:#ff2442;padding:0;font-weight:600}.link-btn:hover{text-decoration:underline}.back-link{margin-bottom:1rem}.history-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.history-item{width:100%;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem}.history-item:hover{border-color:#ff2442}.history-keyword{font-weight:600;font-size:1rem;color:#1a1a1a}.history-meta{font-size:.85rem;color:#6b7280}.empty-state{text-align:center;color:#6b7280}.profile-dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.5rem;margin:0}.profile-dl dt{color:#6b7280;font-size:.9rem}.profile-dl dd{margin:0;font-weight:500}.tokens-big{font-size:1.5rem;color:#ff2442;font-weight:700}.capitalize{text-transform:capitalize}.hint,.scan-cost{font-size:.85rem;color:#6b7280;margin:.5rem 0 0}.stack-form .btn-primary{margin-top:.5rem}.card+.card{margin-top:1rem}.cookie-paste{margin-top:1rem;display:flex;flex-direction:column;gap:.65rem}.cookie-paste textarea{font-family:ui-monospace,monospace;font-size:.8rem;min-height:120px}@media(max-width:768px){.app-shell{flex-direction:column}.sidebar{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center}.sidebar-nav{flex-direction:row;flex:none;width:100%}.sidebar-footer{width:100%}.main-content{padding:1.25rem}.profile-form,.search-form{flex-direction:column}}
