: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}html{overflow-x:hidden}body{margin:0;font-family:system-ui,-apple-system,sans-serif;background:var(--bg-body);color:var(--text);min-height:100vh;overflow-x:hidden}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%;max-width:100%;padding:1rem 1.25rem;background:transparent;border:none;color:inherit;font-size:1rem;text-align:left;cursor:pointer;transition:background .15s;overflow:hidden}.feed-item-header:hover{background:var(--card-hover-overlay)}.feed-item.selected{border-color:var(--border-strong);box-shadow:0 0 0 1px var(--border-strong)}.feed-item.selected .feed-item-header{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:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;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;overflow-x:hidden}.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;overflow-x:hidden}.feed-item-description img{max-width:100%;height:auto;display:block;border-radius:6px}.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);overflow-wrap:break-word;word-break:break-word}.tumblr-content img{max-width:100%;height:auto}.tumblr-content iframe,.tumblr-content video,.tumblr-content embed,.tumblr-content object{max-width:100%}.feed-image-grid{column-gap:1rem;margin-top:var(--content-top-gap, 0);margin-bottom:2rem}.feed-image-grid>.feed-image-cell{width:100%;max-width:100%;box-sizing:border-box}.feed-image-cell{display:block;padding:0;border:none;border-radius:8px;overflow:hidden;background:var(--bg-card);cursor:pointer;transition:transform .15s,box-shadow .15s;break-inside:avoid;margin-bottom:.75rem}.feed-image-cell:hover{transform:scale(1.02);box-shadow:0 4px 20px var(--shadow-strong)}.feed-image-cell img{width:100%;height:auto;display:block;vertical-align:middle}@media(max-width:767px){.feed-image-grid{column-count:1!important}}.image-grid-empty{text-align:left;color:var(--text-muted);padding:2rem 0}.feed-image-cell--card{position:relative;text-align:left;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.feed-card-overlay{position:absolute;left:0;right:0;bottom:0;padding:1.25rem .65rem .5rem;background:linear-gradient(transparent,#000000d1);color:#f0f0f0;font-size:.75rem;line-height:1.35;opacity:0;transition:opacity .15s ease;pointer-events:none}.feed-image-cell--card:hover .feed-card-overlay{opacity:1}.feed-card-overlay-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:600;margin-bottom:.2rem}.feed-card-overlay-meta{opacity:.92;font-size:.7rem}@media(hover:none){.feed-image-cell--card:has(img){display:flex;flex-direction:column;align-items:stretch;width:100%}.feed-image-cell--card:has(img) img{flex-shrink:0;width:100%;align-self:stretch}.feed-card-overlay{position:static;opacity:1;padding:.5rem .65rem .6rem;background:var(--bg-card);color:var(--text);border-top:1px solid var(--border);pointer-events:auto}.feed-card-overlay-meta{color:var(--text-muted-2)}}.feed-card-no-image{box-sizing:border-box;min-height:140px;width:100%;padding:.75rem .65rem;display:flex;flex-direction:column;gap:.4rem;justify-content:center;color:var(--text)}.feed-card-no-image-title{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:.9rem;font-weight:600;line-height:1.35;color:var(--text)}.feed-card-no-image-meta{font-size:.72rem;color:var(--text-muted-2);line-height:1.3}.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-detail-panel{position:relative;background:var(--modal-bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;height:100%;min-height:0;box-shadow:0 4px 16px var(--shadow)}.post-detail-panel .post-modal-description{flex:1;overflow-y:auto}.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;overflow-x:hidden}.app-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;margin:0 0 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)}.app-content{padding:0 1.25rem 2rem;max-width:100%;overflow-x:hidden}.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}.app-header-stats{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.app-header-today{color:var(--text-muted-2);font-size:.85rem}.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)}.loading{text-align:left;color:var(--text-muted);padding:2rem 0}.list-detail-layout{display:flex;gap:1.25rem;align-items:flex-start;margin-top:var(--content-top-gap, 0);margin-bottom:2rem}.list-detail-list{flex:1 1 0%;min-width:0}.list-detail-detail{flex:2 1 0%;min-width:0;position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:hidden;display:flex;flex-direction:column}.list-detail-placeholder{color:var(--text-muted);font-size:.95rem;padding:1.5rem;margin:0;background:var(--bg-card);border:1px dashed var(--border);border-radius:12px}@media(max-width:900px){.list-detail-layout{flex-direction:column;align-items:stretch}.list-detail-list{max-width:none}}
