@layer theme,base;@layer components{.display-xl{font-family:var(--font-sans);letter-spacing:-.025em;font-weight:700;line-height:1.15}.kicker{letter-spacing:.025em;text-transform:uppercase;color:var(--muted-foreground);font-size:.75rem;font-weight:600;line-height:1rem}.surface{background:var(--card);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-card)}.surface-flat{background:var(--card);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px)}.pill{white-space:nowrap;border:1px solid #0000;border-radius:9999px;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500;line-height:1rem;display:inline-flex}.btn-coral{background:var(--primary);color:var(--primary-foreground);border-radius:9999px;font-weight:600;transition:background-color .15s}.btn-coral:hover{background:color-mix(in oklab, var(--primary) 90%, transparent)}.btn-moss{background:var(--color-moss);color:var(--primary-foreground);border-radius:9999px;font-weight:600;transition:filter .15s}.btn-moss:hover{filter:brightness(.92)}.btn-ghost{color:var(--foreground);border:1px solid var(--border);background:0 0;border-radius:9999px;font-weight:600;transition:color .15s,border-color .15s}.btn-ghost:hover{color:var(--primary);border-color:var(--primary)}.btn-coral:focus-visible,.btn-moss:focus-visible,.btn-ghost:focus-visible{box-shadow:0 0 0 2px var(--background), 0 0 0 4px color-mix(in oklab, var(--primary) 40%, transparent);outline:none}.badge-soon{letter-spacing:.1em;text-transform:uppercase;color:var(--primary-foreground);white-space:nowrap;background:linear-gradient(100deg, var(--color-coral), var(--color-gold), var(--color-clay), var(--color-coral));box-shadow:0 0 8px -1px color-mix(in oklab, var(--primary) 45%, transparent);background-size:250% 100%;border-radius:9999px;align-items:center;gap:.22rem;padding:.1rem .42rem;font-size:.56rem;font-weight:700;line-height:1;animation:2.8s linear infinite soon-sweep,2.4s ease-in-out infinite soon-glow;display:inline-flex}.badge-soon:before{content:"✦";font-size:.62em}.stamp{border:1.5px solid var(--color-clay);letter-spacing:.16em;text-transform:uppercase;color:var(--color-clay);opacity:.85;border-radius:6px;padding:.22rem .5rem;font-size:.62rem;font-weight:600;display:inline-block;transform:rotate(-2deg)}.rise{animation:.5s cubic-bezier(.22,1,.36,1) both rise}.fade{animation:.3s both fade}.skeleton{background:linear-gradient(90deg, var(--color-paper-2) 25%, var(--color-line) 37%, var(--color-paper-2) 63%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}.agreement-prose ul{margin:.25rem 0;padding-left:1.25rem;list-style:outside}.agreement-prose li{margin:.4rem 0}.agreement-prose strong{color:var(--foreground);font-weight:600}.stage-track{background:linear-gradient(90deg, var(--chart-1), var(--chart-2), var(--chart-3), var(--chart-4), var(--chart-5))}.prose-post ul{padding-left:1.25rem;list-style:outside}.prose-post ol{padding-left:1.25rem;list-style:decimal}.prose-post li{margin:.1rem 0}.prose-post p{margin:.35rem 0}.prose-post a{color:var(--primary);text-decoration:underline}.prose-post h2{margin:.8rem 0 .3rem;font-size:1.25rem;font-weight:700;line-height:1.25}.prose-post h3{margin:.7rem 0 .25rem;font-size:1.08rem;font-weight:600;line-height:1.3}.prose-post blockquote{border-left:3px solid var(--color-line-2);color:var(--color-ink-2);margin:.5rem 0;padding-left:.85rem}.prose-post pre{background:var(--color-paper-2);border-radius:8px;padding:.7rem .9rem;font-size:.82rem;overflow-x:auto}.prose-post img{border-radius:10px;max-width:100%;height:auto;margin:.5rem 0}.prose-post iframe,.prose-post [data-youtube-video] iframe{aspect-ratio:16/9;border:0;border-radius:10px;width:100%;max-width:560px;height:auto;margin:.5rem 0}.prose-post:first-child>:first-child{margin-top:0}.rich-editor .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--color-ink-3);float:left;pointer-events:none;height:0}.rich-editor .tiptap:focus{outline:none}}@layer utilities;@keyframes soon-sweep{to{background-position:250% 0}}@keyframes soon-glow{0%,to{box-shadow:0 0 5px -1px color-mix(in oklab, var(--primary) 35%, transparent)}50%{box-shadow:0 0 13px 2px color-mix(in oklab, var(--color-gold) 80%, transparent)}}@media (prefers-reduced-motion:reduce){.badge-soon{background-position:50% 0;animation:none}.skeleton{animation:none}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}
