:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-sm:.5rem;--radius-md:.875rem;--radius-lg:1.25rem;--radius-full:999px;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--weight-normal:400;--weight-medium:550;--weight-bold:700;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bg:#f6f6f4;--surface:#fff;--surface-raised:#fff;--border:#e3e3de;--text:#16161a;--text-muted:#5d5d66;--text-faint:#6f6f78;--accent:#c2410c;--accent-contrast:#fff;--accent-soft:#fdf0e8;--star:#d97706;--preview-mount:#f2f2f0;--shadow:0 1px 2px #0000000d, 0 8px 24px #0000000f}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0b0b0f;--surface:#15151b;--surface-raised:#1c1c24;--border:#2a2a34;--text:#f2f2f5;--text-muted:#a0a0ad;--text-faint:#8a8a97;--accent:#fb923c;--accent-contrast:#16161a;--accent-soft:#2a1a10;--star:#fbbf24;--shadow:0 1px 2px #0006, 0 8px 24px #00000059}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell{flex-direction:column;min-height:100%;display:flex}.topbar{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);padding-top:max(var(--space-4), env(safe-area-inset-top));background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;position:sticky;top:0}.wordmark{font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.02em;margin:0}.wordmark span{color:var(--accent)}.tabs{gap:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);padding:var(--space-1);display:flex}.tab{color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);cursor:pointer;background:0 0;border:0;min-height:36px}.tab[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:var(--weight-bold)}.page{width:100%;max-width:60rem;padding:var(--space-5);padding-bottom:max(var(--space-7), env(safe-area-inset-bottom));flex:1;margin:0 auto}.lede{margin:0 0 var(--space-5);max-width:34rem}.lede h2{font-size:var(--text-2xl);letter-spacing:-.02em;margin:0 0 var(--space-2);line-height:1.15}.lede p{color:var(--text-muted);margin:0}.grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=40rem){.grid{grid-template-columns:repeat(2,1fr)}}.card{gap:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow);flex-direction:column;display:flex}.card-head{align-items:flex-start;gap:var(--space-4);display:flex}.icon{border-radius:var(--radius-md);background:oklch(.94 .05 var(--hue,30));width:2.75rem;height:2.75rem;color:oklch(.42 .13 var(--hue,30));font-size:var(--text-lg);font-weight:var(--weight-bold);flex:none;place-items:center;display:grid}@media (prefers-color-scheme:dark){.icon{background:oklch(.28 .05 var(--hue,30));color:oklch(.84 .11 var(--hue,30))}}.card h3{font-size:var(--text-lg);letter-spacing:-.01em;margin:0}.card p{color:var(--text-muted);font-size:var(--text-sm);margin:0}.meta{align-items:center;gap:var(--space-2) var(--space-3);font-size:var(--text-xs);color:var(--text-faint);flex-wrap:wrap;display:flex}.meta>*{white-space:nowrap}.card-actions{align-items:center;gap:var(--space-2) var(--space-3);padding-top:var(--space-2);flex-wrap:wrap;margin-top:auto;display:flex}.button{border-radius:var(--radius-full);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);border:1px solid #0000;min-height:44px;display:inline-flex}.button-primary{background:var(--accent);color:var(--accent-contrast)}.button-quiet{border-color:var(--border);color:var(--text);background:0 0}.button:disabled{background:var(--border);border-color:var(--border);color:var(--text-muted);cursor:default}.stars-label{margin-right:var(--space-2);font-size:var(--text-xs);color:var(--text-faint);padding:0}.stars{align-items:center;gap:var(--space-1);border:0;min-inline-size:auto;margin:0;padding:0;display:inline-flex}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.star{color:var(--text-faint);line-height:1;font-size:var(--text-sm);background:0 0;border:0;padding:0}button.star{cursor:pointer;padding:var(--space-1);font-size:var(--text-lg);min-width:34px;min-height:34px}.star[data-on=true]{color:var(--star)}.loading,.failed{border:1px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;color:var(--text-muted)}.empty{justify-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-5);text-align:center;color:var(--text-muted);display:grid}.icon-mark svg{width:60%;height:60%}.icon-shot{object-fit:cover;object-position:top center;border:1px solid var(--border)}.empty-mark{width:4.5rem;height:3.5rem;fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.25px;opacity:.85}.empty-mark path{fill:none;stroke-width:2px}.mark-back{fill:var(--accent-soft);stroke:var(--accent);opacity:.35}.mark-mid{fill:var(--accent-soft);stroke:var(--accent);opacity:.6}.mark-front{fill:var(--surface);stroke:var(--accent);stroke-width:1.75px}.mark-line{fill:none;stroke:var(--accent);stroke-width:2.5px;opacity:.4}.empty p{max-width:26ch;font-size:var(--text-sm);margin:0}.empty .button{margin-top:var(--space-2)}.empty strong,.failed strong{color:var(--text);font-size:var(--text-lg);display:block}.skeleton{border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(90deg, var(--surface) 25%, var(--surface-raised) 37%, var(--surface) 63%);background-size:400% 100%;height:8.5rem;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.window{background:var(--bg);z-index:20;flex-direction:column;display:flex;position:fixed;inset:0}.window-bar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-top:max(var(--space-3), env(safe-area-inset-top));border-bottom:1px solid var(--border);background:var(--surface);display:flex}.window-title{font-size:var(--text-sm);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.window-sub{font-size:var(--text-xs);color:var(--text-faint);margin:0}.window iframe{background:#fff;border:0;flex:1;width:100%}.back{cursor:pointer;padding:var(--space-2);border-radius:var(--radius-full);min-width:44px;min-height:44px;color:var(--text);background:0 0;border:0;place-items:center;display:grid}.ask{gap:var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--shadow);margin-bottom:var(--space-5);align-items:flex-end;display:flex}.ask-input{color:var(--text);font:inherit;resize:none;padding:var(--space-2);background:0 0;border:0;flex:1;min-height:44px}.ask-input:focus{outline:none}.ask:focus-within{outline:2px solid var(--accent);outline-offset:2px}.ask-input::placeholder{color:var(--text-faint)}.ask-send{padding-inline:var(--space-4);flex:none}.ask-error{margin:calc(var(--space-4) * -1) 0 var(--space-5);color:var(--accent);font-size:var(--text-sm)}.search{margin-bottom:var(--space-4)}.search-field{align-items:center;display:flex;position:relative}.search-input{border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);width:100%;color:var(--text);font:inherit;padding:var(--space-3) var(--space-4);min-height:44px}.search-input::placeholder{color:var(--text-faint)}.search-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.search-input::-webkit-search-cancel-button{appearance:none}.search-input:not(:placeholder-shown){padding-right:var(--space-7)}.search-clear{right:var(--space-2);border-radius:var(--radius-full);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute}.search-clear:hover{color:var(--text)}.search-clear:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.search-clear svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:16px;height:16px}.search-count{margin:var(--space-2) 0 0 var(--space-4);color:var(--text-muted);font-size:var(--text-sm)}.intake{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5);box-shadow:var(--shadow)}.intake-status{font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:var(--space-2);display:inline-block}.intake h3{margin:0 0 var(--space-1);font-size:var(--text-xl);letter-spacing:-.01em}.intake>p{margin:0 0 var(--space-4);color:var(--text-muted)}.intake h4{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.intake ul{padding-left:var(--space-5);gap:var(--space-1);font-size:var(--text-sm);margin:0;display:grid}.intake ul.muted{color:var(--text-muted)}.intake em{color:var(--text-faint);font-style:normal}.intake .button{margin-top:var(--space-5)}.intake-declined{border-left-color:var(--text-faint)}.intake-instead{color:var(--text-muted);font-size:var(--text-sm)}.link-button{color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;padding:var(--space-2) 0;background:0 0;border:0;align-self:flex-start;min-height:34px}.fork{gap:var(--space-2);border-top:1px solid var(--border);padding-top:var(--space-4);margin-top:var(--space-2);display:grid}.fork-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.fork-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text);font:inherit;padding:var(--space-3);min-height:44px}.fork-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.lineage{font-size:var(--text-xs);color:var(--accent);margin:0 0 var(--space-1)}.prompt-dismiss{cursor:default;background:0 0;border:0;padding:0;position:absolute;inset:0}.prompt-backdrop{z-index:30;padding:var(--space-4);padding-bottom:max(var(--space-4), env(safe-area-inset-bottom));background:#00000073;place-items:end center;display:grid;position:fixed;inset:0}@media (width>=40rem){.prompt-dismiss{cursor:default;background:0 0;border:0;padding:0;position:absolute;inset:0}.prompt-backdrop{place-items:center}}.prompt{z-index:1;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:26rem;padding:var(--space-5);box-shadow:var(--shadow);position:relative}.prompt h2{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:var(--weight-medium);line-height:1.3}.prompt p{margin:0 0 var(--space-2);color:var(--text-muted);font-size:var(--text-sm)}.prompt-note{color:var(--text-faint);font-size:var(--text-xs)}.prompt-actions{gap:var(--space-2);margin-top:var(--space-5);display:flex}.prompt-actions .button{flex:1}.topbar-right{align-items:center;gap:var(--space-3);display:flex}.bell{color:var(--text);cursor:pointer;border-radius:var(--radius-full);background:0 0;border:0;place-items:center;min-width:40px;min-height:40px;display:grid;position:relative}.bell[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.badge{border-radius:var(--radius-full);background:var(--accent);min-width:18px;height:18px;color:var(--accent-contrast);font-size:11px;font-weight:var(--weight-bold);place-items:center;padding:0 5px;display:grid;position:absolute;top:2px;right:2px}.notification-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.notification-list li{gap:var(--space-1);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);display:grid}.notification-list strong{font-size:var(--text-base)}.notification-list span{font-size:var(--text-sm);color:var(--text-muted)}.notification-list time{font-size:var(--text-xs);color:var(--text-faint)}.requests{margin-bottom:var(--space-5)}.requests h3{margin:0 0 var(--space-3);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.requests>ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.requests>ul>li{gap:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);display:grid}.requests-text{font-size:var(--text-sm)}.requests-status{font-size:var(--text-xs);color:var(--text-faint)}.requests li[data-status=building] .requests-status,.requests li[data-status=built] .requests-status{color:var(--accent)}.requests .link-button{justify-self:start}.install-list{margin:0 0 var(--space-3);padding-left:var(--space-5);gap:var(--space-1);font-size:var(--text-sm);color:var(--text);display:grid}.preview{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--preview-mount);width:7rem;margin:0;overflow:hidden}.preview img{aspect-ratio:390/844;object-fit:cover;object-position:top center;width:100%;height:auto;display:block}.progress{margin-top:var(--space-2);border-left:2px solid var(--accent);padding-left:var(--space-3)}.progress-lines{gap:var(--space-1);font-size:var(--text-sm);color:var(--text-muted);margin:0;padding:0;list-style:none;display:grid}.progress-lines li:last-child{color:var(--text);font-weight:var(--weight-medium)}.progress-lines li[data-kind=published],.progress-lines li[data-kind=floor-reached]{color:var(--accent)}.progress-lost{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--text-faint)}
