@font-face{font-family:Geist;src:url(/node_modules/geist/dist/fonts/geist-sans/Geist-Variable.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{font-family:Geist,system-ui,sans-serif;color:#1c1b19;background:#fbfbfa;--bg:#fbfbfa;--surface:#fff;--surface-hover:#f3f3f1;--text-1:#1c1b19;--text-2:#6b6863;--text-3:#96928c;--border:#e5e2dc;--primary:#1c1b19;--primary-fg:#fff;--danger:#d55245;--accent:#c96442;--shadow:0 8px 28px rgba(20,18,15,.08);--card-bg:color-mix(in srgb,var(--surface) 88%,var(--surface-hover));--card-wash:color-mix(in srgb,var(--surface) 62%,transparent);--card-cell-empty:rgba(255,255,255,.5);--card-hero-filter:blur(20px) saturate(1.6) brightness(1.05);--card-hero-opacity:.85;color-scheme:light}@media(prefers-color-scheme:dark){:root{color:#ececee;background:#131313;--bg:#131313;--surface:#1a1a1a;--surface-hover:#242424;--text-1:#ececee;--text-2:#ababb1;--text-3:#76767c;--border:#2d2d2d;--primary:#ececee;--primary-fg:#131313;--danger:#e26456;--shadow:0 10px 32px rgba(0,0,0,.42);--card-wash:color-mix(in srgb,var(--surface) 52%,transparent);--card-cell-empty:rgba(255,255,255,.1);--card-hero-filter:blur(20px) saturate(1.5) brightness(.95);--card-hero-opacity:.45;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text-1)}button,input{font:inherit}button{cursor:pointer}.center-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(420px,100%);padding:32px;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:10px;font-weight:600}.brand-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--primary);color:var(--primary-fg)}.auth-heading{margin:36px 0 24px}.auth-card h1{margin:0;font-weight:520;letter-spacing:-.035em;font-size:28px}.auth-card p{color:var(--text-2);line-height:1.55}.auth-form{display:grid;gap:16px}.auth-form label{display:grid;gap:7px;color:var(--text-2);font-size:13px}.dlg-input{width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;background:transparent;color:var(--text-1);outline:none}.dlg-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.primary-btn,.secondary-btn{min-height:40px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;border:1px solid transparent;font-weight:520}.primary-btn{background:var(--primary);color:var(--primary-fg)}.secondary-btn{background:transparent;color:var(--text-1);border-color:var(--border)}.full{width:100%}.auth-divider{height:1px;margin:24px 0;background:var(--border);position:relative}.auth-divider span{position:absolute;left:50%;top:50%;padding:0 10px;transform:translate(-50%,-50%);background:var(--surface);color:var(--text-3);font-size:12px}.auth-links{display:flex;justify-content:space-between;margin-top:20px}.auth-links button,.back-link{border:0;background:none;color:var(--text-2);font-size:13px}.back-link{display:flex;gap:6px;padding:0;margin-bottom:28px}.form-message{font-size:13px;margin:0;color:var(--danger)}code{display:block;padding:12px;border-radius:10px;background:var(--surface-hover);overflow:auto}.projects-page{min-height:100vh}.projects-header{height:64px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);position:relative}.header-actions{display:flex;align-items:center;gap:12px}.avatar-btn{border:0;color:var(--text-2);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--surface-hover);font-size:12px;font-weight:600}.account-menu{position:absolute;z-index:20;right:32px;top:56px;min-width:220px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.account-menu p{padding:8px;margin:0;color:var(--text-2);font-size:12px}.account-menu button{width:100%;padding:9px;border:0;border-radius:8px;background:none;color:var(--text-2);display:flex;align-items:center;gap:8px}.account-menu button:hover{background:var(--surface-hover);color:var(--text-1)}.projects-content{max-width:1280px;margin:auto;padding:28px 40px 56px}.empty-state{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-2)}.error-banner{padding:12px 14px;margin-bottom:20px;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));border-radius:12px;color:var(--danger)}.cv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.cv-count{font-size:12px;color:var(--text-3);flex-shrink:0}.cv-seg{display:flex;align-items:center;gap:3px;padding:3px;border-radius:11px;background:var(--surface-hover)}.cv-seg button{padding:5px 15px;border:0;border-radius:8px;background:transparent;color:var(--text-2);font-size:13px;font-weight:520}.cv-seg button[aria-selected=true]{background:var(--surface);box-shadow:0 1px 2px #14120f12;color:var(--text-1);font-weight:600}.canvas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:14px;align-items:start}.canvas-new-tile{aspect-ratio:8/5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px dashed color-mix(in srgb,var(--border) 80%,var(--text-3));border-radius:14px;background:transparent;color:var(--text-2)}.canvas-new-tile:hover{background:var(--surface-hover);color:var(--text-1)}.canvas-new-tile .ico{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--surface-hover);color:var(--text-1)}.canvas-new-tile .label{font-size:13px;font-weight:520}.canvas-card{position:relative;aspect-ratio:8/5;display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--card-bg);overflow:hidden;isolation:isolate;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.canvas-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.canvas-card.is-menu-open{overflow:visible;box-shadow:var(--shadow)}.canvas-card.is-menu-open .canvas-card-backdrop{border-radius:14px;overflow:hidden}.canvas-card-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none}.canvas-card-hero{position:absolute;inset:0;background-image:var(--card-hero,none);background-size:cover;background-position:center;filter:var(--card-hero-filter);transform:scale(1.25);opacity:var(--card-hero-opacity)}.canvas-card-wash{position:absolute;inset:0;background:var(--card-wash)}.canvas-card-info{position:relative;z-index:1;display:flex;flex-direction:column;gap:2px;padding-right:22px}.canvas-card-name{font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-card-meta{font-size:11px;color:var(--text-3)}.canvas-card-gallery{position:relative;z-index:1;flex:1;min-height:0;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:4px;border-radius:10px;overflow:hidden}.canvas-card-cell{border-radius:10px;overflow:hidden;background:var(--card-cell-empty)}.canvas-card-cell--hero{grid-column:span 2;grid-row:span 2}.canvas-card-cell img,.canvas-card-cell video{width:100%;height:100%;object-fit:cover;display:block;transform:translateZ(0);backface-visibility:hidden}.canvas-card-blank{position:relative;z-index:1;flex:1;min-height:0;border-radius:10px;background:var(--bg);background-image:radial-gradient(var(--border) 1px,transparent 1px);background-size:14px 14px}.canvas-card-more{position:absolute;top:10px;right:10px;z-index:3;width:20px;height:20px;border:0;border-radius:7px;background:transparent;color:var(--text-2);display:grid;place-items:center;opacity:0;transition:opacity .12s,background .12s}.canvas-card:hover .canvas-card-more,.canvas-card-more:focus-visible,.canvas-card.is-menu-open .canvas-card-more{opacity:1}.canvas-card.is-menu-open .canvas-card-more{background:var(--surface);color:var(--text-1)}.card-menu{position:absolute;top:36px;right:10px;z-index:4;min-width:150px;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1px}.card-menu button{width:100%;padding:9px;border:0;border-radius:8px;background:none;color:var(--text-2);display:flex;align-items:center;gap:8px;font-size:13px}.card-menu button:hover{background:var(--surface-hover);color:var(--text-1)}.card-menu .danger{color:var(--danger)}.cv-empty{display:flex;align-items:center;justify-content:center;padding:64px 0}.cv-empty-card{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 28px 32px;border:1px dashed color-mix(in srgb,var(--border) 80%,var(--text-3));border-radius:20px;background:var(--surface)}.cv-empty-card .ico{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:var(--surface-hover);color:var(--text-2)}.cv-empty-card h2{margin:18px 0 0;font-size:20px;font-weight:520;letter-spacing:-.02em}.cv-empty-card p{margin:8px 0 0;color:var(--text-2);line-height:1.55;font-size:13px;text-wrap:pretty}.cv-empty-card .primary-btn{margin-top:22px;padding:0 18px}@media(max-width:720px){.projects-header{padding:0 18px}.projects-content{padding:20px 18px 40px}.canvas-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}}
