:root,[data-theme=dark]{--bg-body: #1a1a2e;--bg-header: #050810;--bg-card: #1e2d4d;--bg-card-hover: #243b5c;--bg-input: #16213e;--bg-btn: #16213e;--bg-btn-hover: #1a2744;--bg-btn-active: #2563eb;--text: #eee;--text-muted: #888;--text-muted-2: #aaa;--border: #2a3a5c;--border-strong: #1e3a5a;--header-border-width: 4px;--header-border-color: #2a4a6e;--content-top-gap: 1.25rem;--shadow: rgba(0, 0, 0, .3);--shadow-strong: rgba(0, 0, 0, .45);--link: #6eb5ff;--modal-overlay: rgba(0, 0, 0, .75);--modal-bg: #16213e;--card-hover-overlay: rgba(255, 255, 255, .05);--thumb-bg: #222}[data-theme=light]{--bg-body: #e8eef4;--bg-header: #c5d4e8;--bg-card: #fff;--bg-card-hover: #f0f4f9;--bg-input: #fff;--bg-btn: #e2e8f0;--bg-btn-hover: #cbd5e1;--bg-btn-active: #2563eb;--text: #1e293b;--text-muted: #64748b;--text-muted-2: #475569;--border: #cbd5e1;--border-strong: #94a3b8;--header-border-width: 2px;--header-border-color: #94a3b8;--content-top-gap: .5rem;--shadow: rgba(0, 0, 0, .08);--shadow-strong: rgba(0, 0, 0, .15);--link: #2563eb;--modal-overlay: rgba(0, 0, 0, .4);--modal-bg: #fff;--card-hover-overlay: rgba(0, 0, 0, .04);--thumb-bg: #e2e8f0}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:var(--bg-body);color:var(--text);min-height:100vh}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.feed-list{list-style:none;padding:0;margin:var(--content-top-gap, 0) 0 2rem 0}.feed-item{border:1px solid var(--border);border-radius:8px;margin-bottom:.5rem;overflow:hidden;background:var(--bg-card);box-shadow:0 1px 4px var(--shadow)}.feed-item-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.25rem;background:transparent;border:none;color:inherit;font-size:1rem;text-align:left;cursor:pointer;transition:background .15s}.feed-item-header:hover{background:var(--card-hover-overlay)}.feed-item-thumb{flex-shrink:0;width:2.5rem;height:2.5rem;margin-right:.75rem;border-radius:6px;overflow:hidden;background:var(--thumb-bg)}.feed-item-thumb img{width:100%;height:100%;object-fit:cover;display:block}.feed-item-author{flex-shrink:0;margin-right:.5rem;color:var(--text-muted-2);font-size:.9em}.feed-item-author:after{content:" · ";color:var(--text-muted)}.feed-item-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.feed-item-toggle{margin-left:1rem;flex-shrink:0;color:var(--text-muted);font-size:.75rem}.feed-item-content{padding:0 1.25rem 1.25rem;border-top:1px solid var(--border);margin-top:-1px}.feed-item-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding-top:1rem;font-size:.85rem;color:var(--text-muted-2)}.feed-item-meta span{white-space:nowrap}.feed-item-link{color:var(--link);text-decoration:none}.feed-item-link:hover{text-decoration:underline}.feed-item-description{font-size:.9rem;line-height:1.5;max-height:400px;overflow-y:auto}.tumblr-content{color:var(--text)}.tumblr-content blockquote{margin:.75rem 0 .75rem 1.5rem;padding-left:1rem;border-left:3px solid var(--border);color:var(--text-muted-2)}.tumblr-content blockquote blockquote{border-left-color:var(--border-strong)}.tumblr-content p{margin:.5rem 0}.tumblr-content a{color:var(--link)}.feed-card{display:flex;flex-direction:column;width:100%;padding:0;margin-bottom:.75rem;text-align:left;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;color:inherit;cursor:pointer;transition:border-color .15s,background .15s,transform .1s;break-inside:avoid;overflow:hidden}.feed-card-thumb{width:100%;aspect-ratio:1;background:var(--thumb-bg);overflow:hidden;flex-shrink:0}.feed-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.feed-card-author,.feed-card-title{padding:0 1rem}.feed-card-author{padding-top:.6rem}.feed-card-title{padding-bottom:1rem}.feed-card:hover{border-color:var(--border-strong);background:var(--bg-card-hover);transform:translateY(-1px)}.feed-card:active{transform:translateY(0)}.feed-card-author{display:block;font-size:.8rem;color:var(--text-muted-2);margin-bottom:.35rem}.feed-card:not(:has(.feed-card-thumb)) .feed-card-author{padding-top:1rem}.feed-card:not(:has(.feed-card-thumb)) .feed-card-title{padding-top:0}.feed-card-title{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:.95rem;line-height:1.4;color:var(--text)}.feed-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-top:var(--content-top-gap, 0);margin-bottom:2rem}.feed-image-cell{display:block;padding:0;border:none;border-radius:8px;overflow:hidden;background:var(--bg-card);cursor:pointer;aspect-ratio:1;transition:transform .15s,box-shadow .15s}.feed-image-cell:hover{transform:scale(1.02);box-shadow:0 4px 20px var(--shadow-strong)}.feed-image-cell img{width:100%;height:100%;object-fit:cover;display:block;vertical-align:middle}.image-grid-empty{text-align:left;color:var(--text-muted);padding:2rem 0}.pagination{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:1rem 1.5rem;padding:1rem 0}.pagination-to-top{padding:.5rem 1rem;background:var(--bg-btn);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;cursor:pointer;transition:background .15s,border-color .15s}.pagination-to-top:hover{background:var(--bg-btn-hover);border-color:var(--border-strong)}.pagination button{padding:.5rem 1rem;background:var(--bg-btn);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:.9rem}.pagination button:hover:not(:disabled){background:var(--bg-btn-hover)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:.9rem;color:var(--text-muted)}.post-modal-overlay{position:fixed;inset:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem;overflow-y:auto}.post-modal{position:relative;background:var(--modal-bg);border:1px solid var(--border);border-radius:12px;max-width:min(1100px,92vw);width:100%;max-height:calc(100vh - 3rem);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px var(--shadow-strong)}.post-modal-close{position:absolute;top:.75rem;right:.75rem;width:2.25rem;height:2.25rem;padding:0;border:none;background:var(--card-hover-overlay);color:var(--text-muted-2);font-size:1.5rem;line-height:1;border-radius:6px;cursor:pointer;z-index:1;transition:background .15s,color .15s}.post-modal-close:hover{background:var(--bg-btn-hover);color:var(--text)}.post-modal-title{margin:0;padding:1.25rem 3rem .5rem 1.25rem;font-size:1.15rem;font-weight:600;line-height:1.35;color:var(--text)}.post-modal-meta{display:flex;flex-wrap:wrap;gap:1rem;padding:0 1.25rem 1rem;font-size:.85rem;color:var(--text-muted-2)}.post-modal-meta span{white-space:nowrap}.post-modal-link{color:var(--link);text-decoration:none}.post-modal-link:hover{text-decoration:underline}.post-modal-description{padding:0 1.25rem 1.25rem;font-size:.9rem;line-height:1.5;overflow-y:auto;flex:1;min-height:0}.post-modal-description.tumblr-content{color:var(--text)}.post-modal-description.tumblr-content blockquote{margin:.75rem 0 .75rem 1.5rem;padding-left:1rem;border-left:3px solid var(--border);color:var(--text-muted-2)}.post-modal-description.tumblr-content blockquote blockquote{border-left-color:var(--border-strong)}.post-modal-description.tumblr-content p{margin:.5rem 0}.post-modal-description.tumblr-content a{color:var(--link)}.post-modal-description.tumblr-content img{max-width:100%;max-height:min(400px,60vh);width:auto;height:auto;object-fit:contain;display:block;border-radius:6px}.app{max-width:100%;margin:0;padding:0 1.25rem 2rem}.app-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;margin:0 -1.25rem 1.5rem;padding:1rem 1.25rem;min-height:4rem;background:var(--bg-header);border-bottom:var(--header-border-width, 2px) solid var(--header-border-color, var(--border-strong));box-shadow:0 4px 12px var(--shadow)}.header-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.app-header-title-block{display:flex;flex-direction:column;gap:.15rem}.app-logo-link{display:inline-flex;align-items:center;gap:.5rem;padding:.2rem 0;margin:-.2rem 0;border:none;background:none;color:inherit;cursor:pointer;text-align:left;transition:opacity .15s}.app-logo-link:hover{opacity:.85}.app-logo-icon{flex-shrink:0;display:block;width:32px;height:32px;object-fit:contain}.app-title{margin:0;font-size:1.35rem;font-weight:700}.app-header p{margin:0;color:var(--text-muted);font-size:.9rem}.to-top-btn{padding:.4rem .65rem;border:1px solid var(--border);background:var(--bg-btn);color:var(--text-muted-2);border-radius:6px;font-size:.85rem;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.to-top-btn:hover{background:var(--bg-btn-hover);color:var(--text)}.view-toggle{display:flex;gap:.25rem}.view-toggle button{padding:.4rem .75rem;border:1px solid var(--border);background:var(--bg-btn);color:var(--text-muted-2);border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.view-toggle button:hover{background:var(--bg-btn-hover);color:var(--text);border-color:var(--border-strong)}.view-toggle button.active{background:var(--bg-btn-active);color:#fff;border-color:var(--bg-btn-active)}.theme-toggle{padding:.35rem .6rem;border:1px solid var(--border);background:var(--bg-btn);color:var(--text-muted-2);border-radius:6px;font-size:.85rem;cursor:pointer;margin-left:.25rem}.theme-toggle:hover{background:var(--bg-btn-hover);color:var(--text)}.column-selector,.image-count-selector{display:flex;align-items:center;gap:.25rem}.column-selector .column-label,.image-count-label{font-size:.85rem;color:var(--text-muted);margin-right:.25rem}.column-selector button{padding:.4rem .6rem;border:1px solid var(--border);background:var(--bg-btn);color:var(--text-muted-2);border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.column-selector button:hover{background:var(--bg-btn-hover);color:var(--text);border-color:var(--border-strong)}.column-selector button.active{background:var(--bg-btn-active);color:#fff;border-color:var(--bg-btn-active)}.image-count-selector{display:flex;align-items:center;gap:.25rem}.image-count-selector button{padding:.4rem .6rem;border:1px solid var(--border);background:var(--bg-btn);color:var(--text-muted-2);border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.image-count-selector button:hover{background:var(--bg-btn-hover);color:var(--text);border-color:var(--border-strong)}.image-count-selector button.active{background:var(--bg-btn-active);color:#fff;border-color:var(--bg-btn-active)}.date-filter{display:flex;align-items:center;gap:.5rem}.date-filter label{font-size:.85rem;color:var(--text-muted);white-space:nowrap}.date-filter input[type=date]{padding:.4rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text);font-size:.9rem}.date-filter-clear{padding:.25rem .5rem;border:1px solid var(--border);background:var(--bg-btn);color:var(--text-muted);border-radius:6px;font-size:1.1rem;line-height:1;cursor:pointer}.date-filter-clear:hover{color:var(--text);border-color:var(--border-strong)}.feed-cards{column-gap:1rem;margin-top:var(--content-top-gap, 0);margin-bottom:2rem}@media(max-width:767px){.feed-cards{column-count:1!important}}.loading{text-align:left;color:var(--text-muted);padding:2rem 0}
