@import "https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&family=Lora:wght@400;500&display=swap";:root{--bg-void:#efe9dd;--bg-base:#f7f3eb;--bg-surface:#fffefaf0;--bg-raised:#fcfaf5;--bg-hover:#f0eadf;--bg-active:#e7dfd2;--text-primary:#171717;--text-secondary:#6f6a63;--text-dim:#9e998f;--border-faint:#ede8e0;--border-subtle:#ded8ce;--border-default:#c8c0b4;--violet:#1f4f46;--violet-hover:#183d37;--violet-light:#1f4f46;--violet-glow:#e9f3ef;--violet-ring:#1f4f4633;--amber:#b98a32;--teal:#16865a;--red:#b42318;--blue:#2563eb;--font-ui:"Outfit", system-ui, sans-serif;--font-display:Georgia, "Times New Roman", serif;--font-target:"Lora", Georgia, "Times New Roman", serif;--font-hand:"Caveat", cursive;--font-mono:"JetBrains Mono", ui-monospace, monospace;--radius-sm:6px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--sidebar-w:220px;--sidebar-icon-w:64px;--ease-out:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box}html,body{background:radial-gradient(circle at 14% 8%, #b98a3224, transparent 30rem), radial-gradient(circle at 92% 16%, #1f4f461a, transparent 28rem), var(--bg-void);color:var(--text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;min-height:var(--app-height,100dvh);margin:0;padding:0;font-size:15px;line-height:1.55;overflow:hidden}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2}p{margin:0}a{color:var(--violet-light);text-decoration:none}a:hover{color:var(--violet);text-decoration:underline}button{font-family:var(--font-ui);cursor:pointer;background:0 0;border:none;padding:0}.app-shell{height:var(--app-height,100dvh);grid-template-rows:minmax(0,1fr);grid-template-columns:auto 1fr;min-height:0;display:grid;overflow:hidden}.mobile-topbar{display:none}.sidebar{background:linear-gradient(180deg, #fffefafa, #faf7f0f5), var(--bg-surface);border-right:1px solid var(--border-faint);z-index:10;width:var(--sidebar-w);min-height:0;transition:width .22s var(--ease-out);flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden;box-shadow:18px 0 50px #362d1f0d}.sidebar.collapsed{width:var(--sidebar-icon-w)}.sidebar-top{align-items:center;gap:8px;padding:18px 12px 14px;display:flex}.sidebar-collapse-btn{border:1px solid var(--border-faint);cursor:pointer;width:30px;height:30px;color:var(--text-secondary);background:#fffefab8;border-radius:999px;flex:0 0 30px;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .15s;display:inline-flex;box-shadow:0 4px 12px #362d1f0d}.sidebar-collapse-btn:hover{background:var(--bg-hover);color:var(--text-primary);transform:translate(-1px)}.sidebar.collapsed .sidebar-collapse-btn:hover{transform:translate(1px)}.sidebar .brand-logo{flex:1}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:8px 10px;display:flex}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.nav-item.active{color:var(--violet-light);background:linear-gradient(135deg,#1f4f461f,#b98a3214);box-shadow:inset 0 0 0 1px #1f4f4614}.nav-icon{opacity:.8;flex-shrink:0;width:18px;height:18px}.nav-item.active .nav-icon{opacity:1}.nav-label{text-overflow:ellipsis;transition:opacity .16s var(--ease-out), transform .16s var(--ease-out);overflow:hidden}.sidebar.collapsed .sidebar-top{flex-direction:column;padding:18px 10px 14px}.sidebar.collapsed .brand-logo{flex:0;justify-content:center;width:100%}.sidebar.collapsed .brand-name,.sidebar.collapsed .nav-label,.sidebar.collapsed .sidebar-footer-links{opacity:0;pointer-events:none;position:absolute;transform:translate(-6px)}.sidebar.collapsed .sidebar-nav{align-items:center;padding-inline:8px}.sidebar.collapsed .nav-item{border-radius:14px;justify-content:center;width:44px;height:44px;padding:0}.sidebar.collapsed .sidebar-divider{margin-inline:14px}.sidebar.collapsed .sidebar-footer{padding:10px}.sidebar-drag-handle{cursor:ew-resize;touch-action:none;border-radius:999px;width:10px;position:absolute;top:12px;bottom:12px;right:-5px}.sidebar-drag-handle:after{content:"";opacity:0;background:#1f4f4624;border-radius:999px;width:4px;height:38px;transition:opacity .15s,background .15s;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.sidebar:hover .sidebar-drag-handle:after,.sidebar-drag-handle:focus-visible:after{opacity:1}.sidebar-drag-handle:hover:after{background:#1f4f464d}.sidebar-divider{background:var(--border-faint);height:1px;margin:8px 10px}.sidebar-footer{padding:16px 20px max(16px, env(safe-area-inset-bottom));border-top:1px solid var(--border-faint)}.sidebar-footer-links{gap:12px;display:flex}.sidebar-footer-links a{color:var(--text-dim);font-size:12px;transition:color .15s}.sidebar-footer-links a:hover{color:var(--text-secondary);text-decoration:none}.main-content{background:linear-gradient(180deg, #fffefa47, transparent 240px), var(--bg-base);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.content-wrap{width:100%;max-width:1080px;margin:0 auto;padding:40px 32px}.page-header{margin-bottom:32px}.page-title{color:var(--text-primary);letter-spacing:-.03em;font-size:32px;font-weight:750;line-height:1.15}.page-subtitle{color:var(--text-secondary);margin-top:6px;font-size:14px}.card{background:var(--bg-surface);border:1px solid var(--border-faint);border-radius:var(--radius-lg);padding:24px}.card-sm{padding:16px 20px}.btn{border-radius:var(--radius-sm);font-size:14px;font-weight:500;font-family:var(--font-ui);cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:9px 18px;line-height:1;text-decoration:none;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-primary{background:linear-gradient(180deg, #22584e, var(--violet));color:#fff;box-shadow:0 8px 18px #1f4f4624}.btn-primary:hover{background:var(--violet-hover);box-shadow:0 0 0 3px var(--violet-ring), 0 10px 24px #1f4f462e;color:#fff;text-decoration:none}.btn-secondary{background:var(--bg-raised);color:var(--text-primary);border:1px solid var(--border-subtle)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-default);color:var(--text-primary);text-decoration:none}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.btn-danger{color:var(--red);background:0 0;border:1px solid #ff5e5e40}.btn-danger:hover{color:var(--red);background:#ff5e5e1a;border-color:#ff5e5e80;text-decoration:none}.btn-sm{padding:6px 12px;font-size:13px}.btn-xs{padding:4px 8px;font-size:12px}.full-width{width:100%}.btn-icon{border-radius:var(--radius-sm);background:var(--bg-raised);border:1px solid var(--border-faint);color:var(--text-secondary);justify-content:center;align-items:center;padding:8px;display:inline-flex}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.badge{border-radius:99px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.badge-green{color:var(--teal);background:#00cdb41f}.badge-orange{color:var(--amber);background:#f0a5001f}.badge-violet{background:var(--violet-glow);color:var(--violet-light)}.badge-dim{background:var(--bg-raised);color:var(--text-secondary)}input[type=text],input[type=email],input[type=password],input[type=number],textarea,select{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-ui);outline:none;width:100%;padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,textarea:focus,select:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-ring)}input[type=text]::placeholder,input[type=email]::placeholder,input[type=password]::placeholder{color:var(--text-dim)}select option{background:var(--bg-raised)}label{color:var(--text-secondary);margin-bottom:5px;font-size:13px;font-weight:500;display:block}.mono{font-family:var(--font-mono);font-size:.875em}.text-muted{color:var(--text-secondary)}.text-dim{color:var(--text-dim)}.text-violet{color:var(--violet-light)}.text-amber{color:var(--amber)}.text-teal{color:var(--teal)}.text-red{color:var(--red)}.flex{display:flex}.items-center{align-items:center}.gap-2{gap:8px}.gap-3{gap:12px}.alert{border-radius:var(--radius-sm);border-left:3px solid;margin-bottom:20px;padding:14px 16px;font-size:14px}.alert-error{border-color:var(--red);color:var(--red);background:#ff5e5e14}.alert-info{border-color:var(--blue);color:var(--blue);background:#4da8ff14}.alert-success{border-color:var(--teal);color:var(--teal);background:#00cdb414}hr.divider{border:none;border-top:1px solid var(--border-faint);margin:24px 0}input[type=range]{appearance:none;touch-action:pan-y;background:0 0;min-width:80px;height:28px}input[type=range]::-webkit-slider-runnable-track{background:var(--border-subtle);border-radius:4px;height:4px}input[type=range]::-moz-range-track{background:var(--border-subtle);border-radius:4px;height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--violet);border:2px solid var(--bg-base);width:18px;height:18px;box-shadow:0 0 0 2px var(--violet-ring);cursor:grab;border-radius:50%;margin-top:-7px}input[type=range]::-moz-range-thumb{background:var(--violet);border:2px solid var(--bg-base);width:18px;height:18px;box-shadow:0 0 0 2px var(--violet-ring);cursor:grab;border-radius:50%}input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;background:var(--violet-hover)}@media (width<=768px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0, 1fr) calc(64px + env(safe-area-inset-bottom));height:var(--app-height,100dvh)}.mobile-topbar{min-width:0;padding:max(10px, env(safe-area-inset-top)) 12px 10px;border-bottom:1px solid var(--border-faint);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#fffefaf0;order:0;justify-content:space-between;align-items:center;gap:10px;display:flex;box-shadow:0 10px 26px #362d1f0f}.mobile-topbar .brand-logo{flex:auto}.mobile-topbar .brand-name{text-overflow:ellipsis;overflow:hidden}.mobile-top-actions{justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.mobile-top-actions>a{border:1px solid var(--border-faint);min-height:34px;color:var(--text-secondary);white-space:nowrap;background:#fffefaa8;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.mobile-top-actions>a.active,.mobile-top-actions>a.mobile-signup{border-color:var(--violet);background:var(--violet);color:#fffefa}.sidebar{display:none}.main-content{order:1}.bottom-nav{order:2;display:flex!important}.content-wrap{padding:20px 16px}}@media (height<=760px) and (width>=769px){.sidebar:not(.collapsed){width:188px}.sidebar-top{padding:12px 10px 8px}.sidebar .brand-mark{width:41px;height:28px}.sidebar .brand-name{font-size:15px}.sidebar-nav{gap:1px;padding:5px 8px}.nav-item{min-height:36px;padding:7px 10px;font-size:13px}.sidebar-divider{margin:5px 10px}.sidebar-footer{padding:9px 12px max(9px, env(safe-area-inset-bottom))}.sidebar-footer-links a{font-size:11px}}@media (orientation:portrait) and (width>=600px) and (width<=1024px){.sidebar:not(.collapsed){width:188px}.content-wrap{padding:28px 20px}}@media (width<=920px) and (orientation:landscape){.app-shell{grid-template-rows:minmax(0, 1fr) calc(48px + env(safe-area-inset-bottom))}.bottom-nav{min-height:48px}.bottom-nav-item{gap:1px;padding:5px 10px}.bottom-nav-item svg{width:19px;height:19px}}.bottom-nav{background:var(--bg-surface);border-top:1px solid var(--border-faint);padding:0 8px env(safe-area-inset-bottom);min-height:calc(64px + env(safe-area-inset-bottom));justify-content:space-around;align-items:center;display:none}.bottom-nav-item{border-radius:var(--radius-sm);min-width:0;color:var(--text-secondary);flex-direction:column;flex:1;align-items:center;gap:3px;padding:7px 6px;font-size:10.5px;font-weight:650;line-height:1.1;text-decoration:none;transition:color .15s;display:flex}.bottom-nav-item:hover,.bottom-nav-item.active{color:var(--violet-light);text-decoration:none}.bottom-nav-item svg{width:22px;height:22px}@media (width<=380px){.mobile-topbar .brand-name{max-width:92px}.mobile-top-actions{gap:4px}.mobile-top-actions>a{padding-inline:8px}.bottom-nav-item{font-size:10px}}.mobile-auth-link.svelte-1gptwdz,.mobile-auth-cta.svelte-1gptwdz{min-height:34px;font:inherit;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.mobile-auth-link.svelte-1gptwdz{border:1px solid var(--border-faint);color:var(--text-secondary);background:#fffefaa8}button.mobile-auth-link.svelte-1gptwdz{cursor:pointer}.mobile-auth-cta.svelte-1gptwdz{border:1px solid var(--violet);background:var(--violet);color:#fffefa}.mobile-auth-link.svelte-1gptwdz:hover,.mobile-auth-cta.svelte-1gptwdz:hover{text-decoration:none}.mobile-auth-link.svelte-1gptwdz:hover{color:var(--text-primary);background:var(--bg-hover)}.mobile-auth-cta.svelte-1gptwdz:hover{color:#fffefa;background:var(--violet-hover)}.mobile-auth-loading.svelte-1gptwdz{background:linear-gradient(90deg, var(--border-faint), #fffefae6, var(--border-faint));background-size:220% 100%;border-radius:999px;width:34px;height:34px;animation:1.1s linear infinite svelte-1gptwdz-authPulse}@keyframes svelte-1gptwdz-authPulse{to{background-position:-220% 0}}.auth-row.svelte-pepxs5{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;font-size:13px;display:flex}.auth-row.svelte-pepxs5 a:where(.svelte-pepxs5),.auth-signout.svelte-pepxs5{color:var(--muted,#666);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none}.auth-row.svelte-pepxs5 a:where(.svelte-pepxs5):hover,.auth-signout.svelte-pepxs5:hover{color:var(--ink,#000);text-decoration:underline}.auth-loading.svelte-pepxs5{opacity:.5}.auth-email.svelte-pepxs5{flex-wrap:wrap;flex:140px;align-items:center;gap:6px;min-width:0;display:inline-flex}.email-text.svelte-pepxs5{text-overflow:ellipsis;white-space:nowrap;flex:80px;min-width:0;overflow:hidden}.tier-pill.svelte-pepxs5{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:600;line-height:1.4;display:inline-block}.tier-free.svelte-pepxs5{color:var(--muted,#666);background:#00000014}.tier-studio.svelte-pepxs5{color:#2e6b56;background:#40826d2e}.tier-pro.svelte-pepxs5{color:#6b3fa0;background:#8c50c82e}.admin-pill.svelte-pepxs5{color:#fff;background:#c2410c}.admin-row.svelte-pepxs5{background:#c2410c14;border:1px solid #c2410c40;border-radius:6px;align-items:center;gap:6px;margin-top:6px;padding:6px 8px;display:flex}.admin-label.svelte-pepxs5{color:#c2410c;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.admin-select.svelte-pepxs5{font:inherit;color:var(--ink,#000);background:#fff;border:1px solid #c2410c4d;border-radius:4px;flex:1;padding:2px 6px;font-size:12px}.proj-list.svelte-vv4t0x{flex-direction:column;gap:1px;margin:2px 0 6px 26px;padding:0;list-style:none;display:flex}.proj-item.svelte-vv4t0x{color:var(--muted,#666);border-radius:6px;align-items:center;gap:8px;min-width:0;padding:5px 8px;font-size:12px;line-height:1.3;text-decoration:none;display:flex}.proj-item.svelte-vv4t0x:hover{color:var(--ink,#000);background:#0000000a}.proj-item.active.svelte-vv4t0x{color:#1f4f46;background:#1f4f461a;font-weight:600}.proj-dot.svelte-vv4t0x{opacity:.45;background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.proj-item.active.svelte-vv4t0x .proj-dot:where(.svelte-vv4t0x){opacity:1;box-shadow:0 0 0 3px #1f4f462e}.proj-name.svelte-vv4t0x{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.proj-more.svelte-vv4t0x{color:var(--muted,#666);padding:4px 8px;font-size:11px;text-decoration:none}.proj-more.svelte-vv4t0x:hover{color:var(--ink,#000);text-decoration:underline}
