:root{color-scheme:dark;--bg:#0b1017;--panel:#111a24;--line:#243342;--text:#e7eef6;--muted:#8c9cad;--accent:#4bd6ba;--chart:#0d151e;--up:#4bd6ba;--down:#fa7281;--warn:#e8bd70;font-family:Inter,"Segoe UI","Microsoft JhengHei",sans-serif}
:root[data-theme=light]{color-scheme:light;--bg:#edf2f7;--panel:#fff;--line:#cdd8e3;--text:#132638;--muted:#5c7183;--accent:#098d78;--chart:#fafcfe;--up:#128b72;--down:#cf4258;--warn:#925e07}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);display:grid;grid-template-columns:250px minmax(0,1fr);height:100vh;overflow:hidden;font-size:13px}button,input,select{font:inherit;color:inherit}button,select,input[type=number]{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:9px}button{cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.35;cursor:default}select{width:100%}aside{border-right:1px solid var(--line);padding:20px 16px;overflow:auto;display:flex;flex-direction:column;gap:17px}.brand{display:flex;align-items:center;gap:10px}.brand>span{background:#193c3d;border:1px solid #367c72;color:#85e2cf;padding:12px 8px;border-radius:9px;font-weight:700}h1{font-size:19px;margin:0}p{line-height:1.55}.brand p{margin:5px 0 0;color:var(--muted);font-size:11px}label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;font-size:12px;color:var(--muted)}label>span{font-size:11px}label>input{width:100%}.actions{display:flex;gap:7px}.actions>button{flex:1}.primary{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:700}.clock{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px}.clock small{color:var(--muted);display:block}.clock strong{display:block;font:27px Consolas,monospace;margin:6px 0}.clock>span{font-size:11px;color:var(--accent)}input[type=range]{accent-color:var(--accent)}dl{margin:0;font-size:11px}dl>div{display:flex;justify-content:space-between;margin:10px 0;gap:8px}dt{color:var(--muted)}dd{margin:0;text-align:right}.practice{border-top:1px solid var(--line);padding-top:14px}.practice h2{font-size:13px;margin:0}.practice h2 span{color:var(--muted);font-weight:400;font-size:10px}.practice p{font-size:11px;color:var(--muted);margin:9px 0}#practice-symbol{color:var(--accent)}footer{margin-top:auto;display:grid;gap:12px}a{color:var(--muted);font-size:11px;text-decoration:none}main{padding:19px 20px 10px;display:flex;flex-direction:column;min-height:0;min-width:0;gap:12px}header{display:flex;justify-content:space-between;align-items:center}header h2{font-size:22px;letter-spacing:.3px;margin:0}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);margin:0 0 6px}.header-right{display:flex;gap:16px;align-items:center;color:var(--muted);font-size:12px}.notice{padding:10px 12px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:12px;line-height:1.5;background:var(--panel)}.notice.warning{color:var(--warn);border-color:var(--warn)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;flex:1;min-height:0}.tile{border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;position:relative;min-height:0}.tile.selected{border-color:var(--accent)}.tile.benchmark{border-top:2px solid var(--warn)}.tile-head{padding:12px 12px 5px;display:flex;justify-content:space-between;align-items:center}.tile h3{font-size:15px;margin:0}.badge{font-size:10px;color:var(--muted);padding:3px 6px;border:1px solid var(--line);border-radius:5px}.benchmark .badge{color:var(--warn)}.last{font:16px Consolas,monospace}.legend{padding:0 12px;color:var(--muted);font:10px Consolas,monospace;min-height:16px}.plot{flex:1;min-height:0}.empty{position:absolute;left:0;right:0;top:55%;text-align:center;color:var(--muted);font-size:12px;pointer-events:none}.book{border-top:1px solid var(--line);padding:6px 12px;font:10px Consolas,monospace;color:var(--muted);display:flex;justify-content:space-between}.bottom{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;gap:15px}.positive{color:var(--up)}.negative{color:var(--down)}[hidden]{display:none!important}
.tile.no-data .plot{visibility:hidden}
@media(max-width:1100px){body{grid-template-columns:215px minmax(0,1fr)}main{padding:15px 12px 8px;gap:9px}.grid{gap:8px}.tile-head{padding:9px 8px 5px}.tile h3{font-size:12px}.last{font-size:12px}.legend,.book{padding-left:8px;padding-right:8px;font-size:9px}header h2{font-size:19px}.header-right{gap:7px}.bottom{font-size:9px}}
@media(max-width:760px){body{height:auto;overflow:auto;display:block}aside{border-right:0;display:grid;grid-template-columns:1fr 1fr;padding:12px}.brand,.clock,.practice,footer{grid-column:1/-1}.practice{display:none}main{min-height:100vh}.grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,300px)}header h2{font-size:16px}.bottom{display:block}.eyebrow{font-size:8px}}
