
    @import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
    :root{--ink:#e8e5dc;--muted:#9b9e98;--lime:#d6ff4d;--gold:#ffc331;--bg:#111411;--panel:#151a15;--line:#2e332e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,Arial,sans-serif}main{min-height:100vh;background:radial-gradient(ellipse 55% 35% at 88% 0%,#323c1f 0%,transparent 70%)}.top{padding:26px clamp(24px,6vw,96px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:2px}.brand i{color:var(--lime);font-style:normal}.mark{display:grid;place-items:center;width:27px;height:27px;color:#111411;background:var(--lime);clip-path:polygon(50% 0,100% 27%,84% 100%,16% 100%,0 27%);font-family:'DM Mono'}.nav{margin-left:auto;display:flex;gap:7px}.nav a{padding:7px 10px;color:#aeb5aa;border:1px solid #354034;text-decoration:none;font:10px 'DM Mono';letter-spacing:0}.nav a.active,.nav a:hover{color:#111411;background:var(--lime);border-color:var(--lime)}.workspace{padding:42px clamp(24px,6vw,96px) 72px}.intro{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:36px;align-items:end}.eyebrow{margin:0 0 10px;color:var(--lime);font:500 11px 'DM Mono';letter-spacing:1.3px}.intro h1{margin:0;font-size:clamp(42px,6vw,78px);line-height:.97;letter-spacing:-4px}.intro h1 em{font-family:'Playfair Display';font-weight:600}.intro p:last-child{max-width:600px;color:var(--muted);font-size:13px;line-height:1.7}.rules{display:grid;grid-template-columns:1fr 1fr;border:1px solid #45513b;background:#1e241d}.rules div{padding:16px;border-right:1px solid #45513b}.rules div:last-child{border:0}.rules span{display:block;color:var(--muted);font:10px 'DM Mono'}.rules b{display:block;margin-top:7px;font:500 14px 'DM Mono'}.controls{display:flex;align-items:center;gap:16px;margin-top:34px;padding:17px 18px;border:1px solid var(--line);background:#151a15}.status{display:grid;grid-template-columns:auto auto;column-gap:8px;align-items:center;font-size:12px}.status small{grid-column:2;color:var(--muted);font:10px 'DM Mono';margin-top:4px}.dot{width:7px;height:7px;border-radius:50%;background:var(--lime)}.scanning{animation:blink 1s infinite}@keyframes blink{50%{opacity:.25}}button{margin-left:auto;color:#111411;background:var(--lime);border:0;padding:11px 16px;cursor:pointer;font:700 12px Manrope}button:disabled{opacity:.5;cursor:wait}.summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-top:0}.summary div{padding:15px 18px;border-right:1px solid var(--line)}.summary div:last-child{border:0}.summary span{display:block;color:var(--muted);font:10px 'DM Mono'}.summary b{display:block;margin-top:6px;font-size:24px}.boundary-board{margin-top:28px;border:1px solid #7f6922;background:linear-gradient(135deg,rgba(255,195,49,.09),rgba(21,26,21,.98) 55%)}.section-title{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #51451f}.section-title h2{margin:0;font-size:17px}.section-title span{color:var(--gold);font:10px 'DM Mono'}.boundary-table{overflow:auto}.boundary-heading,.boundary-row{display:grid;grid-template-columns:1.1fr .8fr 1fr 1fr .9fr 1fr;gap:14px;align-items:center;min-width:760px;padding:14px 18px}.boundary-heading{color:#938760;font:10px 'DM Mono'}.boundary-row{border-top:1px solid #3a3522;font:11px 'DM Mono';cursor:pointer}.boundary-row:hover{background:rgba(255,195,49,.07)}.edge{width:max-content;padding:5px 8px;color:#111411;background:var(--gold)}.boundary-empty{padding:25px 18px;color:var(--muted);font:12px 'DM Mono';text-align:center}.table{margin-top:28px;border:1px solid var(--line);overflow:auto}.heading,.row{display:grid;grid-template-columns:1.15fr .8fr .95fr .85fr .95fr .85fr 1fr;gap:14px;align-items:center;min-width:900px;padding:14px 18px}.heading{color:#7d837a;border-bottom:1px solid var(--line);font:10px 'DM Mono'}.row{border-bottom:1px solid #242924;font:11px 'DM Mono';cursor:pointer}.row:last-child{border:0}.row:hover{background:#1b211a}.symbol{padding:0;margin:0;background:transparent;color:#fff;text-align:left;font:700 13px Manrope}.symbol:after{content:' ↘';color:var(--lime)}.badge{width:max-content;padding:5px 8px}.flat{color:#111411;background:var(--lime)}.up{color:#111411;background:#31b596}.down{color:#fff;background:#697180}.market{color:#b8bdb4}.empty{min-height:190px;display:grid;place-content:center;text-align:center;color:var(--muted)}.empty span{color:var(--lime);font-size:34px}.empty p{max-width:420px;font-size:13px;line-height:1.6}.chart{margin-top:28px;border:1px solid var(--line);background:var(--panel)}.chart-head{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid var(--line)}.chart-title{font:600 13px 'DM Mono'}.chart-title small{display:block;margin-top:5px;color:var(--muted);font:10px 'DM Mono'}.tv{color:var(--lime);font:10px 'DM Mono';text-decoration:none;border-bottom:1px solid #78912e}.chart-box{height:590px}.note{margin:13px 0 0;color:#767c74;font:10px/1.6 'DM Mono'}footer{display:flex;justify-content:space-between;gap:15px;padding:20px clamp(24px,6vw,96px);border-top:1px solid var(--line);color:#6f756c;font:10px 'DM Mono'}@media(max-width:760px){.intro{grid-template-columns:1fr}.rules{max-width:440px}.summary{grid-template-columns:1fr 1fr}.summary div:nth-child(2){border-right:0}.summary div:nth-child(-n+2){border-bottom:1px solid var(--line)}.nav{position:absolute;right:24px}.chart-box{height:500px}.intro h1{letter-spacing:-2px}footer{flex-direction:column}}
    .chart{margin:0;width:100%;min-width:0;border:0;border-bottom:1px solid var(--line);scroll-margin-top:12px}.chart[hidden]{display:none}.chart-head{gap:16px;flex-wrap:wrap}.chart-title{min-width:0}.chart-title small{line-height:1.6}.chart-actions{display:flex;align-items:center;gap:16px;margin-left:auto}.chart-close{margin:0;padding:7px 10px;color:var(--muted);background:transparent;border:1px solid var(--line);white-space:nowrap}.chart-close:hover{color:var(--ink);border-color:var(--muted)}.row.chart-open,.boundary-row.chart-open{background:#232c1d;box-shadow:inset 3px 0 var(--lime)}.symbol[aria-expanded="true"]:after{content:' ↗'}.row,.boundary-row{scroll-margin-top:12px}.intro h1{font-size:clamp(30px,4.4vw,64px);letter-spacing:-3px;white-space:nowrap}.chart-box{position:relative}.chart-box.measure-ready:after,.chart-box.measure-active:after{position:absolute;z-index:22;top:10px;left:10px;padding:5px 7px;color:#fff5cf;background:#232920;border:1px solid #ffc331;font:10px 'DM Mono';pointer-events:none}.chart-box.measure-ready:after{content:'SHIFT 已按下 · 轻触设置起点'}.chart-box.measure-active:after{content:'测距中 · 移动指针，再次轻触完成'}.measure-line{position:absolute;left:0;top:0;height:2px;background:#ffc331;transform-origin:left center;pointer-events:none;z-index:20;box-shadow:0 0 7px rgba(255,195,49,.65)}.measure-label{position:absolute;z-index:21;padding:6px 8px;background:#232920;color:#fff5cf;border:1px solid #ffc331;font:11px 'DM Mono';line-height:1.5;pointer-events:none;white-space:nowrap}@media(max-width:760px){.intro h1{font-size:clamp(28px,8vw,40px);letter-spacing:-2px}}

.nav{flex-wrap:wrap}.nav a{font-size:14px}.brand{flex-wrap:wrap}.intro{display:block}.intro h1{font-size:clamp(28px,4vw,52px);white-space:normal;letter-spacing:-1px}.intro p:last-child{max-width:1000px;font-size:16px}.row,.heading{grid-template-columns:1.1fr .9fr 1.2fr 1fr 1fr 1fr;min-width:880px;font-size:14px}.symbol{font-size:15px}.note,.status,.status small,.summary span,.section-title span,.chart-title small,.tv,.boundary-empty,footer{font-size:14px}.note{line-height:1.8}.rules-copy{padding:16px 20px;border:1px solid var(--line);margin-top:24px;color:var(--muted);line-height:1.8;font-size:14px}.rules-copy summary{cursor:pointer;color:var(--ink)}.warning{color:#ffc331}.research{border-color:#38667d}.research .section-title{border-color:#38667d}.chart-title{font-size:15px}.status-label{color:var(--lime)}.nav{position:static}button{font-size:14px}.chart-head small{max-width:100%}@media(max-width:760px){.brand{gap:15px}.nav{margin-left:0;width:100%}.workspace{padding-top:26px}.top{padding:18px 24px}}
