{"release_id":"01a1c502-4ad1-0000-ec62-adc54d3c69aa","chunk_id":"01a1c502-4ccb-7251-966f-295b8e80d5d4","file":"179.DYeXbRVv.mjs","mappings":"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","names":["onMount","activeMode","iv","$.set","now","$.state","$.proxy","resetText","$.derived","ends","$$props","t","span","$.get","ms","h","d","m","creating","showCreate","name","rounds","spice","isPublic","err","joinCode","ERR","msg","errText","code","fallback","known","seating","play","res","j","goto","e","create","join","c","badgeName","key","badge","TOD_BADGES","b","SPICE","spiceLabel","s","dec","x","LOCALE_INFO","locale","main","root","div","div_1","div_2","h1","$.index","$$anchor","part","i","span_1","$.sibling","$.first_child","fragment_1","$$render","consequent","alternate","p","div_3","div_4","div_5","a_1","root_4","$.template_effect","$0","$.set_text","text_6","a_2","root_5","$.set_attribute","button","fragment_3","div_6","root_7","button_1","root_9","text_9","consequent_3","consequent_4","$.delegated","consequent_2","consequent_5","consequent_1","p_1","root_10","consequent_6","form","root_11","label","$.child","input","div_7","div_8","$.each","TOD_ROUND_OPTIONS","r","button_2","root_12","classes","div_9","div_10","button_3","button_4","div_11","label_1","input_1","button_5","$.reset","$1","classes_1","classes_2","$.event","$$value","$.append","consequent_7","div_12","root_13","div_13","div_14","span_2","root_14","text_22","text_21","consequent_8","div_15","section","div_16","div_17","text_24","consequent_9","form_1","root_16","input_2","button_6","$2","consequent_10","div_18","root_17","div_19","div_20","div_21","root_18","live","full","a_3","root_19","div_22","span_3","span_4","root_20","consequent_12","span_5","div_23","consequent_13","alternate_1","div_24","div_25","a","span_6","root_23","getAvatarUrl","DuelAvatar","node_13","span_7","root_24","consequent_14","span_8","node_14","b_1","span_9","classes_3","text_27","classes_4","$.set_class","text_32","text_33","classes_5","consequent_11","alternate_2","section_1","div_26","div_27","div_28","div_29","root_25","div_30","div_31","div_32","root_26","row","a_4","root_27","span_10","node_16","div_33","div_34","div_35","span_11","classes_6","text_39","text_42","consequent_15","alternate_3","section_2","div_36","div_37","h3","ul","li","b_2","root_29","text_45","consequent_16","li_1","TOD_MAX_PLAYERS","b_3","root_31","text_47","TOD_MIN_PLAYERS","consequent_17","li_2","b_4","root_33","text_49","consequent_18","li_3","li_4","div_38","h3_1","table","tbody","tr","td","td_1","tr_1","td_2","td_3","tr_2","td_4","td_5","tr_3","td_6","td_7","tr_4","td_8","td_9","tr_5","td_10","td_11","div_39","div_40","h3_2","ul_1","li_5","root_34","b_5","div_41","div_42","h3_3","ul_2","li_6","b_6","root_36","text_72","consequent_19","li_7","b_7","root_38","text_74","consequent_20","li_8","li_9","text_55","TOD_XP","text_57","text_59","text_61","text_63","$16","text_65"],"sources":["../../../../../../src/routes/tod/+page.svelte"],"sourcesContent":["<script lang=\"ts\">\n\timport { onMount } from 'svelte';\n\timport { goto } from '$app/navigation';\n\timport { activeMode } from '$lib/stores/activeMode';\n\timport DuelAvatar from '$lib/components/duel/DuelAvatar.svelte';\n\timport { getAvatarUrl } from '$lib/avatar';\n\timport { TOD_ROUND_OPTIONS, TOD_MAX_PLAYERS, TOD_MIN_PLAYERS, TOD_XP, TOD_BADGES } from '$lib/types/tod';\n\timport { t, locale, LOCALE_INFO } from '$lib/i18n';\n\timport { msg } from '$lib/i18n/mark';\n\n\tlet { data } = $props();\n\n\tonMount(() => {\n\t\tactiveMode.set('tod');\n\t\tconst iv = setInterval(() => (now = Date.now()), 30_000);\n\t\treturn () => {\n\t\t\tactiveMode.set(null);\n\t\t\tclearInterval(iv);\n\t\t};\n\t});\n\n\tlet now = $state(Date.now());\n\t// always open: the only clock is the weekly board reset (mon 00:00 utc)\n\tconst resetText = $derived.by(() => {\n\t\tconst ends = data.event.endsAt ? new Date(data.event.endsAt).getTime() : 0;\n\t\tif (!ends) return t('every monday.');\n\t\treturn ends > now ? t('in {span}.', { span: span(ends - now) }) : t('resetting now.');\n\t});\n\tfunction span(ms: number): string {\n\t\tconst h = Math.floor(ms / 3_600_000);\n\t\tconst d = Math.floor(h / 24);\n\t\tif (d >= 1) return d === 1 ? t('1 day, {h} hours', { h: h % 24 }) : t('{d} days, {h} hours', { d, h: h % 24 });\n\t\tconst m = Math.floor((ms % 3_600_000) / 60_000);\n\t\treturn h >= 1 ? t('{h} hours, {m} min', { h, m }) : t('{m} minutes', { m });\n\t}\n\n\t// create form\n\tlet creating = $state(false);\n\tlet showCreate = $state(false);\n\tlet name = $state('');\n\tlet rounds = $state<number>(16);\n\tlet spice = $state<'spicy' | 'x'>('x');\n\tlet isPublic = $state(true);\n\tlet err = $state('');\n\tlet joinCode = $state('');\n\n\tconst ERR: Record<string, string> = {\n\t\tevent_closed: msg('tables are paused right now.'),\n\t\tin_match: msg(\"you're already seated at a table. finish or leave it first.\"),\n\t\tfull: msg('that table is full.'),\n\t\twrong_status: msg('that match already started.'),\n\t\tnot_found: msg('no table with that code.'),\n\t\tbad_input: msg('give the table a name.')\n\t};\n\t/** a known server code in the page language, else the code itself, else the fallback */\n\tconst errText = (code: unknown, fallback: string): string => {\n\t\tconst known = ERR[code as string];\n\t\treturn known ? t(known) : ((code as string | undefined) ?? fallback);\n\t};\n\n\t// \"play now\": sit at an alive public lobby if there is one, else open the form\n\tlet seating = $state(false);\n\tasync function play() {\n\t\tif (showCreate) {\n\t\t\tshowCreate = false;\n\t\t\treturn;\n\t\t}\n\t\tif (seating) return;\n\t\tseating = true;\n\t\terr = '';\n\t\ttry {\n\t\t\tconst res = await fetch('/api/tod/quick-seat', { method: 'POST' });\n\t\t\tconst j = await res.json().catch(() => ({}));\n\t\t\tif (!res.ok) throw new Error(errText(j.error, t('could not find a seat')));\n\t\t\tif (j.seat?.code) {\n\t\t\t\tawait goto(`/tod/${j.seat.code}${j.seat.own ? '' : '?seated=1'}`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tshowCreate = true;\n\t\t} catch (e) {\n\t\t\terr = e instanceof Error ? e.message : t('could not find a seat');\n\t\t} finally {\n\t\t\tseating = false;\n\t\t}\n\t}\n\n\tasync function create() {\n\t\tif (creating) return;\n\t\tcreating = true;\n\t\terr = '';\n\t\ttry {\n\t\t\tconst res = await fetch('/api/tod/create', {\n\t\t\t\tmethod: 'POST',\n\t\t\t\theaders: { 'content-type': 'application/json' },\n\t\t\t\tbody: JSON.stringify({ name, roundsTotal: rounds, spice, isPublic })\n\t\t\t});\n\t\t\tconst j = await res.json().catch(() => ({}));\n\t\t\tif (!res.ok) throw new Error(errText(j.error, t('could not open the table')));\n\t\t\tawait goto(`/tod/${j.code}`);\n\t\t} catch (e) {\n\t\t\terr = e instanceof Error ? e.message : t('could not open the table');\n\t\t} finally {\n\t\t\tcreating = false;\n\t\t}\n\t}\n\n\tasync function join(code: string) {\n\t\terr = '';\n\t\tconst c = code.trim().toUpperCase();\n\t\tif (!c) return;\n\t\tconst res = await fetch(`/api/tod/${c}/join`, { method: 'POST' });\n\t\tconst j = await res.json().catch(() => ({}));\n\t\tif (!res.ok) {\n\t\t\terr = errText(j.error, t('could not join'));\n\t\t\treturn;\n\t\t}\n\t\tawait goto(`/tod/${j.code ?? c}`);\n\t}\n\n\t// the badge copy lives in $lib/types/tod as English; shown through t()\n\tconst badgeName = (key: string) => {\n\t\tconst badge = TOD_BADGES.find((b) => b.key === key);\n\t\treturn badge ? t(badge.name) : key;\n\t};\n\tconst SPICE: Record<string, string> = { spicy: msg('spicy'), x: msg('x-rated') };\n\tconst spiceLabel = (s: string) => t(s === 'x' ? SPICE.x : SPICE.spicy);\n\t/** one decimal in the page's language (1.2 → 1,2 in de) */\n\tconst dec = (x: number) =>\n\t\tx.toLocaleString(LOCALE_INFO[locale()].hreflang, { minimumFractionDigits: 1, maximumFractionDigits: 1 });\n</script>\n\n<main class=\"dir-page tod\">\n\t<div class=\"dir-cols\">\n\t\t<div class=\"hero-col\">\n\t\t\t<div class=\"eyebrow\">{t('always open · weekly board')}</div>\n\t\t\t<!-- one string, two lines: the second line is the orange one -->\n\t\t\t<h1 class=\"hero\">{#each t('truth or{br}dare.').split('{br}') as part, i (i)}{#if i}<br /><span>{part}</span>{:else}{part}{/if}{/each}</h1>\n\t\t\t<p class=\"lede\">\n\t\t\t\t{t('eight seats, one bottle. every round it lands on someone: a filthy question answered in text, or a dare shot on camera. the table votes, xp lands, the board resets every monday.')}\n\t\t\t</p>\n\t\t\t<div class=\"left\"><div class=\"lbl\">{t('board resets')}</div><div class=\"t\">{resetText}</div></div>\n\n\t\t\t{#if !data.isLoggedIn}\n\t\t\t\t<a href=\"/auth/sign-in?next=/tod\" class=\"btn wide\">{t('sign in to play')}</a>\n\t\t\t{:else if data.myMatchCode}\n\t\t\t\t<a href=\"/tod/{data.myMatchCode}\" class=\"btn wide\">{t('back to your table · {code}', { code: data.myMatchCode })}</a>\n\t\t\t{:else if data.event.active}\n\t\t\t\t<button type=\"button\" class=\"btn wide\" onclick={() => void play()} disabled={seating}>{seating ? t('finding you a seat…') : showCreate ? t('close') : t('play now')}</button>\n\t\t\t\t{#if !showCreate}<div class=\"s center\">{#each t(\"joins a table that's filling up, or opens yours. private table with a code? {link}.\").split('{link}') as part, i (i)}{#if i}<button type=\"button\" class=\"linkish\" onclick={() => (showCreate = true)}>{t('set it up here')}</button>{/if}{part}{/each}</div>{/if}\n\t\t\t{/if}\n\t\t\t{#if err}<p class=\"err\">{err}</p>{/if}\n\n\t\t\t{#if showCreate && !data.myMatchCode && data.event.active}\n\t\t\t\t<form\n\t\t\t\t\tclass=\"panel create\"\n\t\t\t\t\tonsubmit={(e) => {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tvoid create();\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<label class=\"lbl\" for=\"tod-name\">{t('table name')}</label>\n\t\t\t\t\t<input id=\"tod-name\" class=\"input\" bind:value={name} maxlength=\"40\" placeholder={t('late night dares')} required />\n\t\t\t\t\t<div class=\"lbl\">{t('rounds')}</div>\n\t\t\t\t\t<div class=\"seg\">\n\t\t\t\t\t\t{#each TOD_ROUND_OPTIONS as r (r)}\n\t\t\t\t\t\t\t<button type=\"button\" class:on={rounds === r} onclick={() => (rounds = r)}>{r}</button>\n\t\t\t\t\t\t{/each}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"lbl\">{t('spice')}</div>\n\t\t\t\t\t<div class=\"seg\">\n\t\t\t\t\t\t<button type=\"button\" class:on={spice === 'spicy'} onclick={() => (spice = 'spicy')}>{t(SPICE.spicy)}</button>\n\t\t\t\t\t\t<button type=\"button\" class:on={spice === 'x'} onclick={() => (spice = 'x')}>{t(SPICE.x)}</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"s\">{t('spicy keeps the dick and the questions mostly clothed. x-rated does not.')}</div>\n\t\t\t\t\t<label class=\"check\"><input type=\"checkbox\" bind:checked={isPublic} /> {t('list it as an open table')}</label>\n\t\t\t\t\t<button type=\"submit\" class=\"btn\" disabled={creating}>{creating ? t('opening…') : t('open the table')}</button>\n\t\t\t\t</form>\n\t\t\t{/if}\n\n\t\t\t{#if data.myBadges.length}\n\t\t\t\t<div class=\"mine\">\n\t\t\t\t\t<div class=\"lbl\">{t('your badges')}</div>\n\t\t\t\t\t<div class=\"chips\">{#each data.myBadges as b (b)}<span class=\"chip chip-a\">{badgeName(b)}</span>{/each}</div>\n\t\t\t\t</div>\n\t\t\t{/if}\n\t\t</div>\n\n\t\t<div class=\"content\">\n\t\t\t<section>\n\t\t\t\t<div class=\"sec-head\">\n\t\t\t\t\t<div class=\"lbl\">{t('open tables')}{#if data.openMatches.length} · {data.openMatches.length}{/if}</div>\n\t\t\t\t\t{#if data.isLoggedIn && !data.myMatchCode && data.event.active}\n\t\t\t\t\t\t<form class=\"code\" onsubmit={(e) => { e.preventDefault(); void join(joinCode); }}>\n\t\t\t\t\t\t\t<input class=\"input\" bind:value={joinCode} placeholder={t('have a code?')} maxlength=\"6\" aria-label={t('table code')} />\n\t\t\t\t\t\t\t<button type=\"submit\" class=\"code-go\" aria-label={t('join by code')}>→</button>\n\t\t\t\t\t\t</form>\n\t\t\t\t\t{/if}\n\t\t\t\t</div>\n\t\t\t\t{#if data.openMatches.length === 0}\n\t\t\t\t\t<div class=\"empty\">\n\t\t\t\t\t\t<div class=\"t\">{t('no table is open right now.')}</div>\n\t\t\t\t\t\t<div class=\"s\">{data.event.active ? t('open one and share the code. three to start, eight max.') : t('tables are paused right now.')}</div>\n\t\t\t\t\t</div>\n\t\t\t\t{:else}\n\t\t\t\t\t<div class=\"grid\">\n\t\t\t\t\t\t{#each data.openMatches as m (m.code)}\n\t\t\t\t\t\t\t{@const live = m.status === 'live'}\n\t\t\t\t\t\t\t{@const full = m.players >= m.seats}\n\t\t\t\t\t\t\t<a class=\"card\" class:live href=\"/tod/{m.code}\">\n\t\t\t\t\t\t\t\t<div class=\"card-top\">\n\t\t\t\t\t\t\t\t\t<span class=\"nm\">{#if live}<span class=\"dot\"></span>{/if}{m.name}</span>\n\t\t\t\t\t\t\t\t\t<span class=\"tag\" class:tag-x={m.spice === 'x'}>{spiceLabel(m.spice)}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"meta\">{#if live}{t('round {n} of {total}', { n: m.roundNo, total: m.roundsTotal })}{:else}{t('{n} rounds · @{name}', { n: m.roundsTotal, name: m.host.nickname ?? t('anon') })}{/if}</div>\n\t\t\t\t\t\t\t\t<div class=\"card-foot\">\n\t\t\t\t\t\t\t\t\t<div class=\"stack\" aria-label={t('{n} of {seats} seats taken', { n: m.players, seats: m.seats })}>\n\t\t\t\t\t\t\t\t\t\t{#each m.avatars.slice(0, 5) as a, i (i)}\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"st\"><DuelAvatar nickname={m.nicknames[i] ?? null} avatarUrl={getAvatarUrl(a)} size={24} link={false} /></span>\n\t\t\t\t\t\t\t\t\t\t{/each}\n\t\t\t\t\t\t\t\t\t\t{#if m.players > 5}<span class=\"st more\">+{m.players - 5}</span>{/if}\n\t\t\t\t\t\t\t\t\t\t<span class=\"cnt\"><b>{m.players}</b>/{m.seats}</span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<span class=\"cta\" class:cta-a={!live && !full} class:cta-live={live}>{live ? t('watch') : full ? t('waiting to start') : t('join')}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t{/each}\n\t\t\t\t\t</div>\n\t\t\t\t{/if}\n\t\t\t</section>\n\n\t\t\t<section>\n\t\t\t\t<div class=\"sec-head\"><div class=\"lbl\">{t('week board')}</div><div class=\"lbl\">{t('top 10 keep the badge')}</div></div>\n\t\t\t\t{#if data.board.length === 0}\n\t\t\t\t\t<div class=\"empty\"><div class=\"t\">{t('nobody has scored yet.')}</div><div class=\"s\">{t('the first table to finish a round opens the board.')}</div></div>\n\t\t\t\t{:else}\n\t\t\t\t\t<div class=\"list\">\n\t\t\t\t\t\t{#each data.board as row, i (row.userId)}\n\t\t\t\t\t\t\t<a class=\"li\" href=\"/u/{row.nickname ?? ''}\" class:me={row.userId === data.userId}>\n\t\t\t\t\t\t\t\t<span class=\"pn\">{i + 1}</span>\n\t\t\t\t\t\t\t\t<DuelAvatar nickname={row.nickname} avatarUrl={getAvatarUrl(row.avatarPath)} size={28} link={false} />\n\t\t\t\t\t\t\t\t<div class=\"who\"><div class=\"nm\">{row.nickname ?? t('anon')}</div><div class=\"meta\">{t('{dares} dares · {truths} truths · {chickens} chickened', { dares: row.dares, truths: row.truths, chickens: row.chickens })}</div></div>\n\t\t\t\t\t\t\t\t<span class=\"count\">+{row.xp}</span>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t{/each}\n\t\t\t\t\t</div>\n\t\t\t\t{/if}\n\t\t\t</section>\n\n\t\t\t<section class=\"rules\">\n\t\t\t\t<div class=\"rule\">\n\t\t\t\t\t<div class=\"eyebrow\">{t('match')}</div>\n\t\t\t\t\t<h3>{t('8 seats, one spin per round')}</h3>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>{#each t('{host} opens the table, sets spice (spicy / x-rated) and rounds (8 / 16 / 24), shares the code or leaves it open').split('{host}') as part, i (i)}{#if i}<b>{t('host')}</b>{/if}{part}{/each}</li>\n\t\t\t\t\t\t<li>{#each t('{start}, {max} max. once three are seated the table starts itself in 10 minutes; the host can start sooner', { max: TOD_MAX_PLAYERS }).split('{start}') as part, i (i)}{#if i}<b>{t('{n} to start', { n: TOD_MIN_PLAYERS })}</b>{/if}{part}{/each}</li>\n\t\t\t\t\t\t<li>{#each t('every round the bottle picks {player}, weighted so nobody is skipped').split('{player}') as part, i (i)}{#if i}<b>{t('one player')}</b>{/if}{part}{/each}</li>\n\t\t\t\t\t\t<li>{t('20 s to choose, 2 min for a truth, 5 min for a dare. no answer = chicken')}</li>\n\t\t\t\t\t\t<li>{t('the table has its own chat')}</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"rule\">\n\t\t\t\t\t<div class=\"eyebrow\">xp</div>\n\t\t\t\t\t<h3>{t('what pays')}</h3>\n\t\t\t\t\t<table class=\"tbl\">\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr><td>{t('truth answered')}</td><td>+{TOD_XP.truth}</td></tr>\n\t\t\t\t\t\t\t<tr><td>{t('dare delivered')}</td><td>+{TOD_XP.dare}</td></tr>\n\t\t\t\t\t\t\t<tr><td>{t('\"nailed it\" majority')}</td><td>+{TOD_XP.nailed}</td></tr>\n\t\t\t\t\t\t\t<tr><td>{t('full 8-player match, everyone')}</td><td>+{TOD_XP.fullMatch}</td></tr>\n\t\t\t\t\t\t\t<tr><td>{t('streak: every dare in a row')}</td><td>×{dec(1.2)} … ×{TOD_XP.streakMax}</td></tr>\n\t\t\t\t\t\t\t<tr><td class=\"neg\">{t('chicken out / timeout')}</td><td class=\"neg\">{TOD_XP.chicken}</td></tr>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"rule\">\n\t\t\t\t\t<div class=\"eyebrow\">{t('badges')}</div>\n\t\t\t\t\t<h3>{t('on your profile')}</h3>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t{#each TOD_BADGES as b (b.key)}<li><b>{t(b.name)}</b> · {t(b.how)}</li>{/each}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"rule\">\n\t\t\t\t\t<div class=\"eyebrow\">{t('safety')}</div>\n\t\t\t\t\t<h3>{t('what keeps it sane')}</h3>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>{#each t('every dare upload runs through {moderation} before the table sees it').split('{moderation}') as part, i (i)}{#if i}<b>{t('moderation')}</b>{/if}{part}{/each}</li>\n\t\t\t\t\t\t<li>{#each t('media is {matchOnly}, signed links, deleted 48 h after the match ends').split('{matchOnly}') as part, i (i)}{#if i}<b>{t('match-only')}</b>{/if}{part}{/each}</li>\n\t\t\t\t\t\t<li>{t(\"the host's spice caps what can come up. x-rated is x-rated\")}</li>\n\t\t\t\t\t\t<li>{t('one active table per player; the usual reporting applies to every reveal')}</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t</div>\n\t</div>\n</main>\n\n<style>\n\t.dir-page { max-width: 1080px; margin: 0 auto; padding: 84px 18px 120px; }\n\t@media (min-width: 768px) { .dir-page { padding: 110px 20px 120px; } }\n\t.dir-cols { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: start; }\n\t@media (min-width: 860px) { .dir-cols { grid-template-columns: 340px minmax(0, 1fr); gap: 48px; } .hero-col { position: sticky; top: 24px; } }\n\t.content { display: flex; flex-direction: column; gap: 34px; min-width: 0; }\n\n\t.eyebrow { font-family: var(--font-display); font-size: 11px; font-weight: 800; letter-spacing: 0.22em; text-transform: uppercase; color: var(--color-orange); }\n\t.hero { font-family: var(--font-display); font-size: clamp(2.6rem, 8vw, 3.6rem); font-weight: 900; letter-spacing: -0.04em; line-height: 0.9; margin-top: 8px; }\n\t.hero span { color: var(--color-orange); }\n\t.lede { color: var(--color-muted); font-size: 14px; line-height: 1.5; margin-top: 14px; }\n\t.left { margin-top: 20px; }\n\t.lbl { font-family: var(--font-display); font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #8a8a8a; }\n\t.t { font-family: var(--font-display); font-weight: 700; font-size: 22px; letter-spacing: -0.02em; line-height: 1.05; margin-top: 4px; }\n\t.s { font-size: 12px; color: #8a8a8a; margin-top: 4px; line-height: 1.45; }\n\t.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 18px; border-radius: 12px; border: none; font-family: var(--font-display); font-weight: 700; font-size: 14px; color: #0a0a0a; background: var(--color-orange); cursor: pointer; text-decoration: none; }\n\t.btn:hover { background: var(--color-orange-dark, #ea580c); }\n\t.btn:disabled { opacity: 0.6; cursor: default; }\n\t.btn.wide { width: 100%; margin-top: 22px; padding: 14px; font-size: 15px; }\n\t.err { margin-top: 10px; font-size: 12px; color: var(--color-coral, #ff4d6d); }\n\t.s.center { text-align: center; margin-top: 10px; }\n\t.linkish { background: none; border: 0; padding: 0; color: #f0f0f0; font: inherit; text-decoration: underline; cursor: pointer; }\n\n\t.panel { background: #1a1a1a; border: 1px solid #262626; border-radius: 16px; padding: 14px; }\n\t.create { margin-top: 14px; display: flex; flex-direction: column; gap: 8px; }\n\t.create .lbl { margin-top: 6px; }\n\t.input { width: 100%; box-sizing: border-box; padding: 11px 12px; border-radius: 11px; background: #141414; border: 1px solid #262626; color: #f0f0f0; font-size: 14px; font-family: inherit; }\n\t.input:focus { outline: none; border-color: #3a3a3a; }\n\t.seg { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 6px; }\n\t.seg button { padding: 10px; border-radius: 10px; border: 1px solid #262626; background: #141414; color: #f0f0f0; font-family: var(--font-display); font-weight: 700; font-size: 13px; cursor: pointer; }\n\t.seg button.on { background: var(--color-orange); border-color: var(--color-orange); color: #0a0a0a; }\n\t.check { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #f0f0f0; margin: 6px 0; }\n\t.check input { accent-color: var(--color-orange); }\n\t.mine { margin-top: 22px; }\n\t.chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }\n\n\t.sec-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }\n\t.chip { display: inline-flex; align-items: center; font-family: var(--font-display); font-size: 10px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; padding: 4px 8px; border-radius: 6px; background: #141414; border: 1px solid #262626; color: #f0f0f0; cursor: pointer; }\n\t.chip-a { background: var(--color-orange); border-color: var(--color-orange); color: #0a0a0a; }\n\t.empty { background: #141414; border: 1px solid #262626; border-radius: 16px; padding: 22px 18px; }\n\t.list { display: flex; flex-direction: column; border: 1px solid #262626; border-radius: 14px; overflow: hidden; background: #1a1a1a; }\n\t.li { display: flex; align-items: center; gap: 10px; padding: 12px; text-decoration: none; color: inherit; }\n\t.li + .li { border-top: 1px solid #262626; }\n\t.li:hover { background: #202020; }\n\t.li.me { background: rgba(249, 115, 22, 0.08); }\n\t.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }\n\t@media (max-width: 520px) { .grid { grid-template-columns: 1fr; } }\n\t.card { display: flex; flex-direction: column; gap: 6px; padding: 14px; border-radius: 14px; background: #141414; border: 1px solid #262626; text-decoration: none; color: inherit; min-width: 0; transition: border-color 0.15s, background 0.15s; }\n\t.card:hover { border-color: #3a3a3a; background: #181818; }\n\t.card.live { border-color: rgba(249, 115, 22, 0.35); }\n\t.card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }\n\t.card .nm { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-display); font-weight: 700; font-size: 14px; letter-spacing: -0.01em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }\n\t.dot { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; flex-shrink: 0; }\n\t.tag { font-family: var(--font-display); font-size: 9px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: #8a8a8a; flex-shrink: 0; }\n\t.tag-x { color: var(--color-orange); }\n\t.card .meta { font-size: 11px; color: #8a8a8a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n\t.card-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 6px; }\n\t.stack { display: flex; align-items: center; }\n\t/* the avatar renders inline-flex; a photo and a letter sit on different\n\t   baselines inside it, so the wrapper is the one that's sized + aligned */\n\t.st { display: block; width: 24px; height: 24px; border-radius: 50%; box-shadow: 0 0 0 2px #141414; margin-left: -6px; flex-shrink: 0; line-height: 0; overflow: hidden; }\n\t.st :global(.avatar) { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; line-height: 1; }\n\t.st:first-child { margin-left: 0; }\n\t.st.more { display: grid; place-items: center; background: #262626; color: #f0f0f0; font-family: var(--font-display); font-size: 9px; font-weight: 800; }\n\t.cnt { margin-left: 8px; font-family: var(--font-display); font-size: 11px; color: #8a8a8a; font-variant-numeric: tabular-nums; }\n\t.cnt b { color: #f0f0f0; font-weight: 700; }\n\t.cta { font-family: var(--font-display); font-size: 10px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #8a8a8a; white-space: nowrap; }\n\t.cta-a { color: #0a0a0a; background: var(--color-orange); padding: 5px 9px; border-radius: 7px; }\n\t.cta-live { color: #22c55e; }\n\t.code { display: flex; align-items: center; background: #141414; border: 1px solid #262626; border-radius: 10px; padding: 2px 2px 2px 10px; }\n\t.code .input { width: 92px; padding: 6px 0; border: 0; background: transparent; text-transform: uppercase; font-family: var(--font-display); font-weight: 700; letter-spacing: 0.1em; font-size: 12px; }\n\t.code .input::placeholder { text-transform: none; letter-spacing: 0; font-weight: 500; font-family: inherit; }\n\t.code-go { width: 28px; height: 28px; border-radius: 7px; border: 0; background: #262626; color: #f0f0f0; cursor: pointer; font-size: 14px; line-height: 1; }\n\t.code-go:hover { background: var(--color-orange); color: #0a0a0a; }\n\t.who { flex: 1; min-width: 0; }\n\t.nm { font-family: var(--font-display); font-weight: 700; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n\t.meta { font-size: 11px; color: #8a8a8a; }\n\t.pn { font-family: var(--font-display); font-size: 11px; font-weight: 700; color: #8a8a8a; width: 16px; font-variant-numeric: tabular-nums; }\n\t.count { font-family: var(--font-display); font-weight: 700; font-size: 14px; color: #22c55e; font-variant-numeric: tabular-nums; }\n\n\t.rules { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }\n\t.rule { background: #141414; border: 1px solid #262626; border-radius: 16px; padding: 16px; }\n\t.rule h3 { font-family: var(--font-display); font-size: 15px; letter-spacing: -0.01em; margin: 6px 0 8px; font-weight: 700; }\n\t.rule ul { margin: 0; padding-left: 16px; color: #8a8a8a; font-size: 13px; }\n\t.rule li { margin: 4px 0; }\n\t.rule li b { color: #f0f0f0; font-weight: 600; }\n\t.tbl { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 6px; }\n\t.tbl td { padding: 6px 0; border-top: 1px solid #262626; }\n\t.tbl td:last-child { text-align: right; font-family: var(--font-display); font-weight: 700; color: #22c55e; font-variant-numeric: tabular-nums; }\n\t.tbl td.neg:last-child { color: #ff4d6d; }\n</style>\n"],"version":3}