.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:20px 12px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden}.brand{display:flex;align-items:center;padding:4px 8px}.brand-logo{height:28px;width:auto;display:block}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text-muted);text-align:left;font-size:13px;font-weight:500;letter-spacing:-.01em;position:relative;transition:all var(--duration-fast) ease}.nav-item:hover{background:var(--hover-overlay);color:var(--text)}.nav-item.is-active{background:var(--accent);color:var(--on-surface);font-weight:600}.nav-item.is-active:before{display:none}.nav-item.is-primary{background:var(--accent);color:var(--on-surface);font-weight:600;margin-bottom:8px;border:none;box-shadow:var(--shadow-sm)}.nav-item.is-primary:hover{background:var(--accent-hover);color:var(--accent-foreground)}.nav-icon{width:20px;display:inline-grid;place-items:center;font-size:14px}.sidebar-spacer{flex:1}.theme-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:6px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2)}.theme-switch-option{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 4px;border-radius:calc(var(--radius-md) - 2px);border:none;background:transparent;color:var(--text-muted);font-size:11px;font-weight:500;cursor:pointer;min-width:0;transition:all var(--duration-fast) ease}.theme-switch-option:hover:not(.is-active){background:var(--hover-overlay);color:var(--text)}.theme-switch-option.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.theme-switch-option.is-active .theme-switch-icon{color:var(--accent)}.theme-switch-icon{display:inline-grid;place-items:center;font-size:13px}.theme-switch-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1024px){.sidebar{padding:12px 8px;gap:12px}.nav-label,.theme-switch-label{display:none}.theme-switch{grid-template-columns:1fr;gap:4px}.theme-switch-option{padding:8px 4px;min-height:40px}.nav-item{justify-content:center;padding:10px 6px;min-height:44px}.nav-item.is-active:before{display:none}.nav-item.is-primary .nav-icon{font-size:16px}}@media (max-width: 720px){.sidebar{display:none}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 32px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:5;transition:box-shadow var(--duration-base) ease}.topbar.scrolled{box-shadow:var(--shadow-sm)}.topbar-brand{display:none;align-items:center;flex-shrink:0}.theme-toggle-topbar{display:none}.topbar-brand-logo{height:26px;width:auto;display:block}.search{flex:1;max-width:520px;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 12px;transition:all var(--duration-fast) ease;min-width:0}.search:hover{border-color:var(--border-strong)}.search:focus-within{border-color:var(--accent);box-shadow:var(--shadow-sm)}.search input{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:var(--text);min-width:0;letter-spacing:-.01em}.search input::placeholder{color:var(--text-soft)}.search-icon{color:var(--text-soft);font-size:16px;transition:color var(--duration-fast) ease}.search:focus-within .search-icon{color:var(--accent)}.kbd{font-family:var(--font-mono);font-size:11px;color:var(--text-soft);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:2px 6px;transition:opacity var(--duration-fast) ease}.topbar-actions{display:flex;align-items:center;gap:8px}.ghost-btn{background:transparent;border:1px solid transparent;color:var(--text-muted);padding:7px 12px;border-radius:var(--radius-md);font-size:13px;font-weight:500;letter-spacing:-.01em;position:relative;transition:all var(--duration-fast) ease}.ghost-btn:hover{background:var(--hover-overlay);color:var(--text)}.ghost-btn.icon-only{width:36px;padding:0;height:36px;display:grid;place-items:center;position:relative;font-size:15px}.agent-five-btn{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-weight:500}.agent-five-btn:hover{border-color:var(--border-strong);background:var(--surface-2)}.agent-five-spark{display:inline-block;background:linear-gradient(120deg,var(--blue),var(--green));-webkit-background-clip:text;background-clip:text;color:transparent;font-size:14px}.ghost-btn.is-on{background:var(--accent-soft);color:var(--accent)}.search-clear{background:transparent;border:none;color:var(--text-soft);font-size:18px;line-height:1;width:24px;height:24px;border-radius:var(--radius-md);cursor:pointer;display:grid;place-items:center;transition:all var(--duration-fast) ease}.search-clear:hover{background:var(--hover-overlay);color:var(--text)}.tb-pop-wrap{position:relative}.tb-pop{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:12px;z-index:30;animation:tb-pop-in .22s var(--ease-out-expo) forwards;transform-origin:top right}.tb-pop-wide{min-width:300px}.tb-pop-right{min-width:220px;transform-origin:top right}@keyframes tb-pop-in{0%{opacity:0;transform:scale(.96) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.tb-pop-head{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);font-weight:700;margin-bottom:10px}.tb-pop-section{margin-bottom:12px}.tb-pop-section:last-child{margin-bottom:0}.tb-pop-date{font-size:11px;color:var(--accent);font-weight:600;margin-bottom:4px}.tb-pop-section ul,.tb-pop-list{margin:0;padding-left:18px;font-size:13px;color:var(--text);line-height:1.5}.tb-pop-empty{font-size:13px;color:var(--text-muted);padding:8px 0}.tb-pop-user{display:flex;align-items:center;gap:10px;padding:4px 4px 8px}.tb-pop-avatar{width:36px;height:36px;border-radius:999px;background:linear-gradient(135deg,var(--blue),var(--pink));color:var(--on-surface);font-weight:700;font-size:13px;display:grid;place-items:center;box-shadow:var(--shadow-sm)}.tb-pop-name{font-weight:600;font-size:13px}.tb-pop-email{font-size:11px;color:var(--text-soft)}.tb-pop-divider{height:1px;background:var(--border);margin:8px -12px}.tb-pop-item{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--text);font-size:13px;padding:8px 10px;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all var(--duration-fast) ease}.tb-pop-item:hover{background:var(--hover-overlay)}.theme-toggle-topbar{font-size:16px}.avatar{width:32px;height:32px;border-radius:999px;background:var(--accent);color:var(--on-surface);font-weight:700;font-size:11px;display:grid;place-items:center;cursor:pointer;box-shadow:none;overflow:hidden;border:1px solid var(--border);padding:0;transition:all var(--duration-base) ease}.avatar:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.avatar-img{width:100%;height:100%;object-fit:cover;border-radius:999px;display:block}.tb-pop-avatar .avatar-img{width:100%;height:100%}@media (max-width: 1024px){.topbar{padding:12px 28px}}@media (max-width: 720px){.topbar{padding:10px 12px;gap:8px}.topbar-brand{display:flex}.theme-toggle-topbar{display:grid;min-height:44px;min-width:44px}.ghost-btn:not(.icon-only){display:none}.ghost-btn.icon-only{width:40px;height:40px;min-height:40px}.kbd{display:none}.search{padding:8px 12px;border-radius:var(--radius-md);min-height:44px}.search input{font-size:16px}.search input::placeholder{font-size:13px}.avatar{width:38px;height:38px}.credits-pill{min-height:36px}}@media (max-width: 420px){.ghost-btn.icon-only.agent-five-btn{display:none}.topbar{padding:8px 10px;gap:6px}}.credits-pill{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:12px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:all var(--duration-fast) ease}.credits-pill-spark{font-size:11px;line-height:1;color:var(--blue)}.credits-pill-amount{font-variant-numeric:tabular-nums}.credits-pill-label{opacity:.6;font-weight:500}.credits-pill.is-low{border-color:var(--danger-border);color:var(--danger-text);background:var(--danger-bg)}.credits-pill.is-low .credits-pill-spark{color:var(--danger-text)}.credits-pill.is-low .credits-pill-label{opacity:.8}@media (max-width: 720px){.credits-pill-label{display:none}}@media (max-width: 480px){.credits-pill{padding:0 10px;font-size:11px}}.hero{margin-top:8px;margin-bottom:64px}.hero-head{text-align:center;margin-bottom:32px}.hero-title{font-size:clamp(32px,5vw,48px);letter-spacing:-.03em;margin:0 0 12px;font-weight:700;line-height:1.1}.grad{color:var(--accent)}.hero-sub{margin:0 auto;max-width:560px;color:var(--text-muted);font-size:15px;line-height:1.6;letter-spacing:-.01em}.format-tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap;justify-content:center}.format-tab{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);font-size:13px;font-weight:500;letter-spacing:-.01em;color:var(--text-muted);cursor:pointer;transition:all var(--duration-fast) ease}.format-tab:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface-2)}.format-tab.is-active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);font-weight:600}.format-icon{font-size:14px}.prompt-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);transition:all var(--duration-base) ease;max-width:640px;margin:0 auto}.prompt-card:focus-within{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.prompt-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:var(--radius-md);font-size:12px;font-weight:500;letter-spacing:-.01em;cursor:pointer;transition:all var(--duration-fast) ease}.chip:hover:not(:disabled){background:var(--hover-overlay);border-color:var(--border-strong)}.chip:disabled{opacity:.5;cursor:not-allowed}.chip-error{margin-top:-2px;margin-bottom:10px;padding:10px 14px;border-radius:var(--radius-md);background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);font-size:12px;line-height:1.4;animation:scaleIn .2s var(--ease-out-expo)}.prompt-input{width:100%;border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;font-size:16px;line-height:1.5;letter-spacing:-.01em;resize:vertical;outline:none;background:var(--surface-2);color:var(--text);transition:all var(--duration-fast) ease}.prompt-input::placeholder{color:var(--text-muted)}.prompt-input:focus{border-color:var(--accent);background:var(--surface);box-shadow:var(--shadow-sm)}.history-wrapper{position:relative}.history-dropdown{position:absolute;top:calc(100% + 8px);left:0;z-index:200;min-width:340px;max-width:520px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;max-height:0;opacity:0;transform:translateY(-6px);pointer-events:none;transition:all .3s var(--ease-out-expo)}.history-dropdown.is-open{max-height:380px;opacity:1;transform:translateY(0);pointer-events:auto;overflow-y:auto}.history-item{display:flex;align-items:center;gap:10px;padding:11px 16px;cursor:pointer;transition:background var(--duration-fast) ease}.history-item:hover,.history-item:focus-visible{background:var(--hover-overlay);outline:none}.history-item+.history-item{border-top:1px solid var(--border)}.history-item-text{flex:1;font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.history-item-delete{flex-shrink:0;background:none;border:none;color:var(--text-muted);font-size:11px;padding:2px 5px;border-radius:4px;cursor:pointer;opacity:0;transition:all var(--duration-fast) ease}.history-item:hover .history-item-delete,.history-item:focus-within .history-item-delete{opacity:1}.history-item-delete:hover{background:var(--hover-overlay)}.prompt-counter{font-size:11px;color:var(--text-soft);margin-top:6px;padding:0 2px;-webkit-user-select:none;user-select:none;transition:color .2s ease;letter-spacing:-.01em}.prompt-counter.is-warn{color:var(--orange)}.prompt-bottom{display:flex;align-items:center;gap:10px;margin-top:16px}.options-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:13px;font-weight:500;letter-spacing:-.01em;cursor:pointer;transition:all var(--duration-fast) ease;white-space:nowrap}.options-toggle:hover{color:var(--text);border-color:var(--border-strong);background:var(--hover-overlay)}.options-toggle.is-open{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.options-caret{font-size:9px;opacity:.6;display:inline-block;transition:transform .28s var(--ease-out-expo)}.options-caret.is-up{transform:rotate(-180deg)}.generate-btn{margin-left:auto;padding:10px 24px;border-radius:var(--radius-md);border:none;background:var(--accent);color:var(--on-surface);font-weight:600;font-size:14px;letter-spacing:-.01em;box-shadow:var(--shadow-sm);transition:all var(--duration-fast) ease;display:inline-flex;align-items:center;gap:8px}.generate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md);background:var(--accent-hover);color:var(--accent)}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.spinner{width:14px;height:14px;border-radius:999px;border:2px solid var(--spinner-track);border-top-color:var(--spinner-fill);animation:spin .8s linear infinite}.options-panel{display:flex;flex-direction:column;gap:14px;overflow:hidden;max-height:0;opacity:0;transform:translateY(-6px);padding-top:0;border-top:1px solid transparent;margin-top:0;pointer-events:none;transition:all .32s var(--ease-out-expo)}.options-panel.is-open{max-height:400px;opacity:1;transform:translateY(0);padding-top:16px;border-top-color:var(--border);margin-top:16px;pointer-events:auto}.option-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.option-label{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-soft);font-weight:600;min-width:58px;flex-shrink:0}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:3px;gap:2px}.seg-btn{background:transparent;border:none;padding:6px 12px;border-radius:calc(var(--radius-md) - 2px);font-size:12px;color:var(--text-muted);font-weight:500;letter-spacing:-.01em;cursor:pointer;transition:all var(--duration-fast) ease}.select{padding:7px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--on-surface);font-size:13px;color:var(--text);outline:none;cursor:pointer;transition:all var(--duration-fast) ease;letter-spacing:-.01em}.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.error-banner{margin-top:14px;padding:12px 16px;border-radius:var(--radius-md);background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);font-size:13px;line-height:1.45;animation:scaleIn .22s var(--ease-out-expo)}.suggestions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px;justify-content:center}.sugg-title{font-size:13px;color:var(--text-soft);margin-right:4px;font-weight:500;letter-spacing:-.01em}.sugg-chip{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:6px 12px;border-radius:var(--radius-md);font-size:12px;font-weight:500;letter-spacing:-.01em;cursor:pointer;transition:all var(--duration-fast) ease}.sugg-chip:hover{border-color:var(--text);color:var(--text);background:var(--hover-overlay)}@media (max-width: 720px){.hero{margin-bottom:40px}.hero-head{margin-bottom:20px}.hero-title{font-size:28px}.hero-sub{font-size:14px}.format-tabs{gap:6px}.format-tab{padding:8px 14px;font-size:12px;min-height:40px}.prompt-card{padding:16px}.prompt-input{font-size:16px;padding:12px 14px}.prompt-tools{gap:6px}.prompt-bottom{flex-wrap:wrap}.generate-btn{margin-left:0;flex:1;padding:12px 20px;justify-content:center;min-height:44px;font-size:14px}.options-toggle{min-height:40px}.options-panel{gap:12px}.option-row{flex-direction:column;align-items:flex-start;gap:8px}.chip,.sugg-chip{padding:8px 12px;font-size:12px;min-height:36px}.seg-btn{padding:8px 11px;font-size:12px;min-height:36px}.suggestions{gap:6px}.sugg-chip{flex-shrink:0}.select{font-size:16px;padding:10px 12px}}@media (max-width: 420px){.hero{margin-bottom:28px}.hero-title{font-size:24px}.format-tabs{flex-wrap:wrap;gap:4px}.prompt-input{min-height:80px}.prompt-bottom{gap:8px}.generate-btn{padding:12px 16px}}.opts-page{width:min(100%,680px);margin:0 auto;padding:0 0 72px;animation:fadeUp .26s var(--ease-out-expo, cubic-bezier(.16,1,.3,1)) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.opts-back{display:inline-flex;align-items:center;gap:7px;padding:8px 14px 8px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:color var(--duration-fast) ease,border-color var(--duration-fast) ease,background var(--duration-fast) ease;margin-bottom:28px}.opts-back:hover{color:var(--text);border-color:var(--border-strong);background:var(--hover-overlay)}.opts-back-arrow{font-size:14px}.opts-heading{margin-bottom:32px}.opts-title{font-family:var(--font-mono);font-size:clamp(24px,3.5vw,32px);font-weight:500;letter-spacing:-.03em;margin:0 0 8px}.opts-sub{margin:0;color:var(--text-muted);font-size:14.5px}.opts-sections{display:flex;flex-direction:column;gap:28px}.opts-section{display:flex;flex-direction:column;gap:14px}.opts-section-header{display:flex;align-items:center;justify-content:space-between}.opts-section-label{font-size:11.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--text-soft);font-weight:700}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px}.theme-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 8px;border-radius:16px;border:2px solid var(--border);background:var(--surface);cursor:pointer;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-base) ease,transform .12s ease}.theme-card:hover{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.theme-card.is-active{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}.theme-preview{width:100%;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:6px;overflow:hidden}.theme-swatch{width:16px;height:16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.18);flex-shrink:0}.theme-name{font-size:11.5px;font-weight:600;color:var(--text-muted);text-align:center}.theme-card.is-active .theme-name{color:var(--text)}.theme-card-ai .ai-preview{background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 20%,var(--surface-2)) 0%,var(--surface-2) 100%)}.ai-preview-icon{font-size:22px;color:var(--accent);opacity:.75;line-height:1}.theme-ai-hint{font-size:9.5px;font-weight:500;color:var(--accent);opacity:.6;text-align:center;margin-top:-2px;letter-spacing:.02em}.theme-card.is-active .theme-ai-hint{opacity:1}.surprise-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--accent);font-size:12.5px;font-weight:600;cursor:pointer;transition:background var(--duration-fast) ease,border-color var(--duration-fast) ease,box-shadow var(--duration-base) ease}.surprise-btn:hover{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.opts-format-tabs{display:flex;gap:8px;flex-wrap:wrap}.opts-format-tab{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;background:var(--surface);border:1.5px solid var(--border);border-radius:999px;font-size:13.5px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease,background-color var(--duration-fast) ease,box-shadow var(--duration-base) ease}.opts-format-tab:hover{border-color:var(--border-strong);color:var(--text)}.opts-format-tab.is-active{border-color:var(--text);color:var(--text);background:var(--surface-2);font-weight:600}.opts-format-icon{font-size:13px}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:3px;gap:2px;flex-wrap:wrap}.seg-btn{background:transparent;border:none;padding:7px 14px;border-radius:8px;font-size:13px;color:var(--text-muted);font-weight:500;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.seg-btn:hover{color:var(--text)}.seg-btn.is-on{background:var(--on-surface);color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}.seg-hint{font-size:10px;color:var(--text-soft);font-weight:400;white-space:nowrap}.seg-btn.is-on .seg-hint{color:var(--text-muted)}.opts-select{padding:8px 14px;border-radius:10px;border:1px solid var(--border);background:var(--on-surface);font-size:13px;color:var(--text);outline:none;cursor:pointer;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease;max-width:200px}.opts-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.opts-error{margin-top:16px;padding:12px 16px;border-radius:12px;background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);font-size:13px;line-height:1.45}.opts-footer{margin-top:36px;display:flex;justify-content:flex-end}.opts-generate-btn{padding:12px 32px;border-radius:var(--radius-md);border:none;background:var(--text);color:var(--bg);font-weight:600;font-size:14px;letter-spacing:-.01em;box-shadow:var(--shadow-sm);display:inline-flex;align-items:center;gap:10px;cursor:pointer;transition:opacity var(--duration-fast) ease,transform var(--duration-fast) ease}.opts-generate-btn:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.opts-generate-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.opts-generate-arrow{font-size:17px;line-height:1}.spinner{width:14px;height:14px;border-radius:999px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.opts-sections>.opts-section+.opts-section{padding-top:28px;border-top:1px solid var(--border)}@media (max-width: 720px){.opts-page{padding:4px 0 60px}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}.theme-card{min-height:80px}.opts-generate-btn{width:100%;justify-content:center;min-height:48px}.opts-footer{justify-content:stretch}.seg{flex-wrap:wrap}.seg-btn{min-height:40px;padding:8px 14px}.opts-format-tab{min-height:40px}.opts-select{font-size:16px;padding:10px 14px;min-height:44px}.opts-back{min-height:40px}.surprise-btn{min-height:36px}}.row{margin-bottom:48px}.row-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}.row-title{font-size:18px;font-weight:600;margin:0;letter-spacing:-.015em;color:var(--text)}.row-link{background:transparent;border:none;color:var(--accent);font-weight:600;font-size:13px;padding:5px 8px;border-radius:8px;cursor:pointer;transition:background-color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-out-back)}.row-link:hover{background:var(--accent-soft);transform:translate(2px)}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}@media (max-width: 720px){.row{margin-bottom:36px}.template-grid{grid-template-columns:1fr 1fr;gap:12px}.template-name{font-size:13px}}.template-card{background:transparent;border:none;padding:0;text-align:left;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out-back)}.template-card:hover{transform:none}.template-card:active{transform:translateY(0)}.template-thumb{aspect-ratio:16 / 10;border-radius:18px;position:relative;overflow:hidden;border:1px solid var(--border);box-shadow:none;transition:transform var(--duration-base) var(--ease-out-expo),box-shadow var(--duration-base) ease}.template-card:hover .template-thumb{transform:none;box-shadow:var(--shadow-sm)}.template-card:active .template-thumb{transform:translateY(0) scale(1)}.template-mock{position:absolute;top:16px;right:16px;bottom:16px;left:16px;display:flex;flex-direction:column;gap:8px}.m-line{height:8px;border-radius:4px;background:#ffffffb8;transition:width var(--duration-base) var(--ease-out-expo)}.m-line.w70{width:70%}.m-line.w40{width:40%}.template-card:hover .m-line.w70{width:75%}.template-card:hover .m-line.w40{width:55%}.m-block{margin-top:auto;height:36%;border-radius:8px;background:#ffffff52;border:1px dashed rgba(255,255,255,.5);transition:background-color var(--duration-base) ease}.template-card:hover .m-block{background:#ffffff6b}.template-meta{display:flex;flex-direction:column;gap:3px;padding:0 3px}.template-name{font-size:13.5px;font-weight:500;color:var(--text);transition:color var(--duration-fast) ease}.template-card:hover .template-name{color:var(--accent)}.template-tag{font-size:12px;color:var(--text-soft);font-weight:500}.tpl-page{width:min(100%,1100px);margin:0 auto;padding:16px 0 80px}.tpl-header{margin-bottom:28px}.tpl-title{font-family:var(--font-mono);font-size:28px;font-weight:500;color:var(--text);margin:0 0 6px;letter-spacing:-.03em}.tpl-sub{font-size:14px;color:var(--text-muted);margin:0}.tpl-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.tpl-cat-btn{padding:7px 18px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.tpl-cat-btn:hover{color:var(--text);border-color:var(--text-muted)}.tpl-cat-btn.is-active{background:var(--text);border-color:var(--text);color:var(--bg)}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.tpl-card{position:relative;display:flex;flex-direction:column;border-radius:16px;border:1px solid var(--border);background:var(--surface);overflow:hidden;cursor:pointer;text-align:left;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,border-color .2s ease}.tpl-card:hover,.tpl-card.is-hovered{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.tpl-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tpl-thumb{height:120px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.tpl-mock{display:flex;flex-direction:column;gap:6px;padding:16px;width:80%}.tm-line,.tm-block{display:block;border-radius:4px;background:#ffffff59;height:8px}.tm-block{height:28px;border-radius:6px;background:#ffffff2e}.tm-line.w80{width:80%}.tm-line.w65{width:65%}.tm-line.w55{width:55%}.tm-line.w40{width:40%}.tpl-info{padding:14px 16px;flex:1}.tpl-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.tpl-name{font-size:14px;font-weight:600;color:var(--text)}.tpl-tag{font-size:11px;font-weight:500;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);padding:2px 8px;border-radius:999px;white-space:nowrap}.tpl-desc{font-size:12.5px;color:var(--text-muted);margin:0;line-height:1.4}.tpl-use-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--bg);background:#000c;opacity:0;transition:opacity .18s ease;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tpl-card:hover .tpl-use-overlay,.tpl-card.is-hovered .tpl-use-overlay{opacity:1}@media (max-width: 600px){.tpl-page{padding:8px 0 60px}.tpl-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.tpl-title{font-size:22px}}.my-decks-page{width:min(100%,1100px);margin:0 auto;padding:4px 0 72px}.my-decks-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:28px}.my-decks-title-group{display:flex;align-items:baseline;gap:10px}.my-decks-title{font-family:var(--font-mono);font-size:28px;font-weight:500;color:var(--text);margin:0;letter-spacing:-.03em}.my-decks-count{font-size:14px;color:var(--text-muted);font-weight:400}.my-decks-controls{display:flex;align-items:center;gap:10px}.sort-select-wrap{position:relative;display:inline-flex;align-items:center}.sort-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:7px 30px 7px 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;outline:none;transition:border-color .15s ease,background .15s ease}.sort-select:hover,.sort-select:focus{border-color:var(--border-strong)}.sort-select-caret{position:absolute;right:10px;pointer-events:none;font-size:11px;color:var(--text-muted)}.my-decks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.my-decks-list{display:flex;flex-direction:column;gap:8px}.deck-card--list{flex-direction:row!important;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:8px 14px 8px 8px;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease}.deck-card--list:hover{background:var(--surface-2);border-color:var(--border-strong)}.deck-card--list .deck-thumb{width:132px;flex-shrink:0;aspect-ratio:16 / 10;border-radius:10px;border:none;box-shadow:none}.deck-card--list .deck-thumb-inner{top:10px;right:10px;bottom:10px;left:10px;gap:2px}.deck-card--list .deck-headline{font-size:13px}.deck-card--list .deck-meta{flex:1;min-width:0;padding:0}.deck-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.deck-slide-count{font-size:12px;color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border);padding:1px 8px;border-radius:999px}.my-decks-empty{margin-top:8px}.empty-cta{margin-top:18px;padding:10px 22px;border-radius:var(--radius-md);border:none;background:var(--text);color:var(--bg);font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.empty-cta:hover{opacity:.9;transform:translateY(-1px)}@media (max-width: 720px){.my-decks-page{padding:0 0 60px}.my-decks-title{font-size:22px}.my-decks-grid{grid-template-columns:1fr 1fr;gap:12px}.deck-card--list .deck-thumb{width:92px}.my-decks-controls{flex-wrap:wrap;gap:8px}.sort-select{font-size:16px;padding:10px 30px 10px 13px;min-height:44px}.empty-cta{padding:12px 22px;min-height:44px;font-size:14px}}@media (max-width: 420px){.my-decks-grid{grid-template-columns:1fr}.my-decks-header{flex-direction:column;align-items:flex-start}}.view-toggle{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:3px;gap:2px}.vt-btn{width:32px;height:28px;border:none;background:transparent;border-radius:8px;color:var(--text-muted);font-size:13px;cursor:pointer;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.vt-btn:hover{color:var(--text)}.vt-btn.is-on{background:var(--on-surface);color:var(--text);box-shadow:var(--shadow-sm)}.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.deck-list{display:flex;flex-direction:column;gap:8px}.deck-list .deck-card{flex-direction:row;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:8px 14px 8px 8px;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-out-back),box-shadow var(--duration-base) ease}.deck-list .deck-card:hover{background:var(--surface-2);border-color:var(--border-strong);transform:none;box-shadow:var(--shadow-sm)}.deck-list .deck-thumb{width:132px;flex-shrink:0;aspect-ratio:16 / 10;border-radius:10px;border:none;box-shadow:none}.deck-list .deck-card:hover .deck-thumb{transform:none;box-shadow:none}.deck-list .deck-thumb-inner{top:10px;right:10px;bottom:10px;left:10px;gap:2px}.deck-list .deck-headline{font-size:13px}.deck-list .deck-subline,.deck-list .deck-pill{display:none}.deck-list .deck-meta{flex:1;min-width:0;padding:0}.deck-list .deck-title-row{align-items:center}.deck-list .deck-title{font-size:14px}@media (max-width: 720px){.deck-list .deck-thumb{width:92px}}@media (max-width: 720px){.deck-grid{grid-template-columns:1fr 1fr;gap:14px}.deck-thumb-inner{top:14px;right:14px;bottom:14px;left:14px}.deck-headline{font-size:13px}.deck-subline{display:none}.deck-more{width:36px;height:36px;min-height:36px}.deck-menu button{padding:12px 14px;min-height:44px}}@media (max-width: 420px){.deck-grid{grid-template-columns:1fr}.deck-card{gap:8px}}.deck-card{display:flex;flex-direction:column;gap:10px;cursor:pointer;animation:fadeInUp .45s var(--ease-out-expo) both}.deck-thumb{position:relative;aspect-ratio:16 / 10;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);box-shadow:none;transition:transform var(--duration-base) var(--ease-out-expo),box-shadow var(--duration-base) ease,border-color var(--duration-fast) ease}.deck-card:hover .deck-thumb{transform:none;box-shadow:var(--shadow-sm);border-color:var(--border-strong)}.deck-card:active .deck-thumb{transform:none}.deck-thumb{background:transparent;border:1px solid var(--border);width:100%;padding:0;cursor:pointer;text-align:left}.deck-thumb-inner{position:absolute;top:18px;right:18px;bottom:18px;left:18px;display:flex;flex-direction:column;gap:6px}.deck-eyebrow{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.deck-headline{font-size:16px;font-weight:600;letter-spacing:-.02em;line-height:1.25;color:var(--text)}.deck-subline{font-size:11.5px;color:var(--text-muted);line-height:1.35}.deck-sub{font-size:11px;color:#00000080;text-transform:uppercase;letter-spacing:.08em}.empty{border:1px solid var(--border);border-radius:16px;padding:36px 24px;text-align:center;background:var(--surface);animation:fadeIn .3s ease}.empty-art{font-size:20px;color:var(--text-soft);margin-bottom:8px;opacity:.6}.empty-title{font-weight:600;font-size:15px}.empty-sub{margin:6px 0 0;color:var(--text-muted);font-size:13px}.deck-menu-wrap{position:relative}.deck-menu{position:absolute;right:0;top:30px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;min-width:140px;overflow:hidden;z-index:5;animation:tb-pop-in .2s var(--ease-out-expo) forwards;transform-origin:top right}.deck-menu button{background:transparent;border:none;padding:10px 14px;text-align:left;font-size:13px;color:var(--text);font-weight:500;cursor:pointer;transition:background-color var(--duration-fast) ease}.deck-menu button:hover{background:var(--surface-2)}.deck-menu button.danger{color:var(--error-text)}.deck-menu button.danger:hover{background:var(--error-bg)}.deck-pill{position:absolute;bottom:12px;right:12px;background:var(--surface-2);color:var(--text);font-size:10px;padding:2px 8px;border-radius:4px;font-weight:600;border:1px solid var(--border)}.deck-meta{display:flex;flex-direction:column;gap:3px;padding:0 3px}.deck-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.deck-title{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.deck-more{background:transparent;border:none;color:var(--text-soft);font-size:18px;line-height:1;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;cursor:pointer;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease}.deck-more:hover{background:var(--hover-overlay);color:var(--text)}.deck-edited{font-size:12px;color:var(--text-soft);font-weight:400}.deck-rename-input{flex:1;min-width:0;font-size:14px;font-weight:500;color:var(--text);background:var(--surface-2);border:1px solid var(--accent);border-radius:6px;padding:3px 8px;outline:none;box-shadow:0 0 0 2px var(--accent-soft);font-family:inherit;transition:box-shadow .15s ease}.deck-rename-input:focus{box-shadow:0 0 0 3px var(--accent-soft)}.editor{width:340px;flex-shrink:0;background:var(--surface);border-left:1px solid var(--border);padding:20px 20px 36px;overflow-y:auto;display:flex;flex-direction:column;gap:20px;animation:slideInRight .28s var(--ease-out-expo) forwards}.editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.editor-head-text{display:flex;flex-direction:column;gap:3px;min-width:0}.editor-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:700}.editor-title{margin:0;font-size:16px;font-weight:600;letter-spacing:-.01em}.editor-close{display:none;width:36px;height:36px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:22px;line-height:1;flex-shrink:0;cursor:pointer;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease}.editor-close:hover{background:var(--surface-2);color:var(--text)}.ed-section{display:flex;flex-direction:column;gap:8px}.ed-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);font-weight:700}.ed-input,.ed-textarea{width:100%;padding:10px 12px;font-size:13px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);outline:none;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,background-color var(--duration-fast) ease;font-family:inherit}.ed-input:focus,.ed-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--on-surface)}.ed-textarea{resize:vertical;line-height:1.45}.ed-code{min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.55;-moz-tab-size:2;tab-size:2}.ed-divider{height:1px;background:var(--border);margin:4px 0}.regen-btn{margin-top:8px;padding:10px 16px;border-radius:var(--radius-md);border:none;background:var(--text);color:var(--bg);font-weight:600;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--duration-fast) ease,transform var(--duration-fast) ease,box-shadow var(--duration-base) ease,opacity var(--duration-fast) ease}.regen-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.regen-btn:active:not(:disabled){transform:translateY(0)}.regen-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.spinner-sm{width:12px;height:12px;border-radius:999px;border:2px solid var(--border);border-top-color:var(--text);animation:spin .8s linear infinite}.regen-error{margin-top:8px;padding:10px 12px;border-radius:10px;background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);font-size:12px;line-height:1.4;animation:scaleIn .2s var(--ease-out-expo)}.regen-hint{margin:8px 0 0;font-size:11px;color:var(--text-soft);line-height:1.4}.redesign-actions{display:flex;align-items:center;gap:8px}.redesign-actions .regen-btn{flex:1}.redesign-cancel{margin-top:8px;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text-soft);font-weight:500;font-size:13px;cursor:pointer;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease,border-color var(--duration-fast) ease}.redesign-cancel:hover:not(:disabled){color:var(--text);border-color:var(--text-soft);background:var(--surface-2)}.redesign-cancel:disabled{opacity:.5;cursor:not-allowed}.img-preview{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:var(--surface-2);margin-bottom:8px;transition:box-shadow var(--duration-base) ease}.img-preview:hover{box-shadow:var(--shadow-sm)}.img-preview img{width:100%;height:100%;object-fit:cover;display:block}.img-preview-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent 40%);display:flex;align-items:flex-end;justify-content:flex-end;padding:10px;opacity:0;transition:opacity var(--duration-fast) ease}.img-preview:hover .img-preview-overlay{opacity:1}.img-clear{background:var(--bg);opacity:.92;border:1px solid var(--border);color:var(--text);padding:5px 12px;border-radius:8px;font-size:11px;font-weight:600;cursor:pointer;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease}.img-clear:hover{background:var(--on-surface);color:var(--error-text)}.img-empty{width:100%;aspect-ratio:16 / 9;border-radius:10px;border:1px dashed var(--border-strong);background:var(--surface-2);display:grid;place-items:center;color:var(--text-soft);font-size:12px;margin-bottom:8px}@media (max-width: 1100px){.editor{width:300px}}@media (max-width: 900px){.editor{position:fixed;left:0;right:0;bottom:0;width:100%;max-height:82vh;border-left:none;border-top:1px solid var(--border);border-radius:20px 20px 0 0;box-shadow:0 -12px 48px #0f0f1a2e;padding:14px 20px calc(28px + env(safe-area-inset-bottom));z-index:50;animation:drawer-up .28s var(--ease-out-expo) forwards}.editor:before{content:"";display:block;width:40px;height:4px;border-radius:999px;background:var(--border-strong);margin:0 auto 12px}.editor-close{display:grid;place-items:center}@keyframes drawer-up{0%{transform:translateY(100%);opacity:.3}to{transform:translateY(0);opacity:1}}}@media (max-width: 720px){.ed-input,.ed-textarea{font-size:16px;padding:12px 14px}.regen-btn{padding:12px 16px;font-size:14px}}.viewer{display:flex;flex-direction:column;height:100vh;background:var(--bg);position:relative}.vbar-toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:var(--text, #1a1a26);color:var(--on-surface);padding:12px 20px;border-radius:999px;font-size:13px;font-weight:500;box-shadow:0 16px 40px #0000004d;z-index:100;animation:vbar-toast-in .24s var(--ease-out-expo) forwards;pointer-events:none}@keyframes vbar-toast-in{0%{opacity:0;transform:translate(-50%,12px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}.viewer-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid var(--border);background:rgba(var(--surface),.8);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);gap:16px;position:relative;z-index:10}.vbar-title{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0}.vbar-deck{font-family:var(--font-mono);font-weight:500;font-size:16px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.02em}.vbar-meta{font-size:12px;color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vbar-actions{display:flex;gap:8px}.vbar-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);margin-left:8px;padding:4px 12px;border-radius:999px;background:var(--surface-2);white-space:nowrap;border:1px solid var(--border);transition:background-color var(--duration-fast) ease}.vbar-status.is-streaming{color:var(--bg);background:var(--text);border-color:transparent;font-weight:600}.dot-pulse{width:8px;height:8px;border-radius:999px;background:currentColor;animation:dot-pulse 1.1s ease-in-out infinite;display:inline-block}@keyframes dot-pulse{0%,to{transform:scale(.7);opacity:.55}50%{transform:scale(1);opacity:1}}.thumb.is-pending{opacity:.55;cursor:default}.thumb.is-pending:hover{background:transparent}.thumb.is-in-progress{background:var(--surface-2);border-radius:var(--radius-md);outline:1.5px solid var(--text);outline-offset:-1.5px;animation:thumb-pulse 1.6s ease-in-out infinite}@keyframes thumb-pulse{0%,to{box-shadow:0 0 #7c5cff00}50%{box-shadow:0 0 0 5px #7c5cff1f}}.caret-blink{display:inline-block;margin-left:2px;color:var(--accent, #7c5cff);animation:caret-blink 1s steps(2,start) infinite;font-weight:400}@keyframes caret-blink{to{opacity:0}}.typing-caret{display:inline-block;width:.42em;margin-left:.08em;color:var(--slide-accent, var(--accent, #7c5cff));animation:caret-blink .9s steps(2,start) infinite;vertical-align:baseline;font-weight:400;opacity:.9}.slide.is-typing .slide-footer:before{content:"● drafting…";display:inline-block;margin-right:10px;padding:3px 10px;border-radius:999px;background:var(--hover-overlay);color:var(--slide-accent, var(--accent, #7c5cff));font-size:11px;letter-spacing:.04em;text-transform:lowercase;animation:dot-pulse 1.2s ease-in-out infinite}.vbar-progress{position:absolute;left:0;right:0;bottom:-1px;height:2.5px;background:var(--surface-2, #f1efe8);overflow:hidden}.vbar-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent, #7c5cff),var(--accent-2, #ff6ea0));transition:width .5s var(--ease-out-expo);box-shadow:0 0 14px #7c5cff66}.thinking-panel{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:32px 24px;isolation:isolate;animation:think-fade-in .36s var(--ease-out-expo) both}@keyframes think-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.thinking-aura{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.thinking-aura-blob{position:absolute;width:540px;height:540px;border-radius:50%;filter:blur(90px);opacity:.32;mix-blend-mode:screen}.thinking-aura-blob.a{top:-160px;left:-120px;background:var(--think-primary, #7c5cff);animation:think-drift-a 14s ease-in-out infinite alternate}.thinking-aura-blob.b{bottom:-200px;right:-160px;background:var(--think-accent, #ff6ea0);animation:think-drift-b 18s ease-in-out infinite alternate}@keyframes think-drift-a{0%{transform:translate(0) scale(1)}to{transform:translate(60px,40px) scale(1.08)}}@keyframes think-drift-b{0%{transform:translate(0) scale(1)}to{transform:translate(-50px,-30px) scale(1.12)}}.thinking-card{position:relative;z-index:1;width:min(560px,100%);background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:36px 36px 32px;box-shadow:var(--shadow-xl, 0 24px 70px rgba(0, 0, 0, .1), 0 8px 24px rgba(0, 0, 0, .06));display:flex;flex-direction:column;gap:20px}.thinking-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);font-weight:700}.thinking-eyebrow-text{color:var(--text)}.thinking-orb{position:relative;width:22px;height:22px;display:inline-grid;place-items:center}.thinking-orb-core{width:10px;height:10px;border-radius:50%;background:var(--text);box-shadow:0 0 14px var(--border);animation:think-core 1.6s ease-in-out infinite}.thinking-orb-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid var(--border-strong);animation:think-ring 1.6s ease-out infinite}@keyframes think-core{0%,to{transform:scale(.85);opacity:.85}50%{transform:scale(1.05);opacity:1}}@keyframes think-ring{0%{transform:scale(.6);opacity:.8}to{transform:scale(1.6);opacity:0}}.thinking-headline{font-family:var(--font-mono);margin:0;font-size:28px;line-height:1.1;letter-spacing:-.03em;font-weight:500;color:var(--text)}.thinking-sub{margin:-10px 0 0;font-size:14px;line-height:1.55;color:var(--text-soft);max-width:46ch}.thinking-prompt{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border)}.thinking-prompt-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);font-weight:700}.thinking-prompt-text{margin:0;font-size:13.5px;line-height:1.55;color:var(--text)}.thinking-progress{display:flex;flex-direction:column;gap:8px}.thinking-progress-track{width:100%;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.thinking-progress-fill{height:100%;border-radius:999px;background:var(--text);transition:width .7s var(--ease-out-expo);position:relative;overflow:hidden}.thinking-progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);transform:translate(-100%);animation:think-progress-sheen 1.8s linear infinite}@keyframes think-progress-sheen{to{transform:translate(100%)}}.thinking-progress-label{font-size:12px;color:var(--text-soft);font-variant-numeric:tabular-nums;font-weight:500}.thinking-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.thinking-stage{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);font-size:12px;color:var(--text-soft);transition:background-color var(--duration-base) ease,border-color var(--duration-base) ease,color var(--duration-base) ease}.thinking-stage-marker{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:1px solid var(--border);font-size:11px;font-weight:700;color:var(--text-soft);flex-shrink:0;transition:all var(--duration-base) ease}.thinking-stage-label{font-weight:500;line-height:1.2}.thinking-stage.is-active{background:color-mix(in oklab,var(--think-primary, #7c5cff) 8%,var(--surface));border-color:color-mix(in oklab,var(--think-primary, #7c5cff) 35%,var(--border));color:var(--text)}.thinking-stage.is-active .thinking-stage-marker{background:var(--text);color:var(--bg);border-color:transparent;box-shadow:0 0 0 4px var(--surface-2);animation:think-marker-pulse 1.6s ease-in-out infinite}@keyframes think-marker-pulse{0%,to{box-shadow:0 0 color-mix(in oklab,var(--think-primary, #7c5cff) 30%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in oklab,var(--think-primary, #7c5cff) 6%,transparent)}}.thinking-stage.is-done{color:var(--text)}.thinking-stage.is-done .thinking-stage-marker{background:color-mix(in oklab,var(--think-primary, #7c5cff) 18%,var(--surface));color:var(--think-primary, #7c5cff);border-color:color-mix(in oklab,var(--think-primary, #7c5cff) 35%,var(--border))}.thinking-deck-title{display:flex;flex-direction:column;gap:4px;padding-top:14px;border-top:1px dashed var(--border)}.thinking-deck-title-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);font-weight:700}.thinking-deck-title-text{font-size:15px;font-weight:600;color:var(--text);line-height:1.3}@media (max-width: 720px){.thinking-card{padding:26px 22px 24px;gap:16px}.thinking-headline{font-size:22px}.thinking-stages{grid-template-columns:1fr}}.shimmer-line{height:10px;border-radius:5px;background:linear-gradient(90deg,var(--border) 0%,var(--surface-2) 50%,var(--border) 100%);background-size:200% 100%;animation:shimmer 1.6s linear infinite;margin:3px 0}.shimmer-line.short{width:40%;height:8px}.slide{position:relative;width:100%;height:100%;background:var(--slide-bg, #0f0f1a);color:var(--on-surface);padding:56px 64px;display:flex;flex-direction:column;overflow:hidden;font-family:Inter,system-ui,sans-serif;animation:slideFadeIn .35s var(--ease-out-expo) forwards}@keyframes slideFadeIn{0%{opacity:0;transform:scale(.99)}to{opacity:1;transform:scale(1)}}.slide-grain{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:4px 4px;pointer-events:none}.slide-glow{position:absolute;width:600px;height:600px;border-radius:999px;filter:blur(120px);opacity:.45;background:radial-gradient(closest-side,var(--slide-primary, #7c5cff),transparent);top:-200px;right:-160px;pointer-events:none}.slide-glow.alt{top:auto;right:auto;bottom:-240px;left:-160px;width:540px;height:540px;background:radial-gradient(closest-side,var(--slide-accent, #ff6ea0),transparent);opacity:.35}.slide-body-wrap{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;z-index:2}.partial-slide{justify-content:center;padding:72px 84px}.partial-slide:before,.partial-slide:after{content:"";position:absolute;border-radius:999px;pointer-events:none}.partial-slide:before{width:620px;height:620px;top:-220px;right:-160px;background:radial-gradient(closest-side,var(--slide-primary, #7c5cff),transparent);opacity:.35;filter:blur(90px)}.partial-slide:after{width:460px;height:460px;left:-120px;bottom:-180px;background:radial-gradient(closest-side,var(--slide-accent, #ff6ea0),transparent);opacity:.28;filter:blur(80px)}.partial-slide-inner{position:relative;z-index:1;max-width:820px;display:flex;flex-direction:column;gap:18px}.partial-eyebrow{font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--slide-accent, #ff6ea0)}.partial-slide h2{margin:0;font-size:64px;line-height:1.05;letter-spacing:-.025em}.partial-slide p{margin:0;max-width:58ch;font-size:22px;line-height:1.45;color:#ffffffb8}.partial-code{max-height:180px;overflow:hidden;margin:8px 0 0;padding:16px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#00000038;color:#ffffff9e;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap}.slide-footer{position:relative;display:flex;justify-content:flex-end;font-size:11px;letter-spacing:.08em;color:#fff6;text-transform:uppercase;margin-top:12px}.thumb-strip{display:none}@media (max-width: 900px){.viewer-body,.viewer-body.with-editor{grid-template-columns:1fr;grid-template-rows:auto 1fr}.viewer-side{display:none}.thumb-strip{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:10px 14px;background:var(--surface-2);border-bottom:1px solid var(--border);scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}.thumb-strip::-webkit-scrollbar{height:0;display:none}.strip-thumb{flex:0 0 auto;display:flex;align-items:center;gap:6px;max-width:180px;padding:7px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:12.5px;cursor:pointer;scroll-snap-align:start;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,transform var(--duration-fast) var(--ease-out-back)}.strip-thumb:disabled{cursor:default}.strip-thumb.is-active{background:var(--accent);border-color:var(--accent);color:var(--on-surface);box-shadow:0 4px 14px #7c5cff4d}.strip-thumb.is-pending{opacity:.6}.strip-num{width:18px;height:18px;border-radius:999px;background:var(--surface-2);display:grid;place-items:center;font-size:10.5px;font-weight:700;color:var(--text-muted);flex-shrink:0}.strip-thumb.is-active .strip-num{background:var(--accent-soft);color:var(--on-surface)}.strip-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.strip-thumb.is-pending .strip-title{width:60px}.stage-slide-area{padding:18px 16px 24px}.stage-frame{border-radius:14px}.viewer-bar{padding:10px 14px;gap:8px}.vbar-back-label{display:none}.vbar-back{width:38px;padding:0;height:38px;display:grid;place-items:center;flex-shrink:0}.vbar-back-icon{font-size:18px}.vbar-meta,.vbar-only-wide,.vbar-export-full{display:none}.vbar-export-icon{display:inline;font-size:16px}.vbar-edit-full{display:none}.vbar-edit-mini{display:inline;font-size:16px}.vbar-btn{min-height:38px}.vbar-status{margin-left:0;padding:3px 8px;font-size:11px}.vbar-deck{font-size:13px}}@media (max-width: 420px){.viewer-bar .vbar-status{display:none}.stage-slide-area{padding:10px 8px 20px}.stage-nav{width:40px;height:40px;font-size:18px}.stage-nav.prev{left:4px}.stage-nav.next{right:4px}.stage-counter-pill{bottom:8px;font-size:11px;padding:4px 10px}.notes-toggle{bottom:8px;right:10px;min-height:36px}.thumb-strip{padding:8px 10px;gap:4px}.strip-thumb{padding:6px 8px;font-size:12px;max-width:140px}.strip-num{width:16px;height:16px;font-size:10px}}@media (max-width: 900px) and (orientation: landscape){.viewer-bar{padding:6px 14px}.vbar-title{gap:4px}.stage-slide-area{padding:8px 12px 12px}.thumb-strip{padding:6px 10px}.notes-panel.is-open{height:110px}}.vbar-edit-full{display:inline}.vbar-edit-mini,.vbar-back-icon{display:none}.vbar-back-label{display:inline}.editor-backdrop{display:none}@media (max-width: 900px){.editor-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0f1a73;border:none;padding:0;z-index:40;cursor:pointer;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}}.slide-bg-image.is-loading,.slide-side-image.is-loading{position:relative}.img-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,#ffffff0a,#ffffff0a 35%,#ffffff29,#ffffff0a 65%,#ffffff0a);background-size:200% 100%;animation:img-shimmer-slide 1.6s linear infinite}.img-shimmer-label{position:absolute;left:50%;bottom:18px;transform:translate(-50%);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:#ffffffa6;background:#00000059;padding:6px 12px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@keyframes img-shimmer-slide{0%{background-position:200% 0}to{background-position:-200% 0}}.export-menu-wrap{position:relative;display:inline-flex}.export-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:260px;z-index:50;background:#141620f5;border:1px solid rgba(255,255,255,.08);border-radius:12px;box-shadow:0 18px 48px #00000073;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:6px;display:flex;flex-direction:column}.export-menu-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;text-align:left;padding:10px 12px;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:2px}.export-menu-item:hover,.export-menu-item:focus-visible{background:#ffffff0f;outline:none}.emi-title{font-size:14px;font-weight:600;letter-spacing:.02em}.emi-sub{font-size:12px;color:#ffffff8c}.slide.html-slide{padding:0;overflow:hidden;background:var(--slide-bg)}.slide.html-slide .slide-grain,.slide.html-slide .slide-glow{display:none}.html-slide-frame{display:block;width:100%;height:100%}.slide.html-slide .slide-footer{position:absolute;bottom:16px;right:24px;z-index:2;font-size:12px;color:#ffffff80;letter-spacing:.06em;pointer-events:none}.thinking-stream{margin-top:16px}.thinking-stream--plain{max-height:220px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}.thinking-stream--plain::-webkit-scrollbar{width:4px}.thinking-stream--plain::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}.thinking-stream-text{margin:0;font-family:inherit;font-size:13px;line-height:1.65;color:#ffffff80;white-space:pre-wrap;word-break:break-word}.thinking-stream-caret{color:var(--think-accent, #ff6ea0);animation:typing-blink .8s step-end infinite}@keyframes typing-blink{0%,to{opacity:1}50%{opacity:0}}.vbar-present-btn{background:var(--text);color:var(--bg);font-weight:600;border:none}.vbar-present-btn:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}.vbar-present-icon{display:none}.vbar-present-full{display:inline}@media (max-width: 900px){.vbar-present-full{display:none}.vbar-present-icon{display:inline;font-size:13px}}.present-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000;display:flex;flex-direction:column;overflow:hidden}.present-stage{flex:1;position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.present-stage>.html-slide-wrap,.present-stage>.slide-wrap,.present-stage>div{width:100%;height:100%;max-width:calc((100vh - 72px) * 16 / 9);max-height:56.25vw;position:relative}.present-zone-hint{position:absolute;top:0;bottom:0;width:30%;display:flex;align-items:center;opacity:0;transition:opacity .2s ease;pointer-events:none}.present-zone-hint.left{left:0;justify-content:flex-start;padding-left:24px}.present-zone-hint.right{right:0;justify-content:flex-end;padding-right:24px}.present-stage:hover .present-zone-hint{opacity:1}.present-arrow{font-size:48px;color:#ffffff73;font-weight:300;text-shadow:0 2px 12px rgba(0,0,0,.5);line-height:1;-webkit-user-select:none;user-select:none}.present-hud{flex-shrink:0;height:56px;display:flex;align-items:center;gap:8px;padding:0 20px;background:var(--bg);border-top:1px solid var(--border)}.present-hud-btn{height:36px;padding:0 14px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;color:#fffc;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,color .15s;display:flex;align-items:center;gap:6px}.present-hud-btn:hover:not(:disabled){background:#ffffff1f;color:#fff}.present-hud-btn:disabled{opacity:.3;cursor:not-allowed}.present-hud-btn.is-active{background:#7c5cff40;border-color:#7c5cff80;color:#c4b5fd}.present-hud-sep{width:1px;height:24px;background:#ffffff1a;margin:0 4px}.present-counter{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.present-progress{width:120px;height:3px;border-radius:2px;background:#ffffff1f;overflow:hidden}.present-progress-fill{height:100%;background:#fff;border-radius:2px;transition:width .35s ease}.present-counter-text{font-size:12px;color:#ffffff73;letter-spacing:.06em;font-variant-numeric:tabular-nums}.present-exit{border-color:#ff505040;color:#ff7878d9}.present-exit:hover:not(:disabled){background:#ff3c3c1f;border-color:#ff505080;color:#ff8080}.present-notes{position:absolute;bottom:56px;left:0;right:0;max-height:30vh;overflow-y:auto;background:#080812eb;border-top:1px solid rgba(255,255,255,.08);padding:16px 28px 20px;animation:present-notes-in .2s ease;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}@keyframes present-notes-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.present-notes-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffff4d;margin-bottom:10px}.present-notes-text{font-size:16px;line-height:1.65;color:#ffffffbf;margin:0}@keyframes slide-in-right{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}.present-slide-enter{animation-duration:.3s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both}.present-slide-enter-right{animation-name:slide-in-right}.present-slide-enter-left{animation-name:slide-in-left}.present-slide-wrap{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.present-slide-wrap .html-slide-frame{width:min(100vw,calc((100vh - 72px) * 16 / 9));height:min(calc(100vh - 72px),56.25vw);display:block}.af-layout{--af-bg: var(--bg);--af-panel: transparent;--af-card: var(--surface);--af-card-2: var(--surface-2);--af-border: var(--border);--af-text: var(--text);--af-text-dim: var(--text-muted);--af-primary: var(--text);--af-accent: var(--text-muted);--af-error: var(--error-text);display:flex;flex-direction:column;min-height:100vh;background:var(--af-bg);color:var(--af-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}[data-theme=light] .af-layout{--af-bg: var(--bg);--af-card: var(--surface);--af-card-2: var(--surface-2);--af-border: var(--border);--af-text: var(--text);--af-text-dim: var(--text-muted);--af-primary: var(--text);--af-accent: var(--text-muted)}.af-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid var(--af-border);background:var(--af-bg);position:sticky;top:0;z-index:5}.af-topbar-brand{display:flex;align-items:center;gap:12px}.af-topbar-brand img{width:32px;height:32px;border-radius:8px}.af-topbar-titles{line-height:1.15}.af-topbar-title{font-family:var(--font-mono);font-weight:500;font-size:18px;color:var(--af-text);letter-spacing:-.02em}.af-topbar-sub{font-size:12px;color:var(--af-text-dim)}.af-topbar-actions{display:flex;gap:8px}.af-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;border-radius:10px;padding:9px 16px;font-weight:600;font-size:14px;transition:transform 80ms ease,opacity .12s ease,background .12s ease}.af-btn:disabled{opacity:.5;cursor:not-allowed}.af-btn:hover:not(:disabled){transform:translateY(-1px)}.af-btn-primary{background:var(--text);color:var(--bg)}.af-btn-ghost{background:transparent;color:var(--af-text);border:1px solid var(--af-border)}.af-main{flex:1;display:grid;grid-template-columns:220px minmax(0,1fr);gap:0;min-height:0;overflow:hidden}@media (max-width: 1100px){.af-main{grid-template-columns:180px minmax(0,1fr)}}@media (max-width: 760px){.af-layout{height:100dvh;min-height:100dvh;overflow:hidden}.af-main{grid-template-columns:1fr;flex:1;min-height:0;overflow:hidden}.af-chat-sidebar,.af-panel-col{display:none}.af-chat{border-right:none;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.af-chat-scroller{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:8px 0}.af-msg{padding:8px 14px;gap:10px}.af-msg-bubble{max-width:calc(100vw - 80px)}.af-msg-avatar{width:28px;height:28px;font-size:11px;flex-shrink:0;box-shadow:none}.af-welcome{padding:28px 20px 16px;gap:14px}.af-welcome-orb{width:52px;height:52px;font-size:20px}.af-welcome-heading{font-size:22px}.af-welcome-sub{font-size:13.5px}.af-starters{gap:6px;margin-top:2px}.af-starter{flex:1 1 100%;font-size:13px;padding:10px 13px}.af-composer{padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px));gap:8px;flex-shrink:0}.af-composer-input{font-size:16px;padding:12px 14px;min-height:48px;max-height:160px;border-radius:14px}.af-composer .af-btn{padding:0 18px;min-height:48px;border-radius:14px;white-space:nowrap}.af-topbar{padding:10px 14px;flex-shrink:0}.af-topbar-sub{display:none}.af-topbar-brand img{width:26px;height:26px}.af-topbar-title{font-size:16px}.af-topbar-actions .af-btn{padding:7px 12px;font-size:13px}.af-topbar-mobile-btns{display:flex;gap:6px;margin-right:4px}.af-btn-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#7c5cff1f;border:1px solid rgba(124,92,255,.3);color:var(--af-text);font-size:18px;cursor:pointer;transition:background .12s ease;flex-shrink:0}.af-btn-icon:hover{background:#7c5cff38}}.af-mobile-drawer{display:none}@media (max-width: 760px){.af-mobile-drawer{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.af-mobile-drawer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:af-fade-in .18s ease forwards}@keyframes af-fade-in{0%{opacity:0}to{opacity:1}}.af-mobile-drawer-panel{position:absolute;top:0;left:0;bottom:0;width:min(300px,85vw);background:var(--af-card);border-right:1px solid var(--af-border);display:flex;flex-direction:column;animation:af-slide-in .24s cubic-bezier(.16,1,.3,1) forwards;padding-bottom:env(safe-area-inset-bottom,0px)}@keyframes af-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.af-mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid var(--af-border);flex-shrink:0}.af-mobile-drawer-title{font-weight:700;font-size:16px;background:linear-gradient(120deg,var(--af-primary),var(--af-accent));-webkit-background-clip:text;background-clip:text;color:transparent}.af-mobile-drawer-close{background:none;border:none;color:var(--af-text-dim);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1}.af-mobile-drawer-close:hover{color:var(--af-text)}.af-mobile-drawer-panel .af-chat-sidebar{display:flex;flex:1;min-height:0;border-right:none;background:transparent}}.af-topbar-mobile-btns{display:none}@media (max-width: 760px) and (orientation: landscape){.af-topbar{padding:6px 14px}.af-chat-scroller{padding:10px 14px 4px}.af-composer{padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px))}}.af-chat-sidebar{display:flex;flex-direction:column;border-right:1px solid var(--af-border);background:#0a0a1466;min-height:0;overflow:hidden}.af-sidebar-head{padding:14px 12px 10px;border-bottom:1px solid var(--af-border);flex-shrink:0}.af-sidebar-new{display:flex;align-items:center;gap:8px;width:100%;background:#2f5bea1a;border:1px solid rgba(47,91,234,.22);color:var(--af-text);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease;font-family:inherit}.af-sidebar-new:hover{background:#2f5bea29;border-color:#2f5bea57}.af-sidebar-new-icon{font-size:16px;line-height:1;color:var(--af-primary)}.af-sidebar-list{flex:1;overflow-y:auto;padding:8px 6px;display:flex;flex-direction:column;gap:2px}.af-sidebar-empty{font-size:12px;color:var(--af-text-dim);text-align:center;padding:20px 12px;opacity:.6}.af-sidebar-item{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background .1s ease;min-width:0;position:relative}.af-sidebar-item:hover{background:#ffffff0f}.af-sidebar-item-active{background:#2f5bea1f;border:1px solid rgba(47,91,234,.24)}.af-sidebar-item-active:hover{background:#2f5bea29}.af-sidebar-item-title{flex:1;font-size:12.5px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--af-text)}.af-sidebar-rename{flex:1;min-width:0;background:var(--af-card);color:var(--af-text);border:1px solid var(--af-primary);border-radius:8px;padding:6px 8px;font-size:12.5px;line-height:1.35;outline:none}.af-sidebar-delete{flex-shrink:0;opacity:0;background:none;border:none;color:var(--af-text-dim);cursor:pointer;font-size:11px;padding:2px 4px;border-radius:4px;transition:opacity .12s ease,color .12s ease;font-family:inherit}.af-sidebar-item:hover .af-sidebar-delete{opacity:1}.af-sidebar-delete:hover{color:var(--af-error)}.af-chat-loading{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--af-text-dim);font-size:14px}.af-chat{display:flex;flex-direction:column;min-height:0;overflow:hidden}.af-chat-scroller{flex:1;overflow-y:auto;padding:0 0 8px;display:flex;flex-direction:column}.af-msg{display:flex;gap:14px;align-items:flex-start;max-width:820px;width:100%;margin:0 auto;padding:10px 28px}.af-msg-user{justify-content:flex-end}.af-msg-avatar{width:32px;height:32px;border-radius:50%;background:var(--text);display:grid;place-items:center;font-weight:700;font-size:12px;color:var(--bg);flex-shrink:0}.af-msg-user .af-msg-avatar{display:none}.af-msg-content{flex:1;min-width:0;padding-top:4px}.af-msg-bubble{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:12px 16px;max-width:80%;word-wrap:break-word}.af-msg-text{font-size:14.5px;line-height:1.55}.af-msg-meta{margin-top:6px;font-size:12px;color:var(--af-accent);font-weight:600}.af-msg-tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.af-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:3px 9px;border-radius:999px;background:#2f5bea24;color:var(--af-text);border:1px solid rgba(47,91,234,.24);transition:background .2s ease,border-color .2s ease}.af-chip-running{background:#ffbe321f;border-color:#ffbe3266;color:#ffc94a}.af-chip-done{background:#34d3991f;border-color:#34d39966;color:#34d399}.af-chip-error{background:#ff757526;border-color:#ff757559;color:var(--af-error)}.af-chip-spinner{display:inline-block;width:9px;height:9px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:af-spin .7s linear infinite;flex-shrink:0}@keyframes af-spin{to{transform:rotate(360deg)}}.af-msg-streaming{position:relative}.af-msg-streaming:after{content:"▍";display:inline;animation:af-cursor .9s step-end infinite;opacity:.7;margin-left:1px}.af-msg-thinking{display:inline-flex;gap:4px;padding:14px 18px}.af-dot{width:6px;height:6px;border-radius:50%;background:var(--af-text-dim);animation:af-bounce 1.2s infinite}.af-dot:nth-child(2){animation-delay:.15s}.af-dot:nth-child(3){animation-delay:.3s}@keyframes af-bounce{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.af-error{background:#ff757526;color:var(--af-error);padding:10px 14px;border-radius:10px;font-size:13px;border:1px solid rgba(255,117,117,.3)}.af-inline-steps{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.af-inline-step{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:var(--af-card);border:1px solid var(--af-border);font-size:13px;transition:border-color .2s ease,background .2s ease}.af-inline-step-running{background:#ffbe320f;border-color:#ffbe3247}.af-inline-step-done{background:#34d3990d;border-color:#34d39938}.af-inline-step-failed{background:#ff757512;border-color:#ff757540}.af-inline-step-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;font-size:12px;font-weight:700}.af-inline-step-running .af-inline-step-icon{color:#ffc94a}.af-inline-step-done .af-inline-step-icon{color:#34d399}.af-inline-step-failed .af-inline-step-icon{color:var(--af-error)}.af-inline-step-text{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0}.af-inline-step-name{font-weight:600;color:var(--af-text);white-space:nowrap}.af-inline-step-arg{font-size:12px;color:var(--af-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.af-inline-results{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.af-inline-result{border-radius:12px;border:1px solid var(--af-border);overflow:hidden;background:var(--af-card)}.af-inline-result-ok{border-color:#34d39940}.af-inline-result-fail{border-color:#ff757540}.af-inline-result-header{display:flex;align-items:center;gap:8px;padding:9px 14px;background:#ffffff08;border-bottom:1px solid var(--af-border);font-size:13px}.af-inline-result-ok .af-inline-result-header{border-bottom-color:#34d3992e}.af-inline-result-fail .af-inline-result-header{border-bottom-color:#ff75752e}.af-inline-result-icon{font-size:14px;flex-shrink:0}.af-inline-result-name{font-weight:600;color:var(--af-text);white-space:nowrap}.af-inline-result-arg{flex:1;font-size:12px;color:var(--af-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.af-inline-result-badge{flex-shrink:0;font-size:11px;font-weight:700;padding:2px 9px;border-radius:99px}.af-inline-result-badge-ok{color:#34d399;background:#34d3991f}.af-inline-result-badge-fail{color:var(--af-error);background:#ff75751f}.af-inline-result-body{padding:14px}.af-welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 32px 24px;gap:18px;min-height:0}.af-welcome-orb{width:60px;height:60px;border-radius:50%;background:var(--text);display:grid;place-items:center;font-weight:700;font-size:24px;color:var(--bg);animation:af-orb-pulse 3s ease-in-out infinite;flex-shrink:0}@keyframes af-orb-pulse{0%,to{box-shadow:0 8px 36px #2f5bea47}50%{box-shadow:0 8px 52px #2f5bea6b}}.af-welcome-heading{font-family:var(--font-mono);font-size:clamp(24px,3.5vw,40px);font-weight:500;letter-spacing:-.03em;line-height:1.1;margin:0;color:var(--af-text)}.af-welcome-sub{font-size:15px;color:var(--af-text-dim);max-width:500px;line-height:1.65;margin:0}.af-starters{display:flex;flex-wrap:wrap;gap:8px;max-width:640px;width:100%;justify-content:center;margin-top:4px}.af-starter{display:flex;align-items:center;gap:10px;flex:1 1 260px;text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 16px;font-size:13.5px;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform 80ms ease;font-family:inherit}.af-starter:hover:not(:disabled){border-color:var(--text);background:var(--surface-2);transform:translateY(-1px)}.af-starter-arrow{color:var(--af-primary);font-size:15px;flex-shrink:0}.af-swipe-reply-outer{position:relative}.af-swipe-reply-icon{position:absolute;left:-32px;top:50%;transform:scale(.55) translateY(-50%);transform-origin:center left;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#7c5cff2e;border:1px solid rgba(124,92,255,.35);color:var(--af-primary);font-size:13px;pointer-events:none;will-change:opacity,transform}.af-reply-preview{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#2f5bea14;border:1px solid rgba(47,91,234,.18);border-radius:10px 10px 0 0;border-bottom:none;margin-bottom:-1px;animation:af-reply-in .16s cubic-bezier(.16,1,.3,1) forwards}@keyframes af-reply-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.af-reply-preview-bar{width:3px;align-self:stretch;min-height:28px;border-radius:99px;background:linear-gradient(to bottom,var(--af-primary),var(--af-accent));flex-shrink:0}.af-reply-preview-body{flex:1;min-width:0}.af-reply-preview-who{font-size:11px;font-weight:700;color:var(--af-primary);line-height:1.2;margin-bottom:2px}.af-reply-preview-text{font-size:12.5px;color:var(--af-text-dim);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.af-reply-preview-close{background:none;border:none;color:var(--af-text-dim);font-size:14px;cursor:pointer;padding:4px 6px;border-radius:6px;line-height:1;flex-shrink:0;transition:color .12s ease}.af-reply-preview-close:hover{color:var(--af-text)}.af-reply-preview+textarea.af-composer-input,.af-reply-preview~.af-composer-input{border-top-left-radius:0;border-top-right-radius:0}.af-composer{display:flex;gap:10px;flex-wrap:wrap;padding:14px 22px 22px;border-top:1px solid var(--af-border);align-items:flex-end}.af-composer-input{flex:1;background:var(--af-card);color:var(--af-text);border:1px solid var(--af-border);border-radius:12px;padding:12px 14px;font-size:14.5px;font-family:inherit;resize:none;outline:none;line-height:1.5;min-height:46px;max-height:200px;overflow-y:auto;box-sizing:border-box}.af-composer-input:focus{border-color:var(--af-primary);box-shadow:0 0 0 3px #2f5bea24}.af-tag{font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;background:#7c5cff33;color:var(--af-text);text-transform:uppercase;letter-spacing:.5px}.af-tag-error{background:#ff757533}.af-slide{display:flex;flex-direction:column;gap:10px}.af-slide-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--af-accent);font-weight:700}.af-slide-title{font-size:22px;font-weight:700;line-height:1.2}.af-slide-body{font-size:14px;color:var(--af-text-dim);line-height:1.5}.af-slide-bullets{margin:6px 0 0;padding-left:18px;font-size:14px;line-height:1.5}.af-slide-bullets li{margin:4px 0}.af-slide-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:6px}.af-slide-stat{background:var(--af-card-2);border-radius:10px;padding:10px;text-align:center}.af-slide-stat-value{font-weight:700;font-size:22px;background:linear-gradient(120deg,var(--af-primary),var(--af-accent));-webkit-background-clip:text;background-clip:text;color:transparent}.af-slide-stat-label{font-size:11px;color:var(--af-text-dim);margin-top:2px}.af-slide-quote{margin:6px 0 0;padding:12px 14px;border-left:3px solid var(--af-primary);background:var(--af-card-2);font-style:italic;font-size:14px;border-radius:0 8px 8px 0}.af-slide-image{width:100%;border-radius:10px;margin-top:6px}.af-slide-image-placeholder{margin-top:6px;padding:10px;border:1px dashed var(--af-border);border-radius:10px;font-size:12px;color:var(--af-text-dim)}.af-slide-notes{margin-top:8px;font-size:12px;color:var(--af-text-dim);background:var(--af-card-2);padding:10px 12px;border-radius:8px;line-height:1.5}.af-slide-notes-label{display:inline-block;font-weight:700;text-transform:uppercase;font-size:10px;letter-spacing:1px;margin-right:6px;color:var(--af-accent)}.af-slide-footer{display:flex;justify-content:flex-end;margin-top:4px}.af-md>*{margin:0}.af-md>*+*{margin-top:.55em}.af-md p{line-height:1.6;font-size:14.5px}.af-md h1,.af-md h2,.af-md h3{font-weight:700;line-height:1.25;margin-top:.85em}.af-md h1{font-size:18px}.af-md h2{font-size:16px}.af-md h3{font-size:14.5px}.af-md h1:first-child,.af-md h2:first-child,.af-md h3:first-child{margin-top:0}.af-md ul,.af-md ol{padding-left:20px;display:flex;flex-direction:column;gap:3px}.af-md li{font-size:14.5px;line-height:1.55}.af-md li>p{margin:0}.af-md-checkbox{accent-color:var(--af-primary);width:13px;height:13px;margin-right:5px;cursor:default;vertical-align:middle}.af-md-code-inline{background:#2f5bea1a;color:var(--af-primary);border:1px solid rgba(47,91,234,.2);border-radius:5px;padding:1px 5px;font-size:.88em;font-family:Fira Code,Cascadia Code,Menlo,monospace;white-space:pre-wrap;word-break:break-word}.af-md-pre{background:#0a0a16b8;border:1px solid var(--af-border);border-radius:10px;padding:14px 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:13px;line-height:1.55;margin:.6em 0}[data-theme=light] .af-md-pre{background:#f0f1f8e6}.af-md-code-block{font-family:Fira Code,Cascadia Code,Menlo,monospace;color:#c8d3f5;white-space:pre;display:block}[data-theme=light] .af-md-code-block{color:#2d3060}.af-code-block{margin:.6em 0;border-radius:10px;border:1px solid var(--af-border);overflow:hidden}.af-code-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px 6px 14px;background:#141228d9;border-bottom:1px solid var(--af-border);-webkit-user-select:none;user-select:none;gap:8px}[data-theme=light] .af-code-header{background:#d7d7e8e6}.af-code-lang{font-size:11px;font-weight:600;color:var(--af-text-dim);text-transform:uppercase;letter-spacing:.7px;font-family:Fira Code,Cascadia Code,Menlo,monospace;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.af-code-copy{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:6px;border:1px solid rgba(47,91,234,.18);background:#2f5bea14;color:var(--af-text-dim);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease;font-family:inherit;white-space:nowrap;flex-shrink:0}.af-code-copy:hover{background:#2f5bea24;border-color:#2f5bea57;color:var(--af-text)}.af-code-copy.af-code-copy-sel{background:#2f5bea29;border-color:#2f5bea66;color:var(--af-primary);animation:af-copy-pulse 1.6s ease-in-out infinite}@keyframes af-copy-pulse{0%,to{box-shadow:0 0 #7c5cff00}50%{box-shadow:0 0 0 3px #7c5cff33}}.af-code-copy.af-code-copy-done{background:#34d39926;border-color:#34d39973;color:#34d399;animation:none}.af-md-pre-inblock{margin:0;border:none;border-radius:0}.af-md-blockquote{border-left:3px solid var(--af-primary);margin:.5em 0;padding:6px 12px;background:#2f5bea0d;border-radius:0 8px 8px 0;color:var(--af-text-dim);font-style:italic;font-size:13.5px}.af-md-blockquote>p{margin:0}.af-md hr{border:none;border-top:1px solid var(--af-border);margin:.75em 0}.af-md strong{font-weight:700;color:var(--af-text)}.af-md em{font-style:italic;color:var(--af-text-dim)}.af-md del{text-decoration:line-through;opacity:.65}.af-md a{color:var(--af-primary);text-decoration:underline;text-underline-offset:2px;word-break:break-word}.af-md a:hover{opacity:.8}.af-md-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px;border:1px solid var(--af-border);margin:.6em 0}.af-md-table{width:100%;border-collapse:collapse;font-size:13px}.af-md-table th,.af-md-table td{padding:7px 12px;text-align:left;border-bottom:1px solid var(--af-border);white-space:nowrap}.af-md-table th{font-weight:700;background:#7c5cff1a;color:var(--af-text)}.af-md-table tr:last-child td{border-bottom:none}.af-md-table tr:hover td{background:#ffffff08}.af-md.af-msg-streaming>*:last-child:after{content:"▍";display:inline;animation:af-cursor .9s step-end infinite;opacity:.7;margin-left:1px}@keyframes af-cursor{0%,to{opacity:0}50%{opacity:.7}}.af-msg-streaming:after{content:none}.af-crash-screen{display:flex!important;align-items:center;justify-content:center}.af-crash-inner{text-align:center;padding:40px 28px;max-width:420px}.af-crash-icon{font-size:44px;opacity:.45;margin-bottom:16px;color:var(--af-error)}.af-crash-title{font-size:20px;font-weight:700;margin-bottom:10px}.af-crash-msg{font-size:13.5px;color:var(--af-text-dim);line-height:1.55;word-break:break-word}.af-image-error{padding:28px 20px;text-align:center;font-size:13px;color:var(--af-text-dim);border:1px dashed var(--af-border);border-radius:10px;opacity:.7}.af-image img{width:100%;border-radius:10px;display:block}.af-image-caption{margin-top:8px;font-size:12px;color:var(--af-text-dim);line-height:1.5}.af-search-query{font-size:13px;color:var(--af-text-dim);margin-bottom:8px}.af-search-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.af-search-results li{border-bottom:1px solid var(--af-border);padding-bottom:10px}.af-search-results li:last-child{border-bottom:none}.af-search-results a{color:var(--af-primary);font-weight:600;font-size:14px;text-decoration:none}.af-search-results a:hover{text-decoration:underline}.af-search-results p{font-size:13px;color:var(--af-text);margin:4px 0;line-height:1.5}.af-search-url{font-size:11px;color:var(--af-text-dim);word-break:break-all}.af-search-empty{color:var(--af-text-dim);font-size:13px}.mobile-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;height:64px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-top:1px solid var(--border);padding:0 8px;padding-bottom:env(safe-area-inset-bottom,0px);align-items:stretch;justify-content:space-around;box-shadow:0 -4px 24px #0000000f}@media (max-width: 720px){.mobile-nav{display:flex}}.mnav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:none;border:none;cursor:pointer;color:var(--text-soft);padding:8px 4px;border-radius:12px;position:relative;transition:color var(--duration-fast) ease,background-color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-out-back);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.mnav-item:hover,.mnav-item:focus-visible{background:var(--hover-overlay);color:var(--text);outline:none}.mnav-item.is-active{color:var(--accent)}.mnav-item:active{transform:scale(.92)}.mnav-icon{font-size:18px;line-height:1;display:block;transition:transform var(--duration-fast) var(--ease-out-back)}.mnav-item.is-active .mnav-icon{transform:scale(1.12)}.mnav-label{font-size:10.5px;font-weight:600;letter-spacing:.01em;line-height:1}.mnav-pip{position:absolute;left:50%;transform:translate(-50%);width:20px;height:3px;border-radius:999px;background:var(--accent);opacity:.6;top:auto;bottom:8px}.layout{display:grid;grid-template-columns:236px 1fr;min-height:100vh;background:var(--bg)}.main{display:flex;flex-direction:column;min-width:0;background:var(--bg)}.content{flex:1;padding:28px 40px 72px;max-width:1200px;width:100%;margin:0 auto}.content :where(.af-btn-primary,.cta-button,.primary-button,button[data-variant=primary]){background:var(--accent);color:var(--on-surface);box-shadow:var(--shadow-sm);font-weight:600}.content :where(.af-btn-primary,.cta-button,.primary-button,button[data-variant=primary]):hover{background:var(--accent-hover);color:var(--on-surface)}@media (max-width: 1024px){.layout{grid-template-columns:72px 1fr}.content{padding:24px 32px 64px}}@media (max-width: 720px){.layout{grid-template-columns:1fr}.content{padding:20px 16px 96px}}.route-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:var(--text-muted);background:var(--bg);animation:fadeIn .4s ease}.route-loading-spinner{width:32px;height:32px;border-radius:50%;border:2.5px solid var(--border-strong);border-top-color:var(--text);animation:route-loading-spin .9s linear infinite}.route-loading-text{font-size:14px;letter-spacing:-.01em;color:var(--text-soft)}@keyframes route-loading-spin{to{transform:rotate(360deg)}}.page-enter{animation:pageEnter var(--duration-slow) var(--ease-out-expo) forwards}.page-enter-delay-1{animation-delay:20ms}.page-enter-delay-2{animation-delay:40ms}.page-enter-delay-3{animation-delay:60ms}.page-enter-delay-4{animation-delay:80ms}.page-enter-delay-5{animation-delay:.1s}.page-enter-delay-6{animation-delay:.12s}@keyframes pageEnter{0%{opacity:0;transform:translateY(18px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.slide-enter{animation:slideEnter var(--duration-slow) var(--ease-out-expo) forwards}@keyframes slideEnter{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.stagger-children>*{opacity:0;animation:fadeInUp .36s ease forwards}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:25ms}.stagger-children>*:nth-child(3){animation-delay:50ms}.stagger-children>*:nth-child(4){animation-delay:75ms}.stagger-children>*:nth-child(5){animation-delay:.1s}.stagger-children>*:nth-child(6){animation-delay:125ms}.stagger-children>*:nth-child(7){animation-delay:.15s}.stagger-children>*:nth-child(8){animation-delay:175ms}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:36px 32px;box-shadow:var(--shadow-xl)}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:28px;justify-content:center}.login-brand-mark{width:24px;height:24px;border-radius:4px;background:var(--text);color:var(--bg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.login-brand-name{font-weight:700;font-size:18px;letter-spacing:-.03em;text-transform:lowercase}.login-brand-name b{color:var(--text)}.login-title{font-family:var(--font-mono);font-size:24px;font-weight:500;color:var(--text);text-align:center;margin:0 0 6px;letter-spacing:-.03em}.login-subtitle{font-size:14px;color:var(--text-muted);text-align:center;margin:0 0 24px}.login-error{background:#ff50501a;border:1px solid rgba(255,80,80,.25);color:#ff8080;padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:16px}.login-form{display:flex;flex-direction:column;gap:14px}.login-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.login-field{display:flex;flex-direction:column;gap:5px}.login-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.login-field input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;color:var(--text);font-size:14px;outline:none;transition:border-color .15s,background-color .15s}.login-field input:focus{border-color:var(--border-strong);background:var(--surface)}.login-hint{font-size:11px;color:#8080a0}.login-submit{margin-top:4px;background:var(--text);color:var(--bg);border:none;border-radius:var(--radius-md);padding:12px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .1s}.login-submit:hover:not(:disabled){opacity:.92}.login-submit:active:not(:disabled){transform:translateY(1px)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-toggle{margin-top:20px;text-align:center;font-size:13px;color:#a0a0c0}.login-link{background:none;border:none;color:var(--text);font-size:13px;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.login-link:hover{color:#a080ff}@media (max-width: 480px){.login-card{padding:28px 20px}.login-row{grid-template-columns:1fr}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Monaco", monospace;color-scheme:light;--bg: #ffffff;--surface: #f9fafb;--surface-2: #f3f4f6;--border: #e5e7eb;--border-strong: #d1d5db;--text: #111827;--text-muted: #6b7280;--text-soft: #9ca3af;--accent: #000000;--accent-hover: #1f2937;--accent-soft: #f3f4f6;--accent-light: #6b7280;--pink: #ec4899;--orange: #f97316;--green: #10b981;--blue: #3b82f6;--hover-overlay: rgba(0, 0, 0, .04);--on-surface: #ffffff;--error-bg: #fef2f2;--error-border: #fee2e2;--error-text: #dc2626;--danger-bg: rgba(220, 80, 80, .05);--danger-border: rgba(220, 80, 80, .4);--danger-text: #c43d3d;--accent-foreground: #ffffff;--spinner-track: rgba(255, 255, 255, .3);--spinner-fill: white;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .03);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .15s;--duration-base: .25s;--duration-slow: .4s}[data-theme=dark]{color-scheme:dark;--bg: #000000;--surface: #0a0a0a;--surface-2: #111827;--border: #1f2937;--border-strong: #374151;--text: #f9fafb;--text-muted: #9ca3af;--text-soft: #6b7280;--accent: #ffffff;--accent-hover: #e5e7eb;--accent-soft: #111827;--accent-light: #9ca3af;--pink: #ec4899;--orange: #f97316;--green: #10b981;--blue: #3b82f6;--hover-overlay: rgba(255, 255, 255, .04);--on-surface: #000000;--error-bg: #450a0a;--error-border: #7f1d1d;--error-text: #fca5a5;--danger-bg: rgba(220, 80, 80, .1);--danger-border: rgba(220, 80, 80, .5);--danger-text: #fca5a5;--accent-foreground: #000000;--spinner-track: rgba(0, 0, 0, .3);--spinner-fill: black;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .15);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -2px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .3), 0 10px 10px -5px rgba(0, 0, 0, .15)}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{line-height:1.5;letter-spacing:-.01em}button{font-family:inherit;cursor:pointer;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,color var(--duration-fast) ease,transform var(--duration-fast) var(--ease-out-back),box-shadow var(--duration-base) ease}input,textarea,select{font-family:inherit;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,background-color var(--duration-fast) ease}@media (max-width: 720px){:root input[type=text],:root input[type=email],:root input[type=password],:root input[type=search],:root input[type=number],:root input[type=tel],:root input[type=url],:root textarea,:root select{font-size:16px}button:not(.row-x):not(.search-clear):not(.af-sidebar-delete):not(.deck-more):not(.editor-close):not(.notes-drawer-close):not(.notes-panel-close),[role=button],a{min-height:44px}button:where([class*=chip],[class*=tag],[class*=pill]),a:where([class*=chip],[class*=tag],[class*=pill]){min-height:36px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes reveal{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}@keyframes slide-up-reveal{0%{opacity:0;transform:translateY(20px);clip-path:inset(100% 0 0 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
