:root{--color-bg: #f2f2f2;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-border: #e2e2e2;--color-border-strong: #c8c8c8;--color-text: #111111;--color-text-muted: #6b6b6b;--color-text-faint: #9b9b9b;--color-accent: #111111;--color-btn-filled-bg: #111111;--color-btn-filled-fg: #ffffff;--color-btn-filled-hover: #333333;--color-warning-size-bg: #fff3cd;--color-warning-size-border: #f0c040;--color-warning-size-text: #7a5600;--color-warning-click-bg: #fde8e8;--color-warning-click-border: #f08080;--color-warning-click-text: #7a0000;--color-info-bg: #e8f0fe;--color-info-text: #1a3a6b;--color-error: #c0392b;--sidebar-width: 220px;--header-height: 56px;--radius: 6px;--radius-sm: 4px;--transition: .18s ease;--font: "Inter", system-ui, -apple-system, sans-serif;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.06);--shadow-sm: 0 1px 2px rgba(0,0,0,.06)}[data-theme=dark]{--color-bg: #141414;--color-surface: #1e1e1e;--color-surface-raised: #252525;--color-border: #2e2e2e;--color-border-strong: #404040;--color-text: #f0f0f0;--color-text-muted: #9b9b9b;--color-text-faint: #666666;--color-accent: #f0f0f0;--color-btn-filled-bg: #f0f0f0;--color-btn-filled-fg: #111111;--color-btn-filled-hover: #d0d0d0;--color-warning-size-bg: #3a2e00;--color-warning-size-border: #8a6800;--color-warning-size-text: #f0c040;--color-warning-click-bg: #3a0000;--color-warning-click-border: #8a0000;--color-warning-click-text: #f08080;--color-info-bg: #0a1a3a;--color-info-text: #90b4f8;--shadow: 0 1px 3px rgba(0,0,0,.3), 0 4px 12px rgba(0,0,0,.25);--shadow-sm: 0 1px 2px rgba(0,0,0,.2)}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font);font-size:14px;line-height:1.5;color:var(--color-text);background:var(--color-bg);height:100%;-webkit-text-size-adjust:100%}body{margin:0;min-height:100%;transition:background-color var(--transition),color var(--transition)}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.2}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}a{color:inherit;text-decoration:none}img,svg{vertical-align:middle}button{cursor:pointer;font:inherit}dl{margin:0}dt{font-weight:600}dd{margin:0}.hidden{display:none!important}.adblock-warning{position:fixed;top:0;left:0;right:0;z-index:1000;background:#e74c3c;color:#fff}.adblock-warning__inner{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1400px;margin:0 auto;padding:10px 16px}.adblock-warning__body{font-size:13px}.app{display:flex;min-height:100vh}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;justify-content:space-between;transition:width var(--transition),background-color var(--transition);z-index:100;overflow:hidden}.sidebar__inner{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px 0 12px;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.sidebar__resizer{display:flex;align-items:center;padding:12px 0;border-top:1px solid var(--color-border);flex-shrink:0}.sidebar__toggle{flex-shrink:0;width:36px;height:36px;margin:0 6px;transition:transform var(--transition)}.sidebar__toggle svg{width:10px;height:14px}.sidebar__resizer-line{flex:1;height:1px;background:var(--color-border);margin-right:12px;transition:opacity var(--transition)}.sidebar--collapsed{width:48px}.sidebar--collapsed .sidebar__toggle{transform:rotate(180deg)}.sidebar--collapsed .sidebar__resizer-line,.sidebar--collapsed .logo__wordmark{opacity:0}.sidebar--collapsed .filters__heading,.sidebar--collapsed .filters__label,.sidebar--collapsed .filters__check{opacity:0;pointer-events:none}.sidebar--collapsed .filters__block{pointer-events:none}.logo{display:flex;align-items:center;gap:10px;padding:0 14px 20px;color:var(--color-text);text-decoration:none}.logo__svg{flex-shrink:0;width:40px;height:40px}.logo__wordmark{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:opacity var(--transition)}.filters__block{padding:0 0 16px}.filters__block+.filters__block{border-top:1px solid var(--color-border);padding-top:14px}.filters__heading{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint);padding:0 14px 8px;transition:opacity var(--transition)}.filters__item{display:flex;align-items:center;gap:0}.filters__check{position:absolute;opacity:0;width:0;height:0;transition:opacity var(--transition)}.filters__check+.filters__label:before{content:"";display:inline-flex;flex-shrink:0;width:14px;height:14px;border:1.5px solid var(--color-border-strong);border-radius:3px;margin-right:8px;background:var(--color-surface);transition:background var(--transition),border-color var(--transition)}.filters__check:checked+.filters__label:before{background:var(--color-accent);border-color:var(--color-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath stroke='%23fff' stroke-width='1.8' fill='none' d='M1 5l3 3 7-7'/%3E%3C/svg%3E");background-size:10px 8px;background-repeat:no-repeat;background-position:center}.filters__check:focus-visible+.filters__label:before{outline:2px solid var(--color-accent);outline-offset:1px}.filters__label{display:flex;align-items:center;width:100%;padding:5px 14px;font-size:13px;color:var(--color-text);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;transition:opacity var(--transition),color var(--transition)}.filters__label:hover{color:var(--color-accent)}.filters__label small{margin-left:auto;font-size:10px;color:var(--color-text-faint);padding-left:8px}.layout{flex:1;margin-left:var(--sidebar-width);min-width:0;display:flex;flex-direction:column;transition:margin-left var(--transition)}.sidebar--collapsed~.layout{margin-left:48px}.header{position:sticky;top:0;z-index:50;background:var(--color-surface);border-bottom:1px solid var(--color-border);transition:background-color var(--transition)}.header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--header-height);padding:0 24px}.header__title{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header__controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.global-controls{display:flex;align-items:center;gap:4px}.color-switch__sun{transition:r .3s ease}.color-switch__beams{transition:opacity .3s ease}.color-switch__moon-circle{transition:cx .3s ease}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);padding:0;transition:background var(--transition),color var(--transition),opacity var(--transition)}.btn:hover{background:var(--color-border)}.btn:active{opacity:.7}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn--icon{width:36px;height:36px;flex-shrink:0}.btn--icon svg{width:14px;height:14px}.btn--sm{width:28px;height:28px}.btn--sm svg{width:11px;height:11px}.btn--filled{background:var(--color-btn-filled-bg);color:var(--color-btn-filled-fg)}.btn--filled:hover{background:var(--color-btn-filled-hover)}.banner-warnings:empty{display:none}.warning{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:8px 24px;font-size:12px;border-top:1px solid transparent}.warning--size{background:var(--color-warning-size-bg);border-color:var(--color-warning-size-border);color:var(--color-warning-size-text)}.warning--clicktag{background:var(--color-warning-click-bg);border-color:var(--color-warning-click-border);color:var(--color-warning-click-text)}.warning__tag{display:inline-block;font-size:11px;padding:1px 6px;border-radius:3px;background:#00000014;font-family:ui-monospace,monospace}.main{flex:1;padding:32px 24px 48px;overflow-x:auto}.loading,.empty{color:var(--color-text-muted);font-size:14px}.empty code{font-family:ui-monospace,monospace;background:var(--color-border);padding:1px 5px;border-radius:3px}.banner-group+.banner-group{margin-top:40px}.banner-group__title{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:14px}.banner-group__list{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.banner-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition);max-width:100%}.banner-card:hover{box-shadow:var(--shadow)}.banner-card--warning{border-color:var(--color-warning-size-border)}.banner-card__warning-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:12px;line-height:1;background:var(--color-warning-size-bg);color:var(--color-warning-size-text);cursor:help}.banner-card[data-play-state=stopped] .js-pause,.banner-card[data-play-state=stopped] .js-stop,.banner-card[data-play-state=playing] .js-play,.banner-card[data-play-state=paused] .js-pause{display:none}.banner-card__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px 8px 14px;border-bottom:1px solid var(--color-border);min-height:44px}.banner-card__title{font-size:12px;font-weight:500;line-height:1.4;min-width:0}.banner-card__title small{display:block;font-size:11px;font-weight:400;color:var(--color-text-muted)}.banner-card__link{color:var(--color-text);text-decoration:none}.banner-card__link:hover{color:var(--color-accent);text-decoration:underline}.banner-card__actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.banner-card__frame{position:relative;flex-shrink:0;overflow:hidden;background:#fff}.banner-card__thumb{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none;transition:opacity .3s ease;z-index:1}.banner-card__iframe{display:block;border:0;position:relative;z-index:0}.banner-card__info-panel{padding:12px 14px;border-top:1px solid var(--color-border);background:var(--color-info-bg)}.info-list{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12px}.info-list dt{color:var(--color-text-muted);white-space:nowrap}.info-list dd{font-family:ui-monospace,monospace}.info-list__warn{color:var(--color-error);font-weight:600}
