@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap";@tailwind base;@tailwind components;@tailwind utilities;.theme-light,:root{color-scheme:light;--paper: #f7f1e8;--paper-lift: #eee6d8;--ink: #23170f;--muted: #715c4e;--line: #dbcdbd;--accent: #c2713c;--grain: rgba(35, 23, 15, .03);--copper: #c2713c;--copper-hover: #a05a2f;--hairline: #dbcdbd;--stage: #1a1412;--on-copper: #f7f1e8;--bracket: var(--copper);--accent-soft: rgba(138, 75, 42, .12);--accent-variant: #a05a2f;--surface: rgba(255, 252, 247, .92);--surface-strong: #fffdf9;--surface-input: #ffffff;--success: #256b4a;--danger: #9d2f2f;--warning: #9b5b00;--bg-body: linear-gradient(180deg, #f8f2ea 0%, #efe6da 100%);--bg-body-accent: radial-gradient(circle at top left, rgba(138, 75, 42, .14), transparent 30%);--shadow-paper: 0 24px 80px rgba(32, 22, 14, .08);--shadow-glow: 0 10px 32px rgba(194, 113, 60, .25), 0 0 0 1px rgba(194, 113, 60, .2);--shadow-modal: 0 24px 80px rgba(0, 0, 0, .5);--ink-contrast: #ffffff;--chat-user-bg: var(--ink);--chat-user-text: #ffffff;--changed-soft: rgba(37, 107, 74, .1);--changed-ring: rgba(37, 107, 74, .4)}.theme-dark{color-scheme:dark;--paper: #1a1412;--paper-lift: #231c17;--ink: #e8ddd4;--muted: #8a7d74;--line: #2e2621;--accent: #d4885a;--grain: rgba(232, 221, 212, .04);--copper: #d4885a;--copper-hover: #b9734a;--hairline: #2e2621;--stage: #1a1412;--on-copper: #f7f1e8;--bracket: var(--copper);--accent-soft: rgba(212, 136, 90, .15);--accent-variant: #b9734a;--surface: rgba(30, 24, 20, .92);--surface-strong: #231c17;--surface-input: #2a2220;--success: #3daa75;--danger: #d45555;--warning: #d49a3e;--bg-body: linear-gradient(180deg, #151110 0%, #1a1412 100%);--bg-body-accent: radial-gradient(circle at top left, rgba(212, 136, 90, .08), transparent 30%);--shadow-paper: 0 24px 80px rgba(0, 0, 0, .3);--shadow-glow: 0 10px 32px rgba(212, 136, 90, .2), 0 0 0 1px rgba(212, 136, 90, .15);--shadow-modal: 0 24px 80px rgba(0, 0, 0, .5);--ink-contrast: #1a1412;--chat-user-bg: #3a2e26;--chat-user-text: #e8ddd4;--changed-soft: rgba(61, 170, 117, .14);--changed-ring: rgba(61, 170, 117, .35)}:root{--bg-primary: var(--paper);--bg-surface: var(--surface);--bg-elevated: var(--surface-strong);--bg-input: var(--surface-input);--text-primary: var(--ink);--text-secondary: var(--muted);--text-tertiary: var(--muted);--border: var(--line);--accent-hover: var(--accent);--cta: var(--accent);--cta-hover: var(--accent);--gradient-agent: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 70%, var(--ink)));--red: var(--danger);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--font: ui-sans-serif, system-ui, sans-serif;--font-headline: "Georgia", "Cambria", "Times New Roman", serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--transition: .2s cubic-bezier(.25, .1, .25, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body{background:var(--bg-body);background-attachment:fixed;color:var(--ink);font-family:var(--font);overflow-x:hidden}@media (max-width: 767px){input,textarea,select{font-size:16px!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--muted);border-radius:3px}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes modal-dialog-in{0%{transform:scale(.96) translateY(12px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%,to{background-position:-200% 0}50%{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@keyframes generating-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 8px #c2713c00}}@keyframes result-enter{0%{opacity:0;transform:scale(.985);filter:blur(2px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes toast-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toast-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(12px);opacity:0}}.animate-modal-overlay{animation:modal-overlay-in .18s ease-out both}.animate-modal-sheet{animation:modal-sheet-in .26s cubic-bezier(.32,.72,0,1) both}.animate-modal-dialog{animation:modal-dialog-in .2s ease-out both}.animate-fade-in{animation:fade-in .4s ease-out both}.animate-result-enter{animation:result-enter .52s cubic-bezier(.32,.72,0,1) both}.animate-shimmer{background:linear-gradient(90deg,transparent 0%,var(--surface-strong) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 2.2s linear infinite}.animate-generating-pulse{animation:generating-pulse 1.6s ease-in-out infinite}.animate-toast-in{animation:toast-in .2s ease-out both}.animate-toast-out{animation:toast-out .2s ease-in both forwards}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (pointer: coarse){a[href],button,a[role=button],input,select,textarea,[role=tab],[role=menuitem]{min-height:44px}}.paper-grain{position:relative;isolation:isolate}.paper-grain:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-repeat:repeat;background-size:160px 160px}.sp-topbar{box-sizing:border-box;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;height:64px;min-height:64px;flex:0 0 64px;padding:0 24px;border-bottom:1px solid var(--hairline);background:var(--paper)}.sp-wordmark{font-family:var(--font-headline);font-size:1.125rem;font-weight:700;letter-spacing:-.01em;color:var(--ink);text-decoration:none;white-space:nowrap}.sp-topbar-brand{display:flex;align-items:baseline;gap:16px;min-width:0}.sp-wordmark-short,.sp-credit-short{display:none}.sp-wordmark:hover,.sp-wordmark:focus-visible{color:var(--copper)}.sp-topbar-actions{display:flex;align-items:center;gap:16px}.sp-signin{margin:0;padding:8px 20px;border:0;border-radius:999px;background:var(--copper);color:var(--on-copper);font:inherit;font-size:.9rem;font-weight:650;cursor:pointer;transition:background-color .16s ease-out}.sp-signin:hover,.sp-signin:focus-visible{background:var(--copper-hover)}.sp-signout{margin:0;padding:0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.9rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:color .16s ease-out;display:inline-flex;align-items:center;gap:6px}.sp-signout:hover,.sp-signout:focus-visible{color:var(--ink)}.sp-credit-badge{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 10px;border:0;border-radius:6px;background:var(--paper-lift);color:var(--copper);font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;text-decoration:none;white-space:nowrap;transition:border-color .16s ease-out,background-color .16s ease-out}.sp-credit-badge:hover,.sp-credit-badge:focus-visible{background:color-mix(in srgb,var(--copper) 12%,var(--paper))}@media (max-width: 640px){.sp-topbar{height:52px;min-height:52px;flex-basis:52px;padding:0 12px}.sp-topbar-brand{gap:12px}.sp-wordmark{font-size:1rem}.sp-wordmark-full,.sp-credit-full,.sp-signout-label{display:none}.sp-wordmark-short,.sp-credit-short{display:inline}.sp-topbar-actions{gap:8px}.sp-credit-badge{height:30px;padding:0 8px;font-size:.75rem}.sp-signout{width:36px;height:36px;justify-content:center;border-radius:50%;text-decoration:none}}.acct{--acct-bg: var(--surface-2, var(--paper-lift, #fff));--acct-fg: var(--text, var(--ink, #1a1a1a));--acct-muted: var(--text-2, var(--muted, #777));--acct-line: var(--line-strong, var(--line, #d0d0d0));position:relative}.acct-trigger{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 10px 0 4px;border:1px solid var(--acct-line);border-radius:999px;background:transparent;color:var(--acct-fg);cursor:pointer}.acct-trigger:hover,.acct-trigger[aria-expanded=true]{background:var(--acct-bg)}.acct-initial{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--acct-fg);color:var(--acct-bg);font-size:13px;font-weight:650}.acct-email{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.acct-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:40;min-width:220px;padding:6px;border:1px solid var(--acct-line);border-radius:14px;background:var(--acct-bg);color:var(--acct-fg);box-shadow:0 12px 32px #0000004d}.acct-who{display:grid;gap:2px;padding:8px 10px 10px;border-bottom:1px solid var(--acct-line);margin-bottom:4px}.acct-who-label{color:var(--acct-muted);font-size:12px}.acct-who-email{overflow-wrap:anywhere;font-size:14px;font-weight:600}.acct-item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px;border:0;border-radius:10px;background:transparent;color:var(--acct-fg);font:inherit;font-size:14px;text-align:left;cursor:pointer}.acct-item:hover,.acct-item:focus-visible{background:color-mix(in srgb,var(--acct-fg) 10%,transparent)}.acct-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:60;max-width:calc(100vw - 32px);transform:translate(-50%);padding:10px 16px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#1c1c1f;color:#f5f5f6;font-size:14px;box-shadow:0 12px 32px #00000059;overflow-wrap:anywhere}@media (max-width: 640px){.acct-email{display:none}.acct-trigger{padding:0 4px}}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--stage) 72%,transparent);z-index:9000;display:flex;align-items:center;justify-content:center;padding:24px;animation:auth-fade-in .18s ease-out}@keyframes auth-fade-in{0%{opacity:0}to{opacity:1}}.auth-modal{width:100%;max-width:420px;background:var(--paper);border:1px solid var(--hairline);border-radius:12px;padding:32px 28px 28px;animation:auth-slide-up .2s ease-out;position:relative}@keyframes auth-slide-up{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;background:transparent;border:none;color:var(--muted);font-size:20px;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:color .16s ease-out,background-color .16s ease-out}.auth-modal-close:hover,.auth-modal-close:focus-visible{color:var(--ink);background:var(--paper-lift)}.auth-modal-header{margin-bottom:24px;text-align:center;position:relative}.auth-modal-title{font-family:var(--font-headline);font-size:1.5rem;font-weight:700;color:var(--ink);letter-spacing:-.01em;margin-bottom:6px}.auth-modal-subtitle{font-size:14px;color:var(--muted);line-height:1.4}.auth-field{margin-bottom:16px}.auth-label{display:block;font-size:13px;font-weight:500;color:var(--muted);margin-bottom:6px}.auth-input{width:100%;background:var(--paper);border:1px solid var(--hairline);border-radius:8px;padding:12px 14px;color:var(--ink);font-family:inherit;font-size:15px;transition:border-color .16s ease-out,background-color .16s ease-out}.auth-input:focus{outline:none;border-color:var(--copper);background:var(--paper-lift)}.auth-input::placeholder{color:var(--muted);opacity:.6}.auth-submit{width:100%;background:var(--copper);color:var(--on-copper);border:none;border-radius:8px;padding:12px 24px;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .16s ease-out;margin-top:4px}.auth-submit:hover:not(:disabled),.auth-submit:focus-visible:not(:disabled){background:var(--copper-hover)}.auth-submit:disabled{opacity:.55;cursor:wait}.auth-divider{display:flex;align-items:center;text-align:center;margin:18px 0 14px;color:var(--muted);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--hairline)}.auth-divider span{padding:0 10px}.auth-info{background:color-mix(in srgb,var(--success) 10%,var(--paper));border:1px solid color-mix(in srgb,var(--success) 35%,var(--hairline));color:var(--success);padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:16px;line-height:1.4}.auth-google-slot{display:flex;justify-content:center;min-height:44px}.auth-footer{margin-top:20px;text-align:center;font-size:13px;color:var(--muted);line-height:1.5}.auth-link{background:none;border:none;color:var(--copper);font:inherit;cursor:pointer;padding:0;text-decoration:none}.auth-link:hover,.auth-link:focus-visible{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.auth-provider-link{display:block;width:100%;margin:4px auto 0;background:var(--copper);border:none;color:var(--on-copper);cursor:pointer;font:inherit;font-size:14px;font-weight:600;padding:11px 24px;border-radius:8px;transition:background-color .16s ease-out}.auth-provider-link:hover:not(:disabled),.auth-provider-link:focus-visible:not(:disabled){background:var(--copper-hover)}.auth-provider-link:disabled{cursor:wait;opacity:.55}.auth-error{background:color-mix(in srgb,var(--danger) 10%,var(--paper));border:1px solid color-mix(in srgb,var(--danger) 35%,var(--hairline));color:var(--danger);padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:16px;line-height:1.4}.billing-page{min-height:100dvh;background:var(--paper);color:var(--ink);font-family:var(--font)}.billing-wrap{width:min(1200px,calc(100% - 48px));margin:0 auto;padding-top:64px;padding-bottom:64px}.billing-heading{margin-bottom:28px}.billing-heading h1,.billing-gate h1{margin:8px 0;font-family:var(--font-headline);font-size:clamp(32px,5vw,48px);font-weight:700;line-height:1.02;letter-spacing:-.04em;color:var(--ink)}.billing-heading p,.billing-gate p{max-width:560px;color:var(--muted);line-height:1.6}.billing-eyebrow{color:var(--copper);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.billing-back,.billing-link-button{border:0;padding:0;background:transparent;color:var(--copper);cursor:pointer;font:inherit}.billing-back{margin-bottom:34px;font-size:13px}.billing-back:hover,.billing-back:focus-visible,.billing-link-button:hover,.billing-link-button:focus-visible{text-decoration:underline;text-underline-offset:3px}.billing-card{margin-top:14px;padding:24px;border:1px solid var(--hairline);border-radius:12px;background:var(--paper)}.billing-plan-card{background:var(--paper-lift)}.billing-plan-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:14px}.billing-plan-line strong{color:var(--ink);font-family:var(--font-headline);font-size:28px}.billing-status{padding:6px 10px;border:1px solid color-mix(in srgb,var(--success) 35%,transparent);border-radius:999px;color:var(--success);font-size:11px;font-weight:700}.billing-progress{height:8px;margin:20px 0 10px;overflow:hidden;border-radius:999px;background:var(--hairline)}.billing-progress span{display:block;height:100%;border-radius:inherit;background:var(--copper);transition:width .18s ease-out}.billing-meta,.billing-muted,.billing-note,.billing-saved-card{color:var(--muted);font-size:12px;line-height:1.5}.billing-section-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:12px}.billing-section-heading h2{margin-top:5px;font-family:var(--font-headline);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.billing-note{white-space:nowrap}.billing-pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;padding-top:14px}.billing-pack{position:relative;min-height:150px;padding:18px;border:1px solid var(--hairline);border-radius:12px;background:var(--paper);color:var(--ink);text-align:left;cursor:pointer;transition:border-color .18s ease-out,transform .18s ease-out,background-color .18s ease-out}.billing-pack:hover:not(:disabled),.billing-pack:focus-visible:not(:disabled){border-color:var(--copper);transform:translateY(-3px);background:var(--paper-lift)}.billing-pack.is-featured{border:2px solid var(--copper);transform:translateY(-4px)}.billing-pack.is-featured:hover:not(:disabled){transform:translateY(-7px)}.billing-pack:disabled{cursor:wait;opacity:.6}.billing-pack-badge{position:absolute;top:0;right:12px;transform:translateY(-50%);padding:4px 10px;border-radius:999px;background:var(--copper);color:var(--on-copper);font-size:.62rem;font-weight:700;letter-spacing:.08em}.billing-pack-credits{display:block;font-family:var(--font-headline);font-size:26px;font-weight:700}.billing-pack.is-featured .billing-pack-credits{font-size:30px}.billing-pack-label{display:block;color:var(--muted);font-size:12px}.billing-pack-price{display:block;margin-top:18px;color:var(--copper);font-family:var(--font-headline);font-size:22px;font-weight:700}.billing-pack.is-featured .billing-pack-price{font-size:26px}.billing-pack-pending,.billing-save-message{display:block;margin-top:8px;color:var(--copper);font-size:12px}.billing-primary,.billing-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:12px 24px;border-radius:8px;font:inherit;font-size:13px;font-weight:750;cursor:pointer;transition:background-color .16s ease-out,color .16s ease-out,border-color .16s ease-out}.billing-primary{border:0;background:var(--copper);color:var(--on-copper)}.billing-primary:hover:not(:disabled),.billing-primary:focus-visible:not(:disabled){background:var(--copper-hover)}.billing-primary:disabled,.billing-secondary:disabled,.billing-link-button:disabled{cursor:wait;opacity:.55}.billing-primary-link{text-decoration:none}.billing-secondary{border:1px solid var(--hairline);background:transparent;color:var(--copper)}.billing-secondary:hover:not(:disabled),.billing-secondary:focus-visible:not(:disabled){border-color:var(--copper);background:var(--paper-lift)}.billing-auto-recharge{margin-top:18px}.billing-check{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700}.billing-check input{width:16px;height:16px;accent-color:var(--copper)}.billing-inline-fields{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0 14px 25px}.billing-inline-fields label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.billing-inline-fields input,.billing-inline-fields select{min-height:34px;padding:0 9px;border:1px solid var(--hairline);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit}.billing-inline-fields input{width:72px}.billing-saved-card{margin:0 0 16px 25px}.billing-saved-card strong{color:var(--ink)}.billing-error{margin:14px 0;padding:12px 14px;border:1px solid color-mix(in srgb,var(--danger) 40%,transparent);border-radius:12px;background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger);font-size:13px}.billing-gate,.billing-loading{max-width:620px;margin:10vh auto 0;padding:38px;border:1px solid var(--hairline);border-radius:12px;background:var(--paper);text-align:center}.billing-gate p{margin:0 auto 24px}.billing-loading{color:var(--muted)}.billing-loading h1{margin-bottom:10px;color:var(--ink);font-size:24px}.billing-loading p{margin-bottom:22px}.billing-success-page .billing-gate{margin-top:12vh}.billing-success-mark{display:grid;width:54px;height:54px;margin:0 auto 22px;place-items:center;border-radius:50%;background:var(--copper);color:var(--on-copper);font-size:28px;font-weight:800}.billing-footer-card{padding-top:17px;padding-bottom:17px}@media (max-width: 680px){.billing-card{padding:17px;border-radius:12px}.billing-pack-grid{grid-template-columns:1fr}.billing-pack{min-height:auto}.billing-pack.is-featured,.billing-pack.is-featured:hover:not(:disabled){transform:none}.billing-section-heading{display:block}.billing-note{display:block;margin-top:6px}.billing-gate{padding:28px 20px}}@media (max-width: 640px){.billing-wrap{width:min(1200px,calc(100% - 32px));padding-top:40px;padding-bottom:40px}}body{min-width:320px}
