.ish-hero { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px; background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03)); border-radius: var(--ish-radius); border:1px solid rgba(255,255,255,0.08); }
.ish-hero h1 { font-size:32px; font-weight:800; }
.ish-hero-actions { display:flex; gap:10px; }

.ish-badge { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; color:var(--ish-text); background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.08); }

.ish-input:focus { outline: none; border-color: var(--ish-accent); box-shadow: 0 0 0 4px rgba(147,197,253,0.18); }
.ish-btn:active { transform: translateY(0); }

.ish-icon-btn { width:36px; height:36px; padding:0; display:inline-flex; align-items:center; justify-content:center; }
.ish-toolbar svg { color: var(--ish-text); opacity:0.9; }
.ish-nav-cloud { margin-right: 8px; }
.ish-nav-cloud:hover { filter: brightness(1.05); }
.ish-filterbar { display:flex; align-items:center; gap:8px; position:relative; }
.ish-filterbar .ish-btn { height:36px; }
.ish-month-popover { position:absolute; min-width:120px; width:max-content; max-height:240px; overflow:auto; background:linear-gradient(90deg, rgba(138,43,226,0.65), rgba(255,105,180,0.65), rgba(47,128,237,0.65)); border:1px solid rgba(255,255,255,0.12); border-radius: var(--ish-radius); box-shadow: 0 8px 24px rgba(0,0,0,0.2); z-index: 50; }
.ish-month-subpop { min-width:120px; width:max-content; }
.ish-month-list { display:flex; flex-direction:column; }
.ish-month-item { display:block; padding:6px 10px; color:var(--ish-text); background:transparent; border:none; text-align:left; cursor:pointer; white-space:nowrap; }
.ish-month-item:hover { background:rgba(255,255,255,0.1); }
.ish-year-item { display:block; padding:6px 10px; color:var(--ish-text); background:transparent; border:none; text-align:left; cursor:pointer; white-space:nowrap; }
.ish-year-item:hover { background:rgba(255,255,255,0.1); }
.ish-card { position: relative; }
.ish-card-edit { position: absolute; right: 8px; bottom: 8px; height: 28px; padding: 0 10px; font-size: 12px; border-radius: 999px; }
.ish-tag-editor { position:absolute; right:8px; bottom:44px; display:none; width:260px; padding:12px; border-radius:12px; background:#fff; color:var(--ish-text); border:1px solid var(--ish-border); box-shadow:0 10px 26px rgba(0,0,0,0.18); z-index:20; }
.ish-tag-editor.show { display:block; }
.ish-tag-editor .ish-input { width:100%; height:36px; padding:8px 10px; border:1px solid var(--ish-border); border-radius:8px; background:#fff; color:var(--ish-text); box-shadow:none; outline:none; box-sizing:border-box; font-size:13px; }
.ish-tag-editor .ish-tag-editor-btns { display:flex; justify-content:flex-end; gap:8px; margin-top:10px; }
html[data-theme="dark"] .ish-tag-editor { background:rgba(16,16,16,0.96); border-color:rgba(255,255,255,0.12); }
html[data-theme="dark"] .ish-tag-editor .ish-input { background:#000; border-color:rgba(255,255,255,0.12); color:#fff; }

@keyframes ishCardUp { 0% { opacity: 0; transform: translateY(18px); } 100% { opacity: 1; transform: translateY(0); } }
.ish-card { animation: ishCardUp 280ms ease-out both; }
.ish-card img { transition: transform 240ms ease, box-shadow 240ms ease; transform-origin: center center; }
.ish-card:hover img { transform: scale(1.06); }
html[data-theme="dark"] .ish-card:hover img { box-shadow: 0 12px 32px rgba(0,0,0,0.35); }

.ish-scroll-reveal { opacity: 0; transform: translateY(18px); transition: transform 320ms ease, opacity 320ms ease; }
.ish-scroll-reveal.is-visible { opacity: 1; transform: translateY(0); }
