.dash-page{--dash-bg-1:#f3f0ff;--dash-bg-2:#eef6ff;--dash-bg-3:#fdf2f8;--dash-surface:#fff;--dash-text:#1e1b39;--dash-muted:#6b7280;--dash-line:#e8e4f3;--dash-primary:#7c3aed;--dash-primary-soft:#ede9fe;--dash-shadow:0 6px 24px #1f1b3a14;--dash-shadow-hover:0 12px 32px #7c3aed2e;min-height:100vh;color:var(--dash-text);background:radial-gradient(1200px 600px at 15% -10%, var(--dash-bg-3), transparent), radial-gradient(1000px 500px at 85% 0%, var(--dash-bg-2), transparent), var(--dash-bg-1);margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif}.dash-topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--dash-line);z-index:10;background:#ffffffb8;justify-content:space-between;align-items:center;gap:16px;padding:14px 28px;display:flex;position:sticky;top:0}.dash-brand{color:var(--dash-text);align-items:center;gap:10px;font-weight:800;text-decoration:none;display:flex}.dash-brand img{object-fit:cover;border-radius:9px;width:34px;height:34px}.dash-topbar-actions{align-items:center;gap:10px;display:flex}.dash-user{color:var(--dash-muted);font-size:.88rem;font-weight:600}.dash-hero{text-align:center;padding:56px 24px 32px}.dash-hero h1{letter-spacing:-.02em;background:linear-gradient(90deg,#7c3aed,#db2777,#2563eb);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 10px;font-size:clamp(1.7rem,4vw,2.8rem);font-weight:800}.dash-hero p{color:var(--dash-muted);margin:0;font-size:1rem}.dash-container{max-width:1180px;margin:0 auto;padding:0 24px 64px}.dash-section-title{justify-content:space-between;align-items:baseline;gap:12px;margin:32px 0 16px;display:flex}.dash-section-title h2{margin:0;font-size:1.15rem;font-weight:800}.dash-section-title small{color:var(--dash-muted);font-size:.86rem}.dash-starters{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;display:grid}.dash-starter{border:1px solid var(--dash-line);background:var(--dash-surface);box-shadow:var(--dash-shadow);cursor:pointer;text-align:center;font:inherit;color:inherit;border-radius:18px;flex-direction:column;align-items:center;gap:10px;padding:22px 16px;transition:transform .16s,box-shadow .16s;display:flex}.dash-starter:hover{box-shadow:var(--dash-shadow-hover);transform:translateY(-3px)}.dash-starter-icon{color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;font-size:1.6rem;display:grid}.dash-starter strong{font-size:.98rem;font-weight:800}.dash-starter span{color:var(--dash-muted);font-size:.82rem}.dash-projects{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;display:grid}.dash-project{border:1px solid var(--dash-line);background:var(--dash-surface);box-shadow:var(--dash-shadow);cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:16px;padding:0;transition:transform .16s,box-shadow .16s;overflow:hidden}.dash-project:hover{box-shadow:var(--dash-shadow-hover);transform:translateY(-3px)}.dash-project-thumb{background:linear-gradient(135deg, var(--dash-primary-soft), #e0f2fe);place-items:center;height:104px;font-size:2rem;display:grid}.dash-project-body{padding:12px 14px 14px}.dash-project-body strong{white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:.94rem;font-weight:800;display:block;overflow:hidden}.dash-project-body span{color:var(--dash-muted);font-size:.78rem}.dash-empty{border:1px dashed var(--dash-line);color:var(--dash-muted);text-align:center;background:#fff9;border-radius:16px;padding:28px;font-size:.92rem}.dash-button{border:1px solid var(--dash-line);background:var(--dash-surface);color:var(--dash-text);cursor:pointer;border-radius:12px;min-height:40px;padding:9px 16px;font-size:.88rem;font-weight:700}.dash-button:hover{border-color:var(--dash-primary);color:var(--dash-primary)}.dash-button.primary{color:#fff;background:linear-gradient(135deg,#7c3aed,#a855f7);border-color:#0000;box-shadow:0 6px 18px #7c3aed47}.dash-button.primary:hover{color:#fff;filter:brightness(1.05)}.dash-page :focus-visible{outline:3px solid var(--dash-primary);outline-offset:2px}@media (width<=640px){.dash-hero{padding:36px 16px 24px}.dash-container{padding:0 16px 48px}}
