:root{--bg:#eef1f5;--panel:#ffffff;--line:#dde3ea;--line-soft:#eaeef3;--ink:#101a26;--ink-2:#44546a;--ink-3:#7b8a9c;--brand:#1266d6;--brand-ink:#0c4ea6;--brand-bg:#eaf2fd;--grad:linear-gradient(90deg,#1476e8,#19a3c7 55%,#2bb673);--ok:#1a9c5b;--warn:#b07606;--bad:#c0392b;--r:6px}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--ink);font-family:Helvetica Neue,-apple-system,Segoe UI,Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif;font-size:13.5px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.shell{display:flex;min-height:100vh}.sidebar{width:210px;flex:0 0 210px;background:#0b1623;position:-webkit-sticky;position:sticky;top:0;height:100vh;padding-bottom:18px;border-right:1px solid #06101a;display:flex;flex-direction:column;overflow-y:auto}.sidebar:before{content:"";display:block;height:3px;background:var(--grad)}.brand{background:#fff;margin:16px 16px 0;padding:11px 14px;border-radius:4px;display:flex;align-items:center;justify-content:center}.brand img{display:block;width:100%;height:auto;max-width:150px}.brand-sub{padding:9px 16px 18px;font-size:10.5px;letter-spacing:.14em;color:#65788e;text-align:center}.nav{display:flex;flex-direction:column;flex:1 1 auto}.nav a{padding:8px 18px;font-size:13px;color:#aebbc9;border-left:2px solid transparent}.nav a:hover{color:#fff;background:rgba(255,255,255,.04)}.nav a.on{color:#fff;font-weight:600;background:rgba(20,118,232,.16);border-left-color:#2e9ae0}.nav .sec{padding:18px 18px 5px;font-size:10px;letter-spacing:.16em;color:#566b81}.main{flex:1 1;min-width:0;padding:24px 28px 64px}.head{margin-bottom:18px}.head h1{font-size:19px;letter-spacing:.01em}.head h1,.head h2{margin:0 0 2px;font-weight:700}.head h2{font-size:15px}.head p{margin:0;color:var(--ink-2);font-size:12.5px}.head.sub{margin-top:26px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);margin-bottom:18px;overflow:hidden}.panel>h2{margin:0;padding:11px 14px;font-size:13px;font-weight:700;border-bottom:1px solid var(--line)}.panel .body{padding:14px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:1px;gap:1px;margin-bottom:18px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.tile{background:var(--panel);padding:12px 14px 13px}.tile .k{font-size:10.5px;letter-spacing:.1em;color:var(--ink-3);font-weight:600}.tile .v{font-size:25px;font-weight:700;line-height:1.25;margin-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.tile .s{font-size:11px;color:var(--ink-3)}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:12px 14px;border-bottom:1px solid var(--line)}.field{display:flex;flex-direction:column;gap:3px}.field label{font-size:10.5px;letter-spacing:.08em;color:var(--ink-3);font-weight:600}.field input,.field select{font:inherit;font-size:12.5px;padding:5px 8px;border:1px solid #c8d1dc;border-radius:4px;background:#fff;color:var(--ink);min-width:132px}.field input:focus,.field select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-bg)}.btn{font:inherit;font-size:12.5px;font-weight:600;padding:6px 15px;border-radius:4px;border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer}.btn:hover{background:var(--brand-ink)}.btn.ghost{background:#fff;color:var(--ink-2);border-color:#c8d1dc}.btn.ghost:hover{background:#f4f7fa}.tabbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.tabs{display:flex;gap:2px}.tab{padding:10px 13px;font-size:12.5px;color:var(--ink-2);border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--ink)}.tab.on{color:var(--brand-ink);font-weight:700;border-bottom-color:var(--brand)}.tabs.right .tab{font-size:12px}.chips{position:relative;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line);background:#fafbfc}.chips-label{font-size:10.5px;letter-spacing:.1em;font-weight:700;color:var(--ink-3)}.chips-empty{font-size:12px;color:var(--ink-3)}.chip{font:inherit;font-size:12px;cursor:pointer;padding:3px 9px;border-radius:3px;background:var(--brand-bg);color:var(--brand-ink);border:1px solid #c4ddf8}.chip b{font-weight:700;opacity:.55;margin-left:2px}.chip:hover{background:#d9e9fb}.chip.add{background:#fff;border-color:#c8d1dc;color:var(--brand-ink);font-weight:600}.chip.clear{background:#fff;color:var(--ink-3);border-color:#d8dee5}.fpanel{position:absolute;top:calc(100% - 3px);left:14px;z-index:40;width:336px;background:#fff;border:1px solid #c3cedb;border-radius:6px;box-shadow:0 12px 30px rgba(12,24,40,.18);overflow:hidden}.fpanel-head{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:9px 10px;border-bottom:1px solid var(--line);background:#fafbfc}.fpanel-head input,.fpanel-head select{font:inherit;font-size:12.5px;padding:5px 7px;border:1px solid #c8d1dc;border-radius:4px;background:#fff}.fpanel-head select{flex:1 1 148px}.fpanel-head input{flex:1 1 100px;min-width:0}.fpanel-count{flex:1 0 100%;font-size:10.5px;color:var(--ink-3)}.fpanel-list{max-height:264px;overflow:auto;padding:3px 0}.fpanel-list label{display:flex;align-items:center;gap:8px;padding:4px 11px;font-size:12.5px;cursor:pointer}.fpanel-list label:hover{background:var(--brand-bg)}.fpanel-list .fv{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fpanel-list .fn{color:var(--ink-3);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fpanel-msg{padding:13px 11px;font-size:12.5px;color:var(--ink-3)}.fpanel-foot{display:flex;gap:6px;justify-content:flex-end;padding:8px 10px;border-top:1px solid var(--line);background:#fafbfc}.fpanel-foot .btn{padding:5px 11px;font-size:12px}.tablewrap{overflow:auto;max-height:70vh}table{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px}td,th{padding:6px 11px;border-bottom:1px solid var(--line-soft);white-space:nowrap}thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:#f3f6f9;color:var(--ink-2);font-size:11px;font-weight:700;letter-spacing:.04em;border-bottom:1px solid var(--line);text-align:right}tbody th,thead th:first-child{text-align:left}tbody th{background:#fff;font-weight:600;border-right:1px solid var(--line-soft)}tbody th.grouphdr{background:#fafbfd;vertical-align:top;border-right:1px solid var(--line)}td{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tbody tr:hover td,tbody tr:hover th{background:#f2f8ff}tfoot td,tfoot th{position:-webkit-sticky;position:sticky;bottom:0;background:#f3f6f9;font-weight:700;border-top:1px solid var(--line)}.zero{color:#c6ced8}.rate{display:block;font-size:10.5px;color:var(--ink-3)}.h1{background:#eaf2fc}.h2{background:#d2e5f9}.h3{background:#b2d2f4}.h4{background:#8bb9ec}.h5{background:#5f9ce2;color:#06233f}.hlink{border-bottom:1px dotted transparent}th:hover .hlink{border-bottom-color:currentColor}.note{font-size:11.5px;color:var(--ink-3);line-height:1.7;padding:10px 14px;border-top:1px solid var(--line);background:#fafbfc}.warn{color:var(--warn)}.chartwrap{padding:14px 14px 6px;border-bottom:1px solid var(--line)}.chart{position:relative}.chart-svg{width:100%;height:auto;display:block}.chart-empty{padding:36px;text-align:center;color:var(--ink-3);font-size:12.5px}.legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin-bottom:8px}.legend .lg{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-2)}.legend .lg i{width:10px;height:10px;border-radius:2px;flex:0 0 auto}.tip{position:absolute;top:18px;transform:translateX(-50%);background:#0b1623;color:#fff;border-radius:5px;padding:7px 10px;font-size:11.5px;pointer-events:none;box-shadow:0 6px 18px rgba(0,0,0,.25);max-width:280px;z-index:5}.tip-h{font-weight:700;margin-bottom:4px}.tip-r{display:flex;align-items:center;gap:6px}.tip-r i{width:8px;height:8px;border-radius:2px;flex:0 0 auto}.tip-n{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}.tip-v{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}input.num{font:inherit;font-size:13px;width:92px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}input.num,input.txt{padding:4px 8px;border:1px solid #c8d1dc;border-radius:4px}input.txt{font:inherit;font-size:12.5px;width:100%;max-width:420px}input.num:focus,input.txt:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-bg)}.formfoot{padding:12px 14px;border-top:1px solid var(--line);background:#fafbfc}.note-inline{font-size:11.5px;color:var(--ink-3);align-self:center}.svcbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:9px 12px;margin-bottom:16px}.svcbar .lbl{font-size:10.5px;letter-spacing:.12em;font-weight:700;color:var(--ink-3);padding-right:4px;border-right:1px solid var(--line);margin-right:4px}.svcbar a{padding:6px 14px;border-radius:4px;font-size:13px;color:var(--ink-2);border:1px solid transparent}.svcbar a:hover{background:#f1f5f9}.svcbar a.on{background:var(--brand);color:#fff;font-weight:700;border-color:var(--brand)}.tabsep{width:1px;background:var(--line);margin:8px;align-self:stretch}.views{position:relative;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:9px 12px;margin-bottom:14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}.panel>.views{margin-bottom:0;border:0;border-bottom:1px solid var(--line);border-radius:0}.viewsel{font:inherit;font-size:12.5px;padding:4px 26px 4px 9px;border:1px solid #c8d1dc;border-radius:4px;background:#fff;color:var(--ink);min-width:220px;max-width:320px}.viewsel:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-bg)}.viewsel:disabled{color:var(--ink-3);background:#f7f9fb}.viewops{display:inline-flex;border:1px solid #c8d1dc;border-radius:4px;overflow:hidden}.viewops button{font:inherit;font-size:12px;line-height:1;cursor:pointer;padding:5px 8px;border:0;border-left:1px solid #e3e8ee;background:#fff;color:#8e9aa7}.viewops button:first-child{border-left:0}.viewops button:hover{background:#f1f5f9;color:var(--brand-ink)}.viewops button.del:hover{background:#fdeceb;color:var(--bad)}.viewops button:disabled{opacity:.45;cursor:default}.viewnow{font-size:10.5px;font-weight:700;letter-spacing:.06em;color:var(--brand-ink);background:var(--brand-bg);border:1px solid #c4ddf8;border-radius:3px;padding:3px 6px}.blockhdr{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid var(--line);background:#fafcfe}.blocktitle{font-size:12px;font-weight:700;color:var(--ink-2);letter-spacing:.02em}.blockdel{font-size:11.5px;color:#a7b2be;padding:2px 7px;border-radius:3px}.blockdel:hover{background:#fdeceb;color:var(--bad)}.addblock{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-4px 0 20px}.addblock .s{font-size:11.5px;color:var(--ink-3)}.savebox{position:absolute;top:calc(100% - 3px);left:14px;z-index:40;display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:#fff;border:1px solid #c3cedb;border-radius:6px;box-shadow:0 12px 30px rgba(12,24,40,.18);padding:10px}.savebox input{font:inherit;font-size:12.5px;padding:5px 8px;width:240px;border:1px solid #c8d1dc;border-radius:4px}.savebox input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-bg)}.savebox .btn{padding:5px 12px;font-size:12px}.savemsg{font-size:11.5px;color:var(--bad);flex:1 0 100%}.savehint{font-size:11px;color:var(--ink-3);flex:1 0 100%;max-width:420px}td.fc,thead th.fc{border-left:1px dashed #9db6d4;background:#f7fbff;color:var(--brand-ink);font-style:italic}thead th.fc{background:#eef5fd}.btn.dl{text-decoration:none;display:inline-flex;align-items:center}table.compact td,table.compact th{padding:5px 7px;font-size:12px}table.compact .rate{font-size:10px}.tile.hero{background:linear-gradient(180deg,#f4f9ff,#ffffff 70%)}.tile.hero .k,.tile.hero .v{color:var(--brand-ink)}.tile.hero .v{font-size:31px}.tile.hero .s .up{color:var(--ok);font-weight:700}.tile.hero .s .down{color:var(--bad);font-weight:700}thead th.now{background:#e3eefb;color:var(--brand-ink)}td.now{box-shadow:inset 2px 0 0 var(--brand),inset -2px 0 0 var(--brand)}.nowtag{display:inline-block;margin-left:5px;padding:0 5px;border-radius:8px;background:var(--brand);color:#fff;font-size:9.5px;font-weight:700;letter-spacing:.04em}tbody tr.nowrow td,tbody tr.nowrow th{background:#eff6ff}tbody tr.nowrow th{box-shadow:inset 3px 0 0 var(--brand);font-weight:700}.sortlink{display:inline-block}thead th:hover .sortlink{color:var(--brand)}thead th.sorted{background:#e3eefb;color:var(--brand-ink)}.monthgrp{border-top:1px solid var(--line,#e8ecf0)}.monthgrp>summary{cursor:pointer;padding:9px 18px;font-size:13px;display:flex;align-items:baseline;gap:14px;list-style:none}.monthgrp>summary::-webkit-details-marker{display:none}.monthgrp>summary:before{content:"▸";color:var(--ink-3,#8a93a0);font-size:11px}.monthgrp[open]>summary:before{content:"▾"}.monthgrp>summary:hover{background:#f6f8fa}.monthgrp .mg-n{color:var(--ink-2,#5d6b7a)}.monthgrp .mg-y{color:var(--ink-3,#8a93a0);margin-left:auto}.loginwrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#eef2f6;padding:24px}.logincard{background:#fff;border:1px solid var(--line,#e8ecf0);border-radius:10px;padding:36px 32px;width:100%;max-width:420px;text-align:center;box-shadow:0 1px 3px rgba(21,32,43,.06)}.loginlogo{width:170px;height:auto;display:block;margin:0 auto 6px}.loginsub{font-size:12px;color:var(--ink-3,#8a93a0);letter-spacing:.08em;margin-bottom:26px}.loginbtn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;padding:11px 16px;border:1px solid #c8d1dc;border-radius:6px;background:#fff}.loginbtn:hover{background:#f6f8fa}.loginerr{background:#fff4e5;border:1px solid #f0d2a8;border-radius:6px;padding:11px 13px;font-size:13px;line-height:1.7;margin-bottom:18px;text-align:left}.loginnote{font-size:12px;color:var(--ink-3,#8a93a0);line-height:1.9;margin-top:18px}.userbar{margin-top:auto;padding:12px 14px;border-top:1px solid rgba(255,255,255,.12);flex:0 0 auto;background:#0b1623;position:-webkit-sticky;position:sticky;bottom:0}.userbar-name{font-size:12.5px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userbar-role{font-size:11px;color:rgba(255,255,255,.55);margin-bottom:7px}.userbar-out{font:inherit;font-size:11.5px;cursor:pointer;color:rgba(255,255,255,.75);background:transparent;border:1px solid rgba(255,255,255,.22);border-radius:4px;padding:4px 9px}.userbar-out:hover{background:rgba(255,255,255,.08);color:#fff}.masked{color:var(--ink-3,#8a93a0)}