:root{--color-bg: oklch(97.5% .012 95);--color-bg-2: oklch(95% .02 92);--color-surface: oklch(99% .008 95);--color-surface-raised: #fffdf8;--color-ink: oklch(26% .03 165);--color-ink-soft: oklch(45% .02 165);--color-muted: oklch(60% .015 160);--color-primary: oklch(46% .09 165);--color-primary-strong: oklch(38% .09 166);--color-primary-tint: oklch(94% .03 165);--color-accent: oklch(74% .11 85);--color-accent-strong: oklch(66% .12 80);--color-line: oklch(90% .015 150);--color-line-soft: oklch(93% .012 150);--color-voted: oklch(60% .16 150);--color-voted-strong: oklch(42% .13 152);--color-voted-tint: oklch(95% .05 150);--color-voted-ring: oklch(60% .16 150 / .26);--status-open: oklch(62% .02 160);--status-review: oklch(70% .12 250);--status-planned: oklch(72% .13 300);--status-progress: oklch(75% .13 85);--status-resolved: oklch(64% .13 155);--status-rejected: oklch(64% .02 30);--font-display: "Fraunces", Georgia, serif;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: clamp(1.6rem, 1.2rem + 1.4vw, 2.2rem);--text-hero: clamp(2.4rem, 1.4rem + 4vw, 4rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 8px;--radius: 14px;--radius-lg: 22px;--radius-full: 999px;--shadow-sm: 0 1px 2px oklch(30% .03 165 / .06), 0 2px 6px oklch(30% .03 165 / .05);--shadow-md: 0 6px 24px oklch(30% .03 165 / .08), 0 2px 6px oklch(30% .03 165 / .05);--shadow-lg: 0 18px 50px oklch(30% .04 165 / .14);--duration-fast: .14s;--duration: .26s;--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);color:var(--color-ink);background:radial-gradient(1200px 500px at 85% -10%,var(--color-primary-tint),transparent 60%),radial-gradient(900px 500px at -10% 0%,oklch(95% .04 85 / .7),transparent 55%),var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;line-height:1.1;margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}.container{width:min(1080px,92vw);margin:0 auto}.btn{display:inline-flex;align-items:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-full);padding:.6rem 1.15rem;font-size:var(--text-sm);font-weight:600;transition:transform var(--duration-fast) var(--ease),background var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.btn:active{transform:translateY(1px) scale(.99)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-primary-strong);box-shadow:var(--shadow-md)}.btn-ghost{background:transparent;color:var(--color-ink);border-color:var(--color-line)}.btn-ghost:hover{background:var(--color-surface);border-color:var(--color-primary)}.btn-gold{background:var(--color-accent);color:#3b2b0d}.btn-gold:hover{background:var(--color-accent-strong)}.btn:disabled{opacity:.55;cursor:not-allowed}.card{background:var(--color-surface-raised);border:1px solid var(--color-line-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.chip{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:.28rem .6rem;border-radius:var(--radius-full);background:var(--color-primary-tint);color:var(--color-primary-strong);text-transform:uppercase}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field>label{font-size:var(--text-sm);font-weight:600;color:var(--color-ink-soft)}.input,.textarea,.select{width:100%;padding:.7rem .9rem;border-radius:var(--radius);border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-ink);font-size:var(--text-base);transition:border var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-tint)}.textarea{resize:vertical;min-height:110px}.muted{color:var(--color-muted)}.stack{display:flex;flex-direction:column}.row{display:flex;align-items:center}.spread{justify-content:space-between}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
