﻿:root{--navy:#172e50;--ink:#1b324f;--sub:#61758f;--blue:#3764d0;--card:#fff;--line:#dfe8f3;--bg:#edf2f9;--grid:#e8eef6;--red:#e25e56;--purple:#8866c7;--teal:#168f91;--green:#148e72;--gold:#df9965;--shadow:0 4px 18px rgba(30,60,103,.052)}
*{box-sizing:border-box}html{font-size:14px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft Yahei",sans-serif;line-height:1.48}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible{outline:3px solid #9ab9f2;outline-offset:2px}.wrap{max-width:1120px;margin:0 auto;padding:0 12px 25px}main{max-width:1120px;margin:auto}.hero{background:linear-gradient(128deg,#152a48,#1d3e6a 80%,#244d7c);border-radius:0 0 22px 22px;box-shadow:0 8px 22px #1f396020;color:white;padding:22px 18px 16px;margin:0 -12px 12px}.hero-top{display:flex;justify-content:space-between;align-items:center}.eyebrow{font-weight:850;letter-spacing:.17em;color:#a6c2ea;font-size:9px}.online-pill{font-size:10px;color:#c7f2dc;background:#2975654b;padding:5px 9px;border:1px solid #90bfb352;border-radius:50px}.hero-title-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.hero h1{font-weight:880;font-size:27px;letter-spacing:-.7px;margin:7px 0 2px}.hero h1 span{color:#a4cdf9}.hero p{font-size:11px;margin:0;color:#c0d2e8}.rotate-btn{border:1px solid #ffffff48;color:#fff;background:#ffffff15;border-radius:10px;font-size:12px;font-weight:750;padding:9px 12px;flex-shrink:0}.latest-panel{background:#ffffff13;border:1px solid #ffffff25;padding:10px 14px;margin-top:14px;border-radius:13px;display:flex;justify-content:space-between;align-items:center}.latest-panel small{display:block;font-size:10px;color:#bfd1e6}.latest-panel strong{display:block;font-size:18px;letter-spacing:.8px;font-variant-numeric:tabular-nums}.latest-right{text-align:right}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow);margin:10px 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title b{font-size:14px}.section-title small,.muted{font-size:11px;color:var(--sub)}.position-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:12px}.position-tabs button{min-width:0;padding:11px 3px;font-size:12px;font-weight:800;border:1px solid var(--line);border-radius:10px;color:#526985;background:#f8fafe}.position-tabs button small{display:block;font-size:9px;font-weight:500;opacity:.8}.position-tabs button.active{border-color:#739ae7;background:#e5eeff;color:#214ea5;box-shadow:inset 0 -3px #5177d2}.control-strip{display:flex;align-items:end;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:13px}.tiny-label{font-size:10px;color:#7a8da4;font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.chips button,.small-toggle{background:#f4f7fc;border:1px solid #dce4f0;border-radius:8px;padding:6px 10px;color:#586b81;font-size:11px;font-weight:800}.chips button.active,.small-toggle.active{background:#294c7c;color:#fff;border-color:#294c7c}.right-tool .small-toggle{margin-top:4px}
.observation{display:flex;align-items:center;justify-content:space-between;margin:10px 0 7px;padding:11px 12px;background:#f1f6fd;border:1px solid #e2ebf8;border-radius:12px;gap:12px}.obs-left,.obs-right{display:flex;flex-direction:column;min-width:0}.obs-left strong,.obs-right strong{font-size:20px;line-height:1.2;letter-spacing:1px;font-variant-numeric:tabular-nums}.obs-right{text-align:right}.obs-tag{font-size:11px;font-weight:800;color:#3155a1}.nav-controls{display:flex;gap:7px}.nav-controls button{flex:1;padding:9px 7px;border:1px solid #d7e3f0;background:#f9fbff;color:#416085;font-size:12px;font-weight:800;border-radius:9px}.nav-controls button.primary-light{background:#e7effe;color:#2c58b2}.nav-controls button:disabled{opacity:.45;cursor:not-allowed}.timeline-line{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font-size:11px;color:#58718e}.timeline-line span{font-weight:750}input[type=range]{width:100%;accent-color:#315fc5;height:26px}.jump-row{display:flex;align-items:center;gap:8px;margin-top:8px}.jump-row label{font-size:11px;color:#697f99;white-space:nowrap}.jump-row input{flex:1;min-width:0;padding:8px 9px;border-radius:8px;border:1px solid #d6e1ed;letter-spacing:1px;max-width:180px}.jump-row button{padding:9px 14px;background:#2f5a9b;color:#fff;border:0;border-radius:9px;font-weight:750;font-size:12px}.small-alert{font-size:10px;color:#7086a0;margin-top:10px}.chart-header{display:flex;align-items:center;justify-content:space-between;padding:12px 2px 1px;gap:8px}.chart-header h2{font-size:16px;margin:0}.chart-header p{font-size:11px;color:var(--sub);margin:4px 0 0}.chart-header span{font-size:10px;color:#6b7f95;text-align:right}.chart-card{margin:9px 0}.chart-title{display:flex;gap:9px;align-items:center;margin-bottom:12px}.index-dot{width:22px;height:22px;border-radius:8px;background:#ebf1ff;color:#3c5ba5;text-align:center;line-height:22px;font-weight:850;font-size:11px;flex-shrink:0}.chart-title b{display:block;font-size:14px}.chart-title small{display:block;color:#8594a9;font-size:10px;margin-top:2px}.chart-grid{display:grid;grid-template-columns:45px minmax(0,1fr) 51px;gap:0;border:1px solid #e2e9f4;border-radius:12px;overflow:hidden;background:#fff}.row-labels,.row-counts{position:relative;background:#f6f9fd;z-index:1}.row-labels{border-right:1px solid #e0e9f3}.row-counts{border-left:1px solid #e0e9f3;background:#f4f8ff}.axis-item,.count-item{position:absolute;left:0;right:0;text-align:center;transform:translateY(-50%)}.axis-item{font-size:11px;font-weight:850}.count-item{font-size:15px;font-weight:850;color:#214473;font-variant-numeric:tabular-nums}.axis-bottom{position:absolute;bottom:9px;left:0;right:0;text-align:center;color:#8191a8;font-size:9px}.axis-header{position:absolute;top:4px;left:0;right:0;text-align:center;color:#8191a8;font-size:9px}.plot-scroller{overflow:auto hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.plot-scroller svg{display:block;max-width:none;touch-action:pan-x}.plot-scroller::-webkit-scrollbar{height:5px}.plot-scroller::-webkit-scrollbar-thumb{background:#d2deef;border-radius:10px}.plot-scroller .plot-hit{cursor:pointer}.plot-scroller .plot-hit:focus{outline:2px solid #73a7ee}.chart-note{font-size:10px;color:#8294a8;margin-top:7px;display:flex;justify-content:space-between}.digit-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:11px}.digit-cell{border:1px solid #e3ebf5;background:#f7f9fd;border-radius:11px;text-align:center;padding:6px}.digit-cell b{font-size:15px;display:block;color:#1d4d80}.digit-cell span{display:block;font-size:11px;color:#7d8ea6}.digit-cell.picked{border-color:#4f87d7;background:#ecf3ff}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.input-grid label{font-size:11px;color:#71849c;font-weight:700}.input-grid input{display:block;border:1px solid #ccd9e9;border-radius:10px;padding:12px 10px;margin-top:5px;width:100%;font-size:15px;letter-spacing:1px;color:#244061}.button-row{display:flex;flex-wrap:wrap;gap:8px}.button-row button,.button-row label{border-radius:10px;font-size:12px;font-weight:800;padding:10px 12px}.primary{border:1px solid #3163c2;background:#3163c2;color:#fff}.secondary{border:1px solid #dbe5f1;background:#f4f7fc;color:#395978}.import-label{cursor:pointer;display:inline-flex;align-items:center}.data-hint{font-size:11px;color:#72859c;margin:12px 0 0}.green-text{font-size:10px;color:#1b966f}.msg{min-height:0;color:#16865d;font-size:11px;margin-top:7px}.msg.error{color:#d25153}.custom-records{margin-top:11px;border-top:1px solid #ecf0f6;padding-top:11px}.custom-records summary{cursor:pointer;font-size:11px;color:#49638a;font-weight:700}.custom-line{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ecf0f6;padding:7px 0;gap:9px;font-size:12px}.custom-line button{border:1px solid #dce5f1;background:#fff;border-radius:7px;padding:5px 8px;color:#38619e;font-size:11px}.toast{position:fixed;bottom:calc(22px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#1c3d67;color:#fff;padding:12px 16px;border-radius:11px;box-shadow:0 8px 22px #1a2d4f4d;font-size:12px;z-index:10;max-width:88vw;opacity:0;pointer-events:none;transition:opacity .18s}.toast.visible{opacity:1}footer{text-align:center;color:#7b8da3;padding:16px 18px 32px;font-size:11px}footer b{display:block;color:#546c84}footer span{font-size:10px}footer p{max-width:600px;margin:9px auto}
.wide-mode .wrap{max-width:1450px}.wide-mode .hero{padding-top:12px;padding-bottom:10px}.wide-mode .hero h1{font-size:21px}.wide-mode .hero p{display:none}.wide-mode .latest-panel{margin-top:7px}.wide-mode .chart-card{padding:10px 15px}
@media(max-width:415px){.wrap{padding:0 9px 14px}.hero{margin:0 -9px 10px;padding:20px 13px 14px}.card{padding:12px}.section-title b{font-size:13px}.chart-grid{grid-template-columns:40px minmax(0,1fr) 45px}.axis-item{font-size:10px}.count-item{font-size:14px}.chart-title small{font-size:9px}.digit-counts{gap:5px}.chips button{padding:6px 8px}}
@media(orientation:landscape) and (max-height:520px){.wrap{max-width:1400px}.hero{padding:9px 16px 8px}.hero h1{font-size:21px;margin:1px 0}.hero p{display:none}.latest-panel{margin-top:5px;padding:7px 12px}.card{padding:11px}.chart-card{margin:7px 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* PWA-SAFE-AREA-PATCH: iPhone standalone (viewport-fit=cover) notch / Dynamic Island / home indicator */
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.hero{padding-top:calc(22px + env(safe-area-inset-top))}
.wrap{padding-bottom:calc(25px + env(safe-area-inset-bottom))}
.wide-mode .hero{padding-top:calc(12px + env(safe-area-inset-top))}
@media(orientation:landscape) and (max-height:520px){.hero{padding-top:calc(9px + env(safe-area-inset-top))}}
