:root{--bg: #f4f5f9;--card: #fdfdff;--border: #e8eaf1;--radius: 16px;--ink: #33353f;--ink-strong: #24262f;--muted: #868a9b;--primary: #6a5fb8;--primary-hover: #574c9f;--ring: #9184d9;--ok-text: #2f7a60;--ok-tint: #e6f3ee}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg)}body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.app{min-height:100vh}.landing{max-width:1060px;margin:0 auto;padding:0 24px}.hero{text-align:center;padding:76px 0 12px;max-width:560px;margin:0 auto}.hero-kicker{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--primary)}.hero-title{margin-top:14px;font-size:clamp(34px,6vw,54px);font-weight:700;letter-spacing:-.025em;line-height:1.08;color:var(--ink-strong)}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:16px;margin-top:48px}.category-card{display:flex;align-items:flex-start;gap:16px;text-align:left;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;min-height:44px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}@media (hover: hover){.category-card:hover{transform:translateY(-3px);box-shadow:0 8px 18px #24263b12;border-color:#dfe2ec}}.category-card:active{transform:scale(.98);border-color:var(--accent)}.icon-chip{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--tint);color:var(--accent)}.icon-chip-lg{width:52px;height:52px;border-radius:14px}.category-card-text{display:flex;flex-direction:column;gap:3px;padding-top:1px}.category-card-title{font-size:16px;font-weight:600;color:var(--ink-strong)}.category-card-subtitle{font-size:14px;color:var(--muted)}.landing-footnote{text-align:center;font-size:13px;color:var(--muted);margin:30px 0 64px}.detail{max-width:760px;margin:0 auto;padding:28px 24px 72px}.back-button{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 14px 8px 10px;margin-left:-10px;border-radius:10px;font-size:14px;font-weight:500;color:var(--muted);transition:color .15s ease,background-color .15s ease}.back-button:hover,.back-button:active{color:var(--ink-strong);background:#eceef4}.detail-header{display:flex;align-items:center;gap:16px;margin:22px 0 26px}.detail-title{font-size:clamp(22px,4vw,26px);font-weight:700;letter-spacing:-.015em;color:var(--ink-strong)}.detail-count{margin-top:2px;font-size:14px;color:var(--muted)}.tip-list{display:flex;flex-direction:column;gap:12px}.tip-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px 16px}.tip-text{font-size:15px;line-height:1.55;color:var(--ink)}.tip-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.vote-pill{display:inline-flex;align-items:center;gap:6px;min-height:40px;min-width:64px;justify-content:center;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:transparent;font-size:14px;font-weight:600;color:var(--muted);transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}@media (hover: hover){.vote-pill:hover{border-color:var(--accent);color:var(--accent)}}.vote-pill:active{transform:scale(.95)}.vote-pill.voted{background:var(--tint);border-color:var(--accent);color:var(--accent)}.tip-author{font-size:13px;color:var(--muted);white-space:nowrap}.tip-actions{display:flex;align-items:center;gap:8px}.bookmark-pill{display:inline-flex;align-items:center;justify-content:center;min-height:40px;min-width:44px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}@media (hover: hover){.bookmark-pill:hover{border-color:var(--accent, var(--primary));color:var(--accent, var(--primary))}}.bookmark-pill:active{transform:scale(.95)}.bookmark-pill.bookmarked{background:var(--tint, #ecebf8);border-color:var(--accent, var(--primary));color:var(--accent, var(--primary))}.delete-pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;min-width:44px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:transparent;font-size:13.5px;font-weight:600;color:var(--muted);transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}@media (hover: hover){.delete-pill:hover{border-color:#cf8a97;color:#a94e5e}}.delete-pill:active{transform:scale(.95)}.delete-pill.armed{background:#f9ecee;border-color:#cf8a97;color:#a94e5e}.saved-link{display:inline-flex;align-items:center;gap:7px;min-height:40px;margin-top:18px;padding:8px 16px;border-radius:999px;border:1px solid var(--border);background:var(--card);font-size:14px;font-weight:500;color:var(--muted);text-decoration:none;transition:color .15s ease,border-color .15s ease}.saved-link:hover{color:var(--primary);border-color:var(--primary)}.saved-chip{--accent: var(--primary);--tint: #ecebf8}.saved-groups{display:flex;flex-direction:column;gap:30px}.saved-group-title{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:16px;font-weight:600;color:var(--ink-strong)}.saved-group-chip{width:32px;height:32px;border-radius:9px}.submit-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin-top:28px}.submit-label{display:block;font-size:15px;font-weight:600;color:var(--ink-strong)}.submit-textarea{width:100%;min-height:96px;margin-top:12px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;font-family:inherit;font-size:15px;line-height:1.5;color:var(--ink);resize:vertical}.submit-textarea::placeholder{color:#a6aab9}.submit-textarea:focus-visible{outline:2px solid var(--ring);outline-offset:0;border-color:transparent}.submit-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:14px}.segmented{display:inline-flex;align-items:center;flex-wrap:wrap;gap:3px;padding:3px;border-radius:12px;background:#eef0f6}.segmented-label{font-size:13px;font-weight:500;color:var(--muted);padding:0 8px 0 10px}.segment-button{min-height:38px;padding:8px 13px;border-radius:9px;font-size:13.5px;font-weight:500;color:var(--muted);transition:color .15s ease,background-color .15s ease}.segment-button:active{background:#e2e5ee}.segment-button.active{background:#fff;color:var(--ink-strong);font-weight:600}.submit-button{min-height:44px;padding:10px 22px;border-radius:12px;background:var(--primary);color:#fff;font-size:15px;font-weight:600;transition:background-color .15s ease,transform .1s ease}.submit-button:hover:not(:disabled){background:var(--primary-hover)}.submit-button:active:not(:disabled){transform:scale(.97)}.submit-button:disabled{opacity:.45;cursor:not-allowed}.submit-helper{margin-top:12px;font-size:13px;color:var(--muted)}.submit-confirmation{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--ok-tint);color:var(--ok-text);font-size:14px;line-height:1.45}.submit-confirmation svg{flex-shrink:0;margin-top:1px}.config-banner{text-align:center;font-size:13px;padding:10px 16px;background:#f6eede;color:#8a6a3a}.form-error{margin-top:12px;padding:11px 14px;border-radius:12px;background:#f9ecee;color:#a94e5e;font-size:14px;line-height:1.45}.empty-state{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:30px 24px;text-align:center;font-size:14.5px;color:var(--muted)}.admin{max-width:760px;margin:0 auto;padding:28px 24px 72px}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.back-button{text-decoration:none}.sign-out-button{min-height:44px;padding:8px 14px;border-radius:10px;font-size:14px;font-weight:500;color:var(--muted);transition:color .15s ease,background-color .15s ease}.sign-out-button:hover{color:var(--ink-strong);background:#eceef4}.admin-header{margin:22px 0}.admin-loading{margin-top:40px;text-align:center;font-size:14px;color:var(--muted)}.login-card{max-width:400px;margin:44px auto 0;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px}.login-chip{--accent: var(--primary);--tint: #ecebf8}.login-title{margin-top:14px;font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--ink-strong)}.login-subtitle{margin-top:4px;font-size:14px;color:var(--muted)}.field-label{display:block;margin-top:16px;font-size:13px;font-weight:600;color:var(--ink)}.text-input{width:100%;min-height:44px;margin-top:6px;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;font-family:inherit;font-size:15px;color:var(--ink)}.text-input:focus-visible{outline:2px solid var(--ring);outline-offset:0;border-color:transparent}.login-button{width:100%;margin-top:20px}.queue-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.queue-meta{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px}.queue-category{font-size:13px;font-weight:600;color:var(--accent, var(--primary))}.queue-author{font-size:13px;color:var(--muted)}.queue-textarea{margin-top:12px;min-height:84px}.queue-hint{margin-top:8px;font-size:12.5px;color:var(--muted)}.queue-actions{display:flex;align-items:center;gap:10px;margin-top:14px}.reject-button{min-height:44px;padding:10px 18px;border-radius:12px;border:1px solid var(--border);background:transparent;font-size:15px;font-weight:600;color:#a94e5e;transition:background-color .15s ease,border-color .15s ease}.reject-button:hover:not(:disabled){background:#f9ecee;border-color:#e6ccd1}.reject-button:disabled{opacity:.45;cursor:not-allowed}.queue-empty{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ok-text);background:var(--card)}@media (max-width: 640px){.hero{padding-top:48px}.landing,.detail,.admin{padding-left:16px;padding-right:16px}.queue-actions{flex-wrap:wrap}.queue-actions .approve-button{flex:1}.category-grid{margin-top:36px;gap:12px}.category-card{padding:18px}.submit-row{flex-direction:column;align-items:stretch}.submit-button{width:100%}.segmented{justify-content:flex-start}}@media (max-width: 420px){.category-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*{transition-duration:.01ms!important}}
