*,::after,::before{box-sizing:border-box;margin:0;padding:0}:root{--brand:#B58865;--brand-d:#9A7050;--brand-l:#f2e8df;--surface:#ffffff;--surface2:#f8f7f6;--surface3:#f1efed;--border:#e4e0dc;--border2:#ccc8c3;--text:#1a1816;--text2:#5a5652;--text3:#9b9590;--red:#c0392b;--red-l:#fdf3f2;--r:5px;--r2:8px;--shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);--shadow2:0 4px 16px rgba(0,0,0,.12),0 1px 4px rgba(0,0,0,.08)}body{background:var(--surface2);font-family:Inter,system-ui,sans-serif;font-size:14px;color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh}nav{position:sticky;top:0;z-index:100;height:52px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow);display:flex;align-items:center;padding:0 24px}.nav-inner{max-width:1100px;width:100%;margin:0 auto;display:flex;align-items:center;gap:0}.logo{display:flex;align-items:center;gap:8px;text-decoration:none;flex-shrink:0}.logo-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.logo-icon img{width:100%;height:100%;display:block}.logo-text{font-size:14px;font-weight:600;letter-spacing:.03em;color:var(--brand)}.nav-right{margin-left:auto;display:flex;align-items:center;gap:10px}.nav-email{font-size:12px;color:var(--text3)}.btn-nav{padding:6px 14px;font-size:12px;font-family:inherit;font-weight:500;background:0 0;color:var(--text2);border:1px solid var(--border2);border-radius:var(--r);cursor:pointer;transition:background .1s,color .1s}.btn-nav:hover{background:var(--surface3);color:var(--text)}.page-header{max-width:1100px;margin:0 auto;padding:32px 24px 24px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page-header-main{min-width:0;flex:1}.hero-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}.hero-greeting{font-size:26px;font-weight:700;color:var(--text);letter-spacing:-.02em;line-height:1.2;margin:0}.hero-badges{display:inline-flex;gap:6px;flex-wrap:wrap;align-items:center}.hero-helper{font-size:12px;color:var(--text2);margin-top:6px}.hero-alert{margin-top:10px;padding:12px 14px;border-radius:10px;background:color-mix(in srgb,var(--tc-color-primary) 12%,transparent);border:1px solid color-mix(in srgb,var(--tc-color-primary) 35%,transparent);color:var(--text1);font-size:13px;line-height:1.5;max-width:560px}.hero-alert__title{font-weight:600;color:var(--tc-color-primary-hover)}.hero-alert__retention{margin-top:4px;color:var(--text2)}.hero-alert__actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.hero-alert__pay{display:inline-flex;align-items:center;padding:6px 14px;border-radius:8px;background:var(--tc-color-primary);color:var(--tc-color-primary-fg);font-weight:600;font-size:13px;text-decoration:none}.hero-alert__pay:hover{background:var(--tc-color-primary-hover)}.hero-alert__link{font-size:13px;color:var(--text2);text-decoration:underline}.page-subline{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--text2);margin-top:2px}.page-subline__title{font-weight:600;color:var(--text2)}.page-count{font-size:13px;color:var(--text3)}.btn-new{display:inline-flex;align-items:center;gap:7px;margin-top:6px;padding:9px 18px;font-size:13px;font-family:inherit;font-weight:600;background:var(--brand);color:#fff;border:none;border-radius:var(--r);cursor:pointer;text-decoration:none;transition:background .12s;box-shadow:0 2px 8px rgba(181,136,101,.2)}.btn-new:hover{background:var(--brand-d)}.btn-new svg{width:14px;height:14px}.archived-banner-wrap{max-width:1100px;margin:0 auto 16px;padding:0 24px}.archived-banner{display:flex;gap:12px;align-items:flex-start;background:#fff8e6;border:1px solid #f0d27a;border-radius:var(--r2);padding:12px 14px}.archived-banner__icon{flex-shrink:0;width:22px;height:22px;color:#b07a00;display:flex;align-items:center;justify-content:center}.archived-banner__icon svg{width:100%;height:100%}.archived-banner__title{font-size:13px;font-weight:700;color:#6a4a00}.archived-banner__msg{font-size:12px;color:#6a4a00;margin-top:2px;line-height:1.5}@media (max-width:520px){.archived-banner-wrap{padding:0 16px}}.projects-wrap{max-width:1100px;margin:0 auto;padding:0 24px 60px}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);box-shadow:var(--shadow);overflow:hidden;cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .1s;position:relative}.project-card:hover{box-shadow:var(--shadow2);border-color:var(--border2);transform:translateY(-1px)}.card-thumb{width:100%;aspect-ratio:16/9;background:var(--surface3);overflow:hidden;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);position:relative}.card-thumb canvas{width:100%;height:100%;display:block}.card-thumb-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;position:absolute;inset:0}.card-thumb-placeholder svg{width:32px;height:32px;color:var(--border2)}.card-thumb-placeholder span{font-size:11px;color:var(--text3);font-weight:500}.card-body{padding:14px 16px 12px}.card-name-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.card-name{flex:1;min-width:0;font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:text;border-radius:3px;padding:1px 3px;margin-left:-3px;transition:background .1s}.card-name:hover{background:var(--surface3)}.btn-share{flex-shrink:0;width:26px;height:26px;background:0 0;border:none;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;color:var(--text3);transition:opacity .15s,background .1s,color .1s;opacity:0}.project-card:hover .btn-share{opacity:1}.btn-share:hover{background:var(--brand-l);color:var(--brand-d)}.btn-share svg{width:13px;height:13px}.btn-share.is-public{opacity:1;color:#2e7d32}.btn-share.is-public:hover{background:#e6f4ea}.btn-lock{flex-shrink:0;width:26px;height:26px;background:0 0;border:none;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;color:var(--text3);transition:opacity .15s,background .1s,color .1s;opacity:0}.project-card:hover .btn-lock{opacity:1}.btn-lock:hover{background:var(--brand-l);color:var(--brand-d)}.btn-lock svg{width:13px;height:13px}.btn-lock.is-locked{opacity:1;color:var(--brand-d)}.btn-lock.is-locked:hover{background:var(--brand-l)}.card-lock-badge{position:absolute;top:8px;left:8px;display:flex;align-items:center;gap:4px;padding:3px 8px 3px 6px;background:rgba(40,30,20,.72);color:#fff;font-size:10.5px;font-weight:600;border-radius:999px;letter-spacing:.2px;pointer-events:none}.card-lock-badge svg{width:11px;height:11px}.project-card.is-plan-locked{cursor:pointer}.project-card.is-plan-locked .card-thumb canvas{filter:grayscale(.55) brightness(.82)}.card-plan-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:linear-gradient(180deg,rgba(28,22,16,.28),rgba(28,22,16,.52));color:#fff;text-align:center;pointer-events:none}.card-plan-lock svg{width:26px;height:26px;opacity:.95;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.card-plan-lock__text{font-size:11.5px;font-weight:700;letter-spacing:.3px;text-shadow:0 1px 2px rgba(0,0,0,.4)}.card-plan-lock__cta{font-size:11px;font-weight:700;padding:4px 12px;border-radius:999px;background:var(--brand);color:#fff;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s}.project-card.is-plan-locked:hover .card-plan-lock__cta{opacity:1;transform:translateY(0)}.card-name-input{font-size:13px;font-weight:600;color:var(--text);width:100%;display:block;border:none;outline:2px solid var(--brand);background:var(--brand-l);border-radius:3px;padding:0 3px;font-family:inherit;line-height:1.5;box-sizing:border-box}.card-footer{display:flex;align-items:center;justify-content:space-between}.card-date{font-size:11px;color:var(--text3)}.btn-delete{width:26px;height:26px;background:0 0;border:none;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;color:var(--text3);transition:opacity .15s,background .1s,color .1s;opacity:0}.project-card:hover .btn-delete{opacity:1}.btn-delete:hover{background:var(--red-l);color:var(--red)}.btn-delete svg{width:13px;height:13px}.card-footer-actions{display:flex;align-items:center;gap:2px}.btn-backups{width:26px;height:26px;background:0 0;border:none;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;color:var(--text3);opacity:0;transition:opacity .15s,background .1s,color .1s}.project-card:hover .btn-backups{opacity:1}.btn-backups:hover{background:var(--surface2);color:var(--brand)}.btn-backups svg{width:14px;height:14px}.empty-state{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;padding:80px 24px;text-align:center}.empty-icon{width:56px;height:56px;border-radius:12px;background:var(--brand-l);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.empty-icon svg{width:28px;height:28px;color:var(--brand)}.empty-title{font-size:15px;font-weight:600;margin-bottom:6px}.empty-sub{font-size:13px;color:var(--text2);margin-bottom:24px}.skeleton{background:linear-gradient(90deg,var(--surface3) 25%,var(--border) 50%,var(--surface3) 75%);background-size:200% 100%;animation:1.4s infinite shimmer;border-radius:4px}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.skeleton-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);overflow:hidden}.skeleton-thumb{width:100%;aspect-ratio:16/9}.skeleton-body{padding:14px 16px 12px;display:flex;flex-direction:column;gap:8px}.skeleton-line{height:12px;border-radius:4px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--text);color:#fff;font-size:13px;padding:9px 18px;border-radius:20px;box-shadow:var(--shadow2);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:300;white-space:nowrap}.toast.show{opacity:1}.user-menu-wrap{position:relative}.btn-user{width:34px;height:34px;background:var(--surface2);color:var(--text2);border:1px solid var(--border2);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,border-color .12s,color .12s;flex-shrink:0}.btn-user.open,.btn-user:hover{background:var(--surface3);border-color:var(--border2);color:var(--text)}.btn-user svg{width:16px;height:16px;pointer-events:none}.user-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);box-shadow:var(--shadow2);z-index:200;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .12s,transform .12s}.user-dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0)}.user-dropdown-header{padding:12px 14px 10px;border-bottom:1px solid var(--border)}.user-dropdown-name{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-dropdown-email{font-size:11px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.user-dropdown-section{padding:5px 0}.user-dropdown-section+.user-dropdown-section{border-top:1px solid var(--border)}.user-menu-item{width:100%;padding:8px 14px;display:flex;align-items:center;gap:9px;font-size:12px;font-family:inherit;font-weight:500;background:0 0;color:var(--text2);border:none;cursor:pointer;text-align:left;transition:background .1s,color .1s}.user-menu-item:hover{background:var(--surface2);color:var(--text)}a.user-menu-item{text-decoration:none}.user-menu-item svg{width:14px;height:14px;flex-shrink:0;color:var(--text3)}.user-menu-item:hover svg{color:var(--text2)}.user-menu-item.danger,.user-menu-item.danger svg{color:var(--red)}.user-menu-item.danger:hover{background:var(--red-l);color:var(--red)}@media (max-width:860px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){nav{height:auto;min-height:52px;padding:10px 16px}.nav-inner{align-items:flex-start;flex-direction:column;gap:10px}.nav-right{width:100%;justify-content:space-between;flex-wrap:wrap}.nav-email{width:100%}.projects-grid{grid-template-columns:1fr}.page-header{padding:20px 16px 16px;align-items:flex-start;flex-direction:column;gap:12px}.btn-new{width:100%;justify-content:center;margin-top:0}.projects-wrap{padding:0 16px 40px}}