:root { --ink:#17233d; --muted:#71809a; --line:#e7ebf2; --blue:#1967ff; --blue-dark:#084dd4; --blue-soft:#edf4ff; --green:#16a36a; --orange:#f08a24; --surface:#fff; --shadow:0 18px 55px rgba(35,64,117,.10); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#f7f9fd; font-family:"Microsoft YaHei UI","PingFang SC",system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
button,input { font:inherit; }
button { color:inherit; }
.topbar { height:76px; padding:0 max(24px,calc((100vw - 1180px)/2)); display:flex; align-items:center; justify-content:space-between; background:rgba(255,255,255,.92); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; backdrop-filter:blur(14px); }
.brand { display:flex; gap:12px; align-items:center; color:inherit; text-decoration:none; }
.brand-mark { width:42px; height:42px; border-radius:13px; display:grid; place-items:center; color:white; font-size:23px; font-weight:800; background:linear-gradient(145deg,var(--blue),#70a2ff); box-shadow:0 7px 18px #1967ff45; }
.brand strong,.brand small { display:block; }.brand strong { font-size:17px; }.brand small { color:var(--muted); margin-top:2px; font-size:11px; letter-spacing:.12em; }
.connection { display:flex; gap:8px; align-items:center; font-size:13px; color:var(--muted); }.status-dot { width:8px; height:8px; border-radius:50%; background:#aab2c0; }.status-dot.online { background:var(--green); box-shadow:0 0 0 4px #16a36a1f; }.status-dot.error { background:#e34b4b; box-shadow:0 0 0 4px #e34b4b1f; }
.top-actions { display:flex; align-items:center; gap:14px; }.install-button { padding:8px 12px; border:1px solid #bcd0f7; border-radius:9px; color:var(--blue); background:#f3f7ff; font-size:12px; font-weight:700; cursor:pointer; }.install-button.ready { color:white; border-color:var(--blue); background:var(--blue); }
main { width:min(1180px,calc(100% - 40px)); margin:auto; }
.hero { min-height:280px; display:flex; align-items:center; justify-content:space-between; padding:45px 8%; margin:28px 0 20px; overflow:hidden; border-radius:28px; color:#fff; background:radial-gradient(circle at 75% 20%,#427eff 0,transparent 30%),linear-gradient(125deg,#0b45b5,#1765ee 56%,#2a74f8); box-shadow:0 25px 70px #1462df35; position:relative; }
.hero:after { content:""; position:absolute; right:-75px; bottom:-135px; width:380px; height:380px; border:1px solid #ffffff28; border-radius:50%; box-shadow:0 0 0 50px #ffffff0b,0 0 0 100px #ffffff09; }
.eyebrow { display:inline-block; color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.hero .eyebrow { color:#bcd4ff; }
.hero h1 { font-size:clamp(34px,5vw,58px); line-height:1.08; margin:15px 0 17px; letter-spacing:-.04em; }.hero h1 em { color:#ffcb69; font-style:normal; }.hero p { color:#dce9ff; font-size:17px; margin:0; }
.hero-badge { width:160px; aspect-ratio:1; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#ffffff12; border:1px solid #ffffff2e; backdrop-filter:blur(8px); z-index:1; }.hero-badge span { font-size:30px; }.hero-badge strong { font-size:25px; }.hero-badge small { color:#cfe0ff; margin-top:5px; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:18px; overflow:hidden; margin-bottom:20px; }.step { display:flex; align-items:center; gap:12px; background:white; padding:18px 24px; }.step b { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:#eef1f6; color:#8d98aa; }.step.active b { background:var(--blue); color:white; }.step span>* { display:block; }.step small { color:var(--muted); margin-top:3px; }
.workspace { display:grid; grid-template-columns:330px 1fr; border:1px solid var(--line); border-radius:22px; background:white; min-height:530px; box-shadow:var(--shadow); overflow:hidden; }
.formula-panel { padding:26px 20px; background:#fbfcff; border-right:1px solid var(--line); }.section-title { display:flex; justify-content:space-between; padding:0 8px 17px; font-weight:700; }.section-title small { color:var(--muted); font-weight:400; }
.formula-list { display:grid; gap:10px; }.formula-option { width:100%; display:grid; grid-template-columns:35px 1fr 12px; gap:10px; text-align:left; align-items:start; padding:18px 13px; background:white; border:1px solid var(--line); border-radius:14px; cursor:pointer; transition:.2s ease; }.formula-option:hover { transform:translateY(-1px); border-color:#aac7ff; }.formula-option.active { border-color:var(--blue); box-shadow:0 8px 25px #1967ff18; background:#f7faff; }.option-number { color:#a3adbd; font-size:12px; font-weight:800; }.formula-option strong,.formula-option small { display:block; }.formula-option small { color:var(--muted); font-size:12px; line-height:1.5; margin-top:5px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }.formula-option b { font-size:22px; color:#b1b9c7; }
.ghost-button { border:1px solid var(--line); border-radius:10px; padding:10px 15px; background:white; cursor:pointer; }.formula-panel>.ghost-button { width:100%; margin-top:15px; color:var(--muted); }.ghost-button:hover { border-color:#aabfe8; color:var(--blue); }
.calculator { padding:30px 44px 38px; }.calculator-head { display:none; }.formula-tag { display:inline-block; padding:5px 10px; color:var(--blue); background:var(--blue-soft); border-radius:6px; font-size:12px; font-weight:700; }.calculator h2 { margin:13px 0 7px; font-size:28px; }.calculator-head p { margin:0; color:var(--muted); line-height:1.7; }.icon-button { width:34px; height:34px; border:1px solid var(--line); border-radius:50%; background:white; color:var(--muted); cursor:pointer; }
.input-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:28px 0 20px; }.field>span { display:block; font-weight:700; font-size:14px; margin:0 0 9px 3px; }.field input { width:100%; border:1px solid #dce2eb; background:#fbfcfe; padding:14px; border-radius:11px; outline:none; font-size:17px; transition:.2s; }.field input:focus { border-color:var(--blue); background:white; box-shadow:0 0 0 4px #1967ff12; }.field small { display:block; color:var(--muted); line-height:1.45; margin:7px 3px 0; font-size:11px; }
.market-toolbar { display:grid; grid-template-columns:1.05fr 1.2fr 1.3fr auto; gap:10px; align-items:end; margin-top:0; padding:14px; border:1px solid var(--line); border-radius:13px; background:#f8faff; }.market-toolbar label>span,.today>span { display:block; margin:0 0 6px 2px; color:var(--muted); font-size:10px; }.market-toolbar select,.market-toolbar input { width:100%; height:39px; padding:0 10px; border:1px solid #dce2eb; border-radius:8px; background:white; outline:none; }.today strong { font-size:18px; }.today small { margin-left:8px; color:var(--muted); }.primary-button { height:39px; padding:0 15px; border:0; border-radius:8px; background:var(--blue); color:white; font-weight:700; cursor:pointer; }.primary-button:disabled { opacity:.6; cursor:wait; }.auto-status { display:flex; align-items:center; gap:8px; padding:9px 4px 0; color:var(--muted); font-size:11px; }.auto-status label { margin-left:auto; display:flex; align-items:center; gap:5px; }
.market-toolbar.single-market { grid-template-columns:1fr 1fr auto; align-items:start; }.fixed-symbol>span { display:block; margin-bottom:5px; color:var(--muted); font-size:10px; }.fixed-symbol strong { font-size:16px; }.fixed-symbol small { margin-left:7px; color:#ad7610; font-weight:800; }
.market-sync { min-width:310px; display:grid; gap:7px; }.market-sync .primary-button { width:100%; }.live-market-quotes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.live-market-quote { min-width:0; display:grid; gap:2px; padding:8px 10px; border:1px solid #dce5f2; border-radius:8px; background:#fff; }.live-market-quote span { color:#71809a; font-size:9px; }.live-market-quote strong { overflow:hidden; color:#263750; font-size:19px; font-variant-numeric:tabular-nums; text-overflow:ellipsis; white-space:nowrap; }.live-market-quote strong.up { color:#cc4545; }.live-market-quote strong.down { color:#168361; }.live-market-quote small { overflow:hidden; color:#8793a5; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.market-toolbar.single-market:has(.primary-button[hidden]) { grid-template-columns:1fr 1fr; }.auto-status.manual { padding:11px 13px; border:1px solid #ffd0d0; border-radius:10px; background:#fff3f3; color:#a52b2b; font-weight:700; }
.history-tabs { display:flex; gap:7px; overflow-x:auto; padding:12px 1px 4px; scrollbar-width:none; }.history-tabs::-webkit-scrollbar { display:none; }.history-tab { min-width:67px; padding:8px 11px; border:1px solid #dce4f2; border-radius:10px; color:#66748b; background:#fff; cursor:pointer; }.history-tab strong,.history-tab small { display:block; }.history-tab strong { font-size:12px; }.history-tab small { margin-top:2px; font-size:9px; opacity:.75; }.history-tab.active { color:#fff; border-color:#1967ff; background:#1967ff; box-shadow:0 5px 13px #1967ff35; }
.alert-panel { margin:12px 0 4px; padding:14px; border:1px solid #dce4f2; border-radius:13px; background:#fafcff; }.alert-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }.alert-head strong,.alert-head small { display:block; }.alert-head small { margin-top:3px; color:var(--muted); font-size:10px; }.alert-setting-button { padding:7px 10px; border:1px solid #bcd0f7; border-radius:8px; color:#155edb; background:#edf4ff; font-size:11px; font-weight:800; cursor:pointer; }.current-position { margin-top:10px; padding:9px 11px; border-radius:9px; color:#174caa; background:#eaf2ff; font-size:12px; font-weight:800; }.position-changes { display:grid; gap:6px; margin-top:8px; }.position-changes>span { color:var(--muted); font-size:11px; }.position-change { display:grid; grid-template-columns:auto auto 1fr auto; align-items:center; gap:8px; padding:7px 9px; border-radius:8px; background:#fff; border:1px solid #e7ebf2; font-size:10px; }.position-change time { color:var(--muted); }.position-change strong { color:#155edb; }.position-change span { text-align:right; }.position-change small { max-width:220px; overflow:hidden; color:#6f7c90; text-overflow:ellipsis; white-space:nowrap; }.position-change-history { margin-top:1px; border-top:1px solid #e0e7f2; }.position-change-history summary { display:flex; align-items:center; justify-content:space-between; min-height:34px; padding:5px 8px; color:#5d6d84; font-size:10px; font-weight:800; cursor:pointer; list-style:none; }.position-change-history summary::-webkit-details-marker { display:none; }.position-change-history summary::after { content:"展开"; color:#155edb; }.position-change-history[open] summary::after { content:"收起"; }.position-change-history-list { display:grid; gap:6px; padding-top:1px; }
@media (max-width:580px) { .position-change { grid-template-columns:auto 1fr auto; }.position-change small { grid-column:1/-1; max-width:100%; text-align:right; } }
.bark-dialog { width:min(600px,calc(100% - 24px)); }.switch-row { display:flex; align-items:center; justify-content:space-between; padding:13px; border-radius:10px; background:#f3f7ff; }.switch-row span>* { display:block; }.switch-row small { margin-top:3px; color:var(--muted); font-size:10px; }.switch-row input { width:22px; height:22px; }.setting-field { display:block; margin-top:13px; }.setting-field>span { display:block; margin:0 0 6px 2px; color:#53627a; font-size:11px; font-weight:700; }.setting-field input,.setting-field select { width:100%; height:42px; padding:0 11px; border:1px solid #dce2eb; border-radius:9px; background:#fff; outline:none; }.setting-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.dialog-actions { display:flex; gap:9px; margin-top:18px; }.dialog-actions button { flex:1; height:43px; }.setting-message { margin-top:11px; padding:10px; border-radius:8px; color:#155edb; background:#edf4ff; font-size:12px; }
.bark-dialog { max-height:calc(100dvh - 28px); overflow:auto; }.notification-channel { margin-top:12px; padding:11px; border:1px solid #e2e7ef; border-radius:8px; background:#fff; }.notification-channel .switch-row { padding:10px; }.notification-channel .setting-field { margin-top:9px; }.notification-channel .setting-field input,.notification-channel .setting-field select { height:38px; }.notification-channel .switch-row small { max-width:390px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:580px) { .bark-dialog { width:calc(100% - 16px); padding:22px 14px; }.notification-channel { padding:9px; }.notification-channel .setting-grid { grid-template-columns:1fr; gap:0; }.notification-channel .switch-row small { max-width:235px; }.dialog-actions { position:sticky; bottom:-1px; padding:9px 0 1px; background:#fff; } }
.treasury-card { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:18px; margin:18px 0 4px; padding:16px 18px; border:1px solid var(--line); border-radius:13px; transition:.2s; }.treasury-card>div>span,.treasury-card>div>small { display:block; }.treasury-card>div>span { font-weight:800; }.treasury-card>div>small { margin-top:4px; color:var(--muted); font-size:10px; }.treasury-card>strong { font-size:28px; }.treasury-card>strong small { margin-left:3px; font-size:13px; }.treasury-card>b { padding:7px 10px; border-radius:99px; font-size:11px; }.treasury-card.high { border-color:#f0aaaa; background:#fff3f3; color:#b32525; }.treasury-card.high b { background:#d93636; color:white; }.treasury-card.low { border-color:#a5dec3; background:#effbf5; color:#08784b; }.treasury-card.low b { background:#14a36a; color:white; }.treasury-card.equal { border-color:#ffd29d; background:#fff7e9; color:#a55a08; }.treasury-card.equal b { background:#ef8a1f; color:white; }.treasury-card.pending b { background:#edf0f5; color:#6d7787; }
.editable-field input { background:#fffbd7; border-color:#d7c600; color:#544c00; font-weight:800; }.editable-field>span:after { content:"行情"; margin-left:7px; padding:2px 6px; border-radius:4px; background:#fff3a5; color:#756a00; font-size:9px; font-weight:700; vertical-align:2px; }
.error-box { padding:12px 14px; border-radius:10px; color:#a93838; background:#fff0f0; border:1px solid #ffd0d0; margin-bottom:15px; }
.live-position { margin:0 0 12px; padding:12px 15px; border:2px solid #1967ff; border-radius:11px; color:#0847bd; background:#edf4ff; font-size:13px; font-weight:800; line-height:1.5; box-shadow:0 0 0 4px #1967ff12; }
.live-position.wait { color:#8a5b09; border-color:#e6a42b; background:#fff7e7; box-shadow:0 0 0 4px #e6a42b18; }.live-position.early { color:#1554a6; border-color:#6b9ee8; background:#eff5ff; }.live-position.confirmed { color:#087249; border-color:#19a56c; background:#edfaf4; box-shadow:0 0 0 4px #19a56c18; }
.result-card { padding:25px 28px; display:flex; align-items:center; justify-content:space-between; gap:30px; color:white; background:linear-gradient(130deg,#123987,#1259d5); border-radius:17px; box-shadow:0 15px 34px #124dae2b; }.result-card.active-target { outline:3px solid #ffca45; box-shadow:0 0 0 6px #ffca4530,0 15px 34px #124dae2b; }.result-card span { display:block; color:#c7dcff; font-size:12px; }.result-card strong { display:inline-block; font-size:38px; margin-top:5px; }.result-card small { margin-left:8px; color:#c7dcff; }.interpretation { max-width:320px; padding:12px 16px; border-radius:10px; background:#ffffff12; line-height:1.5; }
.formula-preview { display:none; align-items:center; gap:14px; margin-top:17px; color:var(--muted); font-size:12px; }.formula-preview code { color:#4f6181; background:#f0f3f8; padding:7px 10px; border-radius:7px; word-break:break-all; }
.gold-factors-section { margin-top:26px; padding-top:24px; border-top:1px solid var(--line); }.gold-factors-head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:15px; }.factor-kicker { color:#b27a0b; font-size:11px; font-weight:800; letter-spacing:.12em; }.gold-factors-head h2 { margin:5px 0 0; font-size:22px; }.factors-status { padding:6px 9px; border-radius:99px; color:#356098; background:#edf4ff; font-size:10px; font-weight:700; }.gold-factors-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }.factor-card { padding:15px; border:1px solid var(--line); border-left:4px solid #8d98aa; border-radius:13px; background:#fff; }.factor-card.bullish { border-left-color:#dd4a4a; background:#fff6f6; }.factor-card.bearish { border-left-color:#12a36a; background:#f3fcf7; }.factor-card.bullish-soft,.factor-card.bearish-soft { border-left-color:#e39a23; background:#fffaf1; }.factor-title,.factor-quote,.factor-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; }.factor-title span { font-size:13px; font-weight:800; }.factor-title small { color:var(--muted); font-size:9px; font-weight:800; }.factor-quote { margin:9px 0; }.factor-quote>strong { font-size:25px; }.factor-quote>b { padding:4px 7px; border-radius:7px; font-size:11px; }.factor-quote>b.up { color:#d83e3e; background:#ffe8e8; }.factor-quote>b.down { color:#078557; background:#e5f8ef; }.factor-quote>b.flat { color:#66748b; background:#edf0f5; }.factor-impact { min-height:57px; padding:10px; border-radius:9px; background:#ffffffc7; }.factor-impact strong,.factor-impact span { display:block; }.factor-impact strong { font-size:12px; }.factor-card.bullish .factor-impact strong { color:#c53232; }.factor-card.bearish .factor-impact strong { color:#078557; }.factor-card.bullish-soft .factor-impact strong,.factor-card.bearish-soft .factor-impact strong { color:#a66308; }.factor-impact span { margin-top:4px; color:#65728a; font-size:10px; line-height:1.45; }.factor-meta { margin-top:9px; color:#8792a4; font-size:9px; }.factor-meta em { padding:2px 6px; border-radius:99px; font-style:normal; }.factor-meta em.live { color:#087a4d; background:#dcf6e9; }.factor-meta em.delayed { color:#956211; background:#fff0ce; }.factors-notice { margin:11px 2px 0; color:#8792a4; font-size:10px; line-height:1.5; }.factors-empty { grid-column:1 / -1; padding:22px; border:1px dashed #cbd5e5; border-radius:12px; color:#7a879b; text-align:center; font-size:12px; }
.level-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:18px; }.level-card { border:1px solid var(--line); border-radius:15px; overflow:hidden; }.level-head { display:flex; flex-direction:column; gap:3px; padding:14px 16px; }.level-head small { font-size:11px; opacity:.78; }.level-card.support .level-head { background:#c9f1ed; color:#14665f; }.level-card.resistance .level-head { background:#ffe1c8; color:#9b4a0d; }.level-rows { display:grid; grid-template-columns:1fr 1fr; }.level-row { min-height:66px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 12px; border-top:1px solid var(--line); }.level-row:nth-child(odd) { border-right:1px solid var(--line); }.level-row span>* { display:block; }.level-row span>b { font-size:13px; }.level-row span small { color:var(--muted); font-size:9px; margin-top:3px; }.level-row>strong { font-size:15px; white-space:nowrap; }.level-card.support .level-row>strong { color:#07887c; }.level-card.resistance .level-row>strong { color:#d66516; }.level-row.active-target { position:relative; z-index:2; border:3px solid #1967ff!important; background:#e6f0ff; box-shadow:inset 0 0 0 2px #fff,0 0 0 4px #1967ff35; }.level-row.active-target:after { content:"当前目标"; position:absolute; top:-10px; right:7px; padding:2px 7px; border-radius:99px; color:#fff; background:#1967ff; font-size:9px; font-weight:800; }
.overlap-section { margin-top:22px; padding:18px; border:1px solid var(--line); border-radius:15px; background:#fbfcff; }.overlap-head { display:flex; align-items:end; justify-content:space-between; gap:14px; }.overlap-head h2 { margin:4px 0 0; font-size:20px; }.help-tip { position:relative; width:19px; height:19px; display:inline-grid; place-items:center; border:1px solid #c9d3e2; border-radius:50%; color:#6d7c92; background:#fff; font-size:11px; vertical-align:2px; cursor:help; }.help-tip:after { content:attr(aria-label); position:absolute; z-index:10; left:50%; bottom:27px; width:260px; padding:9px 10px; border:1px solid #dae1ec; border-radius:9px; color:#526178; background:#fff; box-shadow:0 10px 28px #21375f26; font-size:11px; font-weight:400; line-height:1.5; transform:translateX(-50%); opacity:0; pointer-events:none; transition:opacity .15s; }.help-tip:hover:after,.help-tip:focus:after { opacity:1; }.overlap-period { display:flex; align-items:center; gap:7px; color:#69778d; font-size:11px; white-space:nowrap; }.overlap-period input { width:62px; height:36px; padding:0 8px; border:1px solid #d8e0ec; border-radius:8px; color:var(--ink); background:#fff; text-align:center; outline:none; }.overlap-period input:focus { border-color:var(--blue); box-shadow:0 0 0 3px #1967ff12; }.overlap-modes,.overlap-sort { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }.overlap-modes button,.overlap-sort button { padding:7px 10px; border:1px solid #d8e0ec; border-radius:8px; color:#69778d; background:#fff; font-size:11px; cursor:pointer; }.overlap-modes button.active,.overlap-sort button.active { color:#fff; border-color:var(--blue); background:var(--blue); }.overlap-parameters,.overlap-manual { margin-top:10px; padding:11px; border:1px solid #e1e6ef; border-radius:10px; background:#fff; }.overlap-parameters label { display:flex; align-items:center; gap:9px; color:#69778d; font-size:11px; }.overlap-parameters select { height:34px; padding:0 28px 0 10px; border:1px solid #d8e0ec; border-radius:8px; background:#fff; }.manual-range-form { display:grid; grid-template-columns:1fr 1fr auto; gap:8px; align-items:end; }.manual-range-form label span { display:block; margin:0 0 5px 2px; color:#778399; font-size:10px; }.manual-range-form input { width:100%; height:35px; padding:0 9px; border:1px solid #d8e0ec; border-radius:8px; outline:none; }.manual-range-form button { height:35px; padding:0 12px; border:0; border-radius:8px; color:#fff; background:var(--blue); cursor:pointer; }.manual-range-list { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }.manual-range-item { display:flex; align-items:center; gap:6px; padding:5px 7px 5px 9px; border:1px solid #d8e0ec; border-radius:99px; color:#4c5d76; background:#f8faff; font-size:10px; }.manual-range-item.overlapping { border-color:#e5b65e; background:#fff8e9; }.manual-range-item button { width:18px; height:18px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; color:#7c899b; background:#e8edf4; cursor:pointer; }.manual-range-notice { margin-top:8px; color:#a56d12; font-size:10px; }.overlap-status { margin:11px 1px 8px; color:#8390a3; font-size:10px; }.overlap-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }.overlap-row { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; padding:10px 11px; border:1px solid rgba(25,103,255,var(--overlap-border-alpha)); border-radius:9px; background:rgba(25,103,255,var(--overlap-alpha)); font-variant-numeric:tabular-nums; }.overlap-row strong { overflow:hidden; color:#23344f; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.overlap-row b { flex:none; padding:3px 6px; border-radius:99px; color:#1555bd; background:#fff; font-size:10px; }
.overlap-title-row { display:flex; align-items:center; gap:10px; }.overlap-section-toggle { min-width:62px; height:30px; display:flex; align-items:center; justify-content:center; gap:4px; padding:0 9px; border:1px solid #d8e0ec; border-radius:8px; color:#53647c; background:#fff; font-size:10px; font-weight:700; cursor:pointer; }.overlap-section-toggle i { font-size:14px; font-style:normal; line-height:1; }.overlap-section.collapsed { padding-bottom:18px; }.overlap-section.collapsed .overlap-head { align-items:center; }.overlap-section.collapsed .overlap-head-settings { display:none; }.overlap-section-content[hidden] { display:none; }
.data-section { margin:75px 0 35px; }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:24px; }.section-heading h2 { margin:9px 0 5px; font-size:30px; }.section-heading p { margin:0; color:var(--muted); }.provider-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }.provider-card { display:flex; align-items:center; justify-content:space-between; gap:15px; background:white; border:1px solid var(--line); border-radius:16px; padding:22px; }.provider-card>div { display:flex; align-items:center; gap:14px; }.provider-card strong,.provider-card small { display:block; }.provider-card small { color:var(--muted); margin-top:5px; }.provider-logo { width:48px; height:48px; display:grid; place-items:center; border-radius:12px; color:white; background:#6b7d9e; font-weight:900; }.provider-logo.jd { background:#e1251b; }.provider-status { flex:none; border-radius:99px; padding:6px 10px; font-size:11px; }.provider-status.ready { color:#087e50; background:#e6f8f0; }.provider-status.waiting { color:#8a641b; background:#fff4dc; }
dialog { width:min(560px,calc(100% - 30px)); border:0; border-radius:20px; padding:34px; box-shadow:0 30px 100px #13234055; }dialog::backdrop { background:#10204499; backdrop-filter:blur(3px); }.dialog-close { position:absolute; right:17px; top:14px; border:0; background:none; font-size:27px; color:var(--muted); cursor:pointer; }.dialog-formula { background:#f2f5fa; border-radius:10px; padding:14px; margin-top:20px; }dialog h2 { margin:10px 0; }dialog p { color:var(--muted); line-height:1.7; }
.install-steps { display:grid; gap:10px; margin:22px 0; }.install-steps>div { display:flex; align-items:center; gap:12px; padding:13px; background:#f5f8fd; border-radius:11px; }.install-steps b { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--blue); }.install-tip { padding:12px; border-radius:9px; background:#fff7e9; color:#8c641f; font-size:12px; }
.risk-notice { margin:28px 0 36px; padding:22px 26px; border-top:2px solid #d97706; border-bottom:1px solid #f1d6ae; background:#fffaf2; color:#55320b; }.risk-notice h2 { margin:0 0 12px; color:#9a4f08; font-size:18px; letter-spacing:0; }.risk-notice p { margin:6px 0; font-size:13px; line-height:1.65; }
footer { display:flex; justify-content:space-between; gap:20px; padding:22px max(24px,calc((100vw - 1180px)/2)); background:#111e37; color:#9eabc2; font-size:12px; }
@media (max-width:850px) { .hero { min-height:240px; }.hero-badge { display:none; }.steps { grid-template-columns:1fr; }.step:not(.active) { display:none; }.workspace { grid-template-columns:1fr; }.formula-panel { border-right:0; border-bottom:1px solid var(--line); }.formula-list { grid-template-columns:repeat(2,1fr); }.input-grid { grid-template-columns:1fr 1fr; }.calculator { padding:30px 25px; } }
@media (max-width:580px) { body { padding-bottom:env(safe-area-inset-bottom); }.topbar { height:61px; padding:0 12px; }.brand-mark { width:37px; height:37px; border-radius:11px; font-size:19px; }.brand small,.connection { display:none; }.install-button { padding:8px 10px; }.hero,.steps,.formula-panel,.data-section,footer,.calculator-head,.formula-preview { display:none; }main { width:100%; }.workspace { display:block; min-height:calc(100dvh - 61px); border:0; border-radius:0; box-shadow:none; }.calculator { padding:13px 13px 34px; }.market-toolbar,.market-toolbar.single-market { grid-template-columns:1fr 1fr; margin-top:0; padding:11px; }.market-toolbar .today { grid-column:1 / -1; display:flex; align-items:baseline; gap:8px; }.market-toolbar .today>span { margin-right:auto; }.market-sync { grid-column:1 / -1; min-width:0; }.market-sync .primary-button { height:44px; }.live-market-quote { padding:8px; }.live-market-quote strong { font-size:17px; }.auto-status { flex-wrap:wrap; line-height:1.4; }.auto-status label { width:100%; margin:3px 0 0; }.treasury-card { grid-template-columns:1fr auto; gap:8px; padding:13px; }.treasury-card>b { grid-column:1 / -1; text-align:center; }.treasury-card>strong { font-size:25px; }.input-grid { grid-template-columns:repeat(3,1fr); gap:7px; margin-top:18px; }.field>span { font-size:12px; }.field input { padding:12px 7px; font-size:16px; }.field small { display:none; }.editable-field>span:after { display:none; }.result-card { padding:18px; flex-direction:row; align-items:center; gap:12px; }.result-card strong { font-size:30px; }.interpretation { font-size:12px; padding:9px; max-width:47%; }.level-grid { grid-template-columns:1fr; }.level-rows { grid-template-columns:repeat(2,1fr); }.level-row { min-height:58px; padding:8px 10px; }.gold-factors-head { align-items:start; }.gold-factors-head h2 { font-size:18px; }.gold-factors-grid { grid-template-columns:1fr; }.factor-card { padding:13px; }.install-dialog { padding:28px 20px; }.risk-notice { margin:0; padding:20px 16px calc(20px + env(safe-area-inset-bottom)); }.risk-notice h2 { font-size:16px; }.risk-notice p { font-size:12px; } }
@media (max-width:580px) { .overlap-section { margin-top:15px; padding:13px; }.overlap-head { align-items:start; }.overlap-head h2 { font-size:17px; }.overlap-title-row { gap:7px; }.overlap-section-toggle { min-width:56px; padding:0 7px; }.overlap-period { flex-wrap:wrap; justify-content:flex-end; max-width:120px; }.overlap-list { grid-template-columns:repeat(2,minmax(0,1fr)); }.help-tip:after { left:auto; right:-12px; width:235px; transform:none; }.manual-range-form { grid-template-columns:1fr 1fr; }.manual-range-form button { grid-column:1 / -1; }.overlap-row { padding:9px; }.overlap-row strong { font-size:11px; } }
.factor-meta em.closed { color:#956211; background:#fff0ce; }
.gold-sentiment { display:grid; grid-template-columns:minmax(145px,1.2fr) minmax(100px,1fr) auto; align-items:center; gap:11px; margin-bottom:10px; padding:10px 12px; border:1px solid #dce4f2; border-left:4px solid #8996aa; border-radius:10px; background:#f8fafc; }.gold-sentiment>div:first-child span,.gold-sentiment>div:first-child strong { display:block; }.gold-sentiment>div:first-child span { color:#7b879a; font-size:8px; }.gold-sentiment>div:first-child strong { margin-top:2px; font-size:12px; }.gold-sentiment>div:nth-child(3) { text-align:right; }.gold-sentiment>div:nth-child(3)>* { display:block; }.gold-sentiment b { font-size:17px; }.gold-sentiment small { color:#7b879a; font-size:8px; }.gold-sentiment p { grid-column:1 / -1; margin:0; color:#66748a; font-size:9px; line-height:1.4; }.sentiment-meter { height:7px; overflow:hidden; border-radius:99px; background:#e6ebf3; }.sentiment-meter i { display:block; width:0; height:100%; margin:auto; border-radius:99px; background:#8996aa; transition:width .35s ease; }.gold-sentiment.bullish { border-left-color:#dd4a4a; background:#fff7f7; }.gold-sentiment.bullish b,.gold-sentiment.bullish>div:first-child strong { color:#c83232; }.gold-sentiment.bullish .sentiment-meter i { background:#dd4a4a; }.gold-sentiment.bearish { border-left-color:#12a36a; background:#f4fbf7; }.gold-sentiment.bearish b,.gold-sentiment.bearish>div:first-child strong { color:#078557; }.gold-sentiment.bearish .sentiment-meter i { background:#12a36a; }.gold-sentiment.mixed { border-left-color:#e39a23; background:#fffaf1; }.gold-sentiment.mixed b,.gold-sentiment.mixed>div:first-child strong { color:#9b6307; }.gold-sentiment.mixed .sentiment-meter i { background:#e39a23; }.gold-sentiment.closed { border-left-color:#8996aa; background:#f4f6f9; }
.gold-factors-section { margin-top:20px; padding-top:18px; }.gold-factors-head { margin-bottom:11px; }.factor-kicker { font-size:9px; }.gold-factors-head h2 { margin-top:3px; font-size:18px; }.factors-status { padding:4px 8px; font-size:9px; }.gold-factors-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.factor-card { padding:10px 11px; border-left-width:3px; border-radius:10px; }.factor-title { gap:6px; }.factor-title span { overflow:hidden; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.factor-title small { font-size:8px; }.factor-quote { margin:6px 0; }.factor-quote>strong { font-size:20px; line-height:1; }.factor-quote>b { padding:3px 5px; border-radius:6px; font-size:9px; }.factor-impact { min-height:48px; padding:7px 8px; border-radius:7px; }.factor-impact strong { font-size:10px; }.factor-impact span { display:-webkit-box; overflow:hidden; margin-top:3px; font-size:9px; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.factor-meta { min-width:0; margin-top:6px; font-size:8px; }.factor-meta>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.factor-meta em { flex:none; padding:2px 5px; }.factors-notice { margin-top:8px; font-size:9px; }
.factor-impact { position:relative; min-height:32px; display:flex; align-items:center; justify-content:space-between; gap:7px; }.factor-reason { flex:none; }.factor-reason summary { width:19px; height:19px; display:grid; place-items:center; border:1px solid #cad4e4; border-radius:50%; color:#65758d; background:#fff; font-size:10px; font-weight:900; cursor:pointer; list-style:none; }.factor-reason summary::-webkit-details-marker { display:none; }.factor-reason[open] summary { color:#fff; border-color:#446eaf; background:#446eaf; }.factor-reason span { position:absolute; z-index:8; right:7px; bottom:30px; width:min(210px,calc(100% - 14px)); display:block; padding:8px 9px; border:1px solid #d8e0ed; border-radius:8px; color:#4e5e76; background:#fff; box-shadow:0 8px 24px #21375f2e; font-size:9px; line-height:1.45; -webkit-line-clamp:unset; }.factor-reason:not([open]) span { display:none; }
@media (max-width:580px) { .gold-factors-section { margin-top:18px; padding-top:16px; }.gold-factors-head { align-items:center; }.gold-factors-head h2 { max-width:240px; font-size:16px; line-height:1.25; }.gold-factors-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.factor-card { min-width:0; padding:9px; }.factor-title span { font-size:10px; }.factor-quote>strong { font-size:18px; }.factor-impact { min-height:31px; padding:6px; }.factor-reason span { right:5px; bottom:29px; width:calc(100% - 10px); font-size:8px; }.factor-meta>span { max-width:76px; } }
@media (max-width:580px) { .gold-sentiment { grid-template-columns:1fr auto; gap:6px 9px; padding:9px; }.sentiment-meter { grid-column:1 / -1; grid-row:2; }.gold-sentiment>div:nth-child(3) { grid-column:2; grid-row:1; }.gold-sentiment p { grid-row:3; } }
.gold-factors-section { --radar-red:#e85454; --radar-green:#1a9a70; --radar-amber:#d9972b; padding-top:22px; border-top-color:#edf0f5; }.factor-kicker { color:#9a7740; font-size:9px; letter-spacing:.16em; }.gold-factors-head h2 { color:#18243a; font-size:19px; letter-spacing:-.02em; }.factors-status { color:#65728a; background:#f2f5f9; border:1px solid #e8edf4; font-weight:600; }.gold-sentiment,.gold-sentiment.bullish,.gold-sentiment.bearish,.gold-sentiment.mixed,.gold-sentiment.closed { position:relative; overflow:hidden; padding:14px 16px; border:0; border-radius:14px; color:#fff; background:linear-gradient(120deg,#111c31 0%,#1b2c49 68%,#263b5f 100%); box-shadow:0 12px 28px #1728461a; }.gold-sentiment:after { content:""; position:absolute; right:-45px; top:-70px; width:180px; height:180px; border:1px solid #ffffff10; border-radius:50%; box-shadow:0 0 0 28px #ffffff08,0 0 0 56px #ffffff05; pointer-events:none; }.gold-sentiment>div:first-child span { color:#8fa4c5; letter-spacing:.08em; }.gold-sentiment>div:first-child strong,.gold-sentiment.bullish>div:first-child strong,.gold-sentiment.bearish>div:first-child strong,.gold-sentiment.mixed>div:first-child strong { color:#fff; font-size:13px; }.gold-sentiment b,.gold-sentiment.bullish b,.gold-sentiment.bearish b,.gold-sentiment.mixed b { color:#fff; font-variant-numeric:tabular-nums; }.gold-sentiment small { color:#9eb0cb; }.gold-sentiment p { color:#b8c5d8; }.sentiment-meter { background:#ffffff14; }.sentiment-meter i,.gold-sentiment.closed .sentiment-meter i { background:#91a2bd; }.gold-sentiment.bullish .sentiment-meter i { background:var(--radar-red); }.gold-sentiment.bearish .sentiment-meter i { background:var(--radar-green); }.gold-sentiment.mixed .sentiment-meter i { background:var(--radar-amber); }.gold-factors-grid { gap:10px; }.factor-card,.factor-card.bullish,.factor-card.bearish,.factor-card.bullish-soft,.factor-card.bearish-soft { --factor-accent:#9aa6b8; position:relative; overflow:visible; padding:12px 12px 10px; border:1px solid #e7ebf2; border-left-width:1px; border-radius:12px; background:#fff; box-shadow:0 6px 18px #22395f0a; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }.factor-card:before { content:""; position:absolute; left:12px; right:12px; top:-1px; height:3px; border-radius:0 0 5px 5px; background:var(--factor-accent); }.factor-card.bullish { --factor-accent:var(--radar-red); }.factor-card.bearish { --factor-accent:var(--radar-green); }.factor-card.bullish-soft,.factor-card.bearish-soft { --factor-accent:var(--radar-amber); }.factor-card:hover { transform:translateY(-1px); border-color:#d8e0ec; box-shadow:0 10px 24px #22395f12; }.factor-title { padding-top:3px; }.factor-title span { color:#26344b; font-weight:700; }.factor-title small { color:#97a3b5; letter-spacing:.04em; }.factor-quote { margin:8px 0 7px; }.factor-quote>strong { color:#17243b; font-size:21px; font-variant-numeric:tabular-nums; letter-spacing:-.02em; }.factor-quote>b { padding:3px 6px; border-radius:99px; font-weight:700; }.factor-quote>b.up { color:#cc4545; background:#fff0f0; }.factor-quote>b.down { color:#168361; background:#edf9f4; }.factor-impact { min-height:30px; padding:7px 0 5px; border-top:1px solid #eef1f5; border-radius:0; background:transparent; }.factor-card.bullish .factor-impact strong { color:#ca4545; }.factor-card.bearish .factor-impact strong { color:#168361; }.factor-card.bullish-soft .factor-impact strong,.factor-card.bearish-soft .factor-impact strong { color:#a66e18; }.factor-reason summary { width:18px; height:18px; border-color:#dce2eb; color:#8290a5; background:#f8fafc; }.factor-reason[open] summary { border-color:#314967; background:#314967; }.factor-meta { padding-top:1px; color:#98a3b3; }.factor-meta em,.factor-meta em.closed,.factor-meta em.delayed,.factor-meta em.live { padding:0; color:#8491a4; background:transparent; font-weight:600; }.factors-notice { color:#9aa5b5; text-align:center; }.factor-reason span { border-color:#e5eaf1; color:#48576e; box-shadow:0 12px 30px #17294326; }
@media (max-width:580px) { .gold-factors-section { padding-top:18px; }.gold-factors-head h2 { max-width:220px; font-size:16px; }.gold-sentiment,.gold-sentiment.bullish,.gold-sentiment.bearish,.gold-sentiment.mixed,.gold-sentiment.closed { padding:12px; border-radius:12px; }.gold-factors-grid { gap:8px; }.factor-card,.factor-card.bullish,.factor-card.bearish,.factor-card.bullish-soft,.factor-card.bearish-soft { padding:10px 9px 8px; border-radius:10px; }.factor-card:before { left:9px; right:9px; }.factor-title span { font-size:10px; }.factor-quote>strong { font-size:18px; }.factor-impact { padding-top:6px; }.factors-notice { padding:0 8px; line-height:1.5; } }
@media (display-mode:standalone) { .topbar { padding-top:env(safe-area-inset-top); height:calc(61px + env(safe-area-inset-top)); }.install-button { display:none; } }
.backup-market { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:22px 0 14px; padding:18px 20px; border:1px solid #e6dcc8; border-radius:14px; background:linear-gradient(135deg,#fffaf0,#fff); box-shadow:0 8px 24px #6d4d1510; }.backup-market>div:first-child>span { color:#9a7740; font-size:9px; font-weight:800; letter-spacing:.14em; }.backup-market h2 { margin:4px 0; color:#3f3020; font-size:19px; }.backup-market p { margin:0; color:#8b8174; font-size:10px; }.backup-market-quotes { display:grid; grid-template-columns:repeat(3,minmax(105px,1fr)); gap:8px 14px; }.backup-market-quote { min-width:0; text-align:right; }.backup-market-quote span,.backup-market-quote strong,.backup-market-quote em { display:block; }.backup-market-quote span { color:#9a7740; font-size:9px; font-weight:800; }.backup-market-quote strong { color:#8a5c16; font-size:24px; font-variant-numeric:tabular-nums; }.backup-market-quote strong.quote-up { color:#cc4545; }.backup-market-quote strong.quote-down { color:#168361; }.backup-market-quote em { color:#998d7a; font-size:8px; font-style:normal; }.backup-market-quotes>small { grid-column:1 / -1; color:#8b8174; font-size:9px; text-align:right; }.backup-market-quotes>small.online { color:#168361; }.backup-market-quotes>small.delayed { color:#a66e18; }.backup-market-quotes>small.error { color:#bd4646; }
@media (max-width:580px) { .backup-market { display:block; margin:16px 0 10px; padding:15px; }.backup-market p { line-height:1.5; }.backup-market-quotes { grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px 7px; margin-top:14px; }.backup-market-quote { text-align:left; }.backup-market-quote strong { font-size:18px; }.backup-market-quotes>small { text-align:left; } }
.backup-market { display:grid; grid-template-columns:minmax(180px,1fr) auto; }.gold-converter { grid-column:1 / -1; display:grid; grid-template-columns:auto minmax(420px,560px); align-items:center; gap:12px 24px; padding-top:14px; border-top:1px solid #eadfcd; }.gold-converter-head { display:flex; align-items:center; gap:12px; }.gold-converter-head>span strong,.gold-converter-head>span small { display:block; }.gold-converter-head strong { color:#493722; font-size:12px; }.gold-converter-head small { margin-top:3px; color:#9a8b75; font-size:9px; }.gold-converter-head button { min-height:32px; padding:0 10px; border:1px solid #d9c7a8; border-radius:7px; color:#7e5a22; background:#fff; font-size:10px; font-weight:700; cursor:pointer; }.gold-converter-head button.active { color:#fff; border-color:#9b6b24; background:#9b6b24; }.gold-converter-flow { display:grid; grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr); align-items:end; gap:9px; }.gold-converter-field { min-width:0; }.gold-converter-field>span:first-child { display:block; margin-bottom:5px; color:#92784d; font-size:9px; font-weight:700; }.gold-converter-input { height:40px; display:flex; align-items:center; border:1px solid #dfd2bd; border-radius:7px; background:#fff; transition:border-color .15s,box-shadow .15s; }.gold-converter-input:focus-within { border-color:#a7752e; box-shadow:0 0 0 3px #a7752e18; }.gold-converter-input input { width:100%; min-width:0; height:100%; padding:0 9px; border:0; outline:0; color:#493722; background:transparent; font-size:16px; font-weight:700; font-variant-numeric:tabular-nums; }.gold-converter-input em { flex:none; max-width:48px; padding-right:8px; color:#998d7a; font-size:8px; font-style:normal; line-height:1.15; text-align:right; }.gold-converter-swap { width:34px; height:34px; margin-bottom:3px; display:grid; place-items:center; border:1px solid #d9c7a8; border-radius:50%; color:#7e5a22; background:#fff; font-size:17px; cursor:pointer; }.gold-converter-swap:active { color:#fff; background:#9b6b24; }
.gold-converter-standalone { margin:22px 0 14px; padding:16px 18px; border:1px solid #e6dcc8; border-radius:12px; background:#fffaf2; }
@media (max-width:580px) { .backup-market { display:grid; grid-template-columns:1fr; }.gold-converter { grid-template-columns:1fr; gap:12px; }.gold-converter-standalone { margin:16px 0 10px; padding:14px; }.gold-converter-head { justify-content:space-between; }.gold-converter-flow { grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr); gap:6px; }.gold-converter-input { height:42px; }.gold-converter-input input { padding-left:7px; font-size:15px; }.gold-converter-input em { max-width:43px; padding-right:6px; }.gold-converter-swap { width:32px; height:32px; } }
.overlap-sort>button.active { color:#fff; border-color:var(--blue); background:var(--blue); }.overlap-group-actions { display:flex; gap:6px; margin-left:auto; }.overlap-group-actions button { color:#53647c; background:#f4f7fb; }.overlap-list { display:grid; grid-template-columns:1fr; gap:8px; }.overlap-group { overflow:hidden; border:1px solid #dde4ef; border-radius:10px; background:#fff; }.overlap-group-toggle { width:100%; min-height:43px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 11px; border:0; color:#34455f; background:#f8faff; cursor:pointer; }.overlap-group-toggle>span { display:flex; align-items:center; gap:8px; }.overlap-group-toggle i { font-size:19px; font-style:normal; transition:transform .16s; }.overlap-group.expanded .overlap-group-toggle i { transform:rotate(90deg); }.overlap-group-toggle strong { font-size:12px; font-variant-numeric:tabular-nums; }.overlap-group-toggle>b { min-width:23px; height:23px; display:grid; place-items:center; padding:0 6px; border-radius:99px; color:#fff; background:var(--blue); font-size:10px; }.overlap-group-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; padding:9px; border-top:1px solid #e8edf4; }.overlap-group-details[hidden] { display:none; }
.overlap-head-settings { display:flex; align-items:flex-end; gap:12px; }.overlap-group-count { display:grid; gap:5px; color:#69778d; font-size:11px; white-space:nowrap; }.overlap-group-count>span { display:flex; align-items:center; gap:5px; }.overlap-group-count .help-tip { width:16px; height:16px; font-size:9px; vertical-align:0; }.overlap-group-count select { min-width:72px; height:36px; padding:0 27px 0 10px; border:1px solid #d8e0ec; border-radius:8px; color:var(--ink); background:#fff; outline:none; }.overlap-group-count select:focus { border-color:var(--blue); box-shadow:0 0 0 3px #1967ff12; }
.moving-average-panel { margin-top:14px; padding:12px; border:1px solid #dce5f2; border-radius:11px; background:linear-gradient(135deg,#f7faff,#fff); }.moving-average-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; }.moving-average-head strong,.moving-average-head small { display:block; }.moving-average-head strong { color:#263750; font-size:13px; }.moving-average-head small { margin-top:4px; color:#77859a; font-size:10px; }.moving-average-head label { display:grid; gap:4px; color:#768399; font-size:10px; }.moving-average-head select { min-width:92px; height:34px; padding:0 27px 0 9px; border:1px solid #d8e0ec; border-radius:8px; color:#263750; background:#fff; }.moving-average-values { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:10px; }.moving-average-values>div { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px; border:1px solid #e1e7f0; border-radius:9px; background:#fff; }.moving-average-values span { color:#738096; font-size:10px; font-weight:800; }.moving-average-values strong { color:#173e86; font-size:14px; font-variant-numeric:tabular-nums; }.moving-average-status { margin:8px 1px 0; color:#8995a6; font-size:9px; }.overlap-row.ma-match { border-color:#e39a23; background:linear-gradient(135deg,#fff3d4,#ffe4a8); box-shadow:0 0 0 2px #e39a2324; }.overlap-row.ma-match strong { color:#7d4b08; }.overlap-row.ma-match:after { content:"均线重合"; flex:none; padding:3px 5px; border-radius:99px; color:#885208; background:#fff8e9; font-size:8px; font-weight:800; }
@media (max-width:580px) { .overlap-group-actions { width:100%; margin-left:0; }.overlap-group-actions button { flex:1; }.overlap-group-details { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:580px) { .overlap-head { flex-wrap:wrap; }.overlap-head-settings { width:100%; align-items:flex-end; justify-content:space-between; gap:8px; }.overlap-period { max-width:none; justify-content:flex-start; }.overlap-group-count { justify-items:end; }.overlap-group-count .help-tip:after { right:-8px; } }
@media (max-width:580px) { .moving-average-head { align-items:flex-start; }.moving-average-head>div { max-width:68%; }.moving-average-values { gap:5px; }.moving-average-values>div { display:grid; gap:3px; padding:8px; }.moving-average-values strong { font-size:12px; }.overlap-row.ma-match:after { display:none; } }
.today .market-countdown { display:inline-flex; align-items:center; min-height:24px; margin-top:6px; padding:3px 7px; border:1px solid #ecd39f; border-radius:6px; color:#94620c; background:#fff7e5; font-size:10px; font-weight:800; white-space:nowrap; }
.today .market-countdown[hidden] { display:none; }
.today #currentDate,.today .market-countdown { font-variant-numeric:tabular-nums; }
.today #currentDate { display:inline-block; width:10ch; white-space:nowrap; }
.today .market-countdown { min-width:17ch; justify-content:center; }
@media (max-width:580px) { .market-toolbar .today { display:grid; grid-template-columns:auto 10ch minmax(0,1fr); align-items:center; gap:6px 8px; }.market-toolbar .today>span { margin:0; }.market-toolbar .today>strong { min-width:0; text-align:right; }.market-toolbar .today .market-countdown { min-height:22px; min-width:0; margin:0; justify-self:end; } }
html,body { max-width:100%; overflow-x:hidden; }
@media (max-width:580px) {
  body { width:100%; touch-action:pan-x pan-y; }
  main,.workspace,.calculator,.market-toolbar,.market-sync,.live-market-quotes,.input-grid,.level-grid,.level-rows,.realtime-chart-section,.kline-chart-section,.overlap-section,.gold-factors-section,.gold-converter,.risk-notice { min-width:0; max-width:100%; }
  .calculator { width:100%; overflow-x:clip; }
  .market-toolbar,.market-toolbar.single-market { width:100%; }
  .market-toolbar .today { grid-template-columns:auto 10ch minmax(0,1fr); }
  .live-market-quotes,.level-rows { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .input-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .field,.live-market-quote,.level-row,.gold-converter-field { min-width:0; }
  input,select,textarea { max-width:100%; font-size:16px!important; }
  .topbar { width:100%; max-width:100vw; overflow:hidden; }
  .brand { min-width:0; }.brand>span:last-child { min-width:0; }.brand strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
.realtime-chart-section { min-width:0; margin-top:14px; padding:14px; overflow:hidden; border:1px solid #263750; border-radius:12px; color:#dce6f5; background:#0c1422; box-shadow:0 12px 30px rgba(8,18,35,.16); }
.realtime-chart-head { min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.realtime-chart-head span { display:block; color:#6f8db8; font-size:8px; font-weight:900; letter-spacing:.12em; }
.realtime-chart-head h2 { margin:3px 0 0; color:#edf4ff; font-size:15px; letter-spacing:0; }
.realtime-chart-statuses { min-width:0; display:flex; justify-content:flex-end; flex-wrap:wrap; gap:4px; }
.realtime-chart-status { flex:none; padding:4px 7px; border:1px solid #314360; border-radius:6px; color:#91a1b8; background:#121e31; font-size:9px; font-variant-numeric:tabular-nums; }
.realtime-chart-status.online { color:#71d5ad; border-color:#28654f; background:#102a24; }
.realtime-chart-status.up { color:#ff8a8a; border-color:#7d393f; background:#321a22; }
.realtime-chart-status.down { color:#71d5ad; border-color:#28654f; background:#102a24; }
.realtime-chart-status.dark { border-color:#665128; color:#e3be6b; background:#2a2417; }
.realtime-chart-status.dark.up { color:#ff8a8a; border-color:#7d393f; background:#321a22; }
.realtime-chart-status.dark.down { color:#71d5ad; border-color:#28654f; background:#102a24; }
.realtime-chart-status.delayed { opacity:.65; }
.gold-realtime-chart { width:100%; height:320px; min-width:0; margin-top:6px; touch-action:pan-y; -webkit-tap-highlight-color:transparent; }
@media (max-width:580px) { .realtime-chart-section { margin-top:12px; padding:11px 8px 8px; border-radius:10px; }.realtime-chart-head { padding:0 4px; }.realtime-chart-head h2 { font-size:13px; }.gold-realtime-chart { height:270px; margin-top:4px; } }
.kline-chart-section { min-width:0; margin-top:14px; padding:14px; overflow:hidden; border:1px solid #263750; border-radius:12px; color:#dce6f5; background:#0c1422; box-shadow:0 12px 30px rgba(8,18,35,.16); }
.kline-chart-head { min-height:38px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.kline-chart-head span { display:block; color:#6f8db8; font-size:8px; font-weight:900; letter-spacing:.12em; }
.kline-chart-head h2 { margin:3px 0 0; color:#edf4ff; font-size:15px; letter-spacing:0; }
.kline-chart-status { flex:none; padding:4px 7px; border:1px solid #314360; border-radius:6px; color:#91a1b8; background:#121e31; font-size:9px; font-variant-numeric:tabular-nums; }
.kline-period-tabs { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:5px; margin-top:9px; }
.kline-period-tabs button { min-width:0; height:31px; padding:0 5px; border:1px solid #2d405d; border-radius:5px; color:#9eacc0; background:#111d30; font:inherit; font-size:10px; font-weight:700; white-space:nowrap; cursor:pointer; }
.kline-period-tabs button.active { color:#eef5ff; border-color:#4a8dff; background:#1c4f96; box-shadow:inset 0 0 0 1px rgba(133,182,255,.14); }
.gold-kline-chart { width:100%; height:360px; min-width:0; margin-top:5px; touch-action:pan-y; -webkit-tap-highlight-color:transparent; }
@media (max-width:580px) { .kline-chart-section { margin-top:12px; padding:11px 8px 8px; border-radius:10px; }.kline-chart-head { padding:0 4px; }.kline-chart-head h2 { font-size:13px; }.kline-period-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); }.kline-period-tabs button { height:34px; }.gold-kline-chart { height:300px; margin-top:4px; } }
.model-validation { margin:14px 0; padding:14px 0; border-top:1px solid #dfe6f0; border-bottom:1px solid #dfe6f0; }
.model-validation-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
.model-validation-head span { color:#7f8da3; font-size:9px; font-weight:800; letter-spacing:.12em; }
.model-validation-head h2 { margin:3px 0 0; color:#1d2b42; font-size:16px; }
.model-validation-head>strong { max-width:56%; color:#155edb; font-size:10px; text-align:right; }
.model-score-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:11px; }
.model-score-row { width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; overflow:hidden; padding:8px 9px; border:1px solid #e3e8f0; border-radius:7px; background:#fff; }
.model-score-row.best { border-color:#9ebcf4; background:#f2f7ff; }
.model-score-row.selected { box-shadow:inset 0 0 0 2px #1967ff; }
.model-score-row>span { min-width:0; display:flex; align-items:center; gap:6px; }
.model-score-row>span:first-child { flex:1; }
.model-score-row>span:last-child { flex:none; display:grid; justify-items:end; gap:1px; }
.model-score-row b { width:18px; height:18px; display:grid; place-items:center; border-radius:4px; color:#66758c; background:#edf1f6; font-size:9px; }
.model-score-row.best b { color:#fff; background:#1967ff; }
.model-score-row strong { overflow:hidden; color:#31415a; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.model-score-row em { color:#155edb; font-size:12px; font-style:normal; font-weight:800; }
.model-score-row small { color:#8b97a8; font-size:8px; }
.model-validation>p { margin:9px 0 0; color:#8a96a7; font-size:9px; line-height:1.5; }
.formula-option em { margin-left:auto; color:#155edb; font-size:9px; font-style:normal; font-weight:800; white-space:nowrap; }
@media (max-width:580px) { body,main,.workspace,.calculator { width:100vw; max-width:100vw; }.workspace,.calculator { overflow-x:hidden; }.calculator>* { min-width:0; max-width:100%; }.topbar { width:100vw; max-width:100vw; }.topbar .brand { flex:1; max-width:calc(100% - 50px); }.topbar .brand strong { max-width:112px; font-size:14px; }.topbar .top-actions { position:absolute; right:12px; top:12px; gap:0; }.topbar .install-button { width:38px; min-width:38px; max-width:38px; height:36px; padding:0; overflow:hidden; font-size:0; white-space:nowrap; }.topbar .install-button:before { content:"↓"; font-size:18px; }.model-validation-head { display:grid; grid-template-columns:1fr; gap:5px; }.model-validation-head>strong { max-width:100%; min-width:0; text-align:left; line-height:1.4; }.model-score-list { grid-template-columns:minmax(0,1fr); }.model-score-row>span:last-child { position:absolute; right:9px; }.model-score-row { position:relative; padding-right:64px; }.input-grid { width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); }.field input { min-width:0; }.field>span { min-height:31px; overflow-wrap:anywhere; line-height:1.3; } }
