:root{--sf-bg:#f6f7fb;--sf-surface:#fff;--sf-text:#0f172a;--sf-muted:#64748b;--sf-line:rgba(15,23,42,.08);--sf-primary:#4f46e5;--sf-danger:#ef4444;--sf-radius:18px;--sf-radius-sm:12px;--sf-shadow:0 10px 28px rgba(2,6,23,.08);--sf-shadow-soft:0 6px 16px rgba(2,6,23,.06)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--sf-bg);color:var(--sf-text)}a{color:inherit}a:hover{text-decoration:none}img{max-width:100%;display:block}.dash-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--sf-line)}.header-logo{font-weight:900;letter-spacing:.3px;text-decoration:none;color:var(--sf-text)}.dash-actions{display:flex;align-items:center;gap:10px}.dash-action{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.06);font-size:.9rem;font-weight:700;color:#334155;text-decoration:none;transition:background .12s ease,border-color .12s ease,transform .12s ease}.dash-action:hover{background:rgba(15,23,42,.06);border-color:rgba(15,23,42,.1);transform:translateY(-1px)}.dash-action svg{width:18px;height:18px}.comp-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:22px;align-items:start;padding:18px}.comp-content{margin:0!important;min-width:0}.comp-sidebar{position:sticky;top:86px;align-self:start;margin:0!important;padding:14px;background:var(--sf-surface);border-radius:var(--sf-radius);box-shadow:var(--sf-shadow-soft);border:1px solid rgba(15,23,42,.04)}.sb-cover{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--sf-radius-sm);background:linear-gradient(135deg,#e7ecf5,#fbfcff)}.sb-cover[alt]{border:1px solid rgba(15,23,42,.04)}.sb-title{margin:14px 0 6px 0;font-size:1.25rem;line-height:1.2;letter-spacing:-.02em}.sb-meta{font-size:.92rem;color:var(--sf-muted)}.sb-meta a{color:var(--sf-text);font-weight:800;text-decoration:none}.sb-meta a:hover{text-decoration:underline}.sb-desc{margin-top:10px;padding:0;background:transparent;border:0;color:var(--sf-muted);font-size:.95rem;line-height:1.45}.sb-stats-box{margin-top:14px;display:grid;grid-template-columns:1fr;gap:10px}.sb-stat{padding:12px 12px;border-radius:var(--sf-radius-sm);background:rgba(15,23,42,.03);border:1px solid rgba(15,23,42,.05)}.sb-stat b{display:block;font-size:1.05rem;letter-spacing:-.02em}.sb-stat span{display:block;margin-top:2px;font-size:.85rem;color:var(--sf-muted)}.sb-actions{margin-top:14px}.sb-actions-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sb-icon-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 8px;border-radius:14px;background:rgba(15,23,42,.03);border:1px solid rgba(15,23,42,.06);font-size:.75rem;font-weight:800;color:#334155;text-decoration:none;transition:background .12s ease,border-color .12s ease,transform .12s ease}.sb-icon-btn svg{width:20px;height:20px;opacity:.9}.sb-icon-btn:hover{background:rgba(15,23,42,.05);border-color:rgba(15,23,42,.1);transform:translateY(-1px)}.sb-icon-btn.danger{color:#b91c1c;background:rgba(239,68,68,.06);border-color:rgba(239,68,68,.12)}.sb-icon-btn.danger:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.18)}.comp-content-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:6px 0 16px 0}.comp-content-title{margin:0;font-size:1.45rem;font-weight:900;letter-spacing:-.02em}.comp-content-sub{font-size:.9rem;font-weight:700;color:var(--sf-muted)}.bookmarks-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.bookmarks-list>li{list-style:none;margin:0;padding:0}@media(max-width:1200px){.bookmarks-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.bookmarks-list{grid-template-columns:1fr}}.empty-state{padding:24px 18px;background:transparent;border:1px dashed rgba(15,23,42,.14);border-radius:var(--sf-radius);color:var(--sf-muted);text-align:center}.sf-card-canva{position:relative;overflow:hidden;background:var(--sf-surface);border-radius:var(--sf-radius);border:1px solid rgba(15,23,42,.04);box-shadow:var(--sf-shadow-soft);transition:transform .14s ease,box-shadow .14s ease}.sf-card-canva:hover{transform:translateY(-2px);box-shadow:var(--sf-shadow)}.sf-card-img-wrapper{display:block;position:relative;width:100%;aspect-ratio:16/10;background:linear-gradient(135deg,#e7ecf5,#fbfcff);text-decoration:none}.sf-card-img{width:100%;height:100%;object-fit:cover;display:block}.sf-card-body{padding:14px 14px 10px 14px}.sf-card-title{margin:0;font-size:1.02rem;line-height:1.25;letter-spacing:-.01em;font-weight:900;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sf-card-meta{margin-top:8px;display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--sf-muted)}.sf-card-meta svg{opacity:.65}.sf-hover-actions{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:5;opacity:0;transform:translateY(-4px);transition:opacity .14s ease,transform .14s ease}.sf-card-canva:hover .sf-hover-actions{opacity:1;transform:translateY(0)}.sf-action-bubble{width:38px;height:38px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.35);background:rgba(15,23,42,.55);color:#fff;cursor:pointer;transition:transform .12s ease,background .12s ease}.sf-action-bubble:hover{transform:scale(1.05);background:rgba(15,23,42,.65)}.sf-action-bubble.delete{background:rgba(239,68,68,.68)}.sf-action-bubble.delete:hover{background:rgba(239,68,68,.8)}.bookmarks-buttons{margin:10px 12px 12px 12px;display:flex;flex-wrap:wrap;gap:8px}.icon-link{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.06);color:var(--sf-muted);text-decoration:none;font-weight:700;font-size:.85rem;line-height:1;cursor:pointer;user-select:none;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.icon-link:hover{background:rgba(15,23,42,.06);border-color:rgba(15,23,42,.1);color:var(--sf-text);transform:translateY(-1px)}.icon-link svg{width:16px;height:16px;opacity:.9}.icon-link-heart:hover{color:#ef4444;border-color:rgba(239,68,68,.14);background:rgba(239,68,68,.06)}.icon-link-heart.is-active,.icon-link-heart svg[fill="white"]{color:#ef4444;border-color:rgba(239,68,68,.18);background:rgba(239,68,68,.08)}.icon-link-comment:hover{color:var(--sf-primary);border-color:rgba(79,70,229,.14);background:rgba(79,70,229,.06)}.icon-link-share:hover{color:#0f766e;border-color:rgba(15,118,110,.14);background:rgba(15,118,110,.06)}.bookmarks-comments{margin:10px 12px 12px 12px;padding:10px 12px;background:rgba(15,23,42,.03);border:1px solid rgba(15,23,42,.05);border-radius:12px;font-size:.9rem;line-height:1.45;color:var(--sf-text)}.bookmarks-comment-author{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:.85rem;color:var(--sf-text)}.bookmarks-comment-author span{font-weight:600;color:var(--sf-muted)}.bookmarks-comment-text{margin-top:4px;color:var(--sf-text)}.bookmarks-box{background:#fff;border-radius:var(--sf-radius);border:1px solid rgba(15,23,42,.04);box-shadow:var(--sf-shadow-soft);overflow:hidden}.bookmarks-box .bookmarks-link{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;padding:14px;text-decoration:none;color:inherit}.bookmarks-box .bookmarks-image{width:100%;height:150px;object-fit:cover;border-radius:var(--sf-radius-sm);background:linear-gradient(135deg,#e7ecf5,#fbfcff)}.bookmarks-box .bookmarks-text h3{margin:0 0 6px 0;font-size:1.02rem;line-height:1.25;font-weight:900}.bookmarks-box .bookmarks-text p{margin:0;color:var(--sf-muted);line-height:1.45;font-size:.95rem}@media(max-width:720px){.bookmarks-box .bookmarks-link{grid-template-columns:1fr}.bookmarks-box .bookmarks-image{height:190px}}img[src=""],img:not([src]){display:none}img.is-broken{filter:grayscale(1);opacity:.65}@media(max-width:980px){.comp-layout{grid-template-columns:1fr;padding:14px}.comp-sidebar{position:relative;top:0}}.comp-content{left:auto!important;right:auto!important;float:none!important}.comp-sidebar{float:none!important}.bookmarks-comments{margin:10px 12px 12px 12px;padding:10px 12px 10px 12px;background:rgba(79,70,229,.045);border:1px solid rgba(79,70,229,.1);border-left:3px solid rgba(79,70,229,.35);border-radius:12px;color:var(--sf-text);font-size:.9rem;line-height:1.45}.bookmarks-comment-author{font-weight:900;font-size:.82rem;color:rgba(15,23,42,.85)}.bookmarks-comment-text{margin-top:4px;color:rgba(15,23,42,.8)}.bookmarks-comments:empty{display:none}.comp-layout{grid-template-columns:1fr}.comp-sidebar{display:none!important}.app-sidebar{display:none!important}.app-content{margin-left:0!important}.dash-header.is-collection{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;background:linear-gradient(135deg,rgba(79,70,229,.12),rgba(99,102,241,.06)),#fff;backdrop-filter:blur(10px);border-bottom:1px solid rgba(79,70,229,.18);box-shadow:0 6px 18px rgba(79,70,229,.12);transition:background .2s ease,box-shadow .2s ease}.dash-header.is-collection .header-collection-title{font-size:1.15rem;font-weight:900;letter-spacing:-.02em;color:#1e1b4b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:65vw}.dash-header.is-collection .dash-action{background:rgba(79,70,229,.12);border:1px solid rgba(79,70,229,.22);color:#3730a3;font-weight:800}.dash-header.is-collection .dash-action:hover{background:rgba(79,70,229,.18);border-color:rgba(79,70,229,.35);transform:translateY(-1px)}.comp-content-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}.view-toggle{display:inline-flex;gap:8px;padding:6px;border-radius:999px;background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.08)}.view-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:0;background:transparent;color:var(--sf-muted);font-weight:800;cursor:pointer}.view-btn svg{opacity:.9}.view-btn:hover{background:rgba(15,23,42,.06);color:var(--sf-text)}.view-btn.is-active{background:#fff;border:1px solid rgba(15,23,42,.1);box-shadow:0 6px 16px rgba(2,6,23,.1);color:var(--sf-text)}.view-list .bookmarks-list{grid-template-columns:1fr!important;gap:12px}.view-list .sf-card-canva{display:grid;grid-template-columns:280px minmax(0,1fr);padding-bottom:0}.view-list .sf-card-img-wrapper{aspect-ratio:auto;height:170px;border-bottom:0;border-right:1px solid rgba(15,23,42,.06)}.view-list .sf-card-body{padding:14px 14px 10px 14px}.view-list .sf-card-footer{grid-column:2/3;margin-top:-4px}@media(max-width:720px){.view-list .sf-card-canva{grid-template-columns:1fr}.view-list .sf-card-footer{grid-column:1/-1}.view-list .sf-card-img-wrapper{height:auto;border-right:0;border-bottom:1px solid rgba(15,23,42,.06)}}.view-toggle{position:relative;overflow:hidden}.view-toggle::before{content:"";position:absolute;top:6px;bottom:6px;left:6px;width:calc(50% - 6px);border-radius:999px;background:#fff;border:1px solid rgba(15,23,42,.1);box-shadow:0 6px 16px rgba(2,6,23,.1);transform:translateX(0);transition:transform .22s cubic-bezier(.2,.9,.2,1);pointer-events:none;z-index:0}.view-list .view-toggle::before{transform:translateX(100%)}.view-btn{position:relative;z-index:1;transition:transform .14s ease,color .14s ease,background .14s ease}.view-btn svg{transition:transform .18s cubic-bezier(.2,.9,.2,1),opacity .14s ease}.view-btn.is-active{border:0;box-shadow:none;background:transparent;color:var(--sf-text)}.view-btn.is-active svg{transform:scale(1.08)}.view-btn:hover{transform:translateY(-1px)}.bookmarks-list{transition:grid-template-columns .25s ease,gap .25s ease}.view-grid .bookmarks-list>li,.view-list .bookmarks-list>li{animation:sfFadeUp .18s ease both}@keyframes sfFadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.view-toggle::before,.view-btn,.bookmarks-list{transition:none!important}.view-grid .bookmarks-list>li,.view-list .bookmarks-list>li{animation:none!important}}