: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)}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{aspect-ratio:1;width:100%}.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{width:100%;height:100%;object-fit:cover}.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:28px;margin-bottom:24px}.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-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}@media (min-width:1100px){.expr-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1400px){.expr-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.expr-tile{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:10px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .12s;position:relative;text-align:left}.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{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line);flex-shrink:0}.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:42px;height:42px;display:grid;place-items:center;flex-shrink:0;border-radius:8px;background:var(--paper-2);border:1px solid var(--line-2);overflow:hidden}.expr-tile .mini .face2{width:80%}.expr-tile .info{flex:1 1;min-width:0;overflow:hidden}.expr-tile .info b{display:block;font-family:Inter Tight;font-weight:600;font-size:13.5px;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:16px;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-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}.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-sidebar{position:-webkit-sticky;position:sticky;top:80px;align-self:start;order:1;display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 100px);overflow-y:auto;padding-right:2px}@media (max-width:1100px){.editor-layout{grid-template-columns:1fr}.editor-sidebar{position:static;max-height:none;overflow:visible}}.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:4px;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-input{width:96px;min-width:0;padding:0 4px;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{width:72px}}.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>*{flex-grow:0;flex-shrink:0;flex-basis:calc((100% - 28px) / 3)}}@media (max-width:480px){.emote-grid.preview-grid>*{flex-grow:0;flex-shrink:0;flex-basis:calc((100% - 14px) / 2)}}.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{display:flex;flex-direction:column;gap:28px;margin-bottom:28px}.emote-small-group{display:flex;flex-direction:column;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))}}@media (max-width:480px){.emote-small-group .emote-grid.preview-grid.small-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.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}.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)}.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-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)}.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)}.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}.stage-head-row .studio-promo{flex:0 0 auto;width:360px;margin:0}@media (max-width:1100px){.stage-head-row{flex-direction:column}.stage-head-row .studio-promo{width:100%}}: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{position:relative;display:flex;align-items:flex-start;gap:14px;padding:16px 36px 16px 18px;margin:0 0 24px;border:1px solid var(--warn-border);border-radius:12px;background:var(--warn-bg);flex-wrap:wrap}.studio-promo-dismiss{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--warn-text);cursor:pointer;font:inherit;padding:0;opacity:.65;transition:background .12s ease,opacity .12s ease}.studio-promo-dismiss:hover{background:oklch(0 0 0/.08);opacity:1}body.dark .studio-promo-dismiss:hover{background:oklch(1 0 0/.08)}.studio-promo-icon{width:32px;height:32px;border-radius:9px;background:var(--warn-icon-bg);color:oklch(.18 .01 60);display:grid;place-items:center;flex-shrink:0}.studio-promo-body{flex:1 1;min-width:220px}.studio-promo-body b{display:block;font-family:Inter Tight;font-weight:600;font-size:14px;letter-spacing:-.005em;color:var(--ink)}.studio-promo-body p{margin:3px 0 0;font-size:12.5px;color:var(--ink-2);line-height:1.5}.studio-promo-body p b{display:inline;font-size:inherit;color:var(--ink)}.studio-promo .btn{white-space:nowrap;flex-shrink:0;align-self:flex-start}.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-2);text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.footer-contact:hover{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-2);font-size:13px;text-decoration:none;transition:color .12s ease}.footer-col a:hover{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}.legal-body a,.page-sub a{color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);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}.legal-body a:hover,.page-sub a:hover{color:var(--ink);-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3)}.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}.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}.packs-empty p{margin:0}.packs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}@media (max-width:1100px){.packs-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:800px){.packs-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:540px){.packs-grid{grid-template-columns:1fr}}.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);box-shadow:var(--shadow-md);transform:translateY(-1px)}.pack-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pack-thumbs{aspect-ratio:4/3;border-bottom:1px solid var(--line);background:var(--paper);overflow:hidden;display:block;position:relative}.pack-preview-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;display:flex;flex-direction:column;gap:8px}.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:inline-flex;align-items:baseline;gap:6px;min-width:0}.pack-meta-bottom .pack-title{font-family:Inter Tight,sans-serif;font-weight:600;letter-spacing:-.005em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pack-meta-bottom .pack-sub{color:var(--ink-3);font-size:12px;white-space:nowrap}.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-overview-body{flex:1 1;min-width:0}.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-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}}.admin-debug-panel{position:fixed;top:12px;left:14px;z-index:60;width:320px;max-height:calc(100vh - 24px);display:flex;flex-direction:column;border:1px solid var(--accent);border-radius:10px;background:var(--paper);box-shadow:0 8px 32px oklch(0 0 0/.25),var(--shadow-md);font-family:JetBrains Mono,monospace;font-size:11.5px;color:var(--ink-2);overflow:hidden}.admin-debug-panel.collapsed{width:auto;max-height:none}.admin-debug-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:color-mix(in oklch,var(--paper-2) 70%,var(--accent));border:0;border-bottom:1px solid var(--line);color:var(--ink);font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;width:100%;text-align:left}.admin-debug-panel.collapsed .admin-debug-header{border-bottom:0}.admin-debug-header:hover{background:color-mix(in oklch,var(--paper-2) 60%,var(--accent))}.admin-debug-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent);flex-shrink:0}.admin-debug-title{flex:1 1}.admin-debug-toggle{color:var(--ink-3);font-size:14px}.admin-debug-body{padding:12px 14px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.admin-debug-status{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--paper-2);border-radius:8px;border:1px solid var(--line-2)}.admin-debug-row{display:flex;justify-content:space-between;gap:12px;font-size:11px;line-height:1.4}.admin-debug-row>span:first-child{color:var(--ink-3)}.admin-debug-row>span:last-child{color:var(--ink);text-align:right;word-break:break-all}.admin-debug-pill{text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:10px;color:var(--accent)!important}.admin-debug-section{display:flex;flex-direction:column;gap:6px}.admin-debug-section-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:600}.admin-debug-buttons{display:flex;flex-wrap:wrap;gap:4px}.admin-debug-buttons button{flex:1 0 auto;min-width:0;padding:5px 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper-2);color:var(--ink);font:inherit;font-size:11px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.admin-debug-buttons button:hover:not(:disabled){background:var(--paper);border-color:var(--ink-3)}.admin-debug-buttons button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.admin-debug-buttons button.destructive{border-color:oklch(.5 .19 28/.5);color:oklch(.65 .19 28)}.admin-debug-buttons button.destructive:hover:not(:disabled){background:oklch(.45 .16 28/.15);border-color:oklch(.55 .19 28)}.admin-debug-buttons button:disabled{opacity:.5;cursor:not-allowed}.admin-debug-input-row{display:flex;gap:4px}.admin-debug-input-row input{flex:1 1;min-width:0;padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--paper-2);color:var(--ink);font:inherit;font-size:11px;outline:none}.admin-debug-input-row input:focus{border-color:var(--ink-3)}.admin-debug-input-row button{padding:5px 10px;border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:var(--paper);font:inherit;font-size:11px;font-weight:600;cursor:pointer}.admin-debug-input-row button:disabled{opacity:.5;cursor:not-allowed}.admin-debug-message{padding:6px 10px;border-radius:6px;background:var(--paper-2);border:1px solid var(--line-2);font-size:11px;color:var(--ink)}.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-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-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-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}.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-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-auth-btn{border:0;background:transparent;width:100%;text-align:left;cursor:pointer;font: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;overflow-y:auto;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-packs-empty{font-size:12px;color:var(--ink-3);padding:6px 10px 8px 30px}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}.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}}