:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#eef0f3;--text:#16181d;--muted:#646b78;--border:#dde1e7;--accent:#d7262e;--accent-hover:#b81f26;--accent-soft:#fde8e9;--success:#1d7a46;--danger:#c0262d;--radius:10px;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#111317;--surface:#1a1d23;--surface-2:#23272f;--text:#eceef2;--muted:#9aa1ad;--border:#2e333c;--accent:#ef3b43;--accent-hover:#ff5a61;--accent-soft:#3a1c1e;--success:#4fc283;--danger:#ff6b70;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.5 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit}h1{letter-spacing:-.01em;margin:0;font-size:1.6rem}h2{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 12px;font-size:.95rem}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger)}.success{color:var(--success)}input{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:1;min-width:0;padding:8px 12px}input:focus-visible,.btn:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:0 0;border-color:#0000}.btn-danger{color:var(--danger);border-color:var(--danger);background:0 0}.btn-danger:hover{background:var(--accent-soft)}.btn.small{padding:4px 8px;font-size:.85rem}.btn-google{width:100%;padding:11px 14px}.row{align-items:center;gap:8px;display:flex}.row+.row{margin-top:8px}.shell{flex-direction:column;min-height:100%;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:10px 24px;display:flex}.logo{letter-spacing:.02em;align-items:center;gap:10px;font-size:1.05rem;text-decoration:none;display:inline-flex}.user{align-items:center;gap:10px;display:flex}.avatar{object-fit:cover;border-radius:50%;flex:none;width:30px;height:30px}.avatar-fallback{background:var(--accent-soft);color:var(--accent);place-items:center;font-weight:600;display:inline-grid}.avatar-pending{background:var(--surface-2);color:var(--muted)}.content{flex:1}.page{max-width:1200px;margin:0 auto;padding:28px 24px 48px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-head form{flex:0 460px}.page-center{place-items:center;min-height:60vh;display:grid}.back{color:var(--muted);margin-bottom:12px;text-decoration:none;display:inline-block}.back:hover{color:var(--text)}.badge{background:var(--surface-2);color:var(--muted);border-radius:999px;flex:none;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.badge-owner{background:var(--accent-soft);color:var(--accent)}.empty{text-align:center;border:1px dashed var(--border);border-radius:var(--radius);padding:48px 16px}.empty p{margin:4px 0}.project-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:10px 8px;padding:12px;text-decoration:none;display:grid}.project-card:hover{border-color:var(--accent)}.project-thumb{aspect-ratio:16/9;opacity:.85;background:repeating-linear-gradient(45deg,#0000 0 10px,#7f7f7f14 10px 11px),linear-gradient(135deg,#5d7d4e,#8aa36b 55%,#b9b48a);border-radius:6px;grid-column:1/-1}.project-meta{flex-direction:column;min-width:0;display:flex}.project-meta strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.title-input{background:0 0;border-color:#0000;margin-left:-8px;padding:4px 8px;font-size:1.6rem;font-weight:650}.title-input:hover{border-color:var(--border)}.project-layout{grid-template-columns:1fr 360px;align-items:start;gap:20px;margin-top:16px;display:grid}.side{flex-direction:column;gap:16px;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.canvas-placeholder{text-align:center;background:linear-gradient(var(--border) 1px, transparent 1px) 0 0 / 40px 40px, linear-gradient(90deg, var(--border) 1px, transparent 1px) 0 0 / 40px 40px, var(--surface);place-items:center;min-height:480px;display:grid}.canvas-placeholder>*{background:var(--surface);border-radius:8px;padding:12px 16px}.member-list{flex-direction:column;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.member-list li{align-items:center;gap:10px;display:flex}.member-info{flex-direction:column;flex:1;min-width:0;display:flex}.member-info span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.login{background:radial-gradient(circle at 20% 10%, var(--accent-soft), transparent 50%), var(--bg);place-items:center;min-height:100%;padding:24px 16px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:14px;padding:28px;display:flex}.login-card h1{margin-top:8px;font-size:1.35rem}.login-card p{margin:0}.alert{background:var(--accent-soft);color:var(--accent);border-radius:8px;padding:8px 12px;font-size:.9rem}.dev-login{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:14px;display:flex}@media (width<=860px){.project-layout{grid-template-columns:1fr}.canvas-placeholder{min-height:260px}.topbar{padding:10px 16px}.page{padding:20px 16px 40px}.user-name{display:none}.page-head form{flex:100%}.title-input{font-size:1.25rem}}
