:root{--bg: #f4f5f7;--card: #ffffff;--text: #1d1f23;--muted: #6b7280;--accent: #2563eb;--danger: #dc2626;--border: #e5e7eb;--me: #e0ecff;--stranger: #f1f3f5;color-scheme:light dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0f1115;--card: #181b21;--text: #e8eaed;--muted: #9aa3af;--accent: #3b82f6;--danger: #ef4444;--border: #2a2f38;--me: #1e3a5f;--stranger: #242933}}:root[data-theme=dark]{--bg: #0f1115;--card: #181b21;--text: #e8eaed;--muted: #9aa3af;--accent: #3b82f6;--danger: #ef4444;--border: #2a2f38;--me: #1e3a5f;--stranger: #242933}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{min-height:100vh;display:flex;flex-direction:column;padding:0 16px}.topbar{display:flex;justify-content:space-between;align-items:center;max-width:720px;width:100%;margin:0 auto;padding:16px 0}.brand{font-weight:700;font-size:1.1rem}.online{color:var(--muted);font-size:.9rem}.card{width:100%;max-width:720px;margin:0 auto;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;flex:1;display:flex;flex-direction:column}.gate h1{margin-top:0;font-size:1.5rem}.gate p{color:var(--muted)}.checkbox{display:flex;gap:8px;align-items:flex-start;margin:16px 0}.chat{display:flex;flex-direction:column;gap:12px;flex:1;min-height:60vh}.log{flex:1;min-height:300px;max-height:60vh;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:12px}.hint{color:var(--muted);text-align:center;margin-top:40px}.line{padding:8px 12px;border-radius:8px;margin-bottom:8px;word-wrap:break-word;overflow-wrap:anywhere}.line.me{background:var(--me)}.line.stranger{background:var(--stranger)}.line.system{color:var(--muted);font-style:italic;text-align:center;background:transparent}.typing{color:var(--muted);font-size:.9rem;padding:4px 12px}.composer{display:flex;gap:8px}input[type=text],.composer input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font-size:1rem}button{padding:10px 16px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font-size:.95rem;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--danger);border-color:var(--danger)}.controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.footer{text-align:center;color:var(--muted);font-size:.85rem;padding:16px 0}@media (max-width: 600px){.card{padding:14px}.log{min-height:240px}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px;z-index:10}.popup{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:24px;max-width:460px;width:100%}.popup h2{margin-top:0}.popup p{color:var(--muted)}.popup a{color:var(--accent)}.popup-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.button-link{color:var(--muted);font-size:.95rem}.footer a{color:var(--muted)}.topbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.theme-picker select{padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:.85rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.interests{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.interests-label,.interests-hint{color:var(--muted);font-size:.9rem}.toggle{padding:6px 14px;border-radius:999px;font-size:.9rem}.toggle.on{background:var(--accent);border-color:var(--accent);color:#fff}.gender{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin:12px 0}.gender legend{color:var(--muted);font-size:.9rem;padding:0 4px}.radio{display:inline-flex;align-items:center;gap:6px;margin:4px 12px 4px 0}body{background-color:var(--bg);background-image:var(--bg-image, none);background-attachment:fixed;transition:background-color .3s}:root{--rainbow: linear-gradient( 90deg, rgba(228, 3, 3, .1), rgba(255, 140, 0, .1), rgba(255, 237, 0, .1), rgba(0, 128, 38, .1), rgba(0, 77, 255, .1), rgba(117, 7, 135, .1) )}:root[data-theme=female]{--bg: #fff0f7;--card: #ffffff;--text: #4a1036;--muted: #9a4a7a;--accent: #d6336c;--border: #f4b6d6;--me: #ffd6ea;--stranger: #efe1ff;--bg-image: var(--rainbow), radial-gradient(circle at 15% 10%, #ffd1ec 0, transparent 40%), radial-gradient(circle at 85% 90%, #e7d4ff 0, transparent 45%)}:root[data-theme=female] .brand{background:linear-gradient(90deg,#d6336c,#b44cff,#ff7ab8);-webkit-background-clip:text;background-clip:text;color:transparent;font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:1.3rem}:root[data-theme=female] .card{box-shadow:0 8px 24px #d6336c26}:root[data-theme=male]{--bg: #e8eef7;--card: #ffffff;--text: #0f1f3d;--muted: #4a6185;--accent: #1d4ed8;--border: #9db4d6;--me: #d6e4ff;--stranger: #eef2f8;--bg-image: linear-gradient(180deg, rgba(29, 78, 216, .18), rgba(15, 31, 61, .22))}:root[data-theme=male] .brand{text-transform:uppercase;letter-spacing:.08em;color:#1d4ed8}:root[data-theme=male] .card{border-top:4px solid #1d4ed8}:root[data-theme=trans]{--bg: #fdf7fb;--card: #ffffff;--text: #2a2a3a;--muted: #6b6b80;--accent: #35b6e8;--border: #f3b8cd;--me: #d9f3fc;--stranger: #ffe6ef;--bg-image: var(--rainbow), linear-gradient( 180deg, #5bcefa 0 14%, #f5a9b8 14% 28%, #ffffff 28% 42%, #f5a9b8 42% 56%, #5bcefa 56% 70%, transparent 70% )}:root[data-theme=trans] .brand{background:linear-gradient(90deg,#5bcefa,#f5a9b8,#fff,#f5a9b8,#5bcefa);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:1.2rem}:root[data-theme=trans] .card{border-top:4px solid #f5a9b8}@media (prefers-color-scheme: dark){:root[data-theme=female]{--bg: #1a0f1d;--card: #241529;--text: #f9e6f2;--muted: #d7a6c4;--border: #5b2b57;--me: #4a1d44;--stranger: #33214a}:root[data-theme=male]{--bg: #0a1426;--card: #112042;--text: #e4ecff;--muted: #9fb2d6;--border: #2c4a86;--me: #1b3a73;--stranger: #17305e}:root[data-theme=trans]{--bg: #14121c;--card: #1d1a28;--text: #f1eef8;--muted: #b3aec6;--border: #4a3f5e;--me: #1e3b4a;--stranger: #3a2433}}.ticker{overflow:hidden;white-space:nowrap;border:1px solid var(--border);border-radius:6px;background:var(--stranger);color:var(--muted);font-size:.78rem;padding:4px 0}.ticker-track{display:inline-block;padding-left:100%;animation:ticker 28s linear infinite}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-100%)}}@media (prefers-reduced-motion: reduce){.ticker-track{padding-left:12px;animation:none}}@keyframes lgbt-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes lgbt-brand{0%{background-position:0% 50%}to{background-position:200% 50%}}@keyframes lgbt-glow{0%,to{box-shadow:0 0 0 2px #f5a9b8,0 0 0 4px #5bcefa,0 12px 36px #db27772e}50%{box-shadow:0 0 0 2px #5bcefa,0 0 0 4px #f5a9b8,0 12px 44px #7c3aed47}}:root[data-theme=trans] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(120deg,#5bcefa,#f5a9b8,#fff,#f5a9b8,#5bcefa,#e40303,#ff8c00,#ffed00,#008026,#004dff,#750787);background-size:300% 300%;animation:lgbt-flow 18s ease infinite;opacity:.16}:root[data-theme=trans] .brand{background:linear-gradient(90deg,#e40303,#ff8c00,#ffed00,#008026,#004dff,#750787,#e40303);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800;font-size:1.35rem;letter-spacing:.04em;animation:lgbt-brand 6s linear infinite}:root[data-theme=trans] .card{background:#ffffffd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;animation:lgbt-glow 6s ease-in-out infinite}:root[data-theme=trans] .topbar .online{color:#6b21a8;font-weight:600}:root[data-theme=trans] .toggle{border:1px solid #db2777;color:#db2777;background:#fff}:root[data-theme=trans] .toggle.on{background:linear-gradient(90deg,#7c3aed,#db2777,#f59e0b);border-color:transparent;color:#fff;box-shadow:0 4px 14px #db277759}:root[data-theme=trans] button.primary{background:linear-gradient(90deg,#7c3aed,#db2777,#f59e0b);border:none;box-shadow:0 6px 18px #db27774d;font-weight:600}:root[data-theme=trans] .line.me{background:linear-gradient(90deg,#d9f3fc,#ede9fe);border-left:4px solid #5bcefa}:root[data-theme=trans] .line.stranger{background:linear-gradient(90deg,#ffe6ef,#fff1d6);border-left:4px solid #f5a9b8}:root[data-theme=trans] .ticker{background:linear-gradient(90deg,#ffe6ef,#fff1d6,#d9f3fc);border:none;color:#6b21a8}:root[data-theme=trans] .popup{background:#ffffffeb;border:none;box-shadow:0 0 0 2px #f5a9b8,0 0 0 4px #5bcefa}:root[data-theme=trans] .popup h2{background:linear-gradient(90deg,#e40303,#ff8c00,#ffed00,#008026,#004dff,#750787);-webkit-background-clip:text;background-clip:text;color:transparent}@media (prefers-reduced-motion: reduce){:root[data-theme=trans] body:before,:root[data-theme=trans] .brand,:root[data-theme=trans] .card{animation:none}}
