:root{--bg:#f5f6f8;--surface:#fff;--surface-2:#eef0f3;--text:#15171c;--muted:#6b7280;--border:#e2e5ea;--accent:#b7791f;--accent-strong:#975a16;--accent-contrast:#fff;--hot:#d63031;--warm:#c05621;--ok:#2f855a;--ok-bg:#e6f4ec;--warn:#b7791f;--warn-bg:#fdf3e1;--error:#c53030;--error-bg:#fdeaea;--progress:#2b6cb0;--progress-bg:#e6f0fb;--chip-title-bg:#15171c;--chip-title-text:#fff;--shadow:0 1px 2px #0000000f, 0 2px 8px #0000000a;--radius:16px;--tabbar-h:60px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1115;--surface:#181b21;--surface-2:#22262e;--text:#f1f2f4;--muted:#9aa1ad;--border:#2b3039;--accent:#e8b04b;--accent-strong:#f0c46f;--accent-contrast:#15171c;--hot:#ff6b6b;--warm:#f6ad55;--ok:#68d391;--ok-bg:#1c3326;--warn:#f6c667;--warn-bg:#3a2f17;--error:#fc8181;--error-bg:#3b1e1e;--progress:#90cdf4;--progress-bg:#1a2c40;--chip-title-bg:#f1f2f4;--chip-title-text:#15171c;--shadow:none}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,system-ui,sans-serif;font-size:16px;line-height:1.5}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.ok-text{color:var(--ok)}.warn-text{color:var(--warn)}.error-text{color:var(--error)}.app{min-height:100dvh}.page{max-width:640px;padding:12px 14px calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 24px);flex-direction:column;gap:12px;margin:0 auto;display:flex}.header{z-index:10;padding:calc(env(safe-area-inset-top) + 4px) 8px 4px;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);border-bottom:1px solid var(--border);grid-template-columns:48px 1fr 48px;align-items:center;display:grid;position:sticky;top:0}.header h1{text-align:center;margin:0;font-size:17px;font-weight:700}.header-spacer{width:48px}.icon-btn{width:48px;height:48px;color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.icon-btn:disabled{opacity:.5}.icon-btn.danger{color:var(--error)}.icon-btn.spinning svg{animation:.9s linear infinite spin}.tabbar{z-index:20;padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 97%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);border-top:1px solid var(--border);display:flex;position:fixed;bottom:0;left:0;right:0}.tab{height:var(--tabbar-h);color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.tab.active{color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}.list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.video-card{color:inherit;flex-direction:column;gap:8px;text-decoration:none;display:flex}.video-card:active{opacity:.92;transform:scale(.99)}.vc-top{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:12px;display:grid}.thumb{aspect-ratio:16/9;background:var(--surface-2);border-radius:10px;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.rank{color:#fff;font-variant-numeric:tabular-nums;background:#000000b8;border-radius:14px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 6px;font-size:14px;font-weight:800;display:inline-flex;position:absolute;top:6px;left:6px}.vc-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:16px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.meta{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:14px;display:flex}.meta-views{font-weight:700}.ratio{text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;display:flex}.ratio-main{letter-spacing:-.02em;font-size:40px;font-weight:800;line-height:1}.ratio-xl .ratio-main{font-size:56px}.ratio-sub-label{color:var(--muted);font-size:12px;font-weight:600}.ratio-adj{color:var(--muted);font-size:14px}.ratio-adj strong{color:var(--text);font-size:16px}.level-hot{color:var(--hot)}.level-warm{color:var(--warm)}.level-normal{color:var(--text)}.badges{flex-wrap:wrap;gap:6px;display:flex}.badge{background:var(--surface-2);height:24px;color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:12px;align-items:center;max-width:100%;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex;overflow:hidden}.badge-selector{background:var(--surface-2)}.badge-type-discovery{color:#1e5aa8;background:#e3f0ff}.badge-type-emerging{color:#217a4b;background:#e7f7ee}.badge-type-influence{color:#6b3fb5;background:#f1e9ff}.badge-type-competitor{color:#a12d2d;background:#fdeaea}@media (prefers-color-scheme:dark){.badge-type-discovery{color:#9cc6ff;background:#1b2c44}.badge-type-emerging{color:#8fe0b4;background:#17342a}.badge-type-influence{color:#c9b0ff;background:#2c2244}.badge-type-competitor{color:#faa;background:#3b1e1e}}.badge-warn,.badge-wait{background:var(--warn-bg);color:var(--warn)}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-error{background:var(--error-bg);color:var(--error)}.badge-progress{background:var(--progress-bg);color:var(--progress)}.chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip{border-radius:14px;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:14px;font-weight:700;display:inline-flex}.chip-where{opacity:.75;font-size:10px;font-weight:700}.chip-title{background:var(--chip-title-bg);color:var(--chip-title-text)}.chip-desc{border:1.5px dashed var(--muted);color:var(--muted)}.filters{flex-direction:column;gap:10px;padding:10px 14px;display:flex}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.toggle-text{flex-direction:column;display:flex}.toggle-label{font-weight:700}.toggle-hint{color:var(--muted);font-size:12px}.switch{appearance:none;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:16px;flex:none;width:52px;height:32px;margin:0;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.switch:checked{background:var(--ok);border-color:var(--ok)}.switch:checked:after{transform:translate(20px)}.switch:disabled{opacity:.5}.segmented{background:var(--surface-2);border-radius:12px;padding:3px;display:flex}.seg{height:40px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;font-weight:700}.seg.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000026}.select-row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-weight:700;display:flex}select,input:not([type=checkbox]),textarea{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;max-width:100%;min-height:44px;padding:8px 12px;font-size:16px}.select-row select{flex:1;max-width:65%}textarea{resize:vertical}.result-count{color:var(--muted);margin:4px 2px 0;font-size:13px}.inline-error{color:var(--error);margin:0;font-size:13px}.btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 18px;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-block{width:100%}.btn-youtube{color:#fff;background:#f03;border-color:#f03;min-height:54px;font-size:17px}.btn-row{gap:10px;display:flex}.btn-row .btn{flex:1}.danger-outline{color:var(--error);border-color:var(--error);background:0 0}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:8px 0;font-weight:700}.sub-link{text-align:center;color:var(--muted);padding:6px;font-size:13px;display:block}.add-btn{color:var(--accent);border-style:dashed}.form{flex-direction:column;gap:12px;display:flex}.field{flex-direction:column;gap:6px;font-size:14px;font-weight:700;display:flex}.field small{font-weight:400}.form-error{background:var(--error-bg);color:var(--error);border-radius:10px;margin:0;padding:10px 12px;font-size:14px}.form-ok{background:var(--ok-bg);color:var(--ok);border-radius:10px;margin:0;padding:10px 12px;font-size:14px}.notice{border-radius:var(--radius);background:var(--ok-bg);color:var(--ok);padding:12px 14px;font-size:14px}.notice p{margin:0}.login{max-width:420px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 48px) 20px 32px;text-align:center;flex-direction:column;align-items:center;gap:8px;margin:0 auto;display:flex}.login h1{margin:8px 0 0;font-size:22px}.login .form{text-align:left;width:100%;margin-top:16px}.login-logo{border-radius:20px}.state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:40px 16px;display:flex}.state p{margin:0}.state-title{color:var(--text);font-size:17px;font-weight:700}.state-body{font-size:14px}.state-body p+p{margin-top:6px}.state-error .state-title{color:var(--error)}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skeleton-list{flex-direction:column;gap:12px;display:flex}.skeleton{background:linear-gradient(90deg, var(--surface) 0%, var(--surface-2) 50%, var(--surface) 100%);background-size:200% 100%;height:190px;animation:1.2s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.detail{flex-direction:column;gap:12px;display:flex}.detail-thumb{aspect-ratio:16/9;border-radius:var(--radius);background:var(--surface-2);display:block;overflow:hidden}.detail-thumb img{object-fit:cover;width:100%;height:100%}.detail-title{margin:0;font-size:20px;line-height:1.35}.score-card .ratio{text-align:center;align-items:center;margin-bottom:8px}.kv{flex-direction:column;margin:0;display:flex}.kv>div{border-top:1px solid var(--border);flex-direction:column;padding:10px 0;display:flex}.kv dt{color:var(--muted);font-size:12px;font-weight:600}.kv dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:16px;font-weight:700}.kv .note{color:var(--muted);font-size:13px;font-weight:400;display:block}.stats-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px;display:grid}.stat-value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;line-height:1.2}.stat-label{color:var(--muted);font-size:12px}.section-title{margin:0 0 8px;font-size:17px}.section-heading{margin:12px 2px 8px;font-size:18px}.description summary{cursor:pointer;min-height:28px;font-weight:700}.description-text{white-space:pre-wrap;word-break:break-word;margin:10px 0 0;font-size:14px}.selector-card{flex-direction:column;gap:8px;display:flex}.selector-card p{margin:0}.sc-head{align-items:center;gap:12px;display:flex}.sc-name h3{margin:0 0 4px;font-size:17px}.avatar{object-fit:cover;background:var(--surface-2);border-radius:50%;flex:none;width:48px;height:48px}.sc-input{word-break:break-all;color:var(--muted);font-size:14px}.sc-grid{grid-template-columns:1fr 1fr;gap:8px 12px;margin:0;display:grid}.sc-grid dt{color:var(--muted);font-size:12px}.sc-grid dd{font-variant-numeric:tabular-nums;margin:0;font-size:18px;font-weight:800}.edit-form{border-top:1px solid var(--border);padding-top:12px}.competitor{flex-direction:column;gap:12px;margin-top:12px;display:flex}.competitor .section-heading,.competitor p{margin-bottom:0}.kw-add{gap:8px;margin:8px 0;display:flex}.kw-add input{flex:1;min-width:0}.kw-list{margin:8px 0 0;padding:0;list-style:none}.kw{border-top:1px solid var(--border);align-items:center;gap:8px;min-height:56px;display:flex}.kw-text{word-break:break-all;flex:1;font-size:17px;font-weight:700}.kw-off .kw-text{color:var(--muted);text-decoration:line-through}.job-latest{border-top:1px solid var(--border);padding:10px 0}.job-latest p{margin:2px 0 0}.job-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.job-history summary{cursor:pointer;padding:10px 0;font-weight:700}.job-history ul{margin:0;padding:0;font-size:13px;list-style:none}.job-history li{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px 8px;padding:6px 0;display:flex}.filter-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.filter-row select{width:100%;min-width:0;font-weight:700}.filter-hint{color:var(--muted);margin:0;font-size:12px}.pill{border:1.5px solid var(--border);background:var(--surface-2);min-height:48px;color:var(--muted);cursor:pointer;text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:6px;padding:0 10px;font-weight:700;display:flex}.pill-label{white-space:nowrap;font-size:13px;line-height:1.2}.pill-state{background:var(--border);border-radius:6px;padding:2px 6px;font-size:11px}.pill.on{background:var(--ok-bg);border-color:var(--ok);color:var(--text)}.pill.on .pill-state{background:var(--ok);color:var(--surface)}.filter-row .segmented{min-width:0}.filter-row .seg{height:42px;padding:0 4px;font-size:14px}.filters{gap:8px;padding:10px}.filter-group{flex-direction:column;gap:4px;display:flex}.filter-label{color:var(--muted);font-size:12px;font-weight:700}.filter-group .seg{height:42px;padding:0 4px;font-size:14px}
