@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&family=DM+Sans:wght@300;400;500;600;700&display=swap";:root,[data-theme=dark]{--bg: #080c14;--bg-elevated: #0d1117;--bg-card: #111827;--bg-card-hover: #141e2e;--bg-header: rgba(8,12,20,.92);--border: #1a2535;--border-bright: #243650;--text: #e8edf5;--text-muted: #6b7c93;--text-subtle: #2d3f55;--accent: #4f6ef7;--accent-hover: #6b84f8;--accent-glow: rgba(79,110,247,.2);--accent-dim: rgba(79,110,247,.1);--success: #34d399;--success-bg: #022c1c;--success-border: #065f46;--error: #f87171;--error-bg: #1f0a0a;--error-border: #7f1d1d;--warning: #fbbf24;--warning-bg: #1a1000;--badge-bg: #1a2d4a;--badge-color: #7db3ff;--tag-bg: #111827;--tag-color: #6b7c93;--input-bg: #0d1117;--input-border: #1a2535;--btn-bg: #111827;--btn-color: #7db3ff;--shadow-sm: 0 1px 4px rgba(0,0,0,.5);--shadow-md: 0 4px 20px rgba(0,0,0,.6);--shadow-lg: 0 12px 48px rgba(0,0,0,.7);--shadow-accent: 0 4px 20px rgba(79,110,247,.3);--gradient-accent: linear-gradient(135deg, #4f6ef7, #7c3aed);--gradient-success:linear-gradient(135deg, #059669, #0d9488);--grid-line: rgba(255,255,255,.025)}[data-theme=light]{--bg: #f4f6fb;--bg-elevated: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f0f4ff;--bg-header: rgba(255,255,255,.93);--border: #e2e8f0;--border-bright: #c7d4e8;--text: #0f172a;--text-muted: #475569;--text-subtle: #cbd5e1;--accent: #4055e8;--accent-hover: #3344cc;--accent-glow: rgba(64,85,232,.12);--accent-dim: rgba(64,85,232,.07);--success: #059669;--success-bg: #ecfdf5;--success-border: #a7f3d0;--error: #dc2626;--error-bg: #fef2f2;--error-border: #fecaca;--warning: #b45309;--warning-bg: #fffbeb;--badge-bg: #dbeafe;--badge-color: #1e40af;--tag-bg: #f1f5f9;--tag-color: #64748b;--input-bg: #ffffff;--input-border: #e2e8f0;--btn-bg: #f8fafc;--btn-color: #4055e8;--shadow-sm: 0 1px 4px rgba(0,0,0,.06);--shadow-md: 0 4px 20px rgba(0,0,0,.08);--shadow-lg: 0 12px 48px rgba(0,0,0,.1);--shadow-accent: 0 4px 20px rgba(64,85,232,.18);--gradient-accent: linear-gradient(135deg, #4055e8, #7c3aed);--gradient-success:linear-gradient(135deg, #059669, #0d9488);--grid-line: rgba(0,0,0,.03)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}a{color:inherit;text-decoration:none}body{font-family:DM Sans,system-ui,sans-serif;font-size:15px;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6;transition:background .25s,color .25s;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:44px 44px}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:0 32px;height:60px;background:var(--bg-header);border-bottom:1px solid var(--border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:sticky;top:0;z-index:100}.landing-nav__logo{font-family:JetBrains Mono,monospace;font-weight:700;font-size:.95rem;color:var(--text);display:flex;align-items:center;gap:6px;text-decoration:none}.landing-nav__logo-symbol{color:var(--accent);font-size:1.1rem}.landing-nav__links{display:flex;align-items:center;gap:10px}.landing-nav__link{color:var(--text-muted);font-size:.88rem;font-weight:500;padding:6px 12px;border-radius:8px;transition:all .15s;text-decoration:none}.landing-nav__link:hover{color:var(--text);background:var(--accent-dim)}.landing-nav__cta{background:var(--gradient-accent);color:#fff!important;font-size:.88rem;font-weight:600;padding:7px 18px;border-radius:8px;text-decoration:none;box-shadow:var(--shadow-accent);transition:all .2s}.landing-nav__cta:hover{opacity:.9;transform:translateY(-1px)}.landing-ticker{background:var(--bg-elevated);border-bottom:1px solid var(--border);padding:8px 32px;display:flex;align-items:center;gap:10px;font-size:.8rem;color:var(--text-muted)}.landing-ticker__label{background:var(--error);color:#fff;font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.05em;animation:pulse 1.5s ease-in-out infinite;flex-shrink:0}.landing-ticker__text{opacity:0;transform:translateY(4px);transition:opacity .35s,transform .35s}.landing-ticker__text.visible{opacity:1;transform:translateY(0)}.landing-hero{text-align:center;padding:80px 24px 60px;max-width:760px;margin:0 auto}.landing-hero__eyebrow{display:inline-block;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;border:1px solid var(--accent-glow);background:var(--accent-dim);padding:4px 14px;border-radius:20px;margin-bottom:24px}.landing-hero__title{font-size:clamp(2rem,5vw,3.2rem);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--text);margin-bottom:20px}.landing-hero__title-accent{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-hero__subtitle{font-size:1.05rem;color:var(--text-muted);max-width:560px;margin:0 auto 36px;line-height:1.7}.landing-search{position:relative;max-width:600px;margin:0 auto 32px}.landing-search__bar{display:flex;align-items:center;background:var(--bg-card);border:1.5px solid var(--border-bright);border-radius:14px;padding:4px 16px;gap:10px;box-shadow:var(--shadow-md);transition:border-color .15s,box-shadow .15s}.landing-search__bar:focus-within{border-color:var(--accent);box-shadow:var(--shadow-md),0 0 0 3px var(--accent-glow)}.landing-search__icon{font-size:1rem;color:var(--text-muted);flex-shrink:0}.landing-search__input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:.95rem;font-family:inherit;padding:12px 0;min-width:0}.landing-search__input::placeholder{color:var(--text-muted);opacity:.7}.landing-search__spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.landing-search__clear{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.9rem;padding:4px;line-height:1;border-radius:4px;flex-shrink:0}.landing-search__clear:hover{color:var(--text)}.landing-search__results{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border-bright);border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden;z-index:200}.landing-search__loading{padding:16px 20px;color:var(--text-muted);font-size:.85rem;font-family:JetBrains Mono,monospace}.landing-search__noresult{padding:20px;text-align:center}.landing-search__noresult p{color:var(--text-muted);font-size:.88rem;margin-bottom:12px}.landing-search__build-btn{display:inline-block;background:var(--gradient-accent);color:#fff;padding:8px 20px;border-radius:8px;font-size:.88rem;font-weight:600;text-decoration:none;transition:opacity .15s}.landing-search__build-btn:hover{opacity:.9}.landing-search__result{display:block;padding:14px 20px;border-bottom:1px solid var(--border);text-decoration:none;transition:background .12s;cursor:pointer}.landing-search__result:last-of-type{border-bottom:none}.landing-search__result:hover{background:var(--bg-card-hover)}.landing-search__result-title{font-weight:600;color:var(--text);font-size:.9rem;margin-bottom:6px}.landing-search__result-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:4px}.landing-search__votes{font-size:.72rem;color:var(--text-muted);font-family:JetBrains Mono,monospace}.landing-search__time{font-size:.72rem;color:var(--accent);font-weight:500}.landing-search__result-problem{color:var(--text-muted);font-size:.8rem;line-height:1.4}.landing-search__see-all{display:block;padding:12px 20px;background:var(--accent-dim);color:var(--accent);font-size:.83rem;font-weight:600;text-align:center;border-top:1px solid var(--border);transition:background .12s}.landing-search__see-all:hover{background:var(--accent-glow)}.landing-hero__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.landing-hero__btn-primary{background:var(--gradient-accent);color:#fff;padding:13px 28px;border-radius:10px;font-size:.95rem;font-weight:600;text-decoration:none;box-shadow:var(--shadow-accent);transition:all .2s;display:inline-block}.landing-hero__btn-primary:hover{opacity:.92;transform:translateY(-2px)}.landing-hero__btn-secondary{background:var(--bg-card);color:var(--text-muted);border:1px solid var(--border-bright);padding:13px 28px;border-radius:10px;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.landing-hero__btn-secondary:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.landing-stats{display:grid;grid-template-columns:repeat(4,1fr);max-width:860px;margin:0 auto 64px;padding:0 24px;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm)}.landing-stats__item{background:var(--bg-card);padding:24px;text-align:center}.landing-stats__value{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700;margin-bottom:4px;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-stats__label{font-size:.78rem;color:var(--text-muted);font-weight:500}.landing-section-title{text-align:center;font-size:1.6rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin-bottom:40px}.landing-how{max-width:900px;margin:0 auto 72px;padding:0 24px}.landing-how__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.landing-how__step{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:24px 20px;text-align:center;transition:all .2s;position:relative;overflow:hidden}.landing-how__step:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-accent);opacity:0;transition:opacity .2s}.landing-how__step:hover{border-color:var(--border-bright);transform:translateY(-3px);box-shadow:var(--shadow-md)}.landing-how__step:hover:before{opacity:1}.landing-how__step-num{font-family:JetBrains Mono,monospace;font-size:.68rem;color:var(--accent);font-weight:700;letter-spacing:.1em;margin-bottom:10px}.landing-how__step-icon{font-size:1.8rem;margin-bottom:12px}.landing-how__step-title{font-size:.88rem;font-weight:600;color:var(--text);margin-bottom:8px;line-height:1.3}.landing-how__step-desc{font-size:.78rem;color:var(--text-muted);line-height:1.5}.landing-diff{max-width:820px;margin:0 auto 72px;padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center}.landing-diff__card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:28px}.landing-diff__card--good{border-color:var(--accent);box-shadow:var(--shadow-accent)}.landing-diff__header{display:flex;align-items:center;gap:10px;margin-bottom:18px}.landing-diff__icon{font-size:1.3rem;font-family:JetBrains Mono,monospace;color:var(--accent)}.landing-diff__name{font-weight:700;font-size:.95rem;color:var(--text)}.landing-diff__list{list-style:none;display:flex;flex-direction:column;gap:10px}.landing-diff__list li{font-size:.84rem;line-height:1.4;display:flex;align-items:flex-start;gap:8px}.landing-diff__list li:before{flex-shrink:0;margin-top:1px}.landing-diff__list--bad li{color:var(--text-muted)}.landing-diff__list--bad li:before{content:"✗";color:var(--error)}.landing-diff__list--good li{color:var(--text)}.landing-diff__list--good li:before{content:"✓";color:var(--success)}.landing-diff__list--good li em{font-style:normal;color:var(--accent);font-weight:600}.landing-diff__vs{font-family:JetBrains Mono,monospace;font-weight:700;font-size:.85rem;color:var(--text-muted);text-align:center}.landing-cta{text-align:center;padding:72px 24px;border-top:1px solid var(--border);background:var(--bg-elevated)}.landing-cta__title{font-size:clamp(1.4rem,3vw,2rem);font-weight:700;letter-spacing:-.02em;color:var(--text);margin-bottom:12px}.landing-cta__sub{color:var(--text-muted);margin-bottom:28px;font-size:.95rem}.landing-cta__btn{display:inline-block;background:var(--gradient-accent);color:#fff;padding:14px 36px;border-radius:12px;font-size:1rem;font-weight:600;text-decoration:none;box-shadow:var(--shadow-accent);transition:all .2s}.landing-cta__btn:hover{opacity:.92;transform:translateY(-2px)}.landing-footer{text-align:center;padding:24px;color:var(--text-muted);font-size:.8rem;font-family:JetBrains Mono,monospace;background:var(--bg-elevated);border-top:1px solid var(--border)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:0 24px;height:60px;background:var(--bg-header);border-bottom:1px solid var(--border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.dashboard-header h2{font-family:JetBrains Mono,monospace;font-size:.92rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:6px}.dashboard-header h2:before{content:">";color:var(--accent)}.dashboard-header__logo{font-family:JetBrains Mono,monospace;font-weight:700;font-size:.92rem;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:6px}.dashboard-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nav-link{color:var(--text-muted);text-decoration:none;font-size:.85rem;font-weight:500;padding:6px 12px;border-radius:8px;border:1px solid transparent;transition:all .15s}.nav-link:hover{background:var(--accent-dim);color:var(--accent);border-color:var(--border)}.nav-link--primary{background:var(--gradient-accent);color:#fff!important;font-weight:600;border:none!important;box-shadow:var(--shadow-accent)}.nav-link--primary:hover{opacity:.9;transform:translateY(-1px)}.logout-btn{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:8px;padding:6px 12px;cursor:pointer;font-size:.85rem;font-family:inherit;transition:all .15s;width:auto}.logout-btn:hover{border-color:var(--error);color:var(--error)}.theme-toggle{background:var(--btn-bg);border:1px solid var(--border);border-radius:8px;padding:6px 10px;cursor:pointer;font-size:1rem;line-height:1;color:var(--text);font-family:inherit;width:auto;transition:all .2s}.theme-toggle:hover{border-color:var(--accent);background:var(--accent-dim);transform:rotate(18deg)}section h3{font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:6px}section h3:before{content:"//";color:var(--accent)}.recipe-list{list-style:none;display:flex;flex-direction:column;gap:10px}.recipe-item{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;transition:all .18s;position:relative;overflow:hidden}.recipe-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gradient-accent);opacity:0;transition:opacity .18s}.recipe-item:hover{border-color:var(--border-bright);background:var(--bg-card-hover);box-shadow:var(--shadow-md);transform:translate(2px)}.recipe-item:hover:before{opacity:1}.recipe-item--marketplace{align-items:flex-start}.recipe-item__info{flex:1;min-width:0}.recipe-item__info strong{display:block;color:var(--text);font-size:.93rem;font-weight:600;margin-bottom:8px;line-height:1.4}.recipe-item__meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}.recipe-item__problem{color:var(--text-muted);font-size:.82rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-item__time{color:var(--accent);font-size:.78rem;margin-top:6px;font-weight:500}.recipe-item__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex-shrink:0}.recipe-item__actions--col{flex-direction:column;align-items:stretch;min-width:148px;gap:8px}.badge{background:var(--badge-bg);color:var(--badge-color);border-radius:20px;padding:2px 10px;font-size:.72rem;font-weight:600;font-family:JetBrains Mono,monospace}.tag{background:var(--tag-bg);color:var(--tag-color);border-radius:20px;padding:2px 10px;font-size:.72rem;border:1px solid var(--border)}.stat-badge{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);border-radius:20px;padding:2px 10px;font-size:.72rem;font-family:JetBrains Mono,monospace}.stat-badge--large{font-size:.82rem;padding:5px 14px}.btn-sm{padding:6px 14px;border-radius:8px;font-size:.82rem;font-weight:500;cursor:pointer;background:var(--btn-bg);color:var(--btn-color);border:1px solid var(--border);white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;transition:all .15s;width:auto}.btn-sm:hover{border-color:var(--accent);background:var(--accent-dim);color:var(--accent);transform:translateY(-1px)}.btn-sm--run{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.btn-sm--run:hover{background:var(--success);color:#fff;border-color:var(--success)}.btn-sm--danger{background:var(--error-bg);color:var(--error);border-color:var(--error-border)}.btn-sm--danger:hover{background:var(--error);color:#fff;border-color:var(--error)}.btn-sm:disabled{opacity:.4;cursor:not-allowed;transform:none}button[type=submit]{background:var(--gradient-accent);color:#fff;border:none;border-radius:10px;padding:13px 28px;font-size:.95rem;font-weight:600;cursor:pointer;width:100%;font-family:inherit;box-shadow:var(--shadow-accent);transition:all .2s}button[type=submit]:hover:not(:disabled){opacity:.92;transform:translateY(-2px)}button[type=submit]:disabled{opacity:.4;cursor:not-allowed;transform:none}.secondary-btn{background:var(--btn-bg)!important;color:var(--text-muted)!important;border:1px solid var(--border)!important;box-shadow:none!important;width:100%;font-family:inherit;font-size:.88rem;border-radius:10px;padding:11px;cursor:pointer;transition:all .15s}.secondary-btn:hover:not(:disabled){border-color:var(--accent)!important;color:var(--accent)!important}.upvote-btn{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:10px 14px;cursor:pointer;color:var(--text-muted);font-size:.82rem;font-family:inherit;width:100%;transition:all .18s}.upvote-btn:hover:not(:disabled){border-color:var(--warning);color:var(--warning);background:var(--warning-bg);transform:translateY(-1px)}.upvote-btn.upvoted{border-color:var(--warning);color:var(--warning);background:var(--warning-bg)}.upvote-btn:disabled{cursor:not-allowed}.upvote-btn__icon{font-size:1rem}.upvote-btn__count{font-weight:700;font-family:JetBrains Mono,monospace;font-size:.9rem}.upvote-btn__label{font-size:.76rem}.upvote-btn--large{justify-content:center;margin:16px 0;padding:14px 20px;font-size:.93rem;border-radius:12px}.marketplace-bar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.marketplace-search{flex:1;min-width:200px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;padding:10px 16px;color:var(--text);font-size:.9rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.marketplace-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.marketplace-search::placeholder{color:var(--text-muted)}.marketplace-sort{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.marketplace-sort__label{color:var(--text-muted);font-size:.75rem;font-family:JetBrains Mono,monospace}.marketplace-sort__btn{background:var(--btn-bg);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;padding:6px 12px;font-size:.78rem;font-family:inherit;cursor:pointer;transition:all .15s;width:auto}.marketplace-sort__btn.active{background:var(--gradient-accent);color:#fff;border-color:transparent;box-shadow:var(--shadow-accent)}.marketplace-sort__btn:hover:not(.active){border-color:var(--accent);color:var(--accent)}.marketplace-count{color:var(--text-muted);font-size:.75rem;margin-bottom:16px;font-family:JetBrains Mono,monospace}.recipe-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:28px;max-width:760px;box-shadow:var(--shadow-md)}.recipe-card h3{font-size:1.4rem;font-weight:700;color:var(--text);margin-bottom:16px;line-height:1.3}.recipe-card h4{font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin:24px 0 10px}.recipe-card p{color:var(--text-muted);line-height:1.7;font-size:.9rem}.recipe-card__stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.recipe-card__date{color:var(--text-subtle);font-size:.72rem;margin-top:24px;font-family:JetBrains Mono,monospace}.recipe-card__actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.recipe-steps{color:var(--text-muted);line-height:1.8;font-size:.9rem}.recipe-steps p{margin:4px 0}.recipe-steps strong{color:var(--text)}.form-label{display:flex;flex-direction:column;gap:6px;margin-bottom:20px;color:var(--text-muted);font-size:.84rem;font-weight:500}.form-label input,.form-label select,.form-label textarea{background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;color:var(--text);padding:11px 14px;font-size:.9rem;font-family:inherit;width:100%;transition:border-color .15s,box-shadow .15s}.form-label input:focus,.form-label select:focus,.form-label textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-label input::placeholder,.form-label textarea::placeholder{color:var(--text-muted);opacity:.55}.form-label select{color:var(--text)}.form-label select option{background:var(--bg-card);color:var(--text)}.form-label small{color:var(--text-subtle);font-size:.7rem;font-family:JetBrains Mono,monospace;align-self:flex-end}.form-hint{color:var(--text-muted);font-size:.76rem;margin-top:4px;display:block;line-height:1.4}.form-label--checkbox{flex-direction:row;align-items:center;gap:10px;cursor:pointer}.form-label--checkbox input[type=checkbox]{width:18px;height:18px;border-radius:4px;accent-color:var(--accent)}.required{color:var(--error)}.auth-page{min-height:100vh;background:var(--bg)}.auth-container{max-width:420px;margin:60px auto 0;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:40px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.auth-container:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-accent)}.auth-container h2{font-size:1.3rem;font-weight:700;color:var(--text);font-family:JetBrains Mono,monospace}.auth-sub{color:var(--text-muted);font-size:.84rem;margin-top:-6px}.auth-container form{display:flex;flex-direction:column}.auth-container input{background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;color:var(--text);padding:13px 16px;font-size:.93rem;font-family:inherit;width:100%;margin-bottom:12px;transition:border-color .15s,box-shadow .15s}.auth-container input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.auth-container input::placeholder{color:var(--text-muted);opacity:.6}.auth-back{text-align:center;font-size:.82rem;color:var(--text-muted);margin-top:4px}.auth-back a{color:var(--accent)}.auth-back a:hover{text-decoration:underline}.error{color:var(--error);background:var(--error-bg);border:1px solid var(--error-border);border-radius:10px;padding:11px 16px;font-size:.85rem;line-height:1.5}.success{color:var(--success);background:var(--success-bg);border:1px solid var(--success-border);border-radius:10px;padding:11px 16px;font-size:.85rem}.execution-list{list-style:none;display:flex;flex-direction:column;gap:8px}.execution-item{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:12px 16px;display:grid;grid-template-columns:80px 1fr 150px;gap:12px;align-items:center;font-size:.82rem;transition:border-color .15s}.execution-item:hover{border-color:var(--border-bright)}.execution-item__recipe{color:var(--accent);font-weight:600;font-family:JetBrains Mono,monospace;font-size:.72rem}.execution-item__output{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.execution-item__date{color:var(--text-subtle);text-align:right;font-family:JetBrains Mono,monospace;font-size:.7rem}.empty-state{text-align:center;padding:48px 24px;background:var(--bg-card);border:1px dashed var(--border-bright);border-radius:14px;color:var(--text-muted);font-size:.9rem}.empty-state__icon{font-size:2.5rem;margin-bottom:12px}.loader{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.82rem;gap:12px}.loader:after{content:"";width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .75s linear infinite}.ai-result-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .15s ease}.ai-result-modal{background:var(--bg-card);border:1px solid var(--border-bright);border-radius:16px;width:100%;max-width:700px;max-height:82vh;overflow-y:auto;padding:28px;box-shadow:var(--shadow-lg);animation:slideUp .2s ease;position:relative}.ai-result-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-accent)}.ai-result-modal__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.ai-result-modal__header h3{margin:0;color:var(--success);font-size:.95rem;font-family:JetBrains Mono,monospace}.ai-result-modal__close{background:var(--btn-bg);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;font-family:inherit;transition:all .15s}.ai-result-modal__close:hover{background:var(--error-bg);border-color:var(--error);color:var(--error)}.ai-result-modal__recipe{color:var(--text);font-size:.9rem;font-weight:600;margin:0 0 4px}.ai-result-modal__disclaimer{color:var(--text-muted);font-size:.72rem;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--border);font-family:JetBrains Mono,monospace}.ai-result-modal__output{color:var(--text-muted);font-size:.88rem;line-height:1.8}.ai-result-modal__output p{margin:5px 0}.ai-result-modal__output strong{color:var(--text)}.ai-generator{border:1px solid var(--border-bright);border-radius:16px;overflow:hidden;background:var(--bg-card);margin-bottom:8px;box-shadow:var(--shadow-md);position:relative}.ai-generator:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-accent)}.ai-gen__progress{display:flex;background:var(--bg-elevated);border-bottom:1px solid var(--border);padding-top:2px}.ai-gen__progress-step{flex:1;display:flex;align-items:center;gap:8px;padding:12px 16px;color:var(--text-subtle);font-size:.76rem;font-family:JetBrains Mono,monospace;border-right:1px solid var(--border);transition:all .2s}.ai-gen__progress-step.active{color:var(--accent);background:var(--accent-dim)}.ai-gen__progress-step.done{color:var(--success)}.ai-gen__progress-num{width:22px;height:22px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0}.ai-gen__progress-step.active .ai-gen__progress-num{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 8px var(--accent-glow)}.ai-gen__progress-step.done .ai-gen__progress-num{background:var(--success);border-color:var(--success);color:#fff}.ai-gen__step{padding:28px}.ai-gen__title{margin:0 0 8px;font-size:1rem;font-weight:600;color:var(--text)}.ai-gen__hint{color:var(--text-muted);font-size:.83rem;margin:0 0 18px;line-height:1.5}.ai-gen__textarea{width:100%;background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;color:var(--text);padding:14px;font-size:.9rem;font-family:inherit;resize:vertical;box-sizing:border-box;line-height:1.6;display:block;transition:border-color .15s,box-shadow .15s}.ai-gen__textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.ai-gen__textarea::placeholder{color:var(--text-muted);opacity:.45}.ai-gen__tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin-bottom:24px}.ai-gen__tool-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;color:var(--text-muted);cursor:pointer;font-size:.74rem;font-family:inherit;transition:all .15s;width:auto}.ai-gen__tool-btn:hover{border-color:var(--accent);color:var(--text);background:var(--accent-dim);transform:translateY(-2px)}.ai-gen__tool-btn.selected{border-color:var(--accent);background:var(--accent-dim);color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.ai-gen__tool-icon{font-size:1.35rem}.ai-gen__tool-label{text-align:center;line-height:1.2}.ai-gen__skill-grid{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.ai-gen__skill-btn{display:grid;grid-template-columns:40px 110px 1fr;align-items:center;gap:14px;padding:16px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;cursor:pointer;text-align:left;font-family:inherit;transition:all .15s;width:auto}.ai-gen__skill-btn:hover{border-color:var(--accent);background:var(--accent-dim)}.ai-gen__skill-btn.selected{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 1px var(--accent)}.ai-gen__skill-icon{font-size:1.4rem;text-align:center}.ai-gen__skill-label{font-weight:600;color:var(--text);font-size:.88rem}.ai-gen__skill-desc{font-size:.76rem;color:var(--text-muted);line-height:1.4}.ai-gen__skill-btn.selected .ai-gen__skill-desc{color:var(--accent);opacity:.8}.ai-gen__nav{display:flex;gap:10px;margin-top:4px}.ai-gen__next-btn{flex:1;background:var(--gradient-accent);color:#fff;border:none;border-radius:10px;padding:12px 20px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:var(--shadow-accent);transition:all .2s}.ai-gen__next-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.ai-gen__next-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.ai-gen__back-btn{background:var(--btn-bg);border:1px solid var(--border);color:var(--text-muted);border-radius:10px;padding:12px 16px;font-size:.88rem;cursor:pointer;font-family:inherit;transition:all .15s;width:auto}.ai-gen__back-btn:hover{border-color:var(--border-bright);color:var(--text)}.ai-gen__generate-btn{flex:1;background:var(--gradient-success);color:#fff;border:none;border-radius:10px;padding:12px 20px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 4px 16px #0596694d;transition:all .2s}.ai-gen__generate-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.ai-gen__generate-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.ai-gen__loading{color:var(--accent);font-size:.78rem;margin:14px 0 0;text-align:center;font-family:JetBrains Mono,monospace;animation:pulse 1.5s ease-in-out infinite}.ai-gen__success-bar{background:var(--success-bg);border-top:1px solid var(--success-border);padding:14px 20px;display:flex;justify-content:space-between;align-items:center;color:var(--success);font-size:.83rem;flex-wrap:wrap;gap:8px}.ai-gen__reset-btn{background:none;border:1px solid var(--success-border);color:var(--success);border-radius:6px;padding:5px 12px;font-size:.76rem;cursor:pointer;font-family:inherit;transition:all .15s;width:auto}.ai-gen__reset-btn:hover{background:var(--success);color:#fff}.ai-gen__edit-hint{color:var(--text-muted);font-size:.78rem;margin:8px 0 16px;font-family:JetBrains Mono,monospace}.plan-notice{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:12px 16px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;font-size:.83rem;color:var(--text-muted);flex-wrap:wrap;gap:8px}.plan-notice__upgrade{color:var(--warning);font-weight:600}.plan-badge{font-size:.72rem;padding:3px 10px;border-radius:20px;font-weight:600;font-family:JetBrains Mono,monospace}.plan-badge--pro{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-accent)}.webhook-badge{font-size:.68rem;padding:2px 8px;border-radius:10px;background:var(--badge-bg);color:var(--badge-color);border:1px solid rgba(79,110,247,.3);font-family:JetBrains Mono,monospace}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media (max-width: 768px){.landing-stats,.landing-how__steps{grid-template-columns:repeat(2,1fr)}.landing-diff{grid-template-columns:1fr}}@media (max-width: 520px){.landing-nav,.dashboard-header{padding:0 16px}.landing-hero{padding:48px 16px 40px}main{padding:14px!important}.execution-item{grid-template-columns:1fr}.ai-gen__skill-btn{grid-template-columns:36px 1fr}.ai-gen__skill-desc{display:none}.recipe-item--marketplace{flex-direction:column}.recipe-item__actions--col{min-width:unset;width:100%}}.recipe-step{display:flex;align-items:flex-start;gap:14px;padding:12px 16px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;transition:border-color .15s}.recipe-step:hover{border-color:var(--border-bright)}.recipe-step__num{flex-shrink:0;width:28px;height:28px;background:var(--gradient-accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:700;box-shadow:var(--shadow-accent);margin-top:1px}.recipe-step__text{color:var(--text);font-size:.9rem;line-height:1.65;flex:1}.recipe-step__text strong{color:var(--accent);font-weight:600}.recipe-step__plain{color:var(--text-muted);font-size:.88rem;line-height:1.6;padding:6px 0;margin:0}.chatbot-fab{position:fixed;bottom:28px;right:28px;width:56px;height:56px;border-radius:50%;background:var(--gradient-accent);border:none;cursor:pointer;box-shadow:var(--shadow-lg),var(--shadow-accent);display:flex;align-items:center;justify-content:center;z-index:999;transition:all .22s;font-family:inherit}.chatbot-fab:hover{transform:scale(1.08) translateY(-2px);box-shadow:0 8px 32px #4f6ef780}.chatbot-fab__icon{font-size:1.35rem;line-height:1;color:#fff}.chatbot-fab__badge{position:absolute;top:6px;right:6px;width:10px;height:10px;background:var(--error);border-radius:50%;border:2px solid var(--bg);animation:pulse 1.5s ease-in-out infinite}.chatbot-window{position:fixed;bottom:96px;right:28px;width:360px;max-height:520px;background:var(--bg-card);border:1px solid var(--border-bright);border-radius:20px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:998;overflow:hidden;animation:slideUp .2s ease}.chatbot-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:var(--gradient-accent);flex-shrink:0}.chatbot-header__info{display:flex;align-items:center;gap:12px}.chatbot-header__avatar{width:38px;height:38px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.chatbot-header__name{color:#fff;font-weight:700;font-size:.9rem}.chatbot-header__status{color:#fffc;font-size:.72rem;display:flex;align-items:center;gap:5px;margin-top:2px}.chatbot-header__dot{width:7px;height:7px;background:#4ade80;border-radius:50%;animation:pulse 2s ease-in-out infinite;flex-shrink:0}.chatbot-header__close{background:#ffffff26;border:none;color:#fff;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;font-family:inherit;transition:background .15s;flex-shrink:0}.chatbot-header__close:hover{background:#ffffff4d}.chatbot-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}.chatbot-msg{display:flex;align-items:flex-end;gap:8px}.chatbot-msg--user{flex-direction:row-reverse}.chatbot-msg__avatar{width:28px;height:28px;background:var(--gradient-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;flex-shrink:0;box-shadow:var(--shadow-accent)}.chatbot-msg__bubble{max-width:78%;padding:10px 14px;border-radius:16px;font-size:.84rem;line-height:1.55;word-break:break-word}.chatbot-msg--assistant .chatbot-msg__bubble{background:var(--bg-elevated);border:1px solid var(--border);border-bottom-left-radius:4px;color:var(--text)}.chatbot-msg--user .chatbot-msg__bubble{background:var(--gradient-accent);color:#fff;border-bottom-right-radius:4px;box-shadow:var(--shadow-accent)}.chatbot-msg__bubble--typing{display:flex;align-items:center;gap:5px;padding:14px 16px;min-width:56px}.chatbot-msg__bubble--typing span{width:7px;height:7px;background:var(--text-muted);border-radius:50%;animation:typing-bounce 1.2s ease-in-out infinite}.chatbot-msg__bubble--typing span:nth-child(2){animation-delay:.2s}.chatbot-msg__bubble--typing span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-6px);opacity:1}}.chatbot-error{font-size:.78rem;color:var(--error);background:var(--error-bg);border:1px solid var(--error-border);border-radius:8px;padding:8px 12px;text-align:center}.chatbot-input-row{display:flex;align-items:flex-end;gap:8px;padding:12px 14px;border-top:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0}.chatbot-input{flex:1;background:var(--input-bg);border:1px solid var(--input-border);border-radius:10px;color:var(--text);padding:9px 12px;font-size:.85rem;font-family:inherit;resize:none;line-height:1.5;transition:border-color .15s;max-height:100px;overflow-y:auto}.chatbot-input:focus{outline:none;border-color:var(--accent)}.chatbot-input::placeholder{color:var(--text-muted);opacity:.6}.chatbot-input:disabled{opacity:.5}.chatbot-send{width:36px;height:36px;background:var(--gradient-accent);color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:1rem;font-family:inherit;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;box-shadow:var(--shadow-accent)}.chatbot-send:hover:not(:disabled){transform:scale(1.08)}.chatbot-send:disabled{opacity:.35;cursor:not-allowed;transform:none}.chatbot-footer{text-align:center;padding:8px 16px 12px;font-size:.7rem;color:var(--text-muted);background:var(--bg-elevated);font-family:JetBrains Mono,monospace;flex-shrink:0}@media (max-width: 420px){.chatbot-window{right:10px;left:10px;width:auto;bottom:88px}.chatbot-fab{bottom:18px;right:18px}}
