
.card{position:relative}
.fav-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:2px solid var(--line);background:rgba(255,253,248,.95);color:var(--red);cursor:pointer;padding:0;font:inherit}
.fav-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linejoin:round}
.fav-btn[aria-pressed="true"] svg{fill:currentColor}
.card>.fav-btn{position:absolute;top:8px;right:8px;z-index:2;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.fav-btn.big{width:auto;height:44px;border-radius:999px;padding:0 16px;gap:8px;font-weight:700;font-size:15px}
.fav-wrap{margin:10px 0 4px}
.nav-fav{display:inline-flex;align-items:center;gap:2px;color:var(--red)}
.fav-count{display:inline-block;min-width:1.4em;margin-left:4px;padding:0 6px;border-radius:999px;background:var(--red);color:#fff;font-size:12px;line-height:1.5;text-align:center}
.fav-count[hidden]{display:none}
.fav-note{background:var(--paper);border:2px solid var(--line);border-radius:14px;padding:12px 16px;margin:14px 0;font-size:15px}
.fav-list{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin:18px 0}
.fav-item{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 2px 0 var(--line)}
.fav-item img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.fav-item .fi-b{padding:10px 14px 14px}
.fav-item h3{margin:0 0 4px;font-size:18px}
.fav-item p{margin:0;color:var(--ink2,#6b5b4b);font-size:14px}
.fav-item .fav-btn{position:absolute;top:8px;right:8px}
.fav-actions{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}
.fav-empty{padding:22px;border:2px dashed var(--line);border-radius:16px;text-align:center}

.new-tag{display:inline-block;font-size:13px;font-weight:700;color:#7a5a12;background:#fff3cf;border:1px solid #f0d58a;border-radius:999px;padding:2px 10px}
.signup input[type=text]:not([tabindex]),.signup textarea{width:100%;max-width:520px;min-height:48px;border:2px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;background:#fff;display:block;box-sizing:border-box}
.signup textarea{min-height:120px;resize:vertical}
.signup input[type=file]{font:inherit;max-width:100%}
@media(max-width:480px){nav[aria-label=Main]{white-space:nowrap}nav[aria-label=Main] a{margin-left:9px;font-size:14px}nav[aria-label=Main] a:first-child{margin-left:0}nav[aria-label=Main] a.nav-fav{min-width:28px;justify-content:center;margin-left:6px}}
