.app-mode .proj-card{--card-h:460px;height:var(--card-h);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px 22px;display:flex;flex-direction:column;gap:14px;cursor:pointer;position:relative;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .18s,transform .18s,box-shadow .18s,background .2s,color .2s}.app-mode .proj-card:hover{border-color:var(--accent-soft-strong);transform:translateY(-2px);box-shadow:0 10px 28px -14px rgba(91,74,232,.2)}.app-mode .proj-card.featured{background:linear-gradient(180deg,var(--surface) 0,color-mix(in srgb,var(--accent-soft) 25%,var(--surface)) 100%)}.app-mode .proj-card.featured:before{content:attr(data-badge);position:absolute;top:16px;right:16px;z-index:3;pointer-events:none;font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:#fff;border:1px solid var(--accent-soft-strong);padding:4px 8px;border-radius:999px;font-weight:600}.app-mode .proj-card h3{font-size:17px;font-weight:600;letter-spacing:-.015em;line-height:1.25;margin:0;padding-top:2px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(2 * 1.25 * 17px)}.app-mode .proj-card h3 i{font-style:italic;font-weight:600}.app-mode .proj-card .method-tags{display:flex;flex-wrap:wrap;gap:5px;overflow:hidden;max-height:22px}.app-mode .proj-card .method-tags .tag{font-size:9.5px;font-weight:500;padding:3px 7px;letter-spacing:.04em;min-width:0;max-width:100%;flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-mode .proj-card .abstract-preview{margin:0;font-size:14px;color:var(--ink-2);line-height:1.6;flex:1;min-height:0;display:-webkit-box;-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}.app-mode .proj-card .meta-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0}.app-mode .proj-card .card-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:8px 12px;flex-wrap:wrap;font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase;transition:opacity .2s}.app-mode .proj-card .card-foot b{color:var(--ink);font-weight:600}.app-mode .proj-card .card-foot .ev-left,.app-mode .proj-card .card-foot .ev-right{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;min-width:0}.app-mode .proj-card .card-foot .ev-left{flex:1 1 auto;overflow:hidden}.app-mode .proj-card .card-foot .ev-left b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.app-mode .proj-card .card-foot .ev-sep{width:3px;height:3px;border-radius:50%;background:var(--border-strong)}.app-mode .proj-card[data-active=true]{background:#1b1530;color:#fff;border-color:transparent;isolation:isolate;border-style:solid}.app-mode .proj-card .proj-card-energy{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .28s ease}.app-mode .proj-card[data-active=true] .proj-card-energy{opacity:1}.app-mode .proj-card[data-active=true]:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(15,12,25,.46),rgba(15,12,25,.22) 46%,rgba(15,12,25,.08))}.app-mode .proj-card>.abstract-preview,.app-mode .proj-card>.card-foot,.app-mode .proj-card>.meta-row,.app-mode .proj-card>.method-tags,.app-mode .proj-card>h3{position:relative;z-index:2}.app-mode .proj-card[data-active=true] h3{color:#fff}.app-mode .proj-card[data-active=true] .abstract-preview{color:rgba(255,255,255,.82)}.app-mode .proj-card[data-active=true] .card-foot,.app-mode .proj-card[data-active=true] .card-foot span{color:rgba(255,255,255,.7)}.app-mode .proj-card[data-active=true] .card-foot b{color:#fff}.app-mode .proj-card[data-pinned=true]{height:auto}.app-mode .proj-card-menu{position:relative;z-index:3;margin-top:14px;display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;background:rgba(255,255,255,.14);-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);border-top:1px solid rgba(255,255,255,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.3)}.app-mode .pcm-item{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;padding:9px 12px;border-radius:8px;font:inherit;font-size:13px;font-weight:500;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);text-decoration:none;cursor:pointer;transition:background .12s}.app-mode .pcm-item:hover{background:rgba(255,255,255,.18)}.app-mode .pcm-item.primary{background:var(--accent,#5b4ae8);border-color:transparent}.app-mode .pcm-item.primary:hover{background:var(--accent-hover,#4838d0)}.app-mode .pcm-item svg{width:12px;height:12px;flex-shrink:0}.app-mode .pcm-preview{display:inline-flex;align-items:center;gap:8px}