/* Desktop workspace. Strategy logic and API requests are unchanged. */
:root{--bg:#f4f6f9;--surface:#fff;--ink:#182332;--muted:#68768a;--line:#e5eaf0;--soft:#f1f5f8;--up-dark:#168264;--blue:#4262aa;--accent:#168264}
body{color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select{transition:background .16s,border-color .16s,box-shadow .16s}
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #72c8b1;outline-offset:3px}
.tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
.tab{white-space:normal;line-height:1.4}
.brand-mark{background:#183b36;border-radius:11px;color:#dcfff2}
.ghost-btn{border:1px solid var(--line);background:#fff;color:#405168}
.ghost-btn:hover{background:#edf6f2;border-color:#b9d9ce}
.history-badge.long{color:#168264;background:#eaf7f1}
.history-id,.execution-evidence{overflow-wrap:anywhere}
.history-card h3{margin:0}
details>summary{cursor:pointer;padding:7px 0;color:#44566e}
details[open]>summary{margin-bottom:8px}
.source-badge,.time-meta{background:#f2f5f8;color:#526378}

@media(min-width:768px){
  body{padding:0}
  .topbar,main,.footer{width:100%;max-width:none;box-shadow:none}
  .topbar{min-height:76px;padding:16px 30px;gap:24px;border-bottom:1px solid #e4e9f0;background:#fff}
  .brand{gap:12px}.brand strong{font-size:18px;letter-spacing:.025em}.brand small{font-size:10px;letter-spacing:.15em}
  .brand-mark{height:40px;width:40px;font-size:19px}
  .top-status{max-width:none;gap:12px;font-size:12px}.source-badge,.time-meta{padding:6px 10px}.ghost-btn{padding:9px 14px;font-size:12px}
  main{padding:24px 30px 32px;background:transparent;min-height:calc(100dvh - 76px)}
  .hero{padding:4px 0 22px;border:0;align-items:center;flex-wrap:nowrap}
  .eyebrow{font-size:11px;letter-spacing:.14em;color:#728196;margin-bottom:10px}
  .hero h1{font-size:32px;font-weight:750;line-height:1.25;letter-spacing:-.025em;color:#182b3c}
  .hero p{font-size:13px;color:#718094;line-height:1.7}.hero .live-pill{font-size:11px;background:#eaf7f1;border-color:#d7eee4;padding:8px 12px}
  .workspace-strip{margin:0 0 22px;padding:16px 20px;border-radius:12px;background:#fff;border-color:var(--line);gap:24px}
  .workspace-strip>div{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.workspace-strip b{font-size:14px}.workspace-strip>span{font-size:12px;text-align:right;max-width:60%;line-height:1.6}
  .direction-chip{padding:4px 9px;font-size:11px}
  .nav-wrap{position:sticky;top:76px;left:auto;bottom:auto;transform:none;width:100%;height:auto;min-height:56px;border:1px solid var(--line);border-radius:12px;margin:0 0 24px;padding:7px;background:#fff;z-index:3}
  .tabs{gap:6px}.tab{padding:12px 14px;font-size:13px;border-radius:8px;text-align:center}
  .tab:hover{color:#166c55;background:#f1f8f5}.tab.active{color:#137c5e;background:#eaf6f0}.tab.active:before{display:none}
  .page{padding:24px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 18px #233b5710;min-width:0}
  #homePage{padding:0;border:0;background:transparent;box-shadow:none}
  .strategy-picker{padding:0 0 12px}.strategy-picker h2{font-size:18px;margin:0 0 6px}.strategy-picker>p{font-size:13px;color:#738095;margin-bottom:20px}
  .strategy-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .strategy-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:230px;padding:26px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 4px 16px #233b5708;overflow:hidden}
  .strategy-option:before{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;margin-bottom:18px;font-size:24px;font-weight:500;background:#eaf7f0;color:#168264;content:'↗'}
  .strategy-option[data-strategy='short']:before{content:'↘';color:#c65c66;background:#fceef0}
  .strategy-option[data-strategy='channel']:before{content:'▤';color:#4f71b8;background:#eef2fd}
  .strategy-option[data-strategy='xiongmao']:before{content:'◇';color:#a77b30;background:#faf3e5}
  .strategy-option:after{content:'↗';position:absolute;right:26px;top:29px;color:#a5b0bd;font-size:20px}
  .strategy-option:hover{border-color:#adcfc2;background:#fff;box-shadow:0 8px 26px #233b5714}
  .strategy-option b{font-size:18px;line-height:1.4;color:#243649;font-weight:650}
  .strategy-option span{font-size:13px;line-height:1.8;color:#718093;margin:10px 0 20px;max-width:90%}
  .strategy-option em{font-size:12px;line-height:1.4;margin-top:auto;padding:6px 11px;border-radius:7px;color:#167354;background:#edf7f2}
  .toolbar{padding:0 0 20px;gap:20px}.toolbar-left{gap:12px}.toolbar label{font-size:12px;color:#748297}.search{width:240px;padding:10px 14px;font-size:13px;border-radius:8px;background:#f9fafc;border-color:#dce3eb}.sort-note{font-size:12px;color:#7b889a}
  .column-head,.market-row{grid-template-columns:minmax(0,1fr) 160px 160px;gap:24px}
  .column-head{padding:12px 16px;background:#f7f9fb;border-radius:9px 9px 0 0;font-size:12px;color:#6b7b90}
  .market-list{border-top:0}.market-row{min-height:100px;padding:18px 16px;border-color:#edf0f4}
  .market-row:hover,.market-row.selected{background:#f7fafc}.market-row:last-child{border-bottom:0}
  .coin-cell{gap:13px}.coin-logo{width:40px;height:40px;flex-basis:40px;border-radius:12px;font-size:15px}
  .logo-a{background:#ecf2f8;color:#526b87}.logo-c{background:#e6f5f4;color:#2b8a7d}
  .symbol{font-size:15px;font-weight:700;letter-spacing:.01em}.symbol-line{gap:7px;flex-wrap:nowrap}.perp{font-size:10px;padding:3px 7px;background:#f0f3f7;color:#7a8798}
  .coin-sub{font-size:12px;gap:8px;margin-top:6px}.signal-hint{font-size:12px;line-height:1.65;color:#788599;max-width:none;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .price{font-size:18px;color:#20354b;font-weight:650}.cny{font-size:12px;color:#8a96a6;margin-top:7px}.change{min-width:112px;border-radius:9px;font-size:13px;padding:9px 12px}.change-meta{font-size:12px;line-height:1.65;margin-top:7px;color:#7a8798}
  .history-section{padding:0;overflow:visible}.section-head{align-items:center;margin-bottom:20px;gap:20px}.section-head h2{font-size:20px;line-height:1.4;color:#21364a}.section-head p{font-size:12px;line-height:1.7;color:#788599;margin-top:6px}
  .short-note{font-size:12px;line-height:1.85;background:#f7f9fc;color:#6e7c8f;border:1px solid #e8edf3;border-radius:10px;padding:15px 18px;margin-bottom:24px}
  .short-empty,.empty,.history-empty{font-size:14px;padding:48px 20px;background:#fafbfd;border-radius:10px}
  .position-section{border-top:1px solid var(--line);margin-top:28px;padding-top:28px}.position-section h3{font-size:18px}.position-section>p{font-size:12px;margin:8px 0 20px;color:#7b889a}
  .position-list{border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .position-row{padding:20px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe;min-width:0}
  .position-symbol{font-size:15px}.position-badge{font-size:11px;padding:5px 9px}.position-grid{gap:18px 14px;margin-top:20px}.position-grid span{font-size:11px}.position-grid b{font-size:13px;margin-top:6px;overflow-wrap:anywhere}.position-foot{font-size:11px;margin-top:18px;flex-wrap:wrap}
  .history-list{border:0}.history-card{padding:22px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0;margin:0 0 18px}
  .history-head{align-items:center;margin-bottom:18px}.history-head h3,.history-symbol h3{font-size:17px;color:#24364a}.history-badge{font-size:11px;border-radius:5px;padding:5px 8px;line-height:1.3}.history-status{font-size:11px;padding:6px 10px}
  .history-grid{gap:22px 20px}.history-field span{font-size:12px;color:#7c899a}.history-field b{font-size:17px;line-height:1.35;margin-top:8px;color:#23384e}.history-foot{font-size:12px;margin-top:20px}
  .history-evidence{font-size:12px;color:#718093;margin-top:18px}.history-summary{font-size:13px}.history-notification{font-size:12px}.history-tools{margin:20px 0}.history-tools select{font-size:12px;padding:9px 12px}
  #channelList{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}#channelList .history-card{margin:0;background:#fcfdff}#channelList .history-card>p{font-size:12px!important;line-height:1.8;overflow-wrap:anywhere}#channelList details{font-size:12px;color:#718093;line-height:1.8}#channelList svg{background:#fff;border:1px solid #eef2f6;border-radius:8px;padding:8px}
  .detail-band{border:0;padding:0}.detail-title h2{font-size:22px}.detail-copy{font-size:13px;line-height:1.9;color:#738096;margin:18px 0 24px}.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.plan-item{padding:20px;border:1px solid var(--line);background:#f8fafc;border-radius:10px}.plan-item span{font-size:12px}.plan-item b{font-size:17px;margin-top:12px}.structure-note{font-size:12px;line-height:1.8;margin-top:20px}
  .score-row,.score-evidence,.execution-evidence,.quality-state{font-size:13px}.score-row>span{width:130px}.score-row{margin:16px 0}.quality-state{padding:16px;border-radius:10px}
  .footer{padding:28px 0 0;margin:28px 0 0;border-top:1px solid #e0e6ed;background:transparent;color:#8c98a8;font-size:11px}
  .toast{bottom:28px;padding:12px 20px;font-size:13px}
}

@media(min-width:1100px){
  .topbar{padding:16px 28px}
  main{width:calc(100% - 250px);max-width:1700px;margin:0 0 0 250px;padding:30px 36px 36px}
  .nav-wrap{position:fixed;top:104px;left:24px;bottom:24px;width:218px;height:auto;margin:0;padding:18px 12px;border-radius:14px;overflow-y:auto;background:#fff;box-shadow:0 3px 15px #233b5706}
  .nav-wrap:before{content:'工作台导航';display:block;padding:0 14px 18px;color:#95a0ae;font-size:11px;letter-spacing:.1em}
  .nav-wrap:after{content:'PUBLIC MARKET ANALYSIS';display:block;color:#a7b0bd;letter-spacing:.07em;font-size:9px;padding:25px 14px 5px;border-top:1px solid #eff2f6;margin-top:28px}
  .tabs{display:flex;flex-direction:column;gap:8px;height:auto}
  .tab{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;text-align:left;padding:12px 14px;font-size:13px;color:#728196;white-space:nowrap;border-radius:9px}
  .tab:before,.tab.active:before{position:static;display:grid;place-items:center;transform:none;left:auto;top:auto;width:22px;height:22px;flex:0 0 22px;background:none;color:#8797aa;font-size:19px;content:'⌂'}
  .tab:nth-child(2):before{content:'↗'}.tab:nth-child(3):before{content:'↘'}.tab:nth-child(4):before{content:'◇'}.tab:nth-child(5):before{content:'▤'}
  .tab.active{background:#eaf5ef;color:#187958}.tab.active:before{color:#187958}.tab:hover{background:#f2f7f5;color:#187958}
}
@media(min-width:1400px){
  #channelList,.history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
  .history-list>.history-card{margin:0}
  .plan-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .market-row,.column-head{grid-template-columns:minmax(0,1fr) 190px 190px;gap:32px}
  .strategy-option{min-height:250px;padding:30px}.strategy-option b{font-size:20px}
}
@media(min-width:2000px){main{margin-left:auto;margin-right:auto;transform:translateX(125px);width:calc(100% - 300px)}}
@media(max-width:767px){
  .tab{font-size:10px;padding-left:1px;padding-right:1px}
  .nav-wrap{bottom:0}.topbar,main,.footer{box-shadow:none}
  .strategy-option{border-radius:12px;padding:19px 17px}.strategy-option b{font-size:15px}.strategy-option span{font-size:12px;line-height:1.7}.strategy-options{gap:12px}
  .history-card>p{overflow-wrap:anywhere}.history-card svg{max-width:100%}
}
@media(prefers-reduced-motion:reduce){button,input,select,.market-row,.toast{transition:none}}

/* Unified entry signal states across strategy lists. */
.change.no-signal{background:#eef1f5;color:#788597;font-weight:500}
.change.long-ready{background:#279c73;color:#fff}
.change.short-ready{background:#df6868;color:#fff}

/* Compact channel list aligned with the other strategies. */
#channelList{display:block;border-top:1px solid var(--line)}
.channel-item{border-bottom:1px solid var(--line);min-width:0}
.channel-item>.market-row{border:0;cursor:default}
.channel-detail{padding:0 16px 12px;font-size:12px;color:var(--muted)}
.channel-detail>summary{width:fit-content;color:#4262aa}
.channel-detail-body{padding:16px;background:#f7f9fc;border-radius:10px;line-height:1.8}
.channel-detail-body svg{max-height:320px}
.channel-item .change-meta{overflow-wrap:anywhere}
@media(max-width:767px){.channel-detail{padding:0 3px 12px}.channel-detail-body{padding:10px}.channel-item .change-meta{font-size:10px}}
