.projects{padding:40px 0 96px}.projects-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:26px;display:flex}.projects-head h1{margin:0 0 6px;font-size:clamp(2rem,4vw,2.8rem)}.projects-head p{max-width:60ch;margin:0}.projects-head .ui-btn svg{width:16px;height:16px}.projects-tools{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:18px;display:flex}.projects-search{flex:240px;max-width:360px;position:relative}.projects-search svg{width:16px;height:16px;color:var(--ink-3);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.projects-search input{border-radius:999px;width:100%;height:38px;padding-left:36px}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.pcard{border:1px solid var(--line);background:var(--card);transition:border-color .2s, box-shadow .2s, transform .2s var(--ease);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.pcard:hover{border-color:var(--ink-3);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.pcard.skeleton{background:linear-gradient(90deg, var(--card), var(--paper-2), var(--card));background-size:200% 100%;height:290px;animation:1.2s linear infinite pc-shimmer}@keyframes pc-shimmer{to{background-position:-200% 0}}.pcard-art{background:linear-gradient(var(--grid) 1px, transparent 1px) -1px -1px / 16px 16px, linear-gradient(90deg, var(--grid) 1px, transparent 1px) -1px -1px / 16px 16px, radial-gradient(80% 80% at 50% 45%, var(--card), var(--stage));border-bottom:1px solid var(--line);place-items:center;height:190px;min-height:0;padding:20px 22px;display:grid;overflow:hidden}.pwire{width:100%;height:100%;max-height:150px;overflow:visible}.pwire path{fill:none;stroke:var(--ink);stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round;opacity:.8;vector-effect:non-scaling-stroke}.pcard:hover .pwire path{stroke:var(--accent);opacity:1}.pwire.empty path{stroke-dasharray:4 4;opacity:.4}.pwire .pwire-outline{stroke-width:1.7px;opacity:.92}.pwire .pwire-crease{stroke-width:.8px;opacity:.5}.pcard:hover .pwire .pwire-crease{opacity:.75}@media (prefers-reduced-motion:no-preference){.pcard:hover .pwire path{animation:pwire-trace 1.1s var(--ease)}}@keyframes pwire-trace{0%{opacity:.15}}.pcard-body{cursor:pointer;gap:4px;padding:14px 16px 16px;display:grid}.pcard-title{max-width:100%;color:var(--ink);font:600 1rem/1.3 var(--font-display);letter-spacing:-.02em;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;justify-self:start;padding:0;text-decoration:none;overflow:hidden}.pcard-title:hover{text-underline-offset:3px;text-decoration:underline}.pcard-rename{width:100%;height:30px;font:600 1rem/1 var(--font-display);border-radius:8px;padding:0 8px}.pcard-meta{color:var(--ink-2);margin:0;font-size:.76rem}.pcard-meta.mono{color:var(--ink-3);font-size:.72rem}.pcard-actions,.pcard-confirm{align-items:center;gap:6px;margin-top:10px;display:flex}.pcard-actions .ui-btn{margin-right:auto}.pcard-actions .ui-btn svg{width:14px;height:14px}.pcard-actions .ui-icon-btn{width:32px;height:32px}.pcard-actions .ui-icon-btn svg{width:16px;height:16px}.pcard-confirm span{color:var(--err);margin-right:auto;font-size:.82rem}.ui-btn.danger{background:var(--err);border-color:var(--err);color:#fff}.projects-empty{text-align:center;border:1px dashed var(--line);background:radial-gradient(60% 70% at 50% 30%, var(--accent-soft), transparent 70%);border-radius:24px;padding:56px 20px}.projects-empty-art{color:var(--ink-3);justify-content:center;align-items:flex-end;gap:22px;margin-bottom:18px;display:flex}.projects-empty h2{margin:0 0 6px;font-size:1.4rem}.projects-empty p{max-width:46ch;margin:0 auto 18px}.pcard-new{background:0 0;border-style:dashed}.pcard-new-link{text-align:center;min-height:290px;color:var(--ink);flex:1;place-content:center;justify-items:center;gap:8px;padding:24px;text-decoration:none;display:grid}.pcard-new-plus{background:var(--accent);color:#fff;width:54px;height:54px;box-shadow:0 12px 24px -12px color-mix(in srgb, var(--accent) 80%, transparent);transition:transform .2s var(--ease);border-radius:16px;place-items:center;display:grid}.pcard-new-plus svg{width:26px;height:26px}.pcard-new:hover .pcard-new-plus{transform:rotate(90deg)scale(1.05)}.pcard-new b{font:600 1.05rem/1.2 var(--font-display)}.projects-syncing{color:var(--ink-3);align-items:center;gap:5px;margin-left:8px;font-size:.78rem;display:inline-flex}.projects-syncing svg,.pcard-sync svg{width:13px;height:13px}.projects-syncing svg,.pcard-sync.syncing svg{animation:1s linear infinite pc-spin}@keyframes pc-spin{to{transform:rotate(360deg)}}.pcard-sync{color:var(--ink-3);align-items:center;gap:5px;margin:2px 0 0;font-size:.72rem;display:inline-flex}.pcard-sync.synced{color:var(--ok)}.pcard-sync.error{color:var(--warn)}.pcard-conflict{background:var(--warn-soft);border-radius:10px;gap:6px;margin-top:6px;padding:8px;font-size:.76rem;display:grid}.pcard-conflict span{color:var(--ink);align-items:center;gap:5px;display:inline-flex}.pcard-conflict svg{width:14px;height:14px;color:var(--warn)}.pcard-conflict .ui-btn{justify-self:start}
