:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface-1:#fcfcfb;--ink-1:#0b0b0b;--ink-2:#52514e;--ink-muted:#696862;--grid:#e1e0d9;--axis:#c3c2b7;--border:#0b0b0b1a;--accent:#1f65ae;--accent-strong:#1b5b9c;--accent-soft:#cde2fb;--seq-100:#cde2fb;--seq-200:#9ec5f4;--seq-300:#6da7ec;--seq-400:#3987e5;--seq-500:#256abf;--seq-600:#184f95;--seq-700:#0d366b;--status-good:#066b06;--status-warn:#8a5a00;--status-serious:#a94c29;--status-critical:#a52626;--delta-up:#066b06;--delta-down:#a52626}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#0d0d0d;--surface-1:#1a1a19;--ink-1:#fff;--ink-2:#c3c2b7;--ink-muted:#aaa9a3;--grid:#2c2c2a;--axis:#383835;--border:#ffffff1a;--accent:#6ba7ed;--accent-strong:#245f9f;--accent-soft:#0d366b;--status-good:#54c854;--status-warn:#ffc24d;--status-serious:#ff9a70;--status-critical:#f77;--delta-up:#54c854;--delta-down:#f77}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--page);color:var(--ink-1);font-family:system-ui,-apple-system,Segoe UI,Noto Sans JP,sans-serif;font-size:15.5px;line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.skip-link{z-index:100;background:var(--accent-strong);color:#fff;border-radius:6px;padding:8px 12px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus-visible{outline:3px solid var(--accent);outline-offset:2px;transform:translateY(0)}button{font:inherit;border:1px solid var(--border);background:var(--surface-1);color:var(--ink-1);cursor:pointer;border-radius:8px;padding:6px 14px}button:hover{border-color:var(--accent)}button.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}select,input{font:inherit;background:var(--surface-1);color:var(--ink-1);border:1px solid var(--border);border-radius:8px;outline:none;padding:6px 10px}select:focus,input:focus{border-color:var(--accent)}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 72%, transparent);outline-offset:2px}.app-header{z-index:50;background:var(--surface-1);border-bottom:1px solid var(--grid);flex-wrap:wrap;align-items:center;gap:14px;padding:10px 20px;display:flex;position:sticky;top:0}.app-title{white-space:nowrap;font-size:16px;font-weight:700}.app-title span{color:var(--accent)}.app-main{max-width:1360px;margin:0 auto;padding:20px}.tabs{flex-wrap:wrap;gap:2px;display:flex}.tab{cursor:pointer;color:var(--ink-2);-webkit-user-select:none;user-select:none;border-radius:8px;padding:6px 14px;font-size:14.5px}.tab:hover{background:var(--page);color:var(--ink-1)}.tab.active{background:var(--accent-strong);color:#fff;font-weight:600}.research-channel-select{color:var(--ink-muted);align-items:center;gap:5px;font-size:10px;font-weight:750;display:flex}.research-channel-select select{border-color:var(--accent);max-width:230px;font-weight:650}.app-reference-error{background:color-mix(in srgb, var(--status-critical) 12%, var(--surface-1));color:var(--status-critical);justify-content:center;align-items:center;gap:10px;padding:8px 20px;font-size:13px;display:flex}.panel{background:var(--surface-1);border:1px solid var(--grid);border-radius:12px;margin-bottom:16px;padding:16px}.panel h3{color:var(--ink-2);margin-bottom:10px;font-size:14.5px;font-weight:600}.grid{gap:12px;display:grid}.stat-tile{background:var(--surface-1);border:1px solid var(--grid);border-radius:12px;padding:14px 16px}.stat-tile .label{color:var(--ink-2);font-size:13px}.stat-tile .value{margin-top:2px;font-size:26px;font-weight:600}.stat-tile .sub{color:var(--ink-muted);margin-top:2px;font-size:12.5px}.table-wrap{border:1px solid var(--grid);background:var(--surface-1);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14.5px}th{text-align:left;white-space:nowrap;color:var(--ink-muted);border-bottom:1px solid var(--grid);background:var(--surface-1);padding:9px 12px;font-size:13px;font-weight:600;position:sticky;top:0}td{border-bottom:1px solid var(--grid);vertical-align:top;padding:8px 12px}tr:last-child td{border-bottom:none}tr:hover td{background:color-mix(in srgb, var(--accent) 5%, transparent)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.sticky-col{z-index:1;background:var(--surface-1);min-width:150px;max-width:240px;box-shadow:inset -1px 0 0 var(--grid);position:sticky;left:0}th.sticky-col{z-index:2}tr:hover td.sticky-col{background:color-mix(in srgb, var(--accent) 5%, var(--surface-1))}.th-group{text-align:center}.group-start{border-left:1px solid var(--grid)}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--ink-1)}.channels-table td.num,.channels-table td.small,.channels-table button{white-space:nowrap}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12.5px;font-weight:600;display:inline-flex}.badge.good{background:color-mix(in srgb, var(--status-good) 14%, transparent);color:var(--status-good)}.badge.warn{background:color-mix(in srgb, var(--status-warn) 16%, transparent);color:color-mix(in srgb, var(--status-warn) 70%, var(--ink-1))}.badge.serious{background:color-mix(in srgb, var(--status-serious) 16%, transparent);color:color-mix(in srgb, var(--status-serious) 75%, var(--ink-1))}.badge.critical{background:color-mix(in srgb, var(--status-critical) 14%, transparent);color:var(--status-critical)}.badge.neutral{background:var(--page);color:var(--ink-2);border:1px solid var(--grid)}.badge.accent{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.delta-up{color:var(--delta-up);font-weight:600}.delta-down{color:var(--delta-down);font-weight:600}.muted{color:var(--ink-muted)}.small{font-size:13px}.heatmap td{border-bottom:none;padding:0}.heatmap .cell{text-align:right;font-variant-numeric:tabular-nums;border-radius:4px;min-width:76px;margin:1px;padding:7px 9px;font-size:13px}.login-wrap{background:var(--page);justify-content:center;align-items:center;min-height:100%;display:flex}.login-card{background:var(--surface-1);border:1px solid var(--grid);border-radius:16px;flex-direction:column;gap:12px;width:360px;padding:32px;display:flex}.loading{text-align:center;color:var(--ink-muted);padding:40px}.spinner{border:3px solid var(--grid);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;margin-bottom:6px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){.app-main{padding:12px}.stat-tile .value{font-size:20px}.research-channel-select{order:-1;width:100%}.research-channel-select select{flex:1;max-width:none}.app-reference-error{flex-direction:column;align-items:flex-start}}
