:root,html{--s1:6px;--s2:10px;--s3:16px;--s4:24px;--s5:34px;--s6:52px;--s7:76px;--r:4px;--r-sm:3px;--font-mono:var(--font-body)}.afd-presence,.afd-tag,.chip-row li,.crumbs,.hero-note,.mock-note,.mood-tab,.rcard-live,.rcard-persona,.roster-tab,.rule-k,.scene-tag,.slabel,.stats .lbl,.step .n{letter-spacing:.04em}body{background:radial-gradient(62% 48% at 10% 6%,color-mix(in srgb,var(--primary) 24%,transparent),transparent 60%),radial-gradient(58% 46% at 92% 16%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 62%),radial-gradient(70% 58% at 80% 102%,color-mix(in srgb,var(--bridge) 22%,transparent),transparent 66%),radial-gradient(50% 40% at 30% 88%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 70%),linear-gradient(168deg,var(--surface),var(--surface-alt) 54%,var(--surface));background-attachment:fixed}body:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}body:before{content:none}.hero-title{letter-spacing:-.02em}.hero-title em{color:var(--accent);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--accent) 55%,transparent)) drop-shadow(0 0 32px color-mix(in srgb,var(--accent) 30%,transparent))}.head h2{letter-spacing:-.015em}.hero-face-ring{border-radius:50%;box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 55%,transparent),0 6px 20px color-mix(in srgb,var(--bridge) 30%,transparent)}.hero-face-dot{background:var(--primary);box-shadow:0 0 8px color-mix(in srgb,var(--primary) 80%,transparent)}.mock.afd-win{position:relative;max-width:348px;border:0;border-radius:var(--r);background:color-mix(in srgb,var(--surface-alt) 80%,transparent);backdrop-filter:blur(44px) saturate(2) brightness(1.08);-webkit-backdrop-filter:blur(44px) saturate(2) brightness(1.08);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 14%,transparent),0 24px 60px -22px color-mix(in srgb,var(--bridge) 55%,transparent),0 0 90px -40px color-mix(in srgb,var(--accent) 60%,transparent);overflow:hidden}.mock.afd-win:before{content:"";position:absolute;inset:0;border-radius:var(--r);padding:1px;background:linear-gradient(140deg,var(--primary),var(--bridge) 48%,var(--accent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.75;pointer-events:none}.afd-head{display:flex;align-items:center;gap:var(--s2);padding:13px 15px;border-bottom:1px solid color-mix(in srgb,var(--primary) 16%,transparent);min-width:0}.afd-av{position:relative;flex:0 0 auto;width:40px}.afd-av .slot{width:40px;aspect-ratio:1/1;border-radius:50%;box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 50%,transparent)}.afd-dot{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;background:var(--primary);border:2px solid var(--surface-alt);box-shadow:0 0 8px color-mix(in srgb,var(--primary) 80%,transparent)}.afd-who{display:grid;grid-gap:2px;gap:2px;min-width:0;margin-right:auto}.afd-who b{font-family:var(--font-head);font-weight:700;font-size:.98rem;line-height:1.1;color:var(--ink)}.afd-presence{font-size:.66rem;color:color-mix(in srgb,var(--primary) 88%,var(--ink));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.afd-presence,.afd-tag{font-family:var(--font-body);text-transform:uppercase}.afd-tag{flex:0 0 auto;font-size:.62rem;font-weight:600;padding:4px 8px;border-radius:var(--r-sm);color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}.afd-thread{list-style:none;margin:0;padding:15px;display:flex;flex-direction:column;gap:9px;min-width:0}.afd-msg{max-width:82%;padding:9px 12px;border-radius:var(--r);font-family:var(--font-body);font-size:.86rem;line-height:1.4;color:var(--ink);align-self:flex-start;background:color-mix(in srgb,var(--primary) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);border-bottom-left-radius:1px}.afd-msg--mine{align-self:flex-end;color:var(--surface);background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 70%,var(--bridge)));border:0;border-bottom-right-radius:1px;box-shadow:0 6px 18px -8px color-mix(in srgb,var(--accent) 70%,transparent)}.afd-msg--photo{padding:5px;background:color-mix(in srgb,var(--bridge) 12%,var(--surface));border-color:color-mix(in srgb,var(--bridge) 26%,transparent);max-width:68%}.afd-msg--photo .slot{width:100%;border-radius:var(--r-sm);overflow:hidden}.afd-cap{display:block;margin-top:6px;padding:0 3px 2px;font-size:.7rem;color:var(--ink-muted)}.afd-typing{display:inline-flex;gap:5px;align-items:center;padding:11px 13px;max-width:max-content}.afd-typing span{width:7px;height:7px;border-radius:50%;background:var(--primary);opacity:.4;animation:afd-blink 1.3s ease-in-out infinite}.afd-typing span:nth-child(2){animation-delay:.18s}.afd-typing span:nth-child(3){animation-delay:.36s}@keyframes afd-blink{0%,70%,to{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.afd-bar{display:flex;align-items:center;gap:var(--s2);padding:11px 13px;border-top:1px solid color-mix(in srgb,var(--primary) 16%,transparent)}.afd-field{flex:1 1 auto;min-width:0;padding:9px 13px;border-radius:var(--r);font-family:var(--font-body);font-size:.8rem;color:var(--ink-muted);background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.afd-send{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--surface);background:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 40%,transparent),0 8px 18px -8px color-mix(in srgb,var(--accent) 75%,transparent)}.btn-primary{box-shadow:0 8px 20px -10px color-mix(in srgb,var(--accent) 80%,transparent),0 0 42px -18px color-mix(in srgb,var(--accent) 70%,transparent)}.btn-ghost{border-color:color-mix(in srgb,var(--primary) 40%,transparent);color:var(--ink)}.btn-ghost:hover{border-color:var(--primary);box-shadow:0 0 26px -14px color-mix(in srgb,var(--primary) 80%,transparent)}.band{border-top:1px solid color-mix(in srgb,var(--primary) 12%,var(--border));position:relative}.panel{background:radial-gradient(120% 90% at 88% 0,color-mix(in srgb,var(--bridge) 12%,transparent),transparent 60%),color-mix(in srgb,var(--surface-alt) 66%,transparent)}.slabel b{text-shadow:0 0 12px color-mix(in srgb,var(--primary) 55%,transparent)}.slabel.warm b{text-shadow:0 0 12px color-mix(in srgb,var(--accent) 55%,transparent)}.slabel.mid b{text-shadow:0 0 12px color-mix(in srgb,var(--bridge) 55%,transparent)}.stats .num{color:var(--primary)}.stats>div:nth-child(2n) .num{color:var(--accent)}.fcard{background:color-mix(in srgb,var(--surface-alt) 50%,transparent);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.fcard:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 40%,transparent);box-shadow:0 18px 40px -26px color-mix(in srgb,var(--bridge) 70%,transparent)}.fcard .ico{color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 30%,transparent)}.rcard-char{background:color-mix(in srgb,var(--surface-alt) 58%,transparent);transition:transform .2s ease,box-shadow .2s ease}.rcard-char:hover{transform:translateY(-3px);box-shadow:0 22px 50px -28px color-mix(in srgb,var(--card-tint,var(--primary)) 75%,transparent)}.rcard-live{color:var(--surface);background:var(--accent);box-shadow:0 0 14px -3px color-mix(in srgb,var(--accent) 75%,transparent)}.rcard-persona{color:var(--card-tint,var(--primary));background:color-mix(in srgb,var(--card-tint,var(--primary)) 15%,transparent);border:1px solid color-mix(in srgb,var(--card-tint,var(--primary)) 42%,transparent)}.rcard-char .chip-row li{border-color:color-mix(in srgb,var(--card-tint,var(--primary)) 34%,transparent);color:color-mix(in srgb,var(--card-tint,var(--primary)) 60%,var(--ink))}.roster-tab.is-active{color:var(--ink);border-color:var(--primary);box-shadow:0 0 22px -12px color-mix(in srgb,var(--primary) 80%,transparent)}.scene-card{background:color-mix(in srgb,var(--surface-alt) 60%,transparent);overflow:hidden}.scene-card:after{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--primary),var(--bridge) 50%,var(--accent));opacity:.85}.scene-tag{color:var(--ink);background:color-mix(in srgb,var(--card-tint,var(--bridge)) 22%,var(--surface));border:1px solid color-mix(in srgb,var(--card-tint,var(--bridge)) 45%,transparent)}.dial-chip.is-on{color:var(--surface);background:var(--accent);border-color:transparent;box-shadow:0 0 24px -10px color-mix(in srgb,var(--accent) 85%,transparent)}.dial-q,.rules-kicker{color:var(--primary)}.rules-name{color:var(--ink)}.rules-mark{color:var(--accent)}.rules-clip:before,.rules-top:before{background:linear-gradient(90deg,var(--primary),var(--accent))}.final-media .slot{box-shadow:0 30px 70px -34px color-mix(in srgb,var(--accent) 60%,transparent)}@media (prefers-reduced-motion:reduce){.afd-typing span{animation:none;opacity:.6}}