:root{--paper:oklch(0.985 0.004 85);--paper-2:oklch(0.965 0.005 85);--ink:oklch(0.22 0.01 60);--ink-2:oklch(0.42 0.01 60);--ink-3:oklch(0.62 0.01 60);--line:oklch(0.9 0.005 85);--line-2:oklch(0.94 0.005 85);--accent:oklch(0.62 0.18 28);--accent-soft:oklch(0.94 0.04 28);--good:oklch(0.62 0.14 155);--radius:10px;--shadow-sm:0 0.5px 0 oklch(0.9 0.005 85),0 1px 2px oklch(0.2 0.01 60/0.04);--shadow-md:0 1px 0 oklch(0.92 0.005 85),0 8px 24px oklch(0.2 0.01 60/0.06);--topbar-h:56px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.display{font-family:Inter Tight,Inter,sans-serif;letter-spacing:-.02em;font-weight:600}.mono{font-family:JetBrains Mono,ui-monospace,monospace;letter-spacing:0}button{font:inherit;color:inherit}::selection{background:var(--accent);color:#fff}body.dark,html.dark{--paper:oklch(0.18 0.01 60);--paper-2:oklch(0.22 0.01 60);--ink:oklch(0.96 0.005 85);--ink-2:oklch(0.78 0.005 85);--ink-3:oklch(0.58 0.005 85);--line:oklch(0.28 0.01 60);--line-2:oklch(0.24 0.01 60);--shadow-sm:0 1px 2px oklch(0 0 0/0.32);--shadow-md:0 8px 24px oklch(0 0 0/0.42)}body.light,html.light{--paper:oklch(0.985 0.004 85);--paper-2:oklch(0.965 0.005 85);--ink:oklch(0.22 0.01 60);--ink-2:oklch(0.42 0.01 60);--ink-3:oklch(0.62 0.01 60);--line:oklch(0.9 0.005 85);--line-2:oklch(0.94 0.005 85)}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;border-bottom:1px solid var(--line);background:var(--paper);position:-webkit-sticky;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar.topbar-app{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:1fr;grid-auto-flow:dense;align-items:center;height:var(--topbar-h,56px);padding-top:0;padding-bottom:0}.topbar.topbar-app .brand{grid-column:2;grid-row:1;justify-self:center}.topbar.topbar-app .nav{grid-column:1;grid-row:1}.topbar.topbar-app .top-actions{grid-column:3;grid-row:1;justify-self:end}.brand{gap:10px;font-family:Inter Tight;font-weight:600;font-size:15px;letter-spacing:-.01em}.brand,.nav{display:flex;align-items:center}.nav{gap:28px;font-size:13px;color:var(--ink-2)}.nav a{color:inherit;text-decoration:none;cursor:pointer}.nav a.active,.nav a:hover{color:var(--ink)}.nav a.active{font-weight:600;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1.5px}.top-actions{display:flex;gap:10px}.btn,.top-actions{align-items:center}.btn{display:inline-flex;gap:8px;padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:13px;font-weight:500;cursor:pointer;transition:all .12s ease;white-space:nowrap}.btn:hover{border-color:var(--ink-3);background:var(--paper-2)}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.primary:hover{background:oklch(.32 .01 60)}.btn.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.accent:hover{background:oklch(.55 .18 28)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--paper-2);border-color:var(--line)}.btn.sm{padding:5px 10px;font-size:12px;border-radius:6px}.btn:disabled{opacity:.45;cursor:not-allowed}.workspace{flex:1 1;display:flex;min-height:0}.stage{flex:1 1;padding:36px 64px 80px;max-width:1400px;margin:0 auto;width:100%;min-width:0}.stage-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.stage-title{font-family:Inter Tight;font-weight:600;font-size:34px;line-height:1.1;letter-spacing:-.025em;margin:0}.stage-sub{color:var(--ink-2);margin:8px 0 0;font-size:14px;max-width:560px;text-wrap:pretty}.stage-aux{display:flex;gap:8px;align-items:center}.side-label{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.upload-card{border:1px dashed var(--line);border-radius:14px;background:var(--paper);padding:64px 48px;display:flex;flex-direction:column;align-items:center;gap:18px;transition:all .15s ease;text-align:center;position:relative;overflow:hidden}.upload-card.dragover{border-color:var(--accent);background:var(--accent-soft)}.upload-card .grid-bg{position:absolute;inset:0;opacity:.5;pointer-events:none;background-image:linear-gradient(var(--line-2) 1px,transparent 1px),linear-gradient(90deg,var(--line-2) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:radial-gradient(ellipse at center,#000 0,transparent 70%);mask-image:radial-gradient(ellipse at center,#000 0,transparent 70%)}.upload-icon{width:56px;height:56px;border-radius:14px;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;position:relative;z-index:1}.upload-icon svg{width:24px;height:24px;color:var(--ink-2)}.upload-headline{font-family:Inter Tight;font-weight:600;font-size:20px;letter-spacing:-.015em;position:relative;z-index:1}.upload-help{color:var(--ink-3);font-size:13px;max-width:440px;position:relative;z-index:1}.upload-actions{gap:10px}.upload-actions,.upload-formats{display:flex;position:relative;z-index:1}.upload-formats{gap:14px;font-size:11px;color:var(--ink-3)}.upload-formats span{display:inline-flex;align-items:center;gap:6px}.dot{width:4px;height:4px;border-radius:50%;background:var(--ink-3)}.upload-card.compact{padding:32px 20px;gap:14px}.upload-card.compact .upload-icon{width:44px;height:44px;border-radius:11px}.upload-card.compact .upload-headline{font-size:16px}.upload-card.compact .upload-help{font-size:12.5px}.examples{margin-top:24px;display:flex;align-items:center;gap:12px;color:var(--ink-3);font-size:12px}.example-chips{display:flex;gap:6px;flex-wrap:wrap}.subject-loaded{border:1px solid var(--line);border-radius:14px;padding:16px;background:var(--paper);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px}.subject-loaded .subject-thumb{width:100%;max-height:480px;aspect-ratio:auto}.subject-loaded .change{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;color:var(--ink-2);min-width:0}.subject-loaded .change b{color:var(--ink);font-weight:500;font-family:Inter Tight}.subject-loaded .change .subject-name{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subject-loaded .change .subject-change-btn{flex:0 0 auto}.subject-thumb{aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--paper-2);position:relative;display:grid;place-items:center;border:1px solid var(--line)}.subject-thumb img{display:block;width:100%;height:auto;max-height:480px;object-fit:contain}.subject-thumb.has-alpha{background:repeating-conic-gradient(var(--paper-2) 0 25%,var(--paper) 0 50%) 50% /16px 16px}.subject-thumb.has-alpha img{object-fit:contain}.combined-layout{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.combined-layout>[data-tour=expressions],.combined-layout>[data-tour=subject]{width:100%}.expr-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.expr-counter{text-transform:none;letter-spacing:0;font-size:12px;font-weight:400;color:var(--ink-3)}.expr-controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px}.expr-control-btn{border:1px solid var(--line);background:var(--paper-2);color:var(--ink);font:inherit;font-size:11.5px;padding:5px 10px;border-radius:7px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.expr-control-btn:hover:not(:disabled){background:var(--paper);border-color:var(--ink-3)}.expr-control-btn:disabled{opacity:.5;cursor:not-allowed}.expr-control-btn.ghost{background:transparent;border-color:var(--line-2);color:var(--ink-3)}.expr-control-btn.ghost:hover:not(:disabled){background:var(--paper-2);color:var(--ink);border-color:var(--line)}.expr-control-input{display:inline-flex;align-items:center;gap:4px;padding:2px 4px;border:1px solid var(--line);border-radius:7px;background:var(--paper);font-size:11.5px}.expr-control-input label{font-family:JetBrains Mono,monospace;font-size:10.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.expr-control-input input{width:38px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:12px;font-family:JetBrains Mono,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;outline:none;text-align:center;padding:0;-moz-appearance:textfield}.expr-control-input input::-webkit-inner-spin-button,.expr-control-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.expr-control-step{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:0;border-radius:4px;color:var(--ink-2);cursor:pointer;transition:color .12s ease,background .12s ease}.expr-control-step:hover:not(:disabled){color:var(--ink);background:var(--paper-2)}.expr-control-step:disabled{color:var(--ink-3);opacity:.4;cursor:not-allowed}.expr-search{position:relative;margin-bottom:14px}.expr-search-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:10px 36px 10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit;font-size:13.5px;outline:none;transition:border-color .12s ease}.expr-search-input::placeholder{color:var(--ink-3)}.expr-search-input:focus{border-color:var(--ink-2)}.expr-search-input::-webkit-search-cancel-button{display:none}.expr-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:999px;border:0;background:var(--paper-2);color:var(--ink-2);display:grid;place-items:center;cursor:pointer}.expr-search-clear:hover{background:var(--line);color:var(--ink)}.expr-empty{padding:24px;text-align:center;color:var(--ink-3);font-size:13px;border:1px dashed var(--line);border-radius:10px}.expr-section{display:flex;flex-direction:column;gap:18px}.expr-cat-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:4px 0 6px}.expr-grid{display:grid;grid-gap:8px;gap:8px}.expr-grid--small{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.expr-grid--medium{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.expr-grid--large{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.expr-grid--small{--mini-size:56px}.expr-grid--medium{--mini-size:88px}.expr-grid--large{--mini-size:128px}.expr-size-toggle{display:flex;justify-content:flex-end;gap:4px;margin:8px 0 12px}.expr-size-btn{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink-3);cursor:pointer;font:inherit;transition:color .12s ease,border-color .12s ease,background .12s ease}.expr-size-btn:hover{color:var(--ink);border-color:var(--ink-3);background:var(--paper-2)}.expr-size-btn.active{color:var(--paper);background:var(--ink);border-color:var(--ink)}.expr-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px;padding:0}.expr-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink-2);font-size:12px;font-weight:500;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease;white-space:nowrap}.expr-filter-chip:hover:not(:disabled){border-color:var(--ink-3);color:var(--ink)}.expr-filter-chip.active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.expr-filter-chip.active:hover{color:var(--paper)}.expr-filter-chip:disabled{opacity:.4;cursor:not-allowed}.expr-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;padding:0 5px;height:15px;border-radius:999px;background:var(--paper-2,var(--line));color:var(--ink-2);font-size:10.5px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-left:1px}.expr-filter-chip.active .expr-filter-count{background:var(--paper);color:var(--ink)}.expr-filter-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.expr-filter-dot[data-cat=happy]{background:oklch(.8 .14 80)}.expr-filter-dot[data-cat=love]{background:oklch(.75 .16 20)}.expr-filter-dot[data-cat=sad]{background:oklch(.72 .12 240)}.expr-filter-dot[data-cat=angry]{background:oklch(.7 .18 30)}.expr-filter-dot[data-cat=surprised]{background:oklch(.8 .14 320)}.expr-filter-dot[data-cat=silly]{background:oklch(.82 .14 150)}.expr-filter-dot[data-cat=action]{background:oklch(.75 .12 200)}.expr-filter-dot[data-cat=other]{background:oklch(.7 .02 90)}.expr-filters-sep{display:inline-block;width:1px;height:18px;background:var(--line);margin:0 4px}.expr-filter-clear{margin-left:auto;padding:4px 8px;background:transparent;border:0;color:var(--ink-3);font-size:12px;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:2px;transition:color .12s ease,-webkit-text-decoration-color .12s ease;transition:color .12s ease,text-decoration-color .12s ease;transition:color .12s ease,text-decoration-color .12s ease,-webkit-text-decoration-color .12s ease}.expr-filter-clear:hover{color:var(--ink);-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3)}.expr-tile{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:all .12s;position:relative;text-align:center;font:inherit}.expr-tile:hover{border-color:var(--ink-3)}.expr-tile.selected{border-color:var(--ink);background:var(--paper-2)}.expr-tile.disabled{opacity:.45;cursor:not-allowed}.expr-tile.locked{opacity:.6;cursor:pointer;position:relative}.expr-tile.locked:hover{border-color:var(--accent);opacity:.85}.expr-tile.locked .check{display:none}.expr-tile .lock-badge{left:6px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line);flex-shrink:0}.expr-tile .fav-star,.expr-tile .lock-badge{position:absolute;top:6px;border-radius:999px}.expr-tile .fav-star{right:6px;display:grid;place-items:center;width:22px;height:22px;background:var(--paper);border:1px solid var(--line);color:var(--ink-3);cursor:pointer;opacity:.55;transition:opacity .12s ease,color .12s ease,border-color .12s ease}.expr-tile .fav-star.active,.expr-tile:hover .fav-star{opacity:1}.expr-tile .fav-star.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.expr-tile .fav-star:hover{color:var(--accent);border-color:var(--accent)}.expr-tile .lock-badge svg{width:11px;height:11px}.expr-tile.locked .lock-badge{border-color:var(--accent);color:var(--accent)}.upgrade-body{padding:20px 24px 24px;display:flex;flex-direction:column;align-items:center;gap:12px}.upgrade-icon{width:48px;height:48px;border-radius:12px;background:var(--accent);color:#fff;display:grid;place-items:center;margin-bottom:4px}.upgrade-emote{margin:0;font-size:14.5px;color:var(--ink);text-align:center}.upgrade-emote b{color:var(--ink);font-weight:600}.upgrade-blurb{margin:0;font-size:13px;color:var(--ink-2);text-align:center;line-height:1.5}.upgrade-actions{display:flex;gap:10px;margin-top:12px;width:100%;justify-content:center}.upgrade-actions .btn{flex:1 1;justify-content:center;max-width:180px}.expr-tile .mini{width:var(--mini-size,56px);height:var(--mini-size,56px);display:grid;place-items:center;flex-shrink:0;border-radius:8px;background:transparent;border:1px solid var(--line-2);overflow:hidden}.expr-tile .mini .face2{width:80%}.expr-tile .info{min-width:0;max-width:100%;overflow:hidden}.expr-tile .info b{display:block;font-family:Inter Tight;font-weight:500;font-size:11px;letter-spacing:-.005em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;will-change:transform}.expr-tile:hover .info b.overflows{text-overflow:clip;animation:name-marquee 4.5s ease-in-out infinite alternate}@keyframes name-marquee{0%,15%{transform:translateX(0)}85%,to{transform:translateX(calc(var(--ov, 0px) * -1))}}.empty-link{color:var(--ink-2);font-size:12px;text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);cursor:pointer;background:none;border:0;padding:0;font-family:inherit}.empty-link:hover{-webkit-text-decoration-color:var(--ink-2);text-decoration-color:var(--ink-2);color:var(--ink)}.empty-link:disabled{color:var(--ink-3);cursor:not-allowed}.stage-actions{position:-webkit-sticky;position:sticky;bottom:0;z-index:40;margin-top:auto;margin-left:-64px;margin-right:-64px;height:var(--topbar-h,56px);background:var(--paper);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 -8px 24px oklch(0 0 0/.06);display:flex;align-items:center}.stage-actions-inner{width:100%;padding:0 64px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:nowrap}.stage.has-sticky-actions{padding-bottom:0}@media (max-width:700px){.stage-actions{margin-left:-24px;margin-right:-24px}.stage-actions-inner{padding:0 24px}}.stage-actions-prompt{font-size:12.5px;color:var(--ink-3)}.selected-strip{flex:1 1;min-width:0;display:flex;align-items:center;gap:4px;height:44px}.selected-summary-pill{display:none}.selected-strip-arrow{flex:0 0 auto;width:22px;height:22px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .12s ease,color .12s ease,opacity .12s ease}.selected-strip-arrow:hover:not(:disabled){border-color:var(--ink-3);color:var(--ink)}.selected-strip-arrow:disabled{opacity:.35;cursor:default}.selected-strip-scroller{flex:1 1;min-width:0;display:flex;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;padding:2px 4px;scroll-behavior:smooth}.selected-strip-scroller::-webkit-scrollbar{display:none}.selected-strip-tile{position:relative;flex:0 0 auto;width:36px;height:36px;border-radius:8px;border:1px solid var(--line);background:var(--paper);overflow:visible;display:flex;align-items:center;justify-content:center}.selected-strip-tile img{width:100%;height:100%;object-fit:contain;border-radius:7px;display:block}.selected-strip-remove{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:0 1px 2px oklch(0 0 0/.18);transition:background .12s ease,color .12s ease,border-color .12s ease}.selected-strip-remove:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}.stage-actions-inner>.generate-cost-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--ink-2);white-space:nowrap;margin-left:auto}.generate-cost-amount{font-family:JetBrains Mono,ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.generate-cost-unit{color:var(--ink-3);font-size:11.5px}.generate-cost-chip.insufficient{border-color:oklch(.62 .18 28/.5);background:oklch(.62 .18 28/.06);color:oklch(.7 .18 28)}.generate-cost-chip.insufficient .generate-cost-amount,.generate-cost-warn{color:oklch(.7 .18 28)}.generate-cost-warn{font-size:11.5px}@keyframes icon-spin{to{transform:rotate(1turn)}}.icon-spin{display:inline-flex;align-items:center;animation:icon-spin 1s linear infinite}.generate-cost-warn-sep{color:oklch(.7 .18 28);font-size:11.5px;margin-left:2px}.generate-cost-warn-cta{border:0;background:transparent;padding:0;margin:0;font:inherit;font-size:11.5px;font-weight:600;color:oklch(.7 .18 28);cursor:pointer;text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:oklch(.7 .18 28/.5);text-decoration-color:oklch(.7 .18 28/.5);transition:color .12s ease,-webkit-text-decoration-color .12s ease;transition:text-decoration-color .12s ease,color .12s ease;transition:text-decoration-color .12s ease,color .12s ease,-webkit-text-decoration-color .12s ease}.generate-cost-warn-cta:focus-visible,.generate-cost-warn-cta:hover{color:oklch(.78 .2 28);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor;outline:none}.gen-panel{display:flex;flex-direction:column;gap:16px}.subject-row{display:grid;grid-template-columns:280px 1fr;grid-gap:32px;gap:32px;align-items:start}@media (max-width:900px){.subject-row{grid-template-columns:1fr}}.subject-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--paper);box-shadow:var(--shadow-sm)}.subject-meta{display:flex;flex-direction:column;gap:8px;margin-top:14px;font-size:12.5px}.subject-meta .row{display:flex;justify-content:space-between;color:var(--ink-2)}.subject-meta .row b{color:var(--ink);font-weight:500}.gen-progress{border:1px solid var(--line);border-radius:14px;padding:24px;background:var(--paper);box-shadow:var(--shadow-sm)}.gen-bar{height:4px;border-radius:99px;background:var(--line);overflow:hidden;margin:14px 0 8px}.gen-bar-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .4s ease;box-shadow:0 0 12px oklch(.62 .18 28/.4)}.gen-status{justify-content:space-between;font-size:13px}.gen-status,.gen-status .label{display:flex;align-items:center}.gen-status .label{gap:10px}.gen-status .label .pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1.5s infinite}.gen-status .pct{font-family:JetBrains Mono;color:var(--ink-2)}@keyframes pulse{0%{box-shadow:0 0 0 0 oklch(.62 .18 28/.6)}70%{box-shadow:0 0 0 10px oklch(.62 .18 28/0)}to{box-shadow:0 0 0 0 oklch(.62 .18 28/0)}}.gen-log{font-family:JetBrains Mono;font-size:11.5px;color:var(--ink-3);margin-top:14px;max-height:320px;overflow-y:auto;scrollbar-width:thin}.gen-log .ln{display:block;padding:2px 0}.gen-log .ln.cur{color:var(--ink)}.style-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);padding:10px 14px;background:var(--paper-2);border-radius:10px;border:1px solid var(--line)}.style-bar b{color:var(--ink);font-weight:500}.grid-toolbar{justify-content:space-between;margin-bottom:18px;gap:16px}.grid-toolbar,.grid-toolbar .left{display:flex;align-items:center;flex-wrap:wrap}.grid-toolbar .left{gap:14px;color:var(--ink-2);font-size:13px}.grid-toolbar .right{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.preview-layout{display:grid;grid-template-columns:380px 1fr;grid-gap:24px;gap:24px;align-items:start}@media (max-width:1100px){.preview-layout{grid-template-columns:1fr}}.pack-filter-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);flex-wrap:wrap}.pack-filter-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 auto;min-width:0}.pack-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:12.5px;background:transparent;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease;white-space:nowrap}.pack-filter-chip:hover{color:var(--ink);border-color:var(--ink-3)}.pack-filter-chip.on{color:var(--paper);background:var(--ink);border-color:var(--ink)}.pack-filter-chip .count{font-size:11px;opacity:.7;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pack-filter-search{flex:0 0 220px}.pack-filter-search .auth-input{padding:6px 10px;font-size:13px}@media (max-width:700px){.pack-filter-search{flex-basis:100%}}.pack-filter-empty{padding:32px 14px;text-align:center;color:var(--ink-3);border:1px dashed var(--line);border-radius:10px;font-size:13.5px}.pack-filter-clear{background:transparent;border:0;color:var(--ink);font:inherit;cursor:pointer;text-decoration:underline;padding:0 0 0 4px}.emote-section{margin-bottom:28px}.emote-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:4px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.emote-section-head h3{margin:0;font-size:13px;font-weight:500;color:var(--ink);letter-spacing:.04em;text-transform:uppercase}.emote-section-meta{font-size:12px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.editor-layout{display:grid;grid-template-columns:380px minmax(0,1fr);grid-gap:24px;gap:24px}.editor-grid-col{min-width:0;order:2}.editor-grid-col.is-scrollable{max-height:calc(100vh - var(--topbar-h, 56px) - 80px);overflow-y:auto;padding-right:4px}.editor-sidebar{order:1;display:flex;flex-direction:column;gap:16px;align-self:start;position:-webkit-sticky;position:sticky;top:calc(var(--topbar-h, 56px) + 16px)}@media (max-width:1100px){.editor-layout{grid-template-columns:1fr}.editor-grid-col.is-scrollable{max-height:none;overflow:visible;padding-right:0}.editor-sidebar{position:static}}.editor-bottom-bar{position:-webkit-sticky;position:sticky;bottom:0;z-index:40;margin-top:auto;height:var(--topbar-h,56px);margin-left:-64px;margin-right:-64px;padding:0 64px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--paper);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 -8px 24px oklch(0 0 0/.06)}.editor-bottom-bar .left{display:flex;align-items:center;gap:14px;color:var(--ink-2);font-size:13px}.editor-bottom-bar .right{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}@media (max-width:700px){.editor-bottom-bar{margin-left:-24px;margin-right:-24px;padding:0 24px}}.stage:has(.editor-bottom-bar){padding-top:24px;padding-bottom:0}.stage:has(.editor-bottom-bar),.stage:has(.stage-actions){display:flex;flex-direction:column}.active-tile-editor{display:flex;flex-direction:column;gap:10px;padding:12px;border:2px solid var(--ink);border-radius:12px;background:var(--paper);box-shadow:0 0 18px oklch(1 0 0/.06);transition:box-shadow .15s ease}.active-tile-editor:hover{box-shadow:0 0 22px oklch(1 0 0/.1)}.active-tile-editor.empty{align-items:center;justify-content:center;min-height:220px}.active-tile-empty-msg{color:var(--ink-3);font-size:13px;text-align:center;padding:20px}.active-tile-head{display:flex;align-items:center;gap:8px}.active-tile-meta{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}.active-tile-meta h3{margin:0;font-size:14px;font-weight:600;color:var(--ink)}.active-tile-cat,.active-tile-meta h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-tile-cat{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.active-tile-actions{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto}.active-tile-actions .btn.icon-only{padding:4px}.active-tile-preview{position:relative;width:100%;max-width:300px;aspect-ratio:1/1;margin:0 auto;border:1px solid var(--line);border-radius:10px;background:repeating-conic-gradient(var(--paper-2) 0 25%,var(--paper) 0 50%) 50% /16px 16px;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.active-tile-preview:active{cursor:-webkit-grabbing!important;cursor:grabbing!important}.active-tile-preview.missing{cursor:default}.active-tile-preview-inner{width:100%;height:100%;display:grid;place-items:center;transform-origin:center;pointer-events:none;will-change:transform}.active-tile-preview-inner img{width:100%;height:100%;object-fit:contain;display:block}.active-tile-controls{display:flex;flex-direction:column;gap:8px}.active-tile-slider-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;font-size:12px;color:var(--ink-2)}.active-tile-slider-row input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:var(--line);border-radius:2px}.active-tile-slider-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:11.5px;color:var(--ink-3);min-width:38px;text-align:right}.active-tile-button-row{display:flex;flex-wrap:wrap;gap:6px}.active-tile-button-row .btn{flex:1 1 auto;justify-content:center}.active-tile-apply{display:flex;flex-direction:column;gap:5px;padding-top:8px;border-top:1px dashed var(--line)}.active-tile-apply-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.active-tile-apply-row{display:flex;gap:6px;flex-wrap:wrap}.active-tile-apply-row .btn{flex:1 1 auto;justify-content:center}.filename-affix{display:inline-flex;align-items:center;gap:14px;padding:0 8px;height:28px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink-2);transition:border-color .12s ease}.filename-affix:focus-within{border-color:var(--ink-3)}.filename-affix-half{display:inline-flex;align-items:center;gap:0}.filename-affix-input{field-sizing:content;min-width:50px;max-width:180px;padding:0 2px;height:24px;border:0;background:transparent;color:var(--ink);font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;outline:none}.filename-affix-input::placeholder{color:var(--ink-3)}.filename-affix-sep{font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;color:var(--ink-3);-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (max-width:700px){.filename-affix-input{max-width:110px}}.emote-tile.compact .emote-foot{padding-bottom:6px}.emote-tile.compact .emote-canvas{cursor:pointer}.grid-footer{margin-top:32px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--ink-3);flex-wrap:wrap;gap:12px;padding-top:20px;border-top:1px solid var(--line)}.chat-preview-stack{position:-webkit-sticky;position:sticky;top:80px;z-index:10;display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 96px);overflow-y:auto}.editor-chat-preview .chat-preview-stack{position:static;max-height:none;overflow-y:visible}@media (max-width:1100px){.chat-preview-stack{position:static;flex-direction:row;align-items:stretch;gap:12px;max-height:none;overflow-y:visible}.chat-preview-stack>.chat-panel{flex:1 1;min-width:0}}@media (max-width:720px){.chat-preview-stack{flex-direction:column}}.chat-tabs{gap:2px;padding:2px;border:1px solid var(--line);border-radius:7px;background:var(--paper)}.chat-tab,.chat-tabs{display:inline-flex;align-items:center}.chat-tab{gap:5px;padding:3px 8px;font-size:12px;font-weight:500;line-height:1.2;color:var(--ink-3);background:transparent;border:0;border-radius:5px;cursor:pointer;transition:color .12s ease,background .12s ease}.chat-tab.on,.chat-tab:hover{color:var(--ink)}.chat-tab.on{background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--line)}.chat-panel{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column}.chat-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line-2);background:var(--paper-2)}.chat-platform{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--ink);letter-spacing:-.005em}.chat-meta{font-family:JetBrains Mono;font-size:10.5px;color:var(--ink-3);letter-spacing:.04em}.chat-body{padding:14px;display:flex;flex-direction:column;gap:10px;font-size:13.5px;line-height:1.5;overflow:hidden}.chat-body.twitch{background:#0e0e10;color:#efeff1;font-family:Inter,Inter Tight,sans-serif}.chat-body.twitch .msg{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.chat-body.twitch .msg b{font-weight:600;font-size:13px}.chat-body.twitch .msg .text{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;color:#dad9dc}.chat-body.discord{background:#313338;color:#dbdee1;font-family:Inter,Inter Tight,sans-serif;gap:14px}.chat-body.discord .msg-d{display:flex;gap:12px;align-items:flex-start}.chat-body.discord .msg-d-body{min-width:0;flex:1 1}.chat-body.discord .ava{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:600;font-size:14px;flex-shrink:0}.chat-body.discord .who{display:flex;gap:8px;align-items:baseline}.chat-body.discord .who b{color:#f2f3f5;font-weight:500;font-size:14px}.chat-body.discord .ts{font-size:11px;color:#949ba4}.chat-body.discord .text{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:2px;color:#dbdee1}.chat-body.discord .text.jumbo{display:flex;gap:0;margin-top:4px}.chat-body.discord .discord-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.chat-body.discord .d-reaction{display:inline-flex;align-items:center;gap:5px;padding:2px 6px;min-height:24px;background:#2b2d31;border:1px solid #3f4147;border-radius:8px;color:#b5bac1;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.chat-body.discord .d-reaction:hover{border-color:#535760}.chat-body.discord .d-reaction.picked{background:rgba(88,101,242,.15);border-color:#5865f2;color:#c9cdfb}.chat-body.discord .d-reaction.add{color:#b5bac1;padding:2px 8px}.chat-body.discord .d-reaction .count{line-height:1}.chat-input{border-top:1px solid var(--line-2);padding:10px 12px;display:flex;justify-content:space-between;align-items:center;color:var(--ink-3);font-size:12.5px;background:var(--paper-2)}.chat-emote{display:inline-grid;place-items:center;vertical-align:middle;flex-shrink:0;overflow:hidden;position:relative}.chat-emote-inner{width:100%;height:100%;display:grid;place-items:center;transform-origin:center;will-change:transform}.chat-emote-inner img{width:100%;height:100%;object-fit:contain;display:block}.chat-emote-placeholder{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--ink-3);font-size:12px;opacity:.6}.chat-emote .face2{width:100%;height:100%}.emote-grid{display:grid;grid-gap:14px;gap:14px}.emote-grid.preview-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.emote-grid.preview-grid>*{flex-grow:0;flex-shrink:0;flex-basis:calc((100% - 42px) / 4)}@media (max-width:700px){.emote-grid.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.emote-grid.preview-grid>*{flex:none;width:auto}}.emote-shared-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto;grid-gap:14px;gap:14px;margin-bottom:28px;align-items:start}.emote-small-group{display:contents}.emote-small-group .emote-section-head{grid-row:1;grid-column:span var(--cols);margin:0;align-self:end;padding-bottom:8px}.emote-small-group .emote-grid.preview-grid.small-grid{grid-row:2;grid-column:span var(--cols);display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-gap:14px;gap:14px;justify-content:stretch}.emote-small-group .emote-grid.preview-grid.small-grid>*{flex:unset;width:100%}@media (max-width:700px){.emote-shared-row{gap:28px;margin-bottom:28px}.emote-shared-row,.emote-small-group{display:flex;flex-direction:column;align-items:stretch}.emote-small-group{gap:12px}.emote-small-group .emote-section-head{grid-row:auto;grid-column:auto}.emote-small-group .emote-grid.preview-grid.small-grid{grid-row:auto;grid-column:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}}.emote-grid.gen-preview{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width:700px){.emote-grid.gen-preview{grid-template-columns:repeat(4,minmax(0,1fr))}}.emote-tile{border:1px solid var(--line);border-radius:12px;background:var(--paper);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease;position:relative;display:flex;flex-direction:column;cursor:pointer}.emote-tile:hover{border-color:var(--ink-3);box-shadow:var(--shadow-md)}.emote-tile.active{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink),var(--shadow-md)}.emote-tile.empty{background:var(--paper-2);border-style:dashed}.emote-canvas{aspect-ratio:1;display:grid;place-items:center;background:var(--paper-2);position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.emote-canvas:active{cursor:-webkit-grabbing!important;cursor:grabbing!important}.emote-tile.empty .emote-canvas{background:var(--paper-2)}.emote-transform{display:block;width:100%;height:100%;transform-origin:center;will-change:transform;pointer-events:none}.emote-transform img{display:block;width:100%;height:100%;object-fit:contain}.emote-tile-missing{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:var(--ink-3);background:var(--paper-2);border:1px dashed var(--line);border-radius:6px;gap:4px}.emote-tile-missing span{font-size:22px;line-height:1;opacity:.6}.emote-tile-missing small{font-size:10px;letter-spacing:.04em;text-transform:uppercase;opacity:.7}.emote-tile-retry{margin-top:6px;padding:4px 10px;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);border-radius:999px;font:inherit;font-size:11px;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.emote-tile-retry:hover{color:var(--ink);border-color:var(--ink-3)}.emote-foot{padding:8px 12px;border-top:1px solid var(--line-2);display:flex;flex-direction:column;align-items:stretch;gap:6px;font-size:11px;color:var(--ink-3);font-family:JetBrains Mono;min-width:0}.emote-foot .name{color:var(--ink-2);font-weight:500;letter-spacing:.02em;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-slider{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:2px;background:var(--line);outline:none;cursor:pointer;margin:0}.tile-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid var(--paper);cursor:-webkit-grab;cursor:grab;box-shadow:0 1px 3px oklch(0 0 0/.3)}.tile-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--ink);border:2px solid var(--paper);cursor:grab;box-shadow:0 1px 3px oklch(0 0 0/.3)}.tile-slider:active::-webkit-slider-thumb{cursor:-webkit-grabbing;cursor:grabbing}.emote-skeleton{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink-3)}.emote-skeleton .shimmer{position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,oklch(1 0 0/.5) 50%,transparent 70%);background-size:200% 100%;animation:shimmer 1.6s infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.emote-tile .badge{position:absolute;top:8px;left:8px;font-family:JetBrains Mono;font-size:9.5px;letter-spacing:.04em;color:var(--ink-3);background:oklch(1 0 0/.7);padding:2px 6px;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}body:not(.light) .emote-tile .badge{background:oklch(0 0 0/.4);color:var(--ink-2)}.emote-tile-actions{position:absolute;top:6px;right:6px;display:flex;gap:4px;z-index:3}.emote-tile-action-btn{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid oklch(.32 .01 60/.7);background:oklch(.18 .01 60/.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:oklch(.92 .005 85);cursor:pointer;font:inherit;padding:0;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.emote-tile-action-btn:hover{background:oklch(.26 .01 60/.85);border-color:oklch(.5 .01 60);color:#fff;transform:scale(1.06)}.emote-tile-action-btn.destructive:hover{background:oklch(.45 .16 28/.9);border-color:oklch(.6 .18 28);color:#fff}.btn.icon-only{padding:6px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;gap:0}.emote-face-img{width:86%;height:86%;object-fit:contain;display:block;border-radius:8px}.face2{width:78%;aspect-ratio:1;border-radius:50%;position:relative;background:var(--em-bg,oklch(.86 .1 80));border:2.5px solid oklch(.12 .01 60);box-shadow:inset 0 -10px 0 oklch(.78 .1 80/.3)}.face2 .eye{position:absolute;width:14%;height:14%;border-radius:50%;background:oklch(.12 .01 60);top:36%}.face2 .eye.l{left:24%}.face2 .eye.r{right:24%}.face2 .mouth{position:absolute;left:50%;top:62%;transform:translateX(-50%);width:36%;height:18%;border-bottom:3.5px solid oklch(.12 .01 60);border-radius:0 0 100px 100px}.face2.f-happy .mouth{height:22%}.face2.f-laugh{--em-bg:oklch(0.85 0.13 90)}.face2.f-laugh .eye{height:5%;border-radius:0;border-top:3px solid oklch(.12 .01 60);background:transparent;top:42%}.face2.f-laugh .mouth{background:oklch(.12 .01 60);height:24%;border:0;border-radius:0 0 60px 60px}.face2.f-sad{--em-bg:oklch(0.84 0.1 230)}.face2.f-sad .mouth{transform:translateX(-50%) rotate(180deg);top:74%;height:14%}.face2.f-cry{--em-bg:oklch(0.84 0.1 230)}.face2.f-cry .mouth{transform:translateX(-50%) rotate(180deg);top:74%;height:14%}.face2.f-cry:after,.face2.f-cry:before{content:"";position:absolute;width:7%;height:18%;background:oklch(.7 .18 230);top:48%;border-radius:0 0 100px 100px}.face2.f-cry:before{left:21%}.face2.f-cry:after{right:21%}.face2.f-wink .eye.l{height:5%;border-radius:0;border-top:3px solid oklch(.12 .01 60);background:transparent;top:42%}.face2.f-shock{--em-bg:oklch(0.86 0.1 290)}.face2.f-shock .mouth{background:oklch(.12 .01 60);width:22%;height:24%;border-radius:50%;border:0;top:65%}.face2.f-cool{--em-bg:oklch(0.78 0.1 200)}.face2.f-cool .eye{background:oklch(.12 .01 60);width:34%;height:14%;border-radius:4px;top:40%}.face2.f-cool .eye.l{left:14%}.face2.f-cool .eye.r{right:14%}.face2.f-angry{--em-bg:oklch(0.78 0.16 30)}.face2.f-angry:after,.face2.f-angry:before{content:"";position:absolute;width:18%;height:5%;background:oklch(.12 .01 60);top:30%;border-radius:2px}.face2.f-angry:before{left:18%;transform:rotate(20deg)}.face2.f-angry:after{right:18%;transform:rotate(-20deg)}.face2.f-angry .mouth{transform:translateX(-50%) rotate(180deg);top:74%;height:12%}.face2.f-think{--em-bg:oklch(0.88 0.06 80)}.face2.f-think .mouth{width:18%;height:6%;border-radius:99px;border:0;background:oklch(.12 .01 60);left:38%;transform:none;top:68%}.face2.f-sleep{--em-bg:oklch(0.86 0.05 250)}.face2.f-sleep .eye{height:5%;border-radius:0;border-top:3px solid oklch(.12 .01 60);background:transparent;top:42%}.face2.f-sleep .mouth{width:14%;height:6%;border-radius:99px;border:0;background:oklch(.12 .01 60);top:70%}.face2.f-fire{--em-bg:oklch(0.78 0.18 50)}.face2.f-fire .mouth{height:22%}.face2.f-money{--em-bg:oklch(0.84 0.13 145)}.face2.f-money .eye{background:transparent;width:18%;height:18%;top:34%}.face2.f-money .eye:after{content:"$";font-size:18px;color:oklch(.12 .01 60);font-family:Inter Tight;font-weight:700}.face2.f-money .eye{display:grid;place-items:center}.face2.f-party{--em-bg:oklch(0.85 0.13 320)}.face2.f-party .mouth{height:24%}.export-modal{position:fixed;inset:0;background:oklch(.2 .01 60/.5);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.export-card{background:var(--paper);border-radius:16px;border:1px solid var(--line);width:min(620px,100%);max-height:90vh;overflow:auto;box-shadow:0 24px 60px oklch(.2 .01 60/.3)}.unsaved-card{width:min(420px,100%);padding:24px}.unsaved-title{margin:0 0 8px;font-family:Inter Tight;font-weight:600;font-size:18px;letter-spacing:-.015em;color:var(--ink)}.unsaved-sub{margin:0 0 20px;font-size:13.5px;line-height:1.5;color:var(--ink-2)}.unsaved-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.export-head{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.export-head h3{margin:0;font-family:Inter Tight;font-weight:600;font-size:18px;letter-spacing:-.015em}.export-body{padding:20px 24px;display:flex;flex-direction:column;gap:14px}.export-target{border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .12s;background:var(--paper)}.export-target:hover{border-color:var(--ink-3);background:var(--paper-2)}.export-target.selected{border-color:var(--ink);background:var(--paper-2)}.export-target.disabled{opacity:.55;cursor:not-allowed}.export-target .ic{width:36px;height:36px;border-radius:8px;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;flex-shrink:0}.export-target .ic svg{width:18px;height:18px}.export-target .info{flex:1 1}.export-target .info b{display:block;font-family:Inter Tight;font-weight:600;font-size:14px;letter-spacing:-.005em}.export-target .info span{font-size:12px;color:var(--ink-3)}.export-target .check{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;flex-shrink:0}.export-target.selected .check{background:var(--ink);border-color:var(--ink)}.export-target.selected .check:after{content:"";width:8px;height:4px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}.export-foot{padding:16px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.export-summary{font-size:12.5px;color:var(--ink-3)}.export-summary b{color:var(--ink);font-weight:500}.auth-tabs{display:flex;gap:4px;padding:14px 24px 0;border-bottom:1px solid var(--line)}.auth-tabs button{flex:1 1;padding:10px 12px;border:0;background:transparent;color:var(--ink-3);font:inherit;font-size:13px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.auth-tabs button:hover{color:var(--ink-2)}.auth-tabs button.on{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}.auth-body{padding:20px 24px 24px}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-hint{margin:0;font-size:13px;color:var(--ink-3);line-height:1.5}.auth-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit;font-size:14px;outline:none;transition:border-color .12s ease}.auth-input:focus{border-color:var(--ink-2)}.auth-password-wrap{position:relative;display:block}.auth-input-password{padding-right:40px}.auth-password-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:0;border-radius:6px;color:var(--ink-3);cursor:pointer;transition:color .12s ease,background .12s ease}.auth-password-toggle:hover{color:var(--ink);background:var(--line)}.auth-password-toggle:focus-visible{outline:2px solid var(--ink-2);outline-offset:2px}.auth-form .btn{justify-content:center;width:100%}.auth-toggle{background:transparent;border:0;padding:4px 0;color:var(--ink-2);font:inherit;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.auth-toggle:hover{color:var(--ink)}.auth-forgot-row{display:flex;justify-content:flex-end;margin-top:-4px}.auth-stay-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:-4px}.auth-stay-label{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-stay-checkbox{width:14px;height:14px;cursor:pointer;accent-color:var(--accent);flex-shrink:0}.auth-forgot-link{background:transparent;border:0;padding:4px 0;color:var(--ink-3);font:inherit;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.auth-forgot-link:hover{color:var(--ink)}.auth-divider{display:flex;align-items:center;gap:12px;color:var(--ink-3);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;margin:4px 0}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--line)}.auth-error{border:1px solid oklch(.62 .18 28/.4);background:oklch(.62 .18 28/.08);border-radius:8px;color:oklch(.7 .18 28)}.auth-error,.auth-success{margin-top:8px;padding:10px 12px;font-size:12.5px}.auth-success{border:1px solid var(--good);background:oklch(.62 .14 155/.08);border-radius:8px;color:var(--good)}.user-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-size:12.5px;cursor:pointer;transition:border-color .12s ease}.user-chip:hover{border-color:var(--ink-3)}.user-chip .avatar{width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:600}.user-chip .balance{font-family:JetBrains Mono;font-size:11.5px;color:var(--ink-2)}.user-chip .balance b{color:var(--ink);font-weight:600}.topbar-token-chip{display:inline-flex;align-items:center;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px;color:var(--ink-2);cursor:pointer;transition:border-color .12s ease,background .12s ease}.topbar-token-chip:hover{border-color:var(--ink-3);background:var(--paper-2)}.topbar-token-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar-token-chip b{color:var(--ink);font-weight:600;margin-right:4px}.user-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;border:1px solid var(--line);border-radius:10px;background:var(--paper);box-shadow:var(--shadow-md);z-index:60;overflow:hidden}.user-menu-head{padding:12px 14px;border-bottom:1px solid var(--line-2)}.user-menu-name{font-family:Inter Tight;font-weight:600;font-size:13.5px;color:var(--ink);letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-plan{font-size:11.5px;color:var(--ink-3);text-transform:capitalize;margin-top:2px}.tier-chip{display:inline-flex;align-items:center;padding:0 8px;font-family:Inter Tight,sans-serif;font-size:13px;font-weight:400;letter-spacing:-.005em;color:var(--ink-3);cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.user-menu-item{display:block;width:100%;box-sizing:border-box;padding:10px 14px;border:0;background:transparent;text-align:left;font:inherit;font-size:13px;color:var(--ink-2);text-decoration:none;cursor:pointer}.user-menu-item:hover{background:var(--paper-2);color:var(--ink)}.user-menu-item+.user-menu-item{border-top:1px solid var(--line-2)}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(80px);background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:10px;font-size:13px;display:flex;align-items:center;gap:10px;opacity:0;transition:all .3s ease;z-index:200;box-shadow:var(--shadow-md);pointer-events:none}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}.theme-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--paper);width:32px;height:32px;border-radius:8px;display:grid;place-items:center;cursor:pointer;color:var(--ink-2);transition:all .12s}.theme-toggle:hover{color:var(--ink);border-color:var(--ink-3)}.notif-root{position:relative;display:inline-block}.notif-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--paper);width:32px;height:32px;border-radius:8px;display:grid;place-items:center;cursor:pointer;color:var(--ink-2);transition:color .12s ease,border-color .12s ease,background .12s ease;position:relative}.notif-trigger.open,.notif-trigger:hover{color:var(--ink);border-color:var(--ink-3)}.notif-trigger.open{background:var(--paper-2)}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent);color:var(--paper);font-family:JetBrains Mono,ui-monospace,monospace;font-size:9.5px;font-weight:700;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--paper);box-sizing:content-box}.notif-menu{position:absolute;top:calc(100% + 8px);right:0;width:min(340px,92vw);background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px -8px color-mix(in srgb,var(--ink) 32%,transparent),0 2px 6px -2px color-mix(in srgb,var(--ink) 18%,transparent);padding:6px;z-index:60;animation:notif-menu-in .12s ease-out;max-height:70vh;overflow-y:auto}@keyframes notif-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.notif-menu-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 6px}.notif-menu-title{font-size:12.5px;font-weight:600;color:var(--ink)}.notif-clear{background:transparent;border:0;font:inherit;font-size:12px;color:var(--ink-3);cursor:pointer;padding:4px 6px;border-radius:4px}.notif-clear:hover{color:var(--ink);background:var(--paper-2)}.notif-empty{padding:24px 14px;text-align:center;font-size:13px;color:var(--ink-2)}.notif-empty-sub{font-size:11.5px;color:var(--ink-3);margin-top:4px}.notif-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.notif-row{position:relative;border-radius:6px;transition:background .12s ease}.notif-row:hover{background:var(--paper-2)}.notif-row.unread:before{content:"";position:absolute;left:4px;top:14px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.notif-row-link{display:flex;align-items:flex-start;gap:10px;padding:10px 32px 10px 16px;text-decoration:none;color:inherit;cursor:pointer}.notif-row-icon{position:relative;flex:0 0 auto;width:28px;height:28px;border-radius:6px;background:var(--paper-2,var(--paper));border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-2);overflow:hidden;margin-top:1px}.notif-row-icon-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.notif-row-icon.kind-pack-ready{color:var(--accent)}.notif-row-icon.kind-pack-failed{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--paper));border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.notif-row-icon.kind-low-tokens,.notif-row-icon.kind-redeem-ready{color:var(--good)}.notif-row-text{flex:1 1;min-width:0}.notif-row-title{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3}.notif-row-body{font-size:12px;color:var(--ink-2);margin-top:2px;line-height:1.4}.notif-row-time{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10.5px;color:var(--ink-3);margin-top:4px}.notif-row-dismiss{position:absolute;top:8px;right:6px;width:22px;height:22px;border-radius:4px;border:0;background:transparent;color:var(--ink-3);cursor:pointer;display:grid;place-items:center;opacity:0;transition:opacity .12s ease,color .12s ease,background .12s ease}.notif-row-dismiss:focus-visible,.notif-row:hover .notif-row-dismiss{opacity:1}.notif-row-dismiss:hover{color:var(--ink);background:var(--paper)}.pack-ready-banner-stack{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column-reverse;gap:8px;z-index:55;pointer-events:none;max-width:min(360px,calc(100vw - 40px))}.pack-ready-banner{pointer-events:auto;position:relative;display:flex;align-items:stretch;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px -10px color-mix(in srgb,var(--ink) 38%,transparent),0 2px 6px -2px color-mix(in srgb,var(--ink) 22%,transparent);animation:pack-banner-in .18s ease-out}@keyframes pack-banner-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pack-ready-banner-link{display:flex;align-items:center;gap:10px;padding:12px 32px 12px 14px;text-decoration:none;color:inherit;flex:1 1;min-width:0}.pack-ready-banner-dot{width:8px;height:8px;border-radius:50%;background:var(--good);flex-shrink:0;box-shadow:0 0 0 4px color-mix(in srgb,var(--good) 22%,transparent)}.pack-ready-banner.failed{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 6%,var(--paper))}.pack-ready-banner.failed .pack-ready-banner-dot{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}.pack-ready-banner.queued .pack-ready-banner-dot{background:var(--ink-3);box-shadow:0 0 0 4px color-mix(in srgb,var(--ink-3) 18%,transparent)}.pack-ready-banner-body{flex:1 1;min-width:0}.pack-ready-banner-title{font-size:13px;font-weight:600;color:var(--ink)}.pack-ready-banner-text{font-size:12px;color:var(--ink-2);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pack-ready-banner-dismiss{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:4px;border:0;background:transparent;color:var(--ink-3);cursor:pointer;display:grid;place-items:center;transition:color .12s ease,background .12s ease}.pack-ready-banner-dismiss:hover{color:var(--ink);background:var(--paper-2)}.notif-prefs{display:flex;flex-direction:column;gap:4px}.notif-prefs-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--line-2);cursor:pointer}.notif-prefs-row:first-child{border-top:0;padding-top:4px}.notif-prefs-row-text{flex:1 1;min-width:0}.notif-prefs-row-label{font-size:13px;font-weight:600;color:var(--ink)}.notif-prefs-row-help{font-size:12px;color:var(--ink-3);margin-top:2px;line-height:1.45}.notif-prefs-row-input{width:16px;height:16px;cursor:pointer;flex-shrink:0;accent-color:var(--accent)}.stage-head-row{display:flex;align-items:flex-start;gap:24px;margin-bottom:24px}.stage-head-row .stage-head{flex:1 1;min-width:0}@media (max-width:1100px){.stage-head-row{flex-direction:column}}:root{--warn-bg:oklch(0.96 0.06 90);--warn-border:oklch(0.78 0.13 85);--warn-text:oklch(0.36 0.08 70);--warn-icon-bg:oklch(0.78 0.14 85)}body.dark,html.dark{--warn-bg:oklch(0.32 0.06 85/0.18);--warn-border:oklch(0.62 0.13 85);--warn-text:oklch(0.85 0.1 85);--warn-icon-bg:oklch(0.7 0.14 85)}.studio-promo-mini{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 12px;font-size:12.5px;color:var(--ink-2);background:transparent;border:1px dashed var(--line);border-radius:999px;max-width:100%}.studio-promo-mini>svg{color:var(--warn-text,var(--ink-3));flex-shrink:0}.studio-promo-mini-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.studio-promo-mini-text b{color:var(--ink);font-weight:600}.studio-promo-mini-action{background:transparent;border:0;padding:0 4px;color:var(--ink);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.studio-promo-mini-action:hover{text-decoration-thickness:2px}.studio-promo-mini-action:disabled{opacity:.5;cursor:not-allowed}.studio-promo-mini-dismiss{background:transparent;border:0;padding:2px;color:var(--ink-3);cursor:pointer;display:inline-flex;align-items:center;border-radius:999px}.studio-promo-mini-dismiss:hover{color:var(--ink);background:var(--paper-2)}.site-footer{border-top:1px solid var(--line);background:var(--paper);padding:48px 64px 0;margin-top:24px}.site-footer-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;grid-gap:48px;gap:48px;padding-bottom:32px}@media (max-width:980px){.site-footer{padding:36px 24px 0}.site-footer-inner{grid-template-columns:1fr 1fr;gap:32px}}@media (max-width:600px){.site-footer-inner{grid-template-columns:1fr;gap:28px}}.footer-brand-row{display:inline-flex;align-items:center;gap:10px}.footer-brand-name{font-family:Inter Tight;font-weight:600;font-size:15px;letter-spacing:-.01em}.footer-tagline{color:var(--ink-3);font-size:13px;line-height:1.55;margin:14px 0 16px;max-width:320px}.footer-contact{font-family:JetBrains Mono;font-size:12px;color:var(--ink);text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3);transition:-webkit-text-decoration-color .12s ease;transition:text-decoration-color .12s ease;transition:text-decoration-color .12s ease,-webkit-text-decoration-color .12s ease}.footer-contact:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.footer-col-heading{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}.footer-col a{color:var(--ink);font-size:13px;text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3);transition:-webkit-text-decoration-color .12s ease;transition:text-decoration-color .12s ease;transition:text-decoration-color .12s ease,-webkit-text-decoration-color .12s ease}.footer-col a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.footer-referral{display:flex;flex-direction:column;gap:10px;align-items:flex-start;min-width:0}.footer-referral-pitch{margin:0;font-size:12.5px;color:var(--ink-3);line-height:1.55}.footer-referral-pitch b{color:var(--ink-2);font-weight:600}.footer-referral-action{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:999px;font:inherit;font-size:12.5px;font-weight:500;cursor:pointer;text-decoration:none;transition:border-color .12s ease,background .12s ease,color .12s ease}.footer-referral-action:hover{border-color:var(--ink-3);background:var(--paper-2)}.site-footer-strip{max-width:1400px;margin:0 auto;border-top:1px solid var(--line-2);padding:16px 0 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;color:var(--ink-3);font-size:12px}.site-footer-strip .mono{font-size:11px;letter-spacing:.04em}.legal-body{max-width:720px}.docs-body a,.docs-callout a,.legal-body a,.page-sub a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3);transition:-webkit-text-decoration-color .12s ease;transition:text-decoration-color .12s ease;transition:text-decoration-color .12s ease,-webkit-text-decoration-color .12s ease}.docs-body a:hover,.docs-callout a:hover,.legal-body a:hover,.page-sub a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.legal-body ol,.legal-body p,.legal-body ul{color:var(--ink-2);font-size:14px;line-height:1.65;margin:0 0 14px}.legal-body ol,.legal-body ul{padding-left:22px}.legal-body h2{font-family:Inter Tight;font-weight:600;font-size:19px;letter-spacing:-.015em;margin:32px 0 10px;color:var(--ink)}.legal-body h2:first-child{margin-top:0}.legal-body h3{font-family:Inter Tight;font-weight:600;font-size:14.5px;letter-spacing:-.005em;margin:18px 0 6px;color:var(--ink)}.legal-body b,.legal-body strong{color:var(--ink);font-weight:500}.legal-body code{font-family:JetBrains Mono;font-size:12.5px;background:var(--paper-2);border:1px solid var(--line-2);padding:1px 6px;border-radius:4px;color:var(--ink)}.legal-meta{font-family:JetBrains Mono;font-size:11.5px;color:var(--ink-3);margin-bottom:20px}.reset-link{font-size:12px;color:var(--ink-3);cursor:pointer;text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);background:none;border:0;padding:0;font-family:inherit}.reset-link:hover{color:var(--ink)}.page-head{margin-bottom:36px;max-width:720px}.page-eyebrow{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}.page-title{font-family:Inter Tight;font-weight:600;font-size:40px;line-height:1.05;letter-spacing:-.025em;margin:0}.page-sub{color:var(--ink-2);margin:12px 0 0;font-size:15px;max-width:560px}.billing-view-toggle{display:inline-flex;gap:4px;padding:4px;background:var(--paper-2);border:1px solid var(--line);border-radius:999px;margin:0 0 16px}.billing-view-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:inherit;padding:7px 14px;border-radius:999px;color:var(--ink-3);cursor:pointer;transition:color .12s ease,background .12s ease}.billing-view-tab.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px color-mix(in srgb,var(--ink) 12%,transparent)}.billing-view-tab:hover:not(.active){color:var(--ink-2)}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:48px}@media (max-width:980px){.pricing-grid{grid-template-columns:1fr}}.pricing-card{border:1px solid var(--line);border-radius:14px;padding:28px 24px;background:var(--paper);display:flex;flex-direction:column;gap:18px;position:relative}.pricing-tag{position:absolute;top:-10px;right:18px;background:var(--accent);color:#fff;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:999px}.pricing-name{font-family:Inter Tight;font-weight:600;font-size:18px;letter-spacing:-.015em}.pricing-price{display:flex;align-items:baseline;gap:6px;font-family:Inter Tight}.pricing-price .num{font-size:38px;font-weight:600;letter-spacing:-.025em}.pricing-price .unit{font-size:13px;color:var(--ink-3);font-weight:500}.pricing-blurb{font-size:13px;color:var(--ink-2);margin:0}.pricing-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:13.5px;color:var(--ink-2)}.pricing-features li{display:flex;gap:10px;align-items:flex-start}.pricing-features .tick{width:16px;height:16px;border-radius:50%;background:transparent;color:var(--ink);display:grid;place-items:center;flex-shrink:0;margin-top:1px}.pricing-cta{margin-top:auto}.pricing-cta .btn{width:100%;justify-content:center}.pricing-promo{display:flex;align-items:center;gap:14px;padding:12px 16px;margin-bottom:28px;border:1px solid var(--accent);border-radius:10px;background:var(--accent-soft);color:var(--ink);font-size:13.5px;flex-wrap:wrap}.pricing-promo-pill{font-family:JetBrains Mono;font-size:10.5px;font-weight:600;letter-spacing:.08em;padding:3px 8px;border-radius:999px;background:var(--accent);color:#fff;white-space:nowrap}body:not(.light) .pricing-promo{background:oklch(.62 .18 28/.12);color:var(--ink)}.pricing-tokens{display:flex;align-items:baseline;gap:6px;font-family:Inter Tight}.pricing-tokens .tokens-num{font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.pricing-tokens .tokens-cadence{font-size:12px;color:var(--ink-3);font-weight:500}.pricing-price .strike{font-family:Inter Tight;font-size:18px;font-weight:500;color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:1.5px;margin-right:4px}.pricing-price.has-strike .num{color:oklch(.72 .18 145)}.pricing-price-subtitle{font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--ink-3);letter-spacing:.02em;margin-top:-8px}.pricing-toggle{gap:4px;padding:4px;margin:4px 0 16px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}.pricing-toggle,.pricing-toggle-btn{display:inline-flex;align-items:center}.pricing-toggle-btn{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink-2);font:inherit;font-size:13px;font-weight:500;letter-spacing:.01em;padding:7px 16px;border-radius:999px;cursor:pointer;gap:8px;transition:background .15s ease,color .15s ease}.pricing-toggle-btn:hover{color:var(--ink)}.pricing-toggle-btn.on{background:var(--ink);color:var(--paper)}.pricing-toggle-btn.on:hover{color:var(--paper)}.pricing-toggle-star{display:inline-block;color:oklch(.72 .18 145);font-size:13px;line-height:1;filter:drop-shadow(0 0 4px oklch(.72 .18 145/.55));transform:translateY(-1px)}.pricing-toggle-btn.on .pricing-toggle-star{color:oklch(.85 .16 145);filter:drop-shadow(0 0 6px oklch(.85 .16 145/.7))}.pricing-yearly-badge{position:absolute;top:-10px;left:18px;display:inline-flex;align-items:center;gap:4px;background:oklch(.72 .18 145);color:#fff;font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:999px}.token-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:16px}@media (max-width:1100px){.token-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.token-grid{grid-template-columns:1fr}}.token-card{border:1px solid var(--line);border-radius:14px;padding:22px;background:var(--paper);display:flex;flex-direction:column;gap:18px;position:relative}.token-name{font-size:14.5px;letter-spacing:-.005em;color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.token-amount,.token-name{font-family:Inter Tight;font-weight:600}.token-amount{font-size:24px;letter-spacing:-.02em;margin-top:4px;color:var(--ink)}.token-amount b{color:var(--ink);font-weight:700}.token-best-for{font-size:12px;color:var(--ink-3);margin-top:4px}.token-rate{font-family:JetBrains Mono;font-size:11.5px;color:var(--ink-3);margin-top:2px;letter-spacing:.02em}.token-savings{display:inline-block;margin-top:10px;font-family:JetBrains Mono;font-size:10.5px;font-weight:600;letter-spacing:.06em;padding:3px 9px;border-radius:999px;background:var(--accent);color:#fff}.referral-card{border:1px solid var(--line);border-radius:14px;padding:28px 32px;background:var(--paper);box-shadow:var(--shadow-sm);display:grid;grid-template-columns:1fr auto auto;grid-gap:32px;gap:32px;align-items:center;margin-bottom:32px}@media (max-width:900px){.referral-card{grid-template-columns:1fr;gap:20px}}.referral-eyebrow{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.referral-title{margin:0 0 8px;font-family:Inter Tight;font-weight:600;font-size:20px;letter-spacing:-.015em}.referral-info p{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.55;max-width:480px}.referral-stats{display:flex;gap:16px;align-items:center}.referral-stats .stat{display:flex;flex-direction:column;align-items:center;min-width:80px}.referral-stats .stat b{font-family:Inter Tight;font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}.referral-stats .stat span{font-size:10.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;text-align:center}.referral-stats .stat-divider{font-size:22px;color:var(--ink-3);font-weight:300}.referral-cta .btn{white-space:nowrap}.pricing-faq{display:flex;flex-direction:column;gap:0;max-width:820px}.pricing-section-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 18px}.pricing-section-note{font-size:12.5px;color:var(--ink-2);line-height:1.5;margin:-8px 0 18px;padding:10px 14px;background:var(--paper-2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px}.pricing-section-note b{color:var(--ink);font-weight:600}.packs-empty{border:1px dashed var(--line);border-radius:14px;padding:48px 32px;background:var(--paper-2);display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--ink-2);font-size:14px;max-width:540px;margin:32px auto;text-align:center}.packs-empty p{margin:0}.packs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.packs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.packs-toolbar-count{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;color:var(--ink-2)}.packs-toolbar-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.btn.danger{color:oklch(.62 .18 28);border-color:oklch(.62 .18 28/.4)}.btn.danger:hover{background:oklch(.62 .18 28/.08);border-color:oklch(.62 .18 28)}.pack-card-slot{position:relative}.pack-card-slot.select-mode .pack-card{pointer-events:none}.pack-card-slot.selected .pack-card{outline:2px solid var(--accent);outline-offset:-2px;border-radius:14px}.pack-card-select-overlay{position:absolute;inset:0;border:0;background:transparent;cursor:pointer;z-index:5;padding:0}.pack-card-checkbox{position:absolute;top:10px;right:10px;width:22px;height:22px;display:grid;place-items:center;border-radius:6px;background:var(--paper);border:1.5px solid var(--ink-3);color:#fff;transition:background .12s ease,border-color .12s ease}.pack-card-slot.selected .pack-card-checkbox{background:var(--accent);border-color:var(--accent)}.packs-pagination{display:flex;justify-content:center;align-items:center;gap:4px;margin-top:24px;flex-wrap:wrap}.packs-page-num{min-width:32px;padding:4px 10px}.packs-page-num.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.pack-card{border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease;font:inherit;color:inherit;text-align:left;padding:0;text-decoration:none}.pack-card[aria-disabled=true]{cursor:progress}.skel{display:block;background:linear-gradient(90deg,var(--paper-2) 0,var(--line) 40%,var(--paper-2) 80%);background-size:200% 100%;border-radius:8px;animation:skel-shimmer 1.4s ease-in-out infinite}@keyframes skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skel-title{width:280px;height:28px;border-radius:6px;margin-bottom:10px}.skel-sub{width:460px;height:14px;border-radius:4px}.skel-filter-bar{pointer-events:none}.skel-chip{width:88px;height:26px;border-radius:999px}.skel-input{width:220px;height:28px;border-radius:6px}.skel-toolbar{pointer-events:none}.skel-count{width:110px;height:16px}.skel-btn{width:92px;height:28px}.skel-sidebar{gap:14px}.skel-active-editor{width:100%;height:360px;border-radius:12px}.skel-chat-preview{width:100%;height:220px;border-radius:14px}.skel-tile{aspect-ratio:1/1;border-radius:12px}.pack-card:hover{border-color:var(--ink-3)}.pack-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pack-thumbs{aspect-ratio:2/1;padding:4px;border-bottom:1px solid var(--line);background:var(--paper);overflow:hidden;display:block;position:relative}.pack-thumbs-grid{display:flex;flex-direction:column;gap:2px;width:100%;height:100%}.pack-thumbs-row{display:flex;gap:2px;flex:1 1;min-height:0}.pack-thumbs-row.centered{justify-content:center}.pack-thumbs-cell{flex-grow:0;flex-shrink:0;flex-basis:calc((100% - 10px) / 6);background:transparent;border-radius:3px;overflow:hidden;display:grid;place-items:center}.pack-preview-img,.pack-thumbs-cell img{width:100%;height:100%;object-fit:contain;display:block}.pack-thumbs-placeholder{width:100%;height:100%;background:var(--paper)}.pack-meta{padding:10px 12px 12px}.pack-failed-meta,.pack-meta{display:flex;flex-direction:column;gap:8px}.pack-failed-meta{align-items:flex-start}.pack-failed-delete{align-self:flex-start}.pack-title-row{display:flex;align-items:baseline;gap:6px;min-width:0;line-height:1.3}.pack-title{font-family:Inter Tight,sans-serif;font-weight:600;font-size:13.5px;letter-spacing:-.01em;color:var(--ink);flex-shrink:0}.pack-sub{flex:1 1;min-width:0}.pack-info-row,.pack-sub{font-size:11.5px;color:var(--ink-3);font-family:JetBrains Mono;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pack-info-row{line-height:1.45}.pack-actions-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px}.pack-overflow{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 0;border-bottom:1px solid var(--line);background:var(--paper-2);font-family:JetBrains Mono;font-size:10.5px;color:var(--ink-3);letter-spacing:.04em}.pack-overflow .dots{display:inline-flex;gap:3px}.pack-overflow .dots span{width:3px;height:3px;border-radius:50%;background:var(--ink-3)}.pack-card-actions{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line-2);background:var(--paper);min-height:42px}.pack-card-actions-left{display:flex;align-items:baseline;gap:6px;flex:1 1;min-width:0;overflow:hidden}.pack-card-actions-left .pack-sub{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pack-card-actions-right{display:inline-flex;align-items:center;gap:4px}.pack-meta-bottom{display:flex;align-items:baseline;gap:8px;min-width:0;width:100%}.pack-meta-bottom .pack-title{font-family:Inter Tight,sans-serif;font-weight:600;font-size:13px;letter-spacing:-.005em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto;min-width:0;max-width:100%}.pack-meta-bottom .pack-sub{color:var(--ink-3);font-size:11px;white-space:nowrap;margin-left:auto}.pack-rename-pen{width:18px;height:18px;display:grid;place-items:center;border:0;background:transparent;color:var(--ink-3);cursor:pointer;opacity:0;border-radius:4px;transition:opacity .12s ease,color .12s ease,background .12s ease;font:inherit;flex-shrink:0}.pack-card:hover .pack-rename-pen,.pack-rename-pen:focus-visible{opacity:1}.pack-rename-input,.pack-rename-pen:hover{color:var(--ink);background:var(--paper-2)}.pack-rename-input{flex:1 1;min-width:0;font:inherit;font-family:Inter Tight,sans-serif;font-weight:600;font-size:13px;letter-spacing:-.005em;border:1px solid var(--accent);border-radius:4px;padding:2px 6px}.pack-foot-right{display:inline-flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}.pack-meta-bottom .pack-foot-right .pack-sub{margin-left:0}.pack-expand{display:grid;place-items:center;width:18px;height:18px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--ink-3);cursor:pointer;font:inherit;transition:color .12s ease,background .12s ease,border-color .12s ease}.pack-expand:hover{color:var(--ink);background:var(--paper-2);border-color:var(--line)}.pack-card-fav{position:absolute;top:8px;right:8px;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink-3);cursor:pointer;font:inherit;z-index:2;box-shadow:var(--shadow-sm);transition:color .12s ease,border-color .12s ease,background .12s ease}.pack-card-fav:hover{color:var(--ink);border-color:var(--ink-3);background:var(--paper-2)}.pack-card-fav.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--paper)}.pack-card-fav.active:hover{color:var(--accent);border-color:var(--accent);background:var(--paper-2)}.pack-overflow-inline{letter-spacing:.04em;color:var(--ink-3)}.pack-expires-chip,.pack-overflow-inline{display:inline-flex;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:10.5px}.pack-expires-chip{padding:4px 9px;border-radius:999px;background:oklch(.18 .01 60/.72);border:1px solid oklch(.32 .01 60/.7);color:oklch(.96 .005 85);letter-spacing:.02em;pointer-events:none}.pack-expires-chip.urgent{background:oklch(.45 .16 28/.85);border-color:oklch(.6 .18 28/.9)}.pack-expires-label{color:oklch(.78 .005 85)}.pack-expires-chip.urgent .pack-expires-label{color:oklch(.96 .04 28)}.pack-expires-time{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pack-delete-btn{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--paper-2);color:var(--ink-2);cursor:pointer;font:inherit;padding:0;flex-shrink:0;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.pack-delete-btn:hover{background:oklch(.45 .16 28/.9);border-color:oklch(.6 .18 28);color:#fff;transform:scale(1.06)}.pack-delete-btn:disabled{opacity:.5;cursor:progress}.pack-card.deleting{opacity:.55;pointer-events:none}.pack-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid oklch(.3 .01 60/.35);background:oklch(.18 .01 60/.28);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);color:oklch(.96 .005 85);cursor:pointer;font:inherit;padding:0;z-index:4;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease,-webkit-backdrop-filter .12s ease;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease,backdrop-filter .12s ease;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease,backdrop-filter .12s ease,-webkit-backdrop-filter .12s ease}.pack-carousel-arrow svg{filter:drop-shadow(0 1px 1.5px oklch(0 0 0/.55))}.pack-carousel-arrow.prev{left:8px}.pack-carousel-arrow.next{right:8px}.pack-carousel-arrow.prev svg{transform:scaleX(-1)}.pack-carousel-arrow:hover:not(:disabled){background:oklch(.26 .01 60/.95);border-color:oklch(.5 .01 60/.95);color:#fff;transform:translateY(-50%) scale(1.05);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.pack-carousel-arrow:disabled{background:oklch(.18 .01 60/.55);border-color:oklch(.32 .01 60/.5);color:oklch(.6 .005 85);opacity:.5;cursor:not-allowed}.pack-carousel-arrow:disabled svg{filter:none}.pack-carousel-dots{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);display:flex;gap:5px;padding:5px 8px;border-radius:999px;background:oklch(.18 .01 60/.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:4}.pack-carousel-dot{width:6px;height:6px;border-radius:50%;border:0;background:oklch(.7 .005 85/.55);cursor:pointer;padding:0;transition:background .12s ease,transform .12s ease}.pack-carousel-dot:hover{background:oklch(.85 .005 85/.85)}.pack-carousel-dot.active{background:oklch(.95 .005 85);transform:scale(1.25)}.page-sub-warning{margin:14px 0 0;padding:12px 16px;border-radius:10px;background:color-mix(in oklch,var(--paper) 88%,oklch(.55 .19 28));border:1px solid color-mix(in oklch,var(--line) 50%,oklch(.55 .19 28));color:var(--ink-2);font-size:13px;line-height:1.55}.page-sub-warning b{color:oklch(.5 .2 28);font-weight:600}.page-sub-warning a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:2px}.page-sub-warning a:hover{color:var(--accent)}.pack-download-btn{white-space:nowrap;padding:5px 10px;font-size:11.5px;flex-shrink:0}.pack-download-btn.is-loading{opacity:1;cursor:progress}.pack-download-btn.is-loading svg{animation:pack-spin .8s linear infinite;transform-origin:50% 50%}.pack-download-btn.is-success{opacity:1;cursor:default;background:var(--good);border-color:var(--good);color:#fff}@keyframes pack-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pack-card.generating{opacity:.95}.pack-card.generating .pack-thumbs{background:var(--paper-2);position:relative}.pack-card.generating .pack-thumbs-placeholder{background:var(--paper-2)}.pack-card.generating{cursor:progress}.pack-card.generating:hover{transform:none;border-color:var(--line);box-shadow:var(--shadow-sm)}.pack-gen-log{width:100%;height:100%;background:var(--paper-2);padding:12px 14px;display:flex;flex-direction:column;gap:3px;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.4;color:var(--ink-3);overflow-y:auto;overflow-x:hidden}.pack-gen-log-ln{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pack-gen-log-ln.cur{color:var(--ink);font-weight:500}.pack-card.generating .pack-thumbs:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,oklch(1 0 0/.06) 50%,transparent 70%);background-size:200% 100%;animation:shimmer 1.6s infinite;pointer-events:none}.pack-card.generating .pack-progress-bar{height:3px;background:var(--line);overflow:hidden}.pack-card.generating .pack-progress-fill{height:100%;background:var(--accent);width:0;transition:width .4s ease;box-shadow:0 0 8px oklch(.62 .18 28/.4)}.pack-card.generating .pack-status-text{font-family:JetBrains Mono;font-size:11px;color:var(--accent);letter-spacing:.04em;display:flex;align-items:center;gap:6px}.pack-card.generating .pack-status-text .pulse{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 1.5s infinite}.docs-layout{display:grid;grid-template-columns:220px 1fr;grid-gap:48px;gap:48px;align-items:start}@media (max-width:900px){.docs-layout{grid-template-columns:1fr;gap:24px}}.docs-toc{position:-webkit-sticky;position:sticky;top:88px}@media (max-width:900px){.docs-toc{position:static}}.docs-toc-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}.docs-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.docs-toc a{display:block;padding:6px 10px;border-radius:6px;color:var(--ink-2);font-size:13px;text-decoration:none;cursor:pointer}.docs-toc a:hover{color:var(--ink);background:var(--paper-2)}.docs-body{max-width:720px}.docs-body h2{font-family:Inter Tight;font-weight:600;font-size:22px;letter-spacing:-.02em;margin:48px 0 12px;scroll-margin-top:88px}.docs-body h2:first-child{margin-top:0}.docs-body h3{font-family:Inter Tight;font-weight:600;font-size:15px;letter-spacing:-.01em;margin:24px 0 8px}.docs-body p{margin:0 0 14px;color:var(--ink-2);font-size:14px;line-height:1.6}.docs-body li b,.docs-body p b{color:var(--ink);font-weight:500}.docs-body ul{margin:0 0 14px;padding-left:20px;color:var(--ink-2);font-size:14px;line-height:1.7}.docs-body code{border:1px solid var(--line-2);padding:1px 6px;border-radius:4px}.docs-body code,.docs-body pre{font-family:JetBrains Mono;font-size:12.5px;background:var(--paper-2);color:var(--ink)}.docs-body pre{border:1px solid var(--line);padding:14px 16px;border-radius:10px;overflow-x:auto;line-height:1.55;margin:0 0 18px}.docs-body pre code{background:transparent;border:0;padding:0}.docs-callout{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:12px 16px;background:var(--paper-2);font-size:13px;color:var(--ink-2);margin:0 0 18px}.docs-callout b{color:var(--ink);font-weight:500}.pricing-body{min-width:0}.token-breakdown{display:flex;flex-direction:column;gap:2px;margin-top:4px}.token-base{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-3);letter-spacing:.02em}.faq-item{border:1px solid var(--line);border-radius:12px;background:var(--paper);transition:border-color .15s ease,box-shadow .15s ease}.faq-item+.faq-item{margin-top:10px}.faq-item[open]{border-color:var(--ink-3);box-shadow:var(--shadow-sm)}.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;color:var(--ink);font-family:Inter Tight,sans-serif;font-weight:600;font-size:15px;letter-spacing:-.01em;border-radius:12px;transition:background .15s ease}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::marker{content:""}.faq-item summary:hover{background:var(--paper-2)}.faq-item[open] summary{border-bottom-left-radius:0;border-bottom-right-radius:0}.faq-q{flex:1 1;min-width:0;line-height:1.4}.faq-chevron{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--paper-2);border:1px solid var(--line-2);color:var(--ink-2);flex-shrink:0;transition:transform .18s ease,background .15s ease,color .15s ease,border-color .15s ease;transform:rotate(90deg)}.faq-item[open] .faq-chevron{transform:rotate(270deg);background:var(--ink);color:var(--paper);border-color:var(--ink)}.faq-item p{margin:0;padding:18px 20px 20px;border-top:1px solid var(--line-2);color:var(--ink-2);font-size:14px;line-height:1.65}.redeem-card{border:1px solid var(--line);border-radius:12px;background:var(--paper-2);padding:16px 18px;display:flex;flex-direction:column;gap:12px}.redeem-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.redeem-eyebrow{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.redeem-amount{display:inline-flex;align-items:baseline;gap:4px;color:var(--accent);font-family:Inter Tight,sans-serif;font-weight:600;font-size:18px;letter-spacing:-.02em}.redeem-amount-label{font-size:11px;color:var(--ink-3);font-family:JetBrains Mono,monospace;font-weight:500;text-transform:lowercase;letter-spacing:.04em}.redeem-help{margin:0;font-size:13px;color:var(--ink-2);line-height:1.5}.redeem-help b{color:var(--ink);font-weight:600}.redeem-amount-highlight{font-family:JetBrains Mono,monospace;font-size:1.1em;font-weight:700;color:oklch(.72 .18 145);letter-spacing:.01em}.redeem-underline{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;color:var(--ink);font-weight:500}.redeem-action{display:flex;justify-content:flex-end}.redeem-btn{padding:8px 18px;min-width:160px;justify-content:center}.redeem-action-row{display:flex;align-items:stretch;gap:10px;margin-top:4px}.redeem-action-row>.redeem-countdown{flex:1 1 auto;min-width:0}.redeem-action-row>.redeem-btn{flex:0 0 auto;align-self:stretch;min-width:200px}.redeem-countdown{border:1px dashed var(--line);border-radius:8px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--paper)}.redeem-countdown.ready{position:relative;border:1px solid transparent;background:linear-gradient(var(--paper),var(--paper)) padding-box,linear-gradient(135deg,oklch(.78 .16 320),oklch(.82 .15 280),oklch(.85 .13 200),oklch(.82 .15 280),oklch(.78 .16 320)) border-box;background-size:100% 100%,200% 200%;animation:redeem-magical-shimmer 6s linear infinite;box-shadow:0 0 0 1px oklch(.78 .16 320/.1),0 0 18px oklch(.78 .16 320/.18)}.redeem-countdown.ready .redeem-countdown-label{color:oklch(.7 .2 320);font-weight:600}.redeem-countdown.ready .redeem-countdown-time{color:var(--ink)}.redeem-countdown.at-cap .redeem-countdown-label{color:var(--ink-2);font-weight:600}.redeem-countdown.at-cap .redeem-countdown-time{color:var(--ink-3);font-family:Inter Tight,sans-serif;font-size:12px;font-weight:400;letter-spacing:0;text-align:right;max-width:65%}.redeem-countdown.ready .redeem-countdown-inner{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}@keyframes redeem-magical-shimmer{0%{background-position:0 0,0 50%}50%{background-position:0 0,100% 50%}to{background-position:0 0,0 50%}}.redeem-sparkle{position:absolute;width:10px;height:10px;background:linear-gradient(135deg,oklch(.95 .13 90),oklch(.85 .16 320));-webkit-clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);filter:drop-shadow(0 0 3px oklch(.85 .16 320/.7));pointer-events:none;opacity:0;animation:redeem-sparkle-twinkle 2.4s ease-in-out infinite}.redeem-sparkle--tl{top:-5px;left:14px;animation-delay:0s}.redeem-sparkle--tr{top:-6px;right:18px;animation-delay:.6s;width:8px;height:8px}.redeem-sparkle--bl{bottom:-6px;left:28px;animation-delay:1.2s;width:7px;height:7px}.redeem-sparkle--br{bottom:-5px;right:12px;animation-delay:.3s}.redeem-sparkle--ml{left:-6px;animation-delay:1.5s}.redeem-sparkle--ml,.redeem-sparkle--mr{top:50%;transform:translateY(-50%);width:6px;height:6px}.redeem-sparkle--mr{right:-6px;animation-delay:.9s}@keyframes redeem-sparkle-twinkle{0%,to{opacity:0;transform:scale(.6) rotate(0deg)}50%{opacity:1;transform:scale(1) rotate(180deg)}}.redeem-sparkle--ml,.redeem-sparkle--mr{animation-name:redeem-sparkle-twinkle-centered}@keyframes redeem-sparkle-twinkle-centered{0%,to{opacity:0}50%{opacity:1}}.redeem-btn--ready{position:relative;overflow:visible;border:1px solid transparent;color:oklch(.22 .02 280);background:linear-gradient(oklch(.97 .008 80),oklch(.97 .008 80)) padding-box,linear-gradient(135deg,oklch(.78 .16 320),oklch(.82 .15 280),oklch(.85 .13 200),oklch(.82 .15 280),oklch(.78 .16 320)) border-box;background-size:100% 100%,200% 200%;animation:redeem-magical-shimmer 6s linear infinite;box-shadow:0 0 0 1px oklch(.78 .16 320/.1),0 0 18px oklch(.78 .16 320/.18)}.redeem-btn--ready:hover{animation-play-state:paused;background:linear-gradient(oklch(.99 .008 80),oklch(.99 .008 80)) padding-box,linear-gradient(135deg,oklch(.78 .16 320),oklch(.82 .15 280),oklch(.85 .13 200),oklch(.82 .15 280),oklch(.78 .16 320)) border-box;box-shadow:0 0 0 1px oklch(.78 .16 320/.25),0 0 24px oklch(.78 .16 320/.35),0 0 44px oklch(.78 .16 320/.18)}.redeem-btn--ready:disabled{animation:none;box-shadow:none}.redeem-confetti-layer{position:absolute;width:0;height:0;pointer-events:none;z-index:9999}.redeem-confetti-piece{position:absolute;left:0;top:0;width:var(--cs,6px);height:var(--cs,6px);margin-left:calc(var(--cs, 6px) / -2);margin-top:calc(var(--cs, 6px) / -2);border-radius:1px;opacity:0;transform:translate(0) rotate(0deg);animation:redeem-confetti-fly var(--cd,.9s) cubic-bezier(.18,.62,.3,1) var(--cdelay,0s) forwards;will-change:transform,opacity}.redeem-confetti-piece.star{background:transparent!important}.redeem-confetti-piece.star:before{content:"";position:absolute;inset:0;background:inherit;background-color:currentColor;-webkit-clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%)}@keyframes redeem-confetti-fly{0%{opacity:0;transform:translate(0) rotate(0deg) scale(.6)}10%{opacity:1}to{opacity:0;transform:translate(var(--cx,0),calc(var(--cy, 0) + 24px)) rotate(var(--cr,0deg)) scale(.9)}}@media (prefers-reduced-motion:reduce){.redeem-countdown.ready{animation:none}.redeem-sparkle{animation:none;opacity:.7}.redeem-btn--ready{animation:none}.redeem-confetti-layer{display:none}.token-float-chip{animation:token-float-reduced 1.2s ease-out forwards}.token-rolling{animation:none}}.token-rolling{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;animation:token-roll-pulse 1.5s ease-out;color:oklch(.78 .18 145);text-shadow:0 0 12px oklch(.78 .18 145/.45);transition:color .4s ease 1.4s,text-shadow .4s ease 1.4s}@keyframes token-roll-pulse{0%{transform:scale(1)}18%{transform:scale(1.08)}to{transform:scale(1)}}.token-float-chip{position:absolute;pointer-events:none;z-index:9999;font-family:JetBrains Mono,monospace;font-weight:700;font-size:18px;letter-spacing:.02em;color:oklch(.78 .18 145);text-shadow:0 0 8px oklch(.78 .18 145/.55),0 0 18px oklch(.78 .18 145/.3);white-space:nowrap;opacity:0;transform:translate(-50%) scale(.85);animation:token-float 3s ease-out forwards;will-change:transform,opacity}@keyframes token-float{0%{opacity:0;transform:translate(-50%,4px) scale(.85)}12%{opacity:1;transform:translate(-50%,-10px) scale(1.06)}22%{transform:translate(-50%,-16px) scale(1)}75%{opacity:1;transform:translate(-50%,-38px) scale(1)}to{opacity:0;transform:translate(-50%,-54px) scale(1)}}@keyframes token-float-reduced{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}.redeem-countdown-label{font-size:12px;color:var(--ink-3);letter-spacing:.02em}.redeem-countdown-time{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:600;color:var(--ink);letter-spacing:.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pack-detail-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.back-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:border-color .12s ease,background .12s ease,color .12s ease;text-decoration:none}.back-btn:hover{border-color:var(--ink-3);background:var(--paper-2);color:var(--ink)}.back-btn svg{transform:scaleX(-1)}.pack-detail-eyebrow{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-family:JetBrains Mono,monospace}.btn-destructive,.btn.btn-destructive{background:oklch(.55 .19 28);color:#fff;border-color:oklch(.5 .19 28)}.btn-destructive:hover,.btn.btn-destructive:hover{background:oklch(.48 .2 28);border-color:oklch(.45 .2 28)}.btn-destructive:disabled,.btn.btn-destructive:disabled{opacity:.45;cursor:not-allowed}.profile-overview{display:flex;align-items:center;gap:20px;padding:22px 24px;border:1px solid var(--line);background:var(--paper-2);border-radius:14px;margin-bottom:24px}.profile-avatar{width:64px;height:64px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:Inter Tight,sans-serif;font-weight:600;font-size:22px;letter-spacing:-.02em;flex-shrink:0}.profile-avatar-img{background:var(--paper-2);object-fit:cover}.avatar-uploader{display:flex;align-items:center;gap:18px;margin-bottom:18px}.avatar-uploader-circle{position:relative;width:88px;height:88px;border-radius:50%;border:1px solid var(--line);background:var(--paper-2);padding:0;cursor:pointer;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:border-color .12s ease,transform .12s ease}.avatar-uploader-circle:hover:not(:disabled){border-color:var(--ink-3)}.avatar-uploader-circle:active:not(:disabled){transform:scale(.98)}.avatar-uploader-circle:disabled{opacity:.6;cursor:not-allowed}.avatar-uploader-circle img{width:100%;height:100%;object-fit:cover;display:block}.avatar-uploader-initials{font-family:Inter Tight,sans-serif;font-weight:600;font-size:30px;letter-spacing:-.02em;color:var(--ink)}.avatar-uploader-overlay{position:absolute;inset:auto 0 0 0;height:28px;background:color-mix(in srgb,var(--ink) 78%,transparent);color:var(--paper);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s ease}.avatar-uploader-circle:focus-visible .avatar-uploader-overlay,.avatar-uploader-circle:hover .avatar-uploader-overlay{opacity:1}.avatar-uploader-meta{display:flex;flex-direction:column;gap:6px;min-width:0}.avatar-uploader-help{font-size:12.5px;color:var(--ink-3)}.avatar-uploader-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.avatar-uploader-link{background:transparent;border:none;padding:0;font:inherit;font-size:12.5px;color:var(--ink-2);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.avatar-uploader-link:hover:not(:disabled){color:var(--ink)}.avatar-uploader-link:disabled{opacity:.5;cursor:not-allowed}.avatar-uploader-link.avatar-uploader-remove:hover:not(:disabled){color:var(--accent)}.avatar-crop-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.avatar-crop-card{width:min(360px,100%);background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 48px -16px color-mix(in srgb,var(--ink) 38%,transparent),0 4px 12px -4px color-mix(in srgb,var(--ink) 22%,transparent);padding:16px;display:flex;flex-direction:column;gap:12px}.avatar-crop-head{display:flex;align-items:center;justify-content:space-between}.avatar-crop-title{font-size:14px;font-weight:600;color:var(--ink)}.avatar-crop-x{background:transparent;border:0;font-size:20px;line-height:1;color:var(--ink-3);cursor:pointer;padding:4px 8px;border-radius:4px}.avatar-crop-x:hover:not(:disabled){color:var(--ink);background:var(--paper-2)}.avatar-crop-viewport{position:relative;margin:0 auto;overflow:hidden;background:var(--paper-2);border-radius:12px;cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.avatar-crop-viewport:active{cursor:-webkit-grabbing;cursor:grabbing}.avatar-crop-mask{position:absolute;inset:0;pointer-events:none}.avatar-crop-zoom{display:flex;align-items:center;gap:10px}.avatar-crop-zoom input[type=range]{flex:1 1;accent-color:var(--accent)}.avatar-crop-zoom-icon{font-size:14px;color:var(--ink-3);width:12px;text-align:center}.avatar-crop-err{font-size:12px;color:oklch(.62 .18 28)}.avatar-crop-actions{display:flex;justify-content:flex-end;gap:8px}.profile-overview-body{flex:1 1;min-width:0}.profile-overview-action{flex:0 0 auto;display:inline-flex;align-items:center}.profile-overview-name{font-family:Inter Tight,sans-serif;font-weight:600;font-size:22px;letter-spacing:-.02em;color:var(--ink);margin:0 0 4px;word-break:break-word}.profile-overview-meta{font-size:13px;color:var(--ink-3);display:flex;flex-wrap:wrap;gap:4px 10px}.profile-overview-meta span+span:before{content:"·";margin-right:10px;color:var(--line)}.profile-balance{text-align:right;padding-left:20px;border-left:1px solid var(--line);flex-shrink:0}.profile-balance-num{font-family:Inter Tight,sans-serif;font-weight:600;font-size:26px;letter-spacing:-.02em;color:var(--ink)}.profile-balance-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-top:2px}@media (max-width:700px){.profile-overview{flex-direction:column;align-items:flex-start;gap:16px}.profile-balance{padding-left:0;border-left:0;text-align:left;border-top:1px solid var(--line);padding-top:14px;width:100%}}.profile-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}@media (max-width:900px){.profile-grid{grid-template-columns:1fr}}.profile-section{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:20px 22px;display:flex;flex-direction:column;gap:14px}.profile-section-wide{grid-column:1/-1}.profile-section-title{font-family:Inter Tight,sans-serif;font-weight:600;font-size:15px;letter-spacing:-.01em;color:var(--ink);margin:0}.profile-section-help{font-size:13px;color:var(--ink-2);line-height:1.55;margin:0}.profile-section-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:center;margin-top:4px}.profile-section-actions>.profile-form-msg{margin-right:auto}.profile-danger{border-color:oklch(.55 .19 28/.35);background:color-mix(in oklch,var(--paper) 92%,oklch(.55 .19 28))}.profile-danger .profile-section-title{color:oklch(.55 .19 28)}.profile-danger-actions{display:flex;gap:10px;flex-wrap:wrap}.profile-section-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.profile-section-foot-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;font-size:12.5px;color:var(--ink-3)}.profile-section-foot-meta b{color:var(--ink-2);font-weight:600}.profile-section-foot-meta span+span:before{content:"·";margin-right:10px;color:var(--line)}.profile-form,.profile-form>form{display:flex;flex-direction:column;gap:14px}.profile-form-sep{border:0;border-top:1px dashed var(--line);margin:6px 0}.profile-field-inline{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.profile-field-inline input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:var(--ink);cursor:pointer}.profile-field{display:flex;flex-direction:column;gap:6px}.profile-field>label{font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--ink-2)}.profile-field-help{font-size:12px;color:var(--ink-3);line-height:1.5}.profile-field-row{display:flex;align-items:stretch;gap:8px}.profile-field-row>.profile-input{flex:1 1 auto;min-width:0}.profile-field-row>.btn{flex:0 0 auto;white-space:nowrap;align-self:stretch}.profile-subsection-divider{border:0;border-top:1px dashed var(--line);margin:18px 0 14px}.profile-subsection-title{margin:0 0 6px;font-family:Inter Tight,sans-serif;font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.profile-input{width:100%;padding:9px 12px;font:inherit;font-size:13.5px;color:var(--ink);background:var(--paper-2);border:1px solid var(--line);border-radius:8px;outline:none;transition:border-color .12s ease,background .12s ease;box-sizing:border-box}.profile-input:focus{border-color:var(--ink-3);background:var(--paper)}.profile-input:disabled{opacity:.65;cursor:not-allowed}.profile-input[readonly]{background:var(--paper-2);color:var(--ink-2);cursor:default}.profile-form-msg{font-size:12.5px;padding:8px 12px;border-radius:8px;border:1px solid var(--line)}.profile-form-msg.ok{color:var(--good);background:color-mix(in oklch,var(--paper) 90%,var(--good));border-color:color-mix(in oklch,var(--line) 50%,var(--good))}.profile-form-msg.err{color:oklch(.55 .19 28);background:color-mix(in oklch,var(--paper) 90%,oklch(.55 .19 28));border-color:color-mix(in oklch,var(--line) 50%,oklch(.55 .19 28))}.profile-plan-stats{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px;padding:14px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}@media (max-width:600px){.profile-plan-stats{grid-template-columns:1fr;gap:8px}}.profile-stat-num{font-family:Inter Tight,sans-serif;font-weight:600;font-size:22px;letter-spacing:-.02em;color:var(--ink)}.profile-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-top:2px}.referral-block{display:flex;flex-direction:column;gap:14px}.referral-link-row{display:flex;gap:8px;align-items:stretch}.referral-link-row .profile-input{flex:1 1;min-width:0;font-family:JetBrains Mono,monospace;font-size:12.5px}.referral-link-row .btn{flex-shrink:0}@media (max-width:540px){.referral-link-row{flex-direction:column}.referral-link-row .btn{width:100%;justify-content:center}}.referral-stats-row{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px;padding:12px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}.delete-body{display:flex;flex-direction:column;gap:14px;padding:20px 22px 22px}.delete-warn{margin:0;padding:12px 14px;border-radius:8px;background:color-mix(in oklch,var(--paper) 88%,oklch(.55 .19 28));border:1px solid color-mix(in oklch,var(--line) 50%,oklch(.55 .19 28));font-size:13px;color:var(--ink);line-height:1.55}.delete-warn b{color:oklch(.5 .2 28);font-weight:600}.delete-prompt{margin:0;font-size:13.5px;color:var(--ink-2)}.delete-prompt b{color:var(--ink);font-weight:500}.delete-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}@media (max-width:540px){.delete-actions{flex-direction:column-reverse}.delete-actions .btn{width:100%;justify-content:center}}.onboarding-halo{position:fixed;pointer-events:none;border:2px solid var(--accent);border-radius:12px;box-shadow:0 0 0 9999px oklch(0 0 0/.55),inset 0 0 24px oklch(.7 .18 28/.45),0 0 24px oklch(.7 .18 28/.35);animation:halo-pulse 2.4s ease-in-out infinite;z-index:9998;transition:top .18s ease,left .18s ease,width .18s ease,height .18s ease}@keyframes halo-pulse{0%,to{box-shadow:0 0 0 9999px oklch(0 0 0/.55),inset 0 0 24px oklch(.7 .18 28/.45),0 0 24px oklch(.7 .18 28/.35)}50%{box-shadow:0 0 0 9999px oklch(0 0 0/.55),inset 0 0 36px oklch(.7 .18 28/.6),0 0 40px oklch(.7 .18 28/.55)}}.onboarding-popover{position:fixed;width:320px;max-width:calc(100vw - 32px);padding:16px 18px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px oklch(0 0 0/.4);z-index:9999;font-family:Inter Tight,sans-serif;transition:top .18s ease,left .18s ease}.onboarding-eyebrow{font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.onboarding-title{margin:0 0 8px;font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.onboarding-body{margin:0 0 14px;font-size:13px;line-height:1.5;color:var(--ink-2)}.onboarding-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.onboarding-actions{display:inline-flex;align-items:center;gap:8px}.onboarding-skip{background:transparent;border:0;padding:4px 0;color:var(--ink-3);font:inherit;font-size:12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.onboarding-skip:hover{color:var(--ink-2)}@media (prefers-reduced-motion:reduce){.onboarding-halo{animation:none}}.changelog-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:28px;max-width:760px}.changelog-entry{border-top:1px solid var(--line);padding-top:20px}.changelog-entry:first-child{border-top:0;padding-top:0}.changelog-entry-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:4px;flex-wrap:wrap}.changelog-entry-version{font-family:Inter Tight,sans-serif;font-size:20px;font-weight:600;letter-spacing:-.015em;color:var(--ink)}.changelog-entry-meta{display:inline-flex;align-items:center;gap:10px;font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--ink-3);letter-spacing:.04em}.changelog-entry-tag{padding:2px 8px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);color:var(--ink-2);text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.08em}.changelog-entry-summary{margin:0 0 10px;font-size:13.5px;color:var(--ink-2);line-height:1.5}.changelog-entry-changes{margin:0;padding-left:20px;font-size:13px;color:var(--ink-2);line-height:1.55}.changelog-entry-changes li{margin-bottom:4px}.status-deps{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:12px}.status-dep{padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.status-dep-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.status-dep-name{font-family:Inter Tight,sans-serif;font-weight:600;font-size:15px;color:var(--ink)}.status-dep-link{font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--ink-3);text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.status-dep-link:hover{color:var(--ink)}.status-dep-role{margin-top:4px;font-size:12.5px;color:var(--ink-3);line-height:1.5}.home-hero{padding:56px 0 64px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-gap:56px;gap:56px;align-items:center}@media (max-width:960px){.home-hero{grid-template-columns:1fr;gap:32px}}.home-hero-left,.home-hero-right{min-width:0}.home-hero-video{width:100%;aspect-ratio:16/9;border-radius:16px;border:1px solid var(--line);background:var(--paper-2);object-fit:cover;display:block;box-shadow:0 24px 60px oklch(0 0 0/.4)}@media (prefers-reduced-motion:reduce){.home-hero-video{animation:none}}.home-hero-preview{aspect-ratio:1/1;max-height:520px;width:100%;border:1px solid var(--line);border-radius:18px;background:repeating-conic-gradient(#1c1c1c 0 25%,#2a2a2a 0 50%) 50% /28px 28px;display:grid;place-items:center;overflow:hidden}.home-hero-preview-label{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.05em;color:var(--ink-2);padding:6px 12px;background:oklch(0 0 0/.55);border-radius:999px;border:1px solid var(--line-2)}.home-hero-example{display:flex;flex-direction:column;align-items:center;gap:12px}.home-hero-subject{width:200px;height:240px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--paper-2)}.home-hero-subject img{width:100%;height:100%;object-fit:cover;display:block}.home-hero-arrow{font-size:24px;color:var(--ink-3);-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1}.home-hero-emotes{display:grid;grid-template-columns:repeat(4,64px);grid-auto-rows:64px;grid-gap:8px;gap:8px}.home-hero-emote{width:64px;height:64px;background:transparent;overflow:hidden;display:grid;place-items:center}.home-hero-emote img{width:100%;height:100%;object-fit:contain;display:block}@media (max-width:960px){.home-hero-emotes{grid-template-columns:repeat(4,56px);grid-auto-rows:56px}.home-hero-emote{width:56px;height:56px}.home-hero-subject{width:170px;height:204px}}.home-hero-eyebrow{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}.home-hero-title{margin:0 0 18px;font-family:Inter Tight,sans-serif;font-size:48px;font-weight:600;letter-spacing:-.025em;line-height:1.05;color:var(--ink)}.home-hero-sub{margin:0 0 26px;font-size:17px;line-height:1.55;color:var(--ink-2)}.home-hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.home-hero-fineprint{margin:0;font-size:12.5px;color:var(--ink-3)}.home-section{border-top:1px solid var(--line-2);padding:56px 0}.home-section-title{margin:0 0 28px;font-family:Inter Tight,sans-serif;font-size:26px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}.home-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:28px 32px;gap:28px 32px}@media (max-width:1100px){.home-steps{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.home-steps{grid-template-columns:1fr}}.home-step{display:flex;gap:16px;align-items:flex-start}.home-step-num{flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;font-family:JetBrains Mono,monospace;font-size:13px}.home-step-num,.home-step-title{font-weight:600;color:var(--ink)}.home-step-title{margin:0 0 4px;font-family:Inter Tight,sans-serif;font-size:16px;letter-spacing:-.01em}.home-step-body{margin:0;font-size:13.5px;line-height:1.55;color:var(--ink-2)}.home-features{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}@media (max-width:880px){.home-features{grid-template-columns:1fr}}.home-feature{padding:20px 22px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.home-feature-icon{width:32px;height:32px;border-radius:8px;background:var(--paper-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--accent);margin-bottom:14px}.home-feature-title{margin:0 0 8px;font-family:Inter Tight,sans-serif;font-size:15px;font-weight:600;letter-spacing:-.005em;color:var(--ink)}.home-feature-body{margin:0;font-size:13px;line-height:1.55;color:var(--ink-2)}.home-closing{margin-top:48px;padding:36px 40px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.home-closing-title{margin:0 0 10px;font-family:Inter Tight,sans-serif;font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink)}.home-closing-body{margin:0 0 20px;font-size:14px;line-height:1.55;color:var(--ink-2);max-width:560px}.home-closing-cta{display:flex;gap:10px;flex-wrap:wrap}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px;margin-top:8px}@media (max-width:960px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.gallery-grid{grid-template-columns:1fr}}.gallery-card{border:1px solid var(--line);border-radius:14px;background:var(--paper);overflow:hidden;display:flex;flex-direction:column;transition:border-color .12s ease}.gallery-card:hover{border-color:var(--ink-3)}.gallery-thumb{aspect-ratio:4/3;background:repeating-conic-gradient(#1c1c1c 0 25%,#2a2a2a 0 50%) 50% /24px 24px;display:grid;place-items:center}.gallery-thumb-inner{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ink-2)}.gallery-thumb-label{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-3)}.gallery-card-body{padding:16px 18px}.gallery-card-title{margin:0 0 4px;font-family:Inter Tight,sans-serif;font-size:15px;font-weight:600;letter-spacing:-.005em;color:var(--ink)}.gallery-card-tagline{margin:0 0 12px;font-size:12.5px;line-height:1.5;color:var(--ink-3)}.gallery-card-tags{display:flex;flex-wrap:wrap;gap:6px}.gallery-card-tag{padding:3px 8px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line-2);font-family:JetBrains Mono,monospace;font-size:10.5px;color:var(--ink-2)}.gallery-list{display:flex;flex-direction:column;gap:32px;margin-bottom:32px}.gallery-pack{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:28px}.gallery-pack-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin-bottom:24px}.gallery-pack-title{margin:0;font-family:Inter Tight,sans-serif;font-size:22px;font-weight:600;letter-spacing:-.015em;color:var(--ink)}.gallery-pack-tagline{margin:0;flex:1 1 320px;font-size:13.5px;line-height:1.5;color:var(--ink-2)}.gallery-pack-count{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.gallery-pack-body{display:flex;align-items:center;gap:28px;flex-wrap:wrap;justify-content:center}.gallery-pack-subject{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 auto}.gallery-pack-subject img{width:200px;height:240px;object-fit:cover;border-radius:14px;border:1px solid var(--line);background:var(--paper-2)}.gallery-pack-subject figcaption{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.gallery-pack-arrow{font-size:28px;color:var(--ink-3);-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1}.gallery-pack-emotes{display:grid;grid-template-columns:repeat(6,88px);grid-gap:10px;gap:10px}.gallery-pack-emote{display:flex;flex-direction:column;align-items:center;gap:4px}.gallery-pack-emote img{width:80px;height:80px;background:transparent;object-fit:contain}.gallery-pack-emote-name{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.04em;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:88px}@media (max-width:900px){.gallery-pack-body{flex-direction:column}.gallery-pack-arrow{transform:rotate(90deg)}.gallery-pack-emotes{grid-template-columns:repeat(4,72px)}.gallery-pack-emote img{width:64px;height:64px}.gallery-pack-emote-name{max-width:72px}}.gallery-closing{margin-top:40px;padding:28px 30px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.gallery-closing-title{margin:0 0 8px;font-family:Inter Tight,sans-serif;font-size:19px;font-weight:600;letter-spacing:-.015em;color:var(--ink)}.gallery-closing-body{margin:0 0 18px;font-size:13.5px;line-height:1.55;color:var(--ink-2);max-width:560px}.gallery-closing-cta{display:flex;gap:10px;flex-wrap:wrap}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-shell-body{display:grid;grid-template-columns:var(--sidebar-w,260px) 1fr;flex:1 1;min-height:0;transition:grid-template-columns .18s ease}body.app-shell--sidebar-collapsed .app-shell-body{--sidebar-w:56px}body.app-create-anon .app-sidebar{display:none}body.app-create-anon .app-shell-body{grid-template-columns:1fr}.create-anon-stage{position:relative;min-height:calc(100vh - var(--topbar-h, 56px));display:grid;place-items:center;padding:40px 24px}.create-anon-home{position:absolute;top:16px;left:24px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px 6px 8px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ink-2);font-size:13px;text-decoration:none;transition:background .12s ease,color .12s ease,border-color .12s ease}.create-anon-home:hover{background:var(--paper-2);border-color:var(--line);color:var(--ink)}.create-anon-panel{max-width:520px;text-align:center}.create-anon-title{font-family:Inter Tight,sans-serif;font-size:32px;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin:0 0 14px;color:var(--ink)}.create-anon-sub{color:var(--ink-2);font-size:14.5px;line-height:1.55;margin:0 0 24px}.create-anon-cta{display:flex;justify-content:center;gap:10px}.auth-embed{text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--paper);overflow:hidden}@media (max-width:900px){.app-shell-body{grid-template-columns:1fr}}.app-shell-main{min-width:0}.app-shell-main,.app-sidebar{display:flex;flex-direction:column}.app-sidebar{position:-webkit-sticky;position:sticky;top:var(--topbar-h,56px);height:calc(100vh - var(--topbar-h, 56px));justify-content:space-between;gap:16px;padding:44px 10px 18px;border-right:1px solid var(--line);background:var(--paper);overflow:hidden;z-index:45}.app-sidebar-toggle{position:absolute;top:10px;right:8px;width:26px;height:26px;display:grid;place-items:center;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink-3);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease;z-index:2}.app-sidebar-toggle:hover{color:var(--ink);background:var(--paper-2);border-color:var(--line)}body.app-shell--sidebar-collapsed .app-sidebar-item{justify-content:center;padding:9px 0}body.app-shell--sidebar-collapsed .app-sidebar-item-name{display:none}body.app-shell--sidebar-collapsed .app-sidebar-toggle{left:50%;right:auto;transform:translateX(-50%)}@media (max-width:900px){.app-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);overflow:visible}}.app-sidebar-top{display:flex;flex-direction:column;gap:4px;min-height:0}.app-sidebar-bottom{display:flex;flex-direction:column;gap:2px;padding-top:12px;border-top:1px solid var(--line-2)}.app-sidebar-spacer{flex:1 1 auto;min-height:8px}.app-sidebar-account{position:relative}.app-sidebar-account-trigger{width:100%}.app-sidebar-account-chev{margin-left:auto;flex-shrink:0;color:var(--ink-3);opacity:.7;transition:transform .15s ease,opacity .12s ease}.app-sidebar-account-trigger.open .app-sidebar-account-chev,.app-sidebar-account-trigger:hover .app-sidebar-account-chev{opacity:1;color:var(--ink-2)}body.app-shell--sidebar-collapsed .app-sidebar-account-chev{display:none}.app-sidebar-account-menu{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px -8px color-mix(in srgb,var(--ink) 32%,transparent),0 2px 6px -2px color-mix(in srgb,var(--ink) 18%,transparent);padding:6px;display:flex;flex-direction:column;gap:1px;z-index:30;animation:sidebar-account-menu-in .12s ease-out}@keyframes sidebar-account-menu-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.app-sidebar-account-header{display:flex;align-items:center;gap:10px;padding:8px 8px 6px;min-width:0}.app-sidebar-account-header-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;object-fit:cover;background:var(--paper-2);border:1px solid var(--line);font-size:11px}.app-sidebar-account-header-body{min-width:0;flex:1 1}.app-sidebar-account-header-name{font-size:13px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-account-header-email{font-size:11.5px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-account-menu-sep{height:1px;background:var(--line);margin:4px -6px}.app-sidebar-account-menu-item{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:6px;font-size:13px;color:var(--ink-2);text-decoration:none;background:transparent;border:0;cursor:pointer;font-family:inherit;text-align:left;width:100%;transition:background .1s ease,color .1s ease}.app-sidebar-account-menu-item:focus-visible,.app-sidebar-account-menu-item:hover{background:var(--paper-2);color:var(--ink);outline:none}.app-sidebar-account-menu-item:disabled{opacity:.55;cursor:not-allowed}.app-sidebar-account-menu-signout{color:var(--ink-3)}.app-sidebar-account-menu-signout:focus-visible,.app-sidebar-account-menu-signout:hover{color:oklch(.65 .18 28)}body.app-shell--sidebar-collapsed .app-sidebar-account-menu{position:fixed;left:64px;right:auto;bottom:18px;top:auto;width:240px;background:var(--paper);box-shadow:0 8px 24px -8px color-mix(in srgb,var(--ink) 32%,transparent),0 2px 6px -2px color-mix(in srgb,var(--ink) 18%,transparent);z-index:90}.app-sidebar-item{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:7px;font-size:13px;color:var(--ink-2);text-decoration:none;transition:background .12s ease,color .12s ease}.app-sidebar-item:hover{background:var(--paper-2);color:var(--ink)}.app-sidebar-item.active,.app-sidebar-item.active:hover{background:var(--paper-2);color:var(--ink);font-weight:600}.app-sidebar-item-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-count{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10.5px;color:var(--ink-3);margin-left:2px;flex-shrink:0;letter-spacing:.02em}.app-sidebar-item.active .app-sidebar-count{color:var(--ink-2)}.app-sidebar-profile-avatar{width:20px;height:20px;border-radius:50%;flex-shrink:0;object-fit:cover;background:var(--paper-2)}.app-sidebar-profile-initials{display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;letter-spacing:.02em;color:var(--ink-2);text-transform:uppercase}.app-sidebar-profile.active .app-sidebar-profile-avatar{border-color:color-mix(in srgb,var(--ink) 30%,var(--line))}body.app-shell--sidebar-collapsed .app-sidebar-profile-avatar{width:24px;height:24px}body.app-shell--sidebar-collapsed .app-sidebar-profile-initials{font-size:10px}body.app-shell--sidebar-collapsed .app-sidebar-count{display:none}.app-sidebar-auth-btn{border:0;background:transparent;width:100%;text-align:left;cursor:pointer;font-family:inherit}.app-sidebar-packs{display:flex;flex-direction:column;min-height:0}.app-sidebar-packs-head{padding:0;gap:0}.app-sidebar-packs-label{flex:1 1;min-width:0;display:inline-flex;align-items:center;gap:9px;padding:7px 8px 7px 10px;color:inherit;text-decoration:none;border-radius:7px 0 0 7px}.app-sidebar-packs-toggle{display:grid;place-items:center;width:24px;height:28px;margin-right:6px;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:0 7px 7px 0;transition:color .12s ease,background .12s ease}.app-sidebar-packs-toggle:hover{background:var(--paper-2);color:var(--ink)}.app-sidebar-packs-list{list-style:none;margin:2px 0 4px;padding:0;display:flex;flex-direction:column;gap:1px;min-height:0;position:relative}.app-sidebar-packs-list:before{content:"";position:absolute;top:0;bottom:4px;left:15px;width:1px;background:var(--line);pointer-events:none}.app-sidebar-pack-row{padding-left:24px;gap:8px;position:relative}.app-sidebar-pack-row:before{content:"";position:absolute;top:50%;left:15px;width:7px;height:1px;background:var(--line);pointer-events:none}.app-sidebar-pack-thumb{flex:0 0 18px;width:18px;height:18px;display:grid;place-items:center;border-radius:4px;background:var(--paper-2);overflow:hidden}.app-sidebar-pack-thumb img{width:100%;height:100%;object-fit:contain;display:block;transform-origin:center}.app-sidebar-pack-thumb-dot{width:6px;height:6px;border-radius:50%;background:var(--ink-3)}.app-sidebar-pack-row.generating{cursor:default;opacity:.6}.app-sidebar-pack-row.generating .app-sidebar-pack-thumb-dot{animation:pulse 1.5s ease-in-out infinite}.app-sidebar-packs-empty{font-size:12px;color:var(--ink-3);padding:6px 10px 8px 30px}.app-sidebar-pack-li{position:relative;list-style:none}.app-sidebar-pack-li .app-sidebar-pack-row{flex:1 1;min-width:0}.app-sidebar-pack-pen{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:22px;height:22px;display:grid;place-items:center;border:0;background:transparent;color:var(--ink-3);cursor:pointer;border-radius:4px;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.app-sidebar-pack-li:hover .app-sidebar-pack-pen,.app-sidebar-pack-pen:focus-visible{opacity:1}.app-sidebar-pack-pen:hover{background:var(--paper-2);color:var(--ink)}.app-sidebar-pack-rename{flex:1 1;min-width:0;background:transparent;border:1px solid var(--ink-3);border-radius:4px;padding:1px 4px;font:inherit;font-size:13px;color:var(--ink);outline:none}.app-sidebar-pack-rename:focus{border-color:var(--accent)}.app-sidebar-packs-more{width:100%;background:transparent;border:0;font:inherit;font-size:12px;font-style:italic;text-align:left;padding:6px 10px 6px 24px;margin-left:0;color:var(--ink-3);cursor:pointer;border-radius:6px;transition:background .12s ease,color .12s ease;position:relative}.app-sidebar-packs-more:before{content:"";position:absolute;top:50%;left:15px;width:7px;height:1px;background:var(--line);pointer-events:none}.app-sidebar-packs-more:hover{background:var(--paper-2);color:var(--ink)}body.app-shell--sidebar-collapsed .app-sidebar-packs-empty,body.app-shell--sidebar-collapsed .app-sidebar-packs-list,body.app-shell--sidebar-collapsed .app-sidebar-packs-toggle{display:none}body.app-shell--sidebar-collapsed .app-sidebar-packs-label{justify-content:center;padding:9px 0;border-radius:7px}.landing{height:100dvh;max-width:1100px;margin:0 auto;padding:28px 24px 24px;display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center;position:relative;overflow:hidden}body:has(.landing){overflow:hidden}body:has(.app-shell)>footer,body:has(.landing)>footer{display:none!important}.landing-theme-toggle{position:fixed;top:18px;right:22px;z-index:50}.landing-hero{max-width:720px}.landing-title{font-family:Inter Tight,sans-serif;font-weight:600;font-size:clamp(32px,4.5vw,48px);letter-spacing:-.03em;line-height:1.05;margin:0 0 10px;color:var(--ink);gap:14px}.landing-title,.landing-title-icon{display:inline-flex;align-items:center}.landing-title-icon{line-height:0}.landing-title-icon svg{width:.85em;height:.85em}.landing-lede{font-size:clamp(14px,1.3vw,16px);line-height:1.5;color:var(--ink-2);margin:0 0 8px;text-wrap:pretty}.landing-coming{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin:0}.landing-example{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.landing-subject{margin:0}.landing-subject-img{position:relative;width:200px;height:240px;border-radius:14px;overflow:hidden;background:var(--paper-2);border:1px solid var(--line)}.landing-subject-img img{width:100%;height:100%;object-fit:cover;display:block}.landing-arrow{font-size:22px;color:var(--ink-3);-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1}.landing-emote-tiles{display:grid;grid-template-columns:repeat(14,38px);grid-auto-rows:38px;grid-gap:6px;gap:6px;padding:10px;border-radius:12px;border:1px solid var(--line);background:var(--paper-2)}.landing-emote-tile{width:38px;height:38px;border-radius:6px;background:var(--paper);overflow:hidden;display:grid;place-items:center}@media (max-width:900px){.landing-emote-tiles{grid-template-columns:repeat(8,38px);grid-auto-rows:38px}}.landing-emote-tile img{width:100%;height:100%;object-fit:contain;display:block}.landing-contact{margin-top:auto;padding-top:8px}.landing-email{font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px;transition:color .12s ease,border-color .12s ease}.landing-email:hover{color:var(--ink);border-color:var(--ink-3)}@media (max-width:720px){.landing{padding:28px 16px 24px;gap:14px}.landing-emote-tiles{grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:auto;width:min(100%,360px);gap:5px;padding:8px}.landing-emote-tile{width:100%;height:auto;aspect-ratio:1;border-radius:5px}.landing-subject-img{width:160px;height:192px}.stage{padding:24px 16px 56px}.topbar{padding:12px 14px}.topbar .brand span{display:none}.nav{gap:16px;font-size:12.5px}.topbar .nav a[href="/"]{display:none}.page-head{margin-bottom:24px}.page-title{font-size:28px;line-height:1.1}.page-sub{font-size:14px}.home-hero{padding:24px 0 32px;gap:24px}.home-hero-eyebrow{margin-bottom:10px}.home-hero-title{font-size:32px;line-height:1.08;margin-bottom:14px}.home-hero-sub{font-size:15px;margin-bottom:20px}.home-hero-cta{gap:8px}.home-hero-cta .btn{flex:1 1 auto;justify-content:center}.home-hero-fineprint{font-size:12px;line-height:1.55}.home-hero-example{gap:10px}.home-hero-subject{width:150px;height:180px}.home-hero-emotes{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;width:100%;max-width:320px;padding:10px;gap:6px}.home-hero-emote{width:100%;height:auto;aspect-ratio:1}.home-section{padding:32px 0}.home-section-title{font-size:22px;margin-bottom:18px}.home-step{gap:12px}.home-step-num{flex-basis:28px;width:28px;height:28px;font-size:12px}.home-step-title{font-size:15px}.home-step-body{font-size:13px}.home-feature{padding:16px 18px}.home-closing{margin-top:32px;padding:24px 20px}.home-closing-title{font-size:19px}.home-closing-body{font-size:13.5px}.home-closing-cta{gap:8px}.home-closing-cta .btn{flex:1 1 auto;justify-content:center}.gallery-pack{padding:20px 16px}.gallery-pack-head{margin-bottom:18px;gap:8px}.gallery-pack-title{font-size:19px}.gallery-pack-tagline{font-size:13px;flex:1 1 100%}.gallery-pack-body{gap:18px}.gallery-pack-subject img{width:160px;height:192px}.gallery-pack-emotes{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:340px;gap:8px}.gallery-pack-emote img{width:100%;height:auto;aspect-ratio:1}.gallery-pack-emote-name{max-width:100%;font-size:9.5px}.gallery-closing{padding:22px 18px}.gallery-closing-title{font-size:19px}.legal-body h2{font-size:17px;margin:26px 0 8px}.legal-body h3{margin:16px 0 6px}.legal-body h3,.legal-body ol,.legal-body p,.legal-body ul{font-size:13.5px}.legal-meta{font-size:11px;margin-bottom:16px}.docs-body,.docs-toc{min-width:0}.docs-body h2{font-size:19px;margin:36px 0 10px}.docs-body h3{font-size:14px;margin:20px 0 6px}.docs-body p,.docs-body ul{font-size:13.5px}.docs-body pre{font-size:11.5px;padding:12px}.docs-callout{padding:10px 14px;font-size:12.5px;word-break:break-word}.pricing-hero-title{font-size:28px}.pricing-hero-sub{font-size:14px}.pricing-card{padding:20px 18px}.pricing-card .pricing-price{font-size:32px}.pricing-card h3{font-size:17px}.changelog-entry,.token-card{padding:18px 16px}.status-deps{gap:10px}.status-dep{padding:14px 16px}.site-footer{padding:28px 16px 0}.site-footer-inner{padding-bottom:24px;gap:24px}.footer-col-heading{margin-bottom:10px}.btn{padding:9px 14px}.btn.primary{padding:10px 16px}}@media (max-width:420px){.home-hero-title{font-size:28px}.page-title{font-size:26px}.gallery-pack-emotes{gap:6px}.gallery-pack-emote-name{font-size:9px}.docs-body h2{font-size:17px}}.pack-card.unviewed{background:color-mix(in srgb,var(--good) 14%,var(--paper));border-color:color-mix(in srgb,var(--good) 50%,var(--line))}.pack-card.unviewed:hover{border-color:color-mix(in srgb,var(--good) 65%,var(--ink-3))}.app-sidebar-pack-row.unviewed{background:oklch(.62 .14 155/.18)}.app-sidebar-pack-row.unviewed:hover{background:oklch(.62 .14 155/.26)}.app-sidebar-pack-row.unviewed .app-sidebar-item-name{color:var(--ink);font-weight:500}.app-sidebar-pack-row.unviewed:after{content:"";width:6px;height:6px;border-radius:50%;background:var(--good);margin-left:auto;margin-right:2px;flex:0 0 6px}.app-sidebar-pack-li:hover .app-sidebar-pack-row.unviewed:after{display:none}.presets-manager{display:flex;flex-direction:column;gap:32px;margin-top:16px}.presets-error{padding:10px 14px;border-radius:8px;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--paper));color:var(--ink);font-size:13px}.presets-section{display:flex;flex-direction:column;gap:12px}.presets-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:10px}.presets-section-title{font-size:18px;font-weight:600;margin:0;color:var(--ink)}.presets-section-sub{margin:4px 0 0;color:var(--ink-3);font-size:13px}.presets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px}.learn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px}.learn-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--paper);text-decoration:none;color:inherit;transition:border-color .12s ease}.learn-card:hover{border-color:var(--ink-3)}.learn-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.learn-card-title{font-family:Inter Tight,sans-serif;font-weight:600;font-size:15px;letter-spacing:-.01em;color:var(--ink);flex:1 1;min-width:0}.learn-card-pill{flex-shrink:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--ink-3);background:var(--paper-2)}.learn-card-pill-legal{color:color-mix(in srgb,var(--accent) 70%,var(--ink-2));border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.learn-card-pill-policy{color:color-mix(in srgb,var(--good) 70%,var(--ink-2));border-color:color-mix(in srgb,var(--good) 35%,var(--line))}.learn-card-pill-product{color:var(--ink-2)}.learn-card-body{font-size:12.5px;color:var(--ink-3);line-height:1.5;margin:0}.learn-card-cta{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-2);margin-top:auto;padding-top:4px}.learn-card:hover .learn-card-cta{color:var(--ink)}.learn-back{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-3);text-decoration:none;margin-bottom:12px;padding:4px 0}.learn-back svg{transform:scaleX(-1)}.learn-back:hover{color:var(--ink-2)}.learn-footnote{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-3);line-height:1.6}.learn-footnote a{color:var(--ink-2)}.learn-footnote a:hover{color:var(--ink)}.help-jump{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid var(--line)}.help-jump-link{display:inline-flex;align-items:center;padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:12.5px;color:var(--ink-2);background:var(--paper);text-decoration:none;transition:border-color .12s ease,color .12s ease,background .12s ease}.help-jump-link:hover{border-color:var(--ink-3);color:var(--ink);background:var(--paper-2,var(--paper))}.help-section{margin-top:36px;scroll-margin-top:calc(var(--topbar-h) + 16px)}.help-section-title{margin:0 0 6px;font-size:19px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.help-section-intro{margin:0 0 16px;color:var(--ink-3);font-size:13.5px;line-height:1.55}.help-faqs{display:flex;flex-direction:column;gap:8px}.help-faq{border:1px solid var(--line);border-radius:10px;background:var(--paper);transition:border-color .12s ease}.help-faq:hover,.help-faq[open]{border-color:var(--ink-3)}.help-faq-q{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;cursor:pointer;font-size:14px;font-weight:500;color:var(--ink);list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.help-faq-q::-webkit-details-marker{display:none}.help-faq-q::marker{content:""}.help-faq-chev{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-3);transition:transform .15s ease,color .12s ease}.help-faq[open] .help-faq-chev{transform:rotate(180deg);color:var(--ink)}.help-faq-a{padding:0 14px 14px;font-size:13.5px;line-height:1.6;color:var(--ink-2)}.help-faq-a p{margin:0 0 10px}.help-faq-a p:last-child{margin-bottom:0}.help-faq-a ul{margin:0 0 10px;padding-left:18px;display:flex;flex-direction:column;gap:4px}.help-faq-a ul:last-child{margin-bottom:0}.help-faq-a a,.help-faq-a li{color:var(--ink-2)}.help-faq-a a{text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:2px}.help-faq-a a:hover{color:var(--ink);-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3)}.help-faq-a code{font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:12.5px;background:var(--paper-2,var(--paper));border:1px solid var(--line);border-radius:4px;padding:1px 5px}.help-footnote{margin-top:44px;padding-top:20px;border-top:1px solid var(--line);color:var(--ink-3);font-size:13px;line-height:1.6}.help-footnote-title{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--ink)}.help-footnote p{margin:0 0 10px}.help-footnote p:last-child{margin-bottom:0}.help-footnote-meta{font-size:12.5px;color:var(--ink-3)}.help-footnote a{color:var(--ink-2)}.help-footnote a:hover{color:var(--ink)}.presets-grid-fullspan{grid-column:1/-1}.preset-card{position:relative;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .12s ease,box-shadow .12s ease,opacity .12s ease}.preset-card:hover{border-color:var(--ink-3)}.preset-card.hidden-in-studio{opacity:.55}.preset-card.hidden-in-studio:hover{opacity:.85}.preset-card.toggleable{cursor:pointer}.preset-card.toggleable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.preset-card-origin{position:absolute;top:8px;left:8px;display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--paper);border:1px solid var(--line);color:var(--ink-3);z-index:2;pointer-events:none}.preset-card-origin.custom{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.preset-card-eye{position:absolute;top:8px;right:8px;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink-3);cursor:pointer;font:inherit;z-index:2;box-shadow:var(--shadow-sm);transition:color .12s ease,border-color .12s ease,background .12s ease}.preset-card-eye:hover{color:var(--ink);border-color:var(--ink-3);background:var(--paper-2)}.preset-card-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,1fr);grid-gap:2px;gap:2px;width:100%;aspect-ratio:2/1;padding:4px;background:var(--paper);border-bottom:1px solid var(--line)}.preset-card-cell{background:transparent;border-radius:3px;overflow:hidden;display:grid;place-items:center}.preset-card-cell img{width:100%;height:100%;object-fit:contain;display:block}.preset-card-cell.empty{background:color-mix(in srgb,var(--line) 35%,var(--paper))}.preset-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px 12px}.preset-card-meta{display:flex;flex-direction:row;align-items:baseline;gap:8px;min-width:0;flex:1 1}.preset-card-name{flex:1 1;min-width:0;font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preset-card-foot-right{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.preset-card-count{font-size:11px;color:var(--ink-3);white-space:nowrap}.preset-card-expand{display:grid;place-items:center;width:18px;height:18px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--ink-3);cursor:pointer;font:inherit;transition:color .12s ease,background .12s ease,border-color .12s ease}.preset-card-expand:hover{color:var(--ink);background:var(--paper-2);border-color:var(--line)}.preset-card-actions{display:flex;gap:4px;flex-shrink:0}.preset-editor{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:14px;display:flex;flex-direction:column;gap:12px}.preset-editor-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.preset-editor-name{display:flex;flex-direction:column;gap:4px;flex:1 1;min-width:0}.preset-editor-label{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.preset-editor-input,.preset-editor-search{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--paper-2);color:var(--ink);padding:7px 10px;font-size:13px;font-family:inherit}.preset-editor-input:focus,.preset-editor-search:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.preset-editor-stats{font-size:12px;color:var(--ink-3);white-space:nowrap}.preset-editor-catalog{border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:14px;background:var(--paper-2)}.preset-editor-cat-name{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin-bottom:6px}.preset-editor-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:8px;gap:8px}.preset-emote-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);cursor:pointer;font:inherit;text-align:center;transition:border-color .12s ease,background .12s ease,transform .08s ease}.preset-emote-tile:hover{border-color:var(--ink-3);background:var(--paper-2)}.preset-emote-tile.selected{border-color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,var(--paper));box-shadow:inset 0 0 0 1px var(--ink)}.preset-emote-tile.locked{opacity:.55;cursor:not-allowed}.preset-emote-tile-thumb{width:56px;height:56px;display:grid;place-items:center;border-radius:8px;background:transparent;overflow:hidden}.preset-emote-tile-thumb .emote-face-img{width:100%;height:100%;border-radius:6px}.preset-emote-tile-name{font-size:11px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.preset-emote-tile-lock{position:absolute;top:6px;right:6px;color:var(--ink-3)}.preset-editor-actions{display:flex;justify-content:flex-end;gap:8px}.presets-row-wrap{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.presets-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.presets-row-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}.presets-row-manage{font-size:11px;color:var(--ink-3);text-decoration:none}.presets-row-manage:hover{color:var(--ink)}.presets-row-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px;padding-bottom:4px}.preset-chip{position:relative;width:100%;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .12s ease,background .12s ease}.preset-chip:hover{border-color:var(--ink-3)}.preset-chip.applied{background:var(--paper-2)}.preset-chip.applied,.preset-chip.applied:hover{border-color:var(--ink)}.preset-chip-main{display:flex;flex-direction:column;width:100%;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left}.preset-chip-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,1fr);grid-gap:2px;gap:2px;width:100%;aspect-ratio:2/1;padding:4px;background:var(--paper);border-bottom:1px solid var(--line)}.preset-chip-cell{background:transparent;border-radius:3px;overflow:hidden;display:grid;place-items:center;font-size:9px;color:var(--ink-3)}.preset-chip-cell img{width:100%;height:100%;object-fit:contain;display:block}.preset-chip-cell-fallback{font-weight:600;letter-spacing:.04em}.preset-chip-cell.empty{background:color-mix(in srgb,var(--line) 35%,var(--paper))}.preset-chip-foot{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:8px;padding:10px 12px 12px}.preset-chip-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:var(--ink)}.preset-chip-count{font-size:11px;color:var(--ink-3);white-space:nowrap}.preset-chip-foot-right{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.preset-chip-expand{display:grid;place-items:center;width:18px;height:18px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--ink-3);cursor:pointer;font:inherit;transition:color .12s ease,background .12s ease,border-color .12s ease}.preset-chip-expand:hover{color:var(--ink);background:var(--paper-2);border-color:var(--line)}.preset-chip-main{cursor:pointer}.preset-chip-main:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.preset-emotes-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.preset-emotes-card{width:100%;max-width:720px;max-height:80vh;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md);overflow:hidden}.preset-emotes-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px 12px;border-bottom:1px solid var(--line)}.preset-emotes-title{display:flex;flex-direction:column;gap:2px;min-width:0}.preset-emotes-title h2{margin:0;font-family:Inter Tight;font-weight:600;font-size:18px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-emotes-count{font-size:12px;color:var(--ink-3)}.preset-emotes-close{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink-2);cursor:pointer;font:inherit;transition:color .12s ease,border-color .12s ease,background .12s ease;flex-shrink:0}.preset-emotes-close:hover{color:var(--ink);border-color:var(--ink-3);background:var(--paper-2)}.preset-emotes-grid{flex:1 1;overflow-y:auto;padding:14px 18px 18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:8px;gap:8px;align-content:start}.preset-emotes-tile{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.preset-emotes-tile .mini{width:64px;height:64px;display:grid;place-items:center;border-radius:8px;background:transparent;border:1px solid var(--line-2);overflow:hidden}.preset-emotes-tile .mini>img{width:100%;height:100%;object-fit:contain;display:block;border-radius:6px}.preset-emotes-tile .info{min-width:0;max-width:100%;overflow:hidden}.preset-emotes-tile .info b{display:block;font-family:Inter Tight;font-weight:500;font-size:11px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-emotes-empty{grid-column:1/-1;text-align:center;color:var(--ink-3);font-size:13px;padding:24px}.preset-chip-shuffle{position:absolute;top:8px;right:8px;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink-3);cursor:pointer;font:inherit;z-index:2;box-shadow:var(--shadow-sm);transition:color .12s ease,border-color .12s ease,background .12s ease}.preset-chip-shuffle:hover{color:var(--ink);border-color:var(--ink-3);background:var(--paper-2)}.preset-chip-save{position:absolute;top:8px;right:8px;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink-3);cursor:pointer;font:inherit;z-index:2;box-shadow:var(--shadow-sm);transition:color .12s ease,border-color .12s ease,background .12s ease}.preset-chip-save:hover{color:var(--accent);border-color:var(--accent);background:var(--paper-2)}.preset-chip-origin{position:absolute;top:8px;left:8px;display:grid;place-items:center;width:20px;height:20px;border-radius:6px;background:var(--paper);border:1px solid var(--line);color:var(--ink-3);z-index:2;pointer-events:none}.preset-chip-origin.custom{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.preset-chip-fav{position:absolute;top:8px;right:8px;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink-3);cursor:pointer;font:inherit;z-index:2;box-shadow:var(--shadow-sm);transition:color .12s ease,border-color .12s ease,background .12s ease}.preset-chip-fav:hover{color:var(--ink);border-color:var(--ink-3);background:var(--paper-2)}.preset-chip-fav.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--paper)}.preset-chip-fav.active:hover{color:var(--accent);border-color:var(--accent);background:var(--paper-2)}.preset-chip:has(.preset-chip-save) .preset-chip-fav,.preset-chip:has(.preset-chip-shuffle) .preset-chip-fav{right:40px}.name-prompt-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.name-prompt-card{width:100%;max-width:380px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-md);padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px}.name-prompt-title{font-family:Inter Tight;font-weight:600;font-size:16px;color:var(--ink)}.name-prompt-hint{font-size:12px;color:var(--ink-3);line-height:1.4}.name-prompt-input{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--paper-2);color:var(--ink);padding:8px 10px;font:inherit;font-size:13px;margin-top:4px}.name-prompt-input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.name-prompt-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.expr-show-all-btn{font:inherit;font-size:12px;padding:8px 14px;border:1px dashed var(--line);border-radius:8px;background:transparent;color:var(--ink-3);cursor:pointer;display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin:6px 0 14px;transition:border-color .12s ease,color .12s ease}.expr-show-all-btn:hover{border-color:var(--ink-3);color:var(--ink)}.expr-show-all-btn.ghost{border-style:solid;margin-top:10px}.theme-pref{display:inline-flex;gap:6px;flex-wrap:wrap}.theme-pref-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink-2);cursor:pointer;font:inherit;font-size:13px;transition:color .12s ease,border-color .12s ease,background .12s ease}.theme-pref-btn:hover{color:var(--ink);border-color:var(--ink-3);background:var(--paper-2)}.theme-pref-btn.active{color:var(--paper);background:var(--ink);border-color:var(--ink)}.theme-pref-btn:disabled{opacity:.55;cursor:progress}.theme-pref-icon{display:inline-flex;align-items:center}.theme-pref-label{font-weight:500}.feedback-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.feedback-card{width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;gap:14px;padding:18px 18px 16px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md);overflow-y:auto;transition:border-color .12s ease}.feedback-card.drag-over{border-color:var(--accent)}.feedback-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.feedback-head h2{margin:0;font-family:Inter Tight;font-weight:600;font-size:18px;color:var(--ink)}.feedback-close{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink-2);cursor:pointer;font:inherit;flex-shrink:0;transition:color .12s ease,border-color .12s ease,background .12s ease}.feedback-close:hover{color:var(--ink);border-color:var(--ink-3);background:var(--paper-2)}.feedback-field{display:flex;flex-direction:column;gap:6px;position:relative}.feedback-field-label{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.feedback-select,.feedback-textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--paper-2);color:var(--ink);padding:8px 10px;font:inherit;font-size:13px}.feedback-textarea{resize:vertical;min-height:100px;font-family:Inter Tight,sans-serif;line-height:1.5}.feedback-select:focus,.feedback-textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.feedback-counter{position:absolute;right:6px;bottom:6px;font-size:10.5px;color:var(--ink-3);font-family:JetBrains Mono,monospace;pointer-events:none}.feedback-images{display:flex;flex-wrap:wrap;gap:6px}.feedback-image-add,.feedback-image-thumb{width:60px;height:60px;border-radius:6px;overflow:hidden;position:relative;border:1px solid var(--line)}.feedback-image-thumb img{width:100%;height:100%;object-fit:cover;display:block}.feedback-image-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;cursor:pointer;font:inherit}.feedback-image-add{display:grid;place-items:center;background:var(--paper-2);color:var(--ink-3);cursor:pointer;font:inherit;border-style:dashed;transition:color .12s ease,border-color .12s ease,background .12s ease}.feedback-image-add:hover{color:var(--ink);border-color:var(--ink-3);background:var(--paper)}.feedback-error{padding:8px 12px;background:color-mix(in srgb,var(--accent) 14%,var(--paper));border:1px solid var(--accent);border-radius:6px;color:var(--ink);font-size:12.5px}.feedback-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.feedback-success{display:flex;align-items:center;gap:10px;padding:16px;background:color-mix(in srgb,var(--good) 12%,var(--paper));border:1px solid color-mix(in srgb,var(--good) 40%,var(--line));border-radius:8px;color:var(--ink);font-size:14px}.feedback-success>svg{color:var(--good);flex-shrink:0}.terms-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.terms-card{width:100%;max-width:640px;max-height:92vh;display:flex;flex-direction:column;gap:14px;padding:20px 22px 18px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md)}.terms-head h2{margin:0 0 6px;font-family:Inter Tight;font-weight:600;font-size:20px;color:var(--ink)}.terms-head p{margin:0;color:var(--ink-2);font-size:13px;line-height:1.5}.terms-scroll{flex:1 1;min-height:200px;max-height:56vh;overflow-y:auto;border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:var(--paper-2)}.terms-body{display:flex;flex-direction:column;gap:18px;color:var(--ink-2);font-size:13px;line-height:1.55}.terms-body section h3{margin:0 0 6px;font-family:Inter Tight;font-weight:600;font-size:15px;color:var(--ink)}.terms-body p{margin:0 0 8px}.terms-body ul{margin:0 0 8px;padding-left:22px;display:flex;flex-direction:column;gap:6px}.terms-body a{color:var(--ink-3);text-decoration:underline;text-underline-offset:2px}.terms-body a:hover{color:var(--ink)}.terms-end{margin-top:6px;font-style:italic;color:var(--ink-2)}.terms-error{padding:8px 12px;background:color-mix(in srgb,var(--accent) 14%,var(--paper));border:1px solid var(--accent);border-radius:6px;color:var(--ink);font-size:12.5px}.terms-foot{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:14px}.terms-checkbox{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--ink);line-height:1.45;cursor:pointer}.terms-checkbox.disabled{color:var(--ink-3);cursor:not-allowed}.terms-checkbox input{margin-top:2px}.terms-foot-hint{font-size:12px;color:var(--ink-3);font-family:JetBrains Mono,monospace}.terms-foot .btn.primary{align-self:flex-start}.topbar-mobile-menu-btn{display:none;width:40px;height:40px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ink);cursor:pointer;align-items:center;justify-content:center;padding:0}.topbar-mobile-menu-btn:hover{background:var(--paper-2,var(--paper));border-color:var(--line)}.mobile-drawer-backdrop{display:none}@media (max-width:700px){.topbar.topbar-app .topbar-mobile-menu-btn{display:inline-flex}.topbar.topbar-app .nav{justify-self:start;padding-left:8px}.topbar.topbar-app .top-actions{gap:4px}.app-shell-body{grid-template-columns:1fr}.app-sidebar{position:fixed;left:0;top:var(--topbar-h,56px);bottom:0;width:280px;height:auto;transform:translateX(-100%);transition:transform .22s ease;z-index:80;border-right:1px solid var(--line);border-bottom:0;background:var(--paper);overflow:hidden;padding:18px 10px;justify-content:flex-start}.app-sidebar-top{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-sidebar-bottom{flex:0 0 auto}body.app-shell--mobile-drawer-open .app-sidebar{transform:translateX(0)}.app-sidebar-toggle{display:none!important}body.app-shell--sidebar-collapsed .app-sidebar-item{justify-content:flex-start;padding:7px 10px}body.app-shell--sidebar-collapsed .app-sidebar-item-name{display:block}body.app-shell--sidebar-collapsed .app-sidebar-toggle{left:auto;right:8px;transform:none}body.app-shell--sidebar-collapsed .app-sidebar-account-chev,body.app-shell--sidebar-collapsed .app-sidebar-count,body.app-shell--sidebar-collapsed .app-sidebar-packs-empty,body.app-shell--sidebar-collapsed .app-sidebar-packs-label,body.app-shell--sidebar-collapsed .app-sidebar-packs-list,body.app-shell--sidebar-collapsed .app-sidebar-packs-toggle{display:revert}body.app-shell--sidebar-collapsed .app-sidebar-account-menu{left:0;right:0}body.app-shell--sidebar-collapsed .app-sidebar-profile-avatar,body.app-shell--sidebar-collapsed .app-sidebar-profile-initials{margin:0}.mobile-drawer-backdrop{display:block;position:fixed;inset:var(--topbar-h,56px) 0 0 0;background:oklch(0 0 0/.4);z-index:79}body.app-shell--mobile-drawer-open{overflow:hidden}.stage{padding:24px 16px 80px}.editor-layout{grid-template-columns:1fr}.editor-sidebar{position:static}.archive-grid,.packs-grid,.presets-grid{grid-template-columns:1fr}.app-sidebar-item,.btn,.expr-control-btn,.expr-filter-chip,.notif-trigger,.selected-summary-pill,.topbar-theme-toggle,.topbar-token-chip{min-height:44px}.selected-strip{display:none}.selected-summary-pill{display:inline-flex;align-items:center;gap:8px;flex:1 1;min-width:0;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-size:13px;cursor:pointer;text-align:left;overflow:hidden}.selected-summary-pill:hover{border-color:var(--ink-3)}.selected-summary-pill-count b{color:var(--ink);font-weight:600}.selected-summary-pill-sep{color:var(--ink-3)}.selected-summary-pill-cost{display:inline-flex;align-items:center;gap:4px;font-family:JetBrains Mono,ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-2)}.selected-summary-pill-chev{margin-left:auto;color:var(--ink-3);display:inline-flex}.mobile-selected-sheet{position:fixed;inset:0;z-index:90;background:var(--paper);display:flex;flex-direction:column;overflow:hidden}.mobile-selected-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--paper)}.mobile-selected-sheet-title{font-size:15px;color:var(--ink);display:flex;flex-direction:column;gap:2px}.mobile-selected-sheet-title b{font-weight:600}.mobile-selected-sheet-cost{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-3);font-family:JetBrains Mono,ui-monospace,monospace}.mobile-selected-sheet-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1 1}.mobile-selected-sheet-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);min-height:56px}.mobile-selected-sheet-thumb{width:40px;height:40px;border-radius:8px;object-fit:contain;background:var(--paper-2,var(--paper));border:1px solid var(--line);flex:0 0 auto}.mobile-selected-sheet-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--ink)}.mobile-selected-sheet-remove{width:36px;height:36px;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.mobile-selected-sheet-remove:focus-visible,.mobile-selected-sheet-remove:hover{color:var(--paper);background:var(--accent);border-color:var(--accent)}.export-card,.feedback-card,.name-prompt-card,.preset-emotes-card{width:100%;height:100%;max-width:none;max-height:none;border-radius:0;margin:0;overflow-y:auto}.export-modal,.feedback-overlay,.name-prompt-overlay,.preset-emotes-overlay{padding:0}.editor-bottom-bar{margin-left:-16px;margin-right:-16px}}