:root{--bg: #0f1216;--panel: #171b21;--panel2: #1e242c;--line: #2a323d;--text: #e6eaef;--muted: #8b96a5;--buy: #34c88a;--sell: #f2555a;--wait: #e0b23c;--accent: #5aa9f5;color-scheme:dark;accent-color:#5aa9f5;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,Yu Gothic UI,Meiryo,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6}.wrap{max-width:1240px;margin:0 auto;padding:20px 18px 60px}header.top{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}header.top h1{font-size:22px;margin:0;letter-spacing:.08em}header.top .sub{color:var(--muted);font-size:12px}header.top .spacer{flex:1}.weather{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:4px 14px;font-size:12px;display:flex;align-items:center;gap:8px}.weather b{font-weight:600}.weather.sunny{border-color:#3d6b4f}.weather.storm{border-color:#6b3d40}nav.tabs{display:flex;gap:4px;margin-bottom:18px;flex-wrap:wrap}nav.tabs button{background:none;border:1px solid transparent;border-bottom:2px solid transparent;color:var(--muted);padding:8px 14px;font-size:14px;cursor:pointer;font-family:inherit;border-radius:6px 6px 0 0}nav.tabs button:hover{color:var(--text);background:var(--panel)}nav.tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.controls{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:16px}.field{display:flex;flex-direction:column;gap:4px}.field>label{font-size:11px;color:var(--muted)}input,select{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:7px 9px;font-size:14px;font-family:inherit}input:focus,select:focus{outline:1px solid var(--accent)}input[type=number]{width:110px}.cal-wrap{position:relative;display:inline-flex;align-items:center}.cal-in{width:150px;padding-right:30px}.cal-in::placeholder{color:#556170}.cal-open{position:absolute;right:6px;display:flex;padding:3px;background:transparent;color:var(--muted);border:0;border-radius:4px;cursor:pointer}.cal-open:hover{color:var(--accent)}.cal{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:240px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px;box-shadow:0 10px 28px #00000080}.cal-head{display:flex;align-items:center;gap:4px;margin-bottom:8px}.cal-head b{flex:1;text-align:center;font-size:13px;font-weight:600}.cal-nav{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:6px;width:24px;height:24px;padding:0;cursor:pointer;font-family:inherit;font-size:13px;line-height:1}.cal-nav:hover{border-color:var(--accent);color:var(--accent)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-grid .wd{font-size:11px;color:var(--muted);text-align:center;padding:2px 0}.cal-grid .wd.sun{color:var(--sell)}.cal-grid .wd.sat{color:var(--accent)}.cal-grid button{background:transparent;color:var(--text);border:0;border-radius:6px;padding:5px 0;font-family:inherit;font-size:13px;cursor:pointer}.cal-grid button:hover:not(:disabled){background:var(--line)}.cal-grid button.today{box-shadow:inset 0 0 0 1px var(--line)}.cal-grid button.sel{background:var(--accent);color:#08121d;font-weight:700}.cal-grid button:disabled{color:#4a545f;cursor:default}.cal-foot{display:flex;justify-content:space-between;margin-top:8px}.cal-foot button{background:transparent;color:var(--muted);border:0;padding:2px 4px;font-family:inherit;font-size:12px;cursor:pointer}.cal-foot button:hover{color:var(--text)}input.tk{width:130px}.tkbox{position:relative}.tklist{position:absolute;top:100%;left:0;z-index:30;margin:4px 0 0;padding:4px 0;list-style:none;min-width:320px;max-width:90vw;background:var(--panel2);border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px #00000073}.tklist li{display:flex;gap:10px;align-items:baseline;padding:6px 12px;cursor:pointer}.tklist li.on{background:var(--line)}.tklist li b{font-variant-numeric:tabular-nums;min-width:3.2em}.tklist li .nm{flex:1}.tklist li .sg{color:var(--muted);font-size:12px;white-space:nowrap}button.go{background:var(--accent);color:#08121d;border:0;border-radius:6px;padding:8px 18px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}button.go:disabled{opacity:.5;cursor:default}button.ghost{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:7px 14px;cursor:pointer;font-family:inherit;font-size:13px}button.ghost:hover{border-color:var(--accent)}.who-am-i{display:inline-flex;align-items:center;gap:8px}:root[data-view=sp] .who-am-i .small{display:none}.chk{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:16px}.panel>h2{font-size:13px;color:var(--muted);margin:0 0 12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.scoreboard{display:flex;flex-wrap:wrap;gap:24px;align-items:center}.bigscore{display:flex;align-items:baseline;gap:10px}.bigscore .n{font-size:64px;font-weight:800;line-height:1;letter-spacing:-.02em}.bigscore .d{font-size:16px;color:var(--muted)}.buy .n,.buy{color:var(--buy)}.sell .n,.sell{color:var(--sell)}.wait .n{color:var(--wait)}.gauge{width:100%;height:8px;background:var(--panel2);border-radius:999px;position:relative;overflow:hidden;margin-top:8px}.gauge i{position:absolute;inset:0 auto 0 0;border-radius:999px}.gauge .m40,.gauge .m70{position:absolute;top:-3px;bottom:-3px;width:1px;background:var(--muted)}.gauge .m40{left:40%}.gauge .m70{left:70%}.stat{background:var(--panel2);border-radius:8px;padding:10px 12px}.stat .k{font-size:11px;color:var(--muted)}.stat .v{font-size:20px;font-weight:700}.stat .n{font-size:11px;color:var(--muted)}.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.badge{font-size:11px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--panel2);color:var(--muted)}.badge.buy{border-color:var(--buy);color:var(--buy)}.badge.sell{border-color:var(--sell);color:var(--sell)}.badge.warn{border-color:var(--wait);color:var(--wait)}.narrative{background:var(--panel2);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;padding:12px 14px;margin-top:14px;font-size:13px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:7px 9px;text-align:right;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;position:sticky;top:0;background:var(--panel)}th.l,td.l{text-align:left}tbody tr:hover{background:var(--panel2)}tbody tr.clickable{cursor:pointer}.scroll{overflow-x:auto;max-height:620px;overflow-y:auto}.num{font-variant-numeric:tabular-nums}td.hi{color:var(--buy);font-weight:700}td.lo{color:var(--sell);font-weight:700}.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.levels{display:flex;flex-direction:column;gap:2px}.lvrow{display:flex;justify-content:space-between;padding:7px 10px;border-radius:6px;background:var(--panel2);font-variant-numeric:tabular-nums}.lvrow.stop{border-left:3px solid var(--sell)}.lvrow.entry{border-left:3px solid var(--accent)}.lvrow.t1,.lvrow.t2{border-left:3px solid var(--buy)}ul.notes{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:12px}ul.notes li{margin:3px 0}.err{background:#2a1416;border:1px solid #6b3d40;color:#f2a0a3;border-radius:8px;padding:10px 14px;margin-bottom:14px;font-size:13px}.muted{color:var(--muted)}.small{font-size:12px}.right{text-align:right}.disclaimer{color:var(--muted);font-size:11px;border-top:1px solid var(--line);padding-top:12px;margin-top:24px}.spin{color:var(--muted);font-size:13px;padding:20px 0}.stagebox{background:var(--panel2);border-radius:8px;padding:12px}.stagebox h3{margin:0 0 6px;font-size:13px}.stagebox .cnt{font-size:24px;font-weight:700}.alertbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 18px;border-radius:10px;margin-bottom:16px;border:1px solid var(--line);background:var(--panel2);border-left:5px solid var(--muted)}.alertbar.danger{border-left-color:var(--sell);background:#37191d}.alertbar.caution{border-left-color:var(--wait);background:#33290f}.alertbar.ok{border-left-color:var(--buy);background:#12312a}.alertbar .icon{font-size:26px;line-height:1}.alertbar .msg{font-size:17px;font-weight:700}.alertbar .meta{color:var(--muted);font-size:12px;margin-left:auto;text-align:right}.alerts{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.alertcard{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:12px 14px;border-left:4px solid var(--line);display:flex;flex-direction:column;gap:6px}.alertcard.danger{border-left-color:var(--sell)}.alertcard.caution{border-left-color:var(--wait)}.alertcard.ok{border-left-color:var(--buy)}.alertcard.unknown{border-left-color:var(--line);opacity:.65}.alertcard .head{display:flex;align-items:baseline;gap:8px}.alertcard .lbl{font-weight:700;font-size:14px}.alertcard .val{margin-left:auto;font-variant-numeric:tabular-nums;font-size:14px;white-space:nowrap}.alertcard.danger .val{color:var(--sell)}.alertcard.caution .val{color:var(--wait)}.alertcard.ok .val{color:var(--buy)}.alertcard .det{font-size:12.5px;color:var(--muted);line-height:1.7}.alertcard .src{font-size:11px;color:var(--muted);opacity:.8}.helphead{display:flex;align-items:center;gap:8px;margin-bottom:6px}.helphead .spacer{flex:1}button.helpbtn{width:20px;height:20px;padding:0;flex:none;border-radius:999px;border:1px solid var(--line);background:var(--panel2);color:var(--muted);font-size:12px;line-height:1;cursor:pointer}button.helpbtn:hover,button.helpbtn.on{border-color:var(--accent);color:var(--accent)}.helpbody{background:var(--panel2);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;padding:10px 12px;margin-bottom:10px;font-size:12px}.helpbody p{margin:0 0 8px}.helpbody p:last-child{margin-bottom:0}.helpbody dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0 0 8px}.helpbody dt{color:var(--muted);white-space:nowrap}.helpbody dd{margin:0}.helpbody .now{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.helpbody .now b{color:var(--text)}.helpbody table{font-size:12px}.helpbody th,.helpbody td{padding:5px 8px}.helpbody th{position:static;background:none;cursor:default}.viewsw{display:flex;gap:2px;padding:2px;border-radius:8px;border:1px solid var(--line);background:var(--panel2)}.viewsw button{background:none;border:0;border-radius:6px;color:var(--muted);padding:4px 10px;font-size:11px;font-family:inherit;cursor:pointer}.viewsw button:hover{color:var(--text)}.viewsw button.on{background:var(--panel);color:var(--text)}:root[data-view=sp] .wrap{padding:12px 12px 48px}:root[data-view=sp] header.top{gap:8px;padding-bottom:10px;margin-bottom:12px}:root[data-view=sp] header.top h1{font-size:18px}:root[data-view=sp] header.top .sub{display:none}:root[data-view=sp] .weather{font-size:11px;padding:3px 10px}:root[data-view=sp] nav.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -12px 12px;padding:0 12px 2px}:root[data-view=sp] nav.tabs::-webkit-scrollbar{display:none}:root[data-view=sp] nav.tabs button{flex:none;padding:8px 11px;font-size:13px}:root[data-view=sp] .controls{padding:12px;gap:10px}:root[data-view=sp] .field{flex:1 1 100%}:root[data-view=sp] input,:root[data-view=sp] select{font-size:16px;padding:9px}:root[data-view=sp] .field input,:root[data-view=sp] .field select,:root[data-view=sp] input[type=number],:root[data-view=sp] input.tk,:root[data-view=sp] .cal-wrap,:root[data-view=sp] .cal-in{width:100%}:root[data-view=sp] .cal{width:100%;max-width:300px}:root[data-view=sp] .controls button.go{flex:1 1 100%;padding:12px}:root[data-view=sp] .controls button.ghost{flex:1 1 40%;padding:11px}:root[data-view=sp] .chk{flex:1 1 100%}:root[data-view=sp] .panel{padding:12px}:root[data-view=sp] .g2,:root[data-view=sp] .alerts{grid-template-columns:minmax(0,1fr)}:root[data-view=sp] .g4{grid-template-columns:repeat(2,minmax(0,1fr))}:root[data-view=sp] ul.notes li,:root[data-view=sp] .narrative,:root[data-view=sp] .kv dd,:root[data-view=sp] .kv dt{overflow-wrap:anywhere}:root[data-view=sp] .stat .v{font-size:17px}:root[data-view=sp] .scoreboard{gap:14px}:root[data-view=sp] .bigscore .n{font-size:44px}:root[data-view=sp] .alertbar{padding:12px 14px}:root[data-view=sp] .alertbar .msg{font-size:15px}:root[data-view=sp] .alertbar .meta{margin-left:0;text-align:left}:root[data-view=sp] table{font-size:12px}:root[data-view=sp] th,:root[data-view=sp] td{padding:8px 7px}:root[data-view=sp] .scroll{max-height:none;-webkit-overflow-scrolling:touch}:root[data-view=sp] .scroll table{width:max-content;min-width:100%}:root[data-view=sp] .scroll th,:root[data-view=sp] .scroll td{white-space:nowrap}:root[data-view=sp] .scroll td.small{white-space:normal;max-width:44vw}:root[data-view=sp] .scroll th:first-child,:root[data-view=sp] .scroll td:first-child{position:sticky;left:0;z-index:2;background:var(--panel);white-space:normal;max-width:38vw}:root[data-view=sp] .scroll thead th:first-child{z-index:3}:root[data-view=sp] .kv{font-size:12px}table.lines th:first-child,table.lines td:first-child{white-space:nowrap}.login{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(ellipse at top,#1a2330 0%,var(--bg) 60%)}.login-card{width:100%;max-width:360px;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:40px 28px 28px}.login-card h1{font-size:34px;margin:0;letter-spacing:.14em}.login-card .sub{color:var(--muted);font-size:12px;margin:2px 0 0;letter-spacing:.06em}.login-card .lead{margin:20px 0 28px}.login-google{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 16px;border-radius:8px;background:#fff;color:#1f1f1f;font-weight:600;text-decoration:none;border:1px solid #dadce0}.login-google:hover{background:#f1f3f4}.login-google:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-card .note{color:var(--muted);font-size:12px;margin:18px 0 0}.rrg{position:relative}.rrg svg{display:block;width:100%;height:auto;max-width:900px}.rrg .q{opacity:.07}.rrg .q-lead{fill:var(--buy)}.rrg .q-weak{fill:var(--wait)}.rrg .q-lag{fill:var(--sell)}.rrg .q-imp{fill:var(--accent)}.rrg .ql{fill:var(--muted);font-size:13px;font-weight:700}.rrg .al{fill:var(--muted);font-size:11px}.rrg .axis0{stroke:var(--line);stroke-width:1}.rrg .tail{fill:none;stroke:var(--muted);stroke-width:1;opacity:.22;pointer-events:none}.rrg .tail.dim{opacity:.08}.rrg .tail.on{stroke:var(--text);stroke-width:2;opacity:1}.rrg .tdot{fill:var(--text);opacity:.8;pointer-events:none}.rrg .head{stroke:var(--panel);stroke-width:2;pointer-events:none}.rrg .head.out{stroke:var(--text);stroke-width:1.5;stroke-dasharray:2 2}.rrg .hit{fill:transparent;cursor:pointer}.rrg .pl{fill:var(--text);font-size:11px;paint-order:stroke;stroke:var(--panel);stroke-width:3px;pointer-events:none}.rrg .rrg-g.dim{opacity:.25}.rrg-tip{position:absolute;top:8px;right:8px;background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:12px;max-width:320px;pointer-events:none}.rrg-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;color:var(--muted)}
