*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,Yu Gothic,Meiryo,sans-serif;color:#1a1a1a;background:#f7f7f8;line-height:1.5}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;padding:6px 12px;border:1px solid #cbd5e1;background:#fff;border-radius:4px}button:disabled{opacity:.5;cursor:not-allowed}button.active{background:#1e3a8a;color:#fff;border-color:#1e3a8a}input,select,textarea{font:inherit;padding:6px 8px;border:1px solid #cbd5e1;border-radius:4px;background:#fff}.topbar{display:flex;align-items:center;gap:20px;padding:10px 16px;background:#111827;color:#fff}.topbar .site-title{color:#fff;font-weight:700;font-size:18px}.top-nav{display:flex;gap:16px}.top-nav a{color:#d1d5db}.top-nav a.active{color:#fff;text-decoration:underline}.sitefoot{padding:24px 16px 32px;margin-top:40px;border-top:1px solid #e5e7eb;text-align:center;color:#6b7280;background:#fff}.sitefoot .footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-bottom:10px}.sitefoot .footer-links a{color:#374151;font-size:13px}.sitefoot .footer-affiliate-notice{font-size:12px;margin:4px 0;color:#4b5563}.rankings-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;max-width:1200px;margin:24px auto;padding:0 16px}.rankings-header{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:16px}.rankings-header h1{margin:0;font-size:20px}.rankings-heading{flex:1 1 auto;min-width:0}.rankings-lead{margin:6px 0 0;font-size:13px;color:#475569;line-height:1.55}.rankings-lead strong{color:#0f172a;font-weight:600}.last-updated{font-size:13px;color:#475569;background:#f1f5f9;padding:2px 8px;border-radius:4px}.last-updated.none{background:#fef3c7;color:#92400e}.filter-panel{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:16px;height:fit-content;position:sticky;top:16px}.filter-panel h2{margin:0 0 12px;font-size:15px}.filter-panel h3{margin:16px 0 6px;font-size:13px;color:#4b5563}.filter-panel section+section{margin-top:8px}.filter-panel .btn-row{display:flex;flex-wrap:wrap;gap:4px}.filter-panel .btn-row button{padding:4px 10px;font-size:13px}.filter-panel label{display:block;font-size:13px;margin:4px 0;cursor:pointer}.filter-panel label input{margin-right:6px}.filter-panel label.disabled{color:#9ca3af;cursor:not-allowed}.filter-panel-header{display:flex;justify-content:space-between;align-items:center}.filter-panel-close,.filter-drawer-toggle{display:none}.sidebar-banner{margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb}.sidebar-banner a{display:block;line-height:0}.sidebar-banner img{width:100%;height:auto;display:block;border-radius:4px}.ranking-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.ranking-card{display:grid;grid-template-columns:60px 156px 1fr;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:12px}.ranking-card .rank-col{text-align:center}.ranking-card .filtered-rank{font-size:22px;font-weight:700;color:#b91c1c}.ranking-card .original-rank{font-size:11px;color:#6b7280}.ranking-card .thumb-col img,.ranking-card .thumb-placeholder{width:140px;height:105px;object-fit:cover;border-radius:4px;background:#e5e7eb;display:block}.ranking-card h3.title{margin:0 0 4px;font-size:15px;line-height:1.4}.ranking-card .circle{font-size:13px;color:#374151;margin:2px 0}.ranking-card .casts{font-size:13px;color:#1f2937;margin:2px 0}.ranking-card .meta{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#6b7280;margin:4px 0}.ranking-card .genres{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:4px}.ranking-card .genre-chip{background:#eef2ff;color:#3730a3;font-size:11px;padding:1px 6px;border-radius:3px}.ranking-card .external{font-size:12px;margin:6px 0 0}.card-actions,.work-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0 0}.primary-cta{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 12px;border-radius:4px;background:#2563eb;border:1px solid #1d4ed8;color:#fff;font-weight:700}.primary-cta:hover{color:#fff;text-decoration:none;background:#1d4ed8}.secondary-link{display:inline-flex;align-items:center;min-height:30px;font-size:12px;color:#475569}.empty{padding:24px;text-align:center;color:#6b7280}.empty-inline{color:#6b7280;margin:8px 0}.promo-card{list-style:none;padding:14px 16px;border-radius:6px;border:2px dashed #d1d5db;background:#fffbeb;display:grid;gap:6px;margin:4px 0}.promo-card.provider-adsense{background:#f3f4f6;border-color:#9ca3af}.promo-card.provider-affiliate{background:#ecfdf5;border-color:#10b981}.promo-card.provider-custom_pr{background:#fff7ed;border-color:#f59e0b}.promo-card .promo-label{display:inline-block;width:fit-content;font-size:11px;background:#111827;color:#fff;padding:2px 8px;border-radius:3px}.promo-card .promo-body{display:flex;gap:12px;align-items:flex-start}.promo-card h4{margin:0 0 4px;font-size:14px}.promo-card p{margin:0 0 4px;font-size:13px}.adsense-slot{min-height:90px}.candidate-section{margin-top:40px;padding-top:20px;border-top:2px dashed #d1d5db}.candidate-section details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:12px 16px}.candidate-section details[open]{padding-bottom:16px}.candidate-summary{cursor:pointer;font-size:15px;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:8px;list-style:revert}.candidate-summary-count{font-size:12px;font-weight:400;color:#6b7280;background:#fff;border:1px solid #d1d5db;padding:1px 8px;border-radius:10px}.candidate-lead{font-size:13px;color:#4b5563;background:#fffbeb;border-left:3px solid #f59e0b;padding:8px 12px;margin:12px 0;border-radius:0 4px 4px 0}.candidate-lead strong{color:#1f2937;display:block;margin-bottom:4px}.candidate-lead .candidate-lead-sub{font-size:12px;color:#6b7280}.candidate-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.candidate-card{display:grid;grid-template-columns:80px 156px 1fr;gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:12px}.candidate-card .label-col{text-align:center;padding-top:4px}.candidate-card .source-chip{display:inline-block;font-size:11px;font-weight:700;padding:3px 8px;border-radius:10px;background:#e0e7ff;color:#3730a3;white-space:nowrap}.candidate-card .source-chip.source-new_release{background:#dcfce7;color:#166534}.candidate-card .source-chip.source-listing{background:#dbeafe;color:#1e40af}.candidate-card .source-chip.source-circle_page{background:#fef3c7;color:#92400e}.candidate-card .source-chip.source-cast_page{background:#fce7f3;color:#9d174d}.candidate-card .thumb-col img,.candidate-card .thumb-placeholder{width:140px;height:105px;object-fit:cover;border-radius:4px;background:#e5e7eb;display:block}.candidate-card h3.title{margin:0 0 4px;font-size:15px;line-height:1.4}.candidate-card .circle{font-size:13px;color:#374151;margin:2px 0}.candidate-card .casts{font-size:13px;color:#1f2937;margin:2px 0}.candidate-card .meta{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:#6b7280;margin:4px 0}.candidate-card .genres{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:4px}.candidate-card .genre-chip{background:#eef2ff;color:#3730a3;font-size:11px;padding:1px 6px;border-radius:3px}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:24px}.work-detail{max-width:980px;margin:24px auto;padding:0 16px}.breadcrumb{font-size:12px;color:#6b7280;margin-bottom:12px}.work-hero{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:16px}.work-thumb img,.work-thumb .thumb-placeholder{width:100%;max-width:220px;aspect-ratio:4 / 3;object-fit:cover;display:block;border-radius:4px;background:#e5e7eb}.work-hero h1{font-size:22px;line-height:1.35;margin:0 0 6px;overflow-wrap:anywhere}.work-hero .circle{margin:2px 0;color:#374151;font-weight:700}.work-hero .casts{margin:4px 0;color:#1f2937}.work-hero .meta{display:flex;flex-wrap:wrap;gap:10px;color:#6b7280;font-size:13px;margin:8px 0}.work-hero .genres{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}.work-hero .genre-chip{background:#eef2ff;color:#3730a3;font-size:11px;padding:1px 6px;border-radius:3px}.work-section{margin-top:18px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:16px}.work-section h2{margin:0 0 10px;font-size:16px}.work-detail .work-meta{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;margin:0}.work-detail dt{font-weight:700;color:#4b5563}.work-detail dd{margin:0}.review-link-list,.related-list,.news-list{list-style:none;padding:0;margin:0}.review-link-list{display:grid;gap:10px}.review-link-list li{border-top:1px solid #e5e7eb;padding-top:10px}.review-link-list li:first-child{border-top:0;padding-top:0}.review-domain{display:block;color:#6b7280;font-size:12px;margin-top:2px}.review-link-list p{margin:4px 0 0;color:#4b5563;font-size:13px}.embedded-cse-results{margin-top:12px;min-height:180px}.embedded-cse-results .gsc-control-cse{padding:0;border:0;background:transparent;font-family:inherit}.embedded-cse-results .gsc-result{padding:10px 0;border-bottom:1px solid #e5e7eb}.embedded-cse-results .cse-results-hidden{display:none}.embedded-cse-results .gs-title,.embedded-cse-results .gs-title *{color:#1d4ed8}.related-list li{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e5e7eb;padding:8px 0}.related-list li:first-child{border-top:0}.related-list span{color:#6b7280;font-size:12px;white-space:nowrap}.work-block-reason{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;padding:10px 12px;border-radius:4px;margin:12px 0}.small-note{font-size:12px;color:#6b7280}.error{color:#b91c1c}.static-page{max-width:760px;margin:24px auto;padding:24px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;line-height:1.7}.static-page h1{margin-top:0;font-size:22px}.static-page h2{margin-top:24px;font-size:16px;border-bottom:1px solid #e5e7eb;padding-bottom:4px}.static-page ul{padding-left:1.4em}.static-page .operator-meta{display:grid;grid-template-columns:140px minmax(0,1fr);gap:8px 12px;background:#f9fafb;padding:12px 16px;border-radius:4px;margin:12px 0}.static-page .operator-meta dt{font-weight:700;color:#374151}.static-page .operator-meta dd{margin:0;min-width:0;overflow-wrap:anywhere;word-break:break-word}.static-page .operator-meta dd a{overflow-wrap:anywhere;word-break:break-word}@media (max-width: 480px){.static-page .operator-meta{grid-template-columns:1fr;gap:2px 0}.static-page .operator-meta dt{margin-top:6px;font-size:12px;color:#6b7280}.static-page .operator-meta dt:first-child{margin-top:0}}.static-page .license-table-wrapper{overflow-x:auto;margin:12px 0;-webkit-overflow-scrolling:touch}.static-page .license-table{width:100%;min-width:520px;border-collapse:collapse;font-size:14px}.static-page .license-table th,.static-page .license-table td{padding:8px 10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top;overflow-wrap:anywhere;word-break:break-word}.static-page .license-table th{background:#f3f4f6;color:#374151}.news-page .news-list li{border-top:1px solid #e5e7eb;padding:14px 0}.news-page .news-list li:first-child{border-top:0}.news-page .news-date{color:#6b7280;font-size:12px;margin:0 0 4px}.news-page .news-tags{display:flex;flex-wrap:wrap;gap:4px}.news-page .news-tags span{background:#f1f5f9;color:#475569;border-radius:3px;padding:1px 6px;font-size:11px}.news-summary{font-weight:700;color:#374151}.admin-tabs{display:flex;gap:6px;margin-bottom:12px}.admin-tabs button{padding:6px 14px;border:1px solid #cbd5e1;background:#fff;border-radius:4px 4px 0 0;border-bottom:none}.admin-tabs button.active{background:#1e3a8a;color:#fff;border-color:#1e3a8a}.admin-layout{display:grid;grid-template-columns:200px 1fr;gap:20px;max-width:1400px;margin:20px auto;padding:0 16px}.admin-nav{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:8px;height:fit-content;position:sticky;top:16px}.admin-nav a{display:block;padding:8px 12px;border-radius:4px;color:#1f2937}.admin-nav a.active{background:#1e3a8a;color:#fff}.admin-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.admin-header h1{margin:0;font-size:18px}.admin-token-row{display:flex;gap:6px;align-items:center}.admin-token-row input{width:220px}.admin-body>section{margin-top:20px}.admin-block-category{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:14px}.admin-block-category h2{margin:0 0 8px;font-size:15px}.admin-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.admin-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:12px}.admin-form-grid label{display:flex;flex-direction:column;font-size:12px;color:#4b5563;gap:2px}.admin-form-grid .full-row{grid-column:1 / -1}.admin-table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}.admin-table th,.admin-table td{border:1px solid #e5e7eb;padding:6px 8px;text-align:left;vertical-align:top}.admin-table th{background:#f9fafb}.admin-table td.url-cell{max-width:320px;word-break:break-all}.admin-table td.err-cell{max-width:240px;color:#991b1b;word-break:break-all}.job-status-success td{background:#f0fdf4}.job-status-failed td{background:#fef2f2}.job-status-partial td{background:#fffbeb}.job-status-running td{background:#eff6ff}.jobs-toolbar{display:flex;align-items:center;gap:12px;margin:12px 0 4px;flex-wrap:wrap}.jobs-toolbar button.primary{background:#2563eb;color:#fff;border:1px solid #1d4ed8}.jobs-toolbar button.primary:disabled{background:#9ca3af;border-color:#9ca3af}.jobs-toolbar .jobs-stat{font-size:13px;color:#374151}.manual-run-result{border:1px solid #d1d5db;border-radius:6px;padding:10px 14px;margin:12px 0;background:#f9fafb;font-size:13px}.manual-run-result h3{margin:0 0 6px;font-size:14px}.manual-run-result dl{display:grid;grid-template-columns:160px 1fr;gap:4px 10px;margin:0}.manual-run-result dt{color:#6b7280}.manual-run-result dd{margin:0;font-variant-numeric:tabular-nums}.manual-run-success{background:#f0fdf4;border-color:#86efac}.manual-run-failed{background:#fef2f2;border-color:#fca5a5}.manual-run-partial{background:#fffbeb;border-color:#fcd34d}.manual-run-result pre{background:#fff;border:1px solid #e5e7eb;padding:8px;font-size:12px;max-height:240px;overflow:auto;white-space:pre-wrap}.hint{color:#6b7280;font-size:12px;margin:4px 0 8px}.checkbox-group{display:flex;gap:8px}.checkbox-group label{font-size:12px}.admin-import{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:8px 12px;margin:12px 0}.admin-import summary{cursor:pointer;font-size:13px}.admin-import textarea{width:100%;font-family:monospace;font-size:12px}@media (max-width: 768px){.rankings-layout{grid-template-columns:1fr}.filter-panel{position:fixed;z-index:50;top:0;left:0;right:0;bottom:0;transform:translateY(-100%);transition:transform .2s ease-out;overflow:auto;border-radius:0}.filter-panel.open{transform:translateY(0)}.filter-panel-close{display:inline-block;background:#1e3a8a;color:#fff;border-color:#1e3a8a}.filter-drawer-toggle{display:inline-block;position:sticky;top:8px;z-index:40;margin-bottom:8px}.sidebar-banner img{max-width:240px;margin:0 auto}.ranking-card{grid-template-columns:40px 108px 1fr;grid-template-areas:"rank thumb body";gap:8px;padding:10px}.ranking-card .rank-col{grid-area:rank}.ranking-card .thumb-col{grid-area:thumb}.ranking-card .thumb-col img,.ranking-card .thumb-placeholder{width:108px;height:81px;aspect-ratio:4 / 3}.ranking-card .body-col{grid-area:body;min-width:0}.ranking-card h3.title{font-size:14px}.ranking-card .filtered-rank{font-size:18px}.card-actions{gap:6px}.primary-cta{min-height:32px;padding:5px 10px}.candidate-card{grid-template-columns:64px 108px 1fr;grid-template-areas:"label thumb body";gap:8px;padding:10px}.candidate-card .label-col{grid-area:label;padding-top:0}.candidate-card .thumb-col{grid-area:thumb}.candidate-card .thumb-col img,.candidate-card .thumb-placeholder{width:108px;height:81px;aspect-ratio:4 / 3}.candidate-card .body-col{grid-area:body;min-width:0}.candidate-card h3.title{font-size:14px}.candidate-card .source-chip{font-size:10px;padding:2px 6px}.work-hero{grid-template-columns:1fr;gap:12px}.work-thumb img,.work-thumb .thumb-placeholder{max-width:240px}.related-list li{display:block}.related-list span{display:block;margin-top:2px}.admin-layout{grid-template-columns:1fr}.admin-nav{flex-direction:row;overflow-x:auto}.admin-form-grid{grid-template-columns:1fr}}
