






























#page-market{
--mk-pass: #3fb950;
--mk-warn: #d29922;
--mk-fail: #f85149;
}








#page-market .market-toolbar-spacer{flex: 1;}
#page-market .market-toolbar-date-btn{
font-family: var(--font-mono);
font-size: 12px;
padding: 6px 12px;

background: rgba(230,126,34,0.10);
border: 1px solid var(--accent);
border-radius: 6px;
color: var(--text);
cursor: pointer;
transition: background .12s, border-color .12s;
display: flex;
align-items: center;
gap: 6px;
}
#page-market .market-toolbar-date-btn:hover{background: rgba(230,126,34,0.18);border-color: var(--accent);}
#page-market .market-toolbar-date-btn .market-cal-icon{font-size: 13px;color: var(--accent);}
#page-market .market-toolbar-today-btn{
font-family: var(--font-mono);
font-size: 11px;
padding: 6px 10px;
background: transparent;
border: 1px solid var(--border);
border-radius: 6px;
color: var(--text2);
cursor: pointer;
transition: all .12s;
}
#page-market .market-toolbar-today-btn:hover{
color: var(--text);
border-color: var(--border2);
}






#page-market .market-toolbar{
flex-shrink: 0;
background: var(--bg2);
border-bottom: 1px solid var(--border);
}
#page-market .market-toolbar-inner{
max-width: 1300px;
width: 100%;
margin: 0 auto;
padding: 0 24px;
display: flex;
align-items: center;
gap: 14px;
height: 44px;
box-sizing: border-box;
}
#page-market .market-tab-list{
display: flex;
gap: 8px;
align-items: center;
}
#page-market .market-tab-chip{
font-family: 'Space Grotesk', 'Microsoft YaHei', sans-serif;
font-size: 12px;
color: var(--text2);
background: transparent;
border: 1px solid var(--border);
border-radius: 6px;
padding: 5px 14px;
cursor: pointer;
transition: all .15s;
user-select: none;
line-height: 1.4;
letter-spacing: 0.2px;
font-weight: 500;
}
#page-market .market-tab-chip:hover{
color: var(--text);
border-color: var(--text3);
}
#page-market .market-tab-chip.on{
color: var(--accent);
border-color: var(--accent);
background: rgba(230, 126, 34, 0.08);
}

#page-market .market-tab-body{
flex: 1;
overflow: hidden;
display: none;
width: 100%;
max-width: 1300px;
align-self: center;
box-sizing: border-box;
}
#page-market .market-tab-body.active{display: flex;}

#page-market .market-toolbar-inner{flex-wrap: nowrap;}
#page-market .market-tab-list{flex-wrap: nowrap;flex-shrink: 0;}





body.role-admin #page-market .market-tab-list.admin-only{display: flex !important;}





#page-market .market-ai-left{
width: 240px;
flex-shrink: 0;
background: var(--bg2);
border-right: 1px solid var(--border);
padding: 18px 0;
overflow-y: auto;
}
#page-market .market-step{
padding: 14px 20px;
border-left: 3px solid transparent;
cursor: default;
transition: all .15s;
}
#page-market .market-step.done{border-left-color: var(--mk-pass);}
#page-market .market-step.active{
border-left-color: var(--accent);
background: rgba(230, 126, 34, 0.05);
}
#page-market .market-step.idle{opacity: .45;}
#page-market .market-step-num{
font-family: var(--font-mono);
font-size: 10px;
color: var(--text3);
letter-spacing: 1.5px;
}
#page-market .market-step.done .market-step-num{color: var(--mk-pass);}
#page-market .market-step.active .market-step-num{color: var(--accent);}
#page-market .market-step-title{
font-size: 13px;
font-weight: 500;
color: var(--text);
margin: 3px 0 2px;
}
#page-market .market-step-sub{
font-size: 11px;
color: var(--text2);
font-family: var(--font-mono);
}
#page-market .market-step.done .market-step-sub{color: var(--mk-pass);}

#page-market .market-ai-right{
flex: 1;
overflow-y: auto;
padding: 28px 36px;
}
#page-market .market-ai-step-content{max-width: 780px;}
#page-market .market-ai-step-title{
font-size: 18px;
font-weight: 600;
color: var(--text);
margin-bottom: 6px;
}
#page-market .market-ai-step-hint{
font-size: 12px;
color: var(--text2);
margin-bottom: 24px;
font-family: var(--font-mono);
}

#page-market .market-row{
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 16px;
}
#page-market .market-label{
font-size: 11px;
color: var(--text3);
text-transform: uppercase;
letter-spacing: 1.2px;
font-family: var(--font-mono);
min-width: 80px;
}
#page-market input[type="date"],
#page-market select{
background: rgba(255, 255, 255, 0.04);
border: 1px solid var(--border);
border-radius: 6px;
color: var(--text);
font-family: var(--font-mono);
font-size: 13px;
padding: 7px 11px;
outline: none;
transition: border-color .15s;
}
#page-market input[type="date"]:focus,
#page-market select:focus{border-color: var(--accent);}





.market-btn{
background: transparent;
border: 1px solid var(--border2);
color: var(--accent);
padding: 8px 18px;
border-radius: 6px;
cursor: pointer;
font-family: var(--font-mono);
font-size: 11px;
font-weight: 600;
letter-spacing: 1.2px;
text-transform: uppercase;
transition: all .15s;


display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
line-height: 1;
}

.market-btn svg{vertical-align: 0;}
.market-btn:hover{
background: var(--accent);
color: #fff;
}
.market-btn:disabled{
opacity: .35;
cursor: not-allowed;
border-color: var(--border);
color: var(--text3);
}
.market-btn-primary{
background: var(--accent);
border-color: var(--accent);
color: #fff;
}
.market-btn-primary:hover{
background: var(--accent2);
border-color: var(--accent2);
}
.market-btn-ghost{
border-color: var(--border);
color: var(--text2);
}
.market-btn-ghost:hover{
border-color: var(--accent);
color: var(--accent);
background: transparent;
}
.market-btn-danger{
border-color: rgba(248, 81, 73, 0.4);
color: var(--mk-fail);
}
.market-btn-danger:hover{
background: var(--mk-fail);
border-color: var(--mk-fail);
color: #fff;
}





#page-market .market-status-card{
background: var(--bg2);
border: 1px solid var(--border);
border-radius: 8px;
padding: 14px 18px;
margin-bottom: 16px;
}
#page-market .market-status-line{
display: flex;
align-items: center;
gap: 10px;
font-size: 12px;
color: var(--text2);
font-family: var(--font-mono);
}
#page-market .market-status-line.ok{color: var(--mk-pass);}
#page-market .market-status-icon{font-size: 14px;}
#page-market .market-loading-dot{
display: inline-block;
width: 10px;
height: 10px;
background: var(--accent);
border-radius: 50%;
animation: marketPulse 1.2s ease-in-out infinite;
}
@keyframes marketPulse{
0%, 100%{opacity: 0.3;transform: scale(0.7);}
50%{opacity: 1;transform: scale(1);}
}

#page-market .market-summary-card{
background: rgba(230, 126, 34, 0.04);
border: 1px solid var(--border2);
border-radius: 8px;
padding: 18px 22px;
margin: 20px 0;
}
#page-market .market-summary-row{
display: flex;
gap: 12px;
align-items: baseline;
margin-bottom: 8px;
font-size: 13px;
}
#page-market .market-summary-row:last-child{margin-bottom: 0;}
#page-market .market-summary-key{
color: var(--accent);
font-family: var(--font-mono);
font-size: 11px;
letter-spacing: 0.8px;
min-width: 80px;
}
#page-market .market-summary-val{color: var(--text);}

#page-market .market-upload-card{
background: var(--bg2);
border: 2px dashed var(--border);
border-radius: 10px;
padding: 32px 24px;
margin: 16px 0;
cursor: pointer;
transition: all .15s;
text-align: center;
}
#page-market .market-upload-card:hover{
border-color: var(--accent);
background: rgba(230, 126, 34, 0.04);
}

#page-market .market-upload-card.dragover{
border-color: var(--accent);
background: rgba(230, 126, 34, 0.08);
}
#page-market .market-upload-state.ok{color: var(--mk-pass);}
#page-market .market-upload-icon{
font-size: 36px;
margin-bottom: 10px;
}
#page-market .market-upload-state.ok .market-upload-icon{
color: var(--mk-pass);
font-weight: 600;
}
#page-market .market-upload-title{
font-size: 15px;
font-weight: 500;
color: var(--text);
margin-bottom: 6px;
font-family: var(--font-mono);
}
#page-market .market-upload-state.ok .market-upload-title{color: var(--mk-pass);}
#page-market .market-upload-meta{
font-size: 12px;
color: var(--text2);
font-family: var(--font-mono);
}
#page-market .market-upload-action{
font-size: 11px;
color: var(--accent);
margin-top: 8px;
font-family: var(--font-mono);
}





#page-market .market-report-frame{
background: var(--bg2);
border: 1px solid var(--border);
border-radius: 10px;
overflow: hidden;
}
#page-market .market-report-actions{
display: flex;
align-items: center;
gap: 10px;
padding: 12px 18px;
background: var(--bg3);
border-bottom: 1px solid var(--border);
flex-wrap: wrap;
row-gap: 10px;
}


#page-market .market-report-actions .market-btn + .market-btn{
margin-left: 4px;
}
#page-market .market-status-badge{
font-family: var(--font-mono);
font-size: 10px;
padding: 3px 10px;
border-radius: 4px;
letter-spacing: 1.2px;
text-transform: uppercase;
font-weight: 600;
}
#page-market .market-status-badge.draft{
background: rgba(139, 148, 158, 0.18);
color: var(--text2);
}
#page-market .market-status-badge.published{
background: rgba(63, 185, 80, 0.18);
color: var(--mk-pass);
}
#page-market .market-status-badge.retracted{
background: rgba(248, 81, 73, 0.18);
color: var(--mk-fail);
}
#page-market .market-report-actions-spacer{flex: 1;}

#page-market .market-report-body{
padding: 24px 28px;
max-height: calc(100vh - 240px);
overflow-y: auto;
}


#page-market .market-report-title,
#market-preview-mask .market-report-title,
#market-history-view-mask .market-report-title{
color: var(--accent);
font-size: 20px;
font-weight: 600;
margin-bottom: 14px;
letter-spacing: 0.3px;
}
#page-market .market-provenance{
background: rgba(230, 126, 34, 0.04);
border-left: 3px solid var(--accent);
padding: 12px 18px;
margin-bottom: 24px;
font-family: var(--font-mono);
font-size: 12px;
color: var(--text2);
line-height: 1.7;
}
#page-market .market-provenance b{
color: var(--accent);
font-weight: 600;
}
#page-market .market-provenance code{
background: rgba(255, 255, 255, 0.06);
padding: 1px 6px;
border-radius: 3px;
color: var(--text);
}

#page-market .market-selfcheck{
border: 1px solid var(--border);
border-radius: 8px;
margin-bottom: 24px;
overflow: hidden;
}
#page-market .market-sc-head{
display: flex;
align-items: center;
gap: 10px;
padding: 10px 16px;
background: var(--bg3);
border-bottom: 1px solid var(--border);
font-size: 12px;
font-family: var(--font-mono);
color: var(--text2);
cursor: pointer;
user-select: none;
}
#page-market .market-sc-head .market-sc-title{font-weight: 600;}
#page-market .market-sc-pill{
font-size: 10px;
padding: 2px 8px;
border-radius: 10px;
letter-spacing: 0.5px;
font-weight: 600;
}
#page-market .market-sc-pill.pass{
background: rgba(63, 185, 80, 0.18);
color: var(--mk-pass);
}
#page-market .market-sc-pill.warn{
background: rgba(210, 153, 34, 0.18);
color: var(--mk-warn);
}
#page-market .market-sc-pill.fail{
background: rgba(248, 81, 73, 0.18);
color: var(--mk-fail);
}
#page-market .market-sc-body{
padding: 0;
max-height: 200px;
overflow-y: auto;
}
#page-market .market-sc-row{
display: flex;
align-items: center;
gap: 10px;
padding: 7px 16px;
border-bottom: 1px solid var(--border);
font-size: 12px;
font-family: var(--font-mono);
}
#page-market .market-sc-row:last-child{border-bottom: none;}
#page-market .market-sc-row.pass .market-sc-icon{color: var(--mk-pass);}
#page-market .market-sc-row.warn{background: rgba(210, 153, 34, 0.04);}
#page-market .market-sc-row.warn .market-sc-icon{color: var(--mk-warn);}
#page-market .market-sc-row.fail{background: rgba(248, 81, 73, 0.04);}
#page-market .market-sc-row.fail .market-sc-icon{color: var(--mk-fail);}
#page-market .market-sc-icon{font-size: 13px;width: 14px;}
#page-market .market-sc-seg{color: var(--text2);min-width: 120px;}
#page-market .market-sc-ok{color: var(--mk-pass);}


#page-market .market-mdout,
#market-preview-mask .market-mdout,
#market-history-view-mask .market-mdout{
font-size: 13px;
line-height: 1.65;
}

#page-market .market-mdout p,
#market-preview-mask .market-mdout p,
#market-history-view-mask .market-mdout p{
margin: 0.5em 0;
}







.market-btn-busy{
cursor: progress !important;
opacity: 0.92;
}
.market-spinner-dot{
display: inline-block;
width: 12px;
height: 12px;
border: 2px solid currentColor;
border-right-color: transparent;
border-radius: 50%;
vertical-align: -2px;
margin-right: 6px;
animation: market-spin 0.8s linear infinite;
}
@keyframes market-spin{
from{transform: rotate(0deg);}
to{transform: rotate(360deg);}
}


#page-market .market-mdout hr,
#market-preview-mask .market-mdout hr,
#market-history-view-mask .market-mdout hr{
border: 0;
border-top: 1px solid var(--border);
margin: 10px 0;
}
#page-market .market-mdout h3,
#market-preview-mask .market-mdout h3,
#market-history-view-mask .market-mdout h3{
font-size: 15px;
font-weight: 600;
color: var(--text);
margin: 1.2em 0 0.6em;
}
#page-market .market-mdout h4,
#market-preview-mask .market-mdout h4,
#market-history-view-mask .market-mdout h4{
font-size: 13px;
font-weight: 600;
color: var(--accent2);
margin: 1.2em 0 0.6em;
}
#page-market .market-mdout blockquote,
#market-preview-mask .market-mdout blockquote,
#market-history-view-mask .market-mdout blockquote{
border-left: 3px solid var(--accent);
background: rgba(230,126,34,0.05);
padding: 6px 14px;
margin: 10px 0;
color: var(--text2);
}
#page-market .market-mdout blockquote p,
#market-preview-mask .market-mdout blockquote p,
#market-history-view-mask .market-mdout blockquote p{
margin: 2px 0;
}
#page-market .market-mdout strong,
#market-preview-mask .market-mdout strong,
#market-history-view-mask .market-mdout strong{
font-weight: 600;
color: var(--accent2);
}

#page-market .market-mdout .market-anchor-line strong,
#market-preview-mask .market-mdout .market-anchor-line strong,
#market-history-view-mask .market-mdout .market-anchor-line strong{
color: inherit;
}
#page-market .market-mdout h2,
#market-preview-mask .market-mdout h2,
#market-history-view-mask .market-mdout h2{
font-size: 18px;
color: var(--accent);
margin: 1.2em 0 0.6em;
font-weight: 600;
}
#page-market .market-mdout h2:first-child,
#market-preview-mask .market-mdout h2:first-child,
#market-history-view-mask .market-mdout h2:first-child{margin-top: 0;}
#page-market .market-mdout table,
#market-preview-mask .market-mdout table,
#market-history-view-mask .market-mdout table{
border-collapse: collapse;
margin: 10px 0;
font-size: 12px;
}
#page-market .market-mdout th,
#page-market .market-mdout td,
#market-preview-mask .market-mdout th,
#market-preview-mask .market-mdout td,
#market-history-view-mask .market-mdout th,
#market-history-view-mask .market-mdout td{
border: 1px solid var(--border);
padding: 6px 10px;
text-align: left;
}
#page-market .market-mdout th,
#market-preview-mask .market-mdout th,
#market-history-view-mask .market-mdout th{
background: var(--bg3);
color: var(--text2);
}

#page-market .market-mdout table td:first-child,
#market-preview-mask .market-mdout table td:first-child,
#market-history-view-mask .market-mdout table td:first-child{
color: var(--accent2);
font-weight: 600;
white-space: nowrap;
}
#page-market .market-mdout td.market-seg-time,
#market-preview-mask .market-mdout td.market-seg-time,
#market-history-view-mask .market-mdout td.market-seg-time{
color: var(--accent);
font-weight: 600;
font-family: var(--font-mono);
white-space: nowrap;
}
#page-market .market-mdout .market-seg-header,
#market-preview-mask .market-mdout .market-seg-header,
#market-history-view-mask .market-mdout .market-seg-header{
color: var(--accent);
font-weight: 600;
font-size: 14px;
margin: 18px 0 6px;
border-left: 3px solid var(--accent);
padding-left: 10px;
}

#page-market .market-mdout .market-seg-line,
#market-preview-mask .market-mdout .market-seg-line,
#market-history-view-mask .market-mdout .market-seg-line{
color: var(--accent);
font-weight: 600;
margin: 16px 0 4px;
border-left: 3px solid var(--accent);
padding-left: 10px;
}
#page-market .market-mdout .market-anchor-line,
#market-preview-mask .market-mdout .market-anchor-line,
#market-history-view-mask .market-mdout .market-anchor-line{
color: var(--accent);
margin: 3px 0 6px;
font-size: 12.5px;
line-height: 1.65;
}
#page-market .market-mdout .market-anchor-line .market-hl,
#market-preview-mask .market-mdout .market-anchor-line .market-hl,
#market-history-view-mask .market-mdout .market-anchor-line .market-hl{font-weight: 600;}
#page-market .market-mdout .market-narrative,
#market-preview-mask .market-mdout .market-narrative,
#market-history-view-mask .market-mdout .market-narrative{
line-height: 1.75;
margin: 6px 0;
color: var(--text);
}
#page-market .market-mdout .market-narrative .market-hl-time,
#market-preview-mask .market-mdout .market-narrative .market-hl-time,
#market-history-view-mask .market-mdout .market-narrative .market-hl-time{
color: var(--accent);
font-weight: 600;
font-family: var(--font-mono);
font-size: 14px;
}


#page-market .market-user-timelabel,
#market-preview-mask .market-user-timelabel,
#market-history-view-mask .market-user-timelabel{
font-family: var(--font-mono);
font-size: 11px;
color: var(--text3);
margin-bottom: 18px;
padding-bottom: 12px;
border-bottom: 1px dashed var(--border);
letter-spacing: 0.3px;
font-weight: normal;
}





#page-market .market-manual-wrap{
flex: 1;
display: flex;
overflow: hidden;
}
#page-market .market-manual-edit{
flex: 1;
min-width: 0;
padding: 20px 24px;
background: var(--bg);
overflow-y: auto;
border-right: 1px solid var(--border);
}
#page-market .market-manual-preview{
flex: 1;
min-width: 0;
padding: 20px 24px;
background: var(--bg2);
overflow-y: auto;
}
#page-market .market-manual-section{margin-bottom: 24px;}
#page-market .market-section-bar{
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 12px;
padding-bottom: 8px;
border-bottom: 1px solid var(--border);
}
#page-market .market-section-title{
font-size: 13px;
color: var(--accent);
font-weight: 600;
font-family: var(--font-mono);
letter-spacing: 1px;
text-transform: uppercase;
}
#page-market .market-section-bar .market-btn{
margin-left: auto;
padding: 4px 10px;
font-size: 10px;
}

#page-market .market-seg-card{
background: var(--bg2);
border: 1px solid var(--border);
border-radius: 6px;
padding: 12px 14px;
margin-bottom: 10px;
position: relative;
}
#page-market .market-seg-card-head{
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 8px;
flex-wrap: wrap;
}
#page-market .market-seg-card-num{
font-family: var(--font-mono);
font-size: 10px;
color: var(--text3);
letter-spacing: 1px;
min-width: 38px;
}
#page-market .market-seg-card .market-seg-time-input{
display: flex;
align-items: center;
gap: 6px;
font-size: 11px;
font-family: var(--font-mono);
color: var(--text2);
}
#page-market .market-seg-card .market-seg-actions{
margin-left: auto;
display: flex;
gap: 4px;
}
#page-market .market-seg-icon-btn{
background: transparent;
border: 1px solid var(--border);
color: var(--text3);
width: 24px;
height: 22px;
border-radius: 4px;
cursor: pointer;
font-size: 10px;
transition: all .15s;
}
#page-market .market-seg-icon-btn:hover{
color: var(--accent);
border-color: var(--accent);
}
#page-market .market-seg-icon-btn.danger:hover{
color: var(--mk-fail);
border-color: var(--mk-fail);
}
#page-market .market-seg-input{
width: 100%;
background: rgba(255, 255, 255, 0.04);
border: 1px solid var(--border);
border-radius: 5px;
color: var(--text);
font-family: inherit;
font-size: 12.5px;
padding: 7px 10px;
outline: none;
transition: border-color .15s;
}
#page-market .market-seg-input:focus{border-color: var(--accent);}
#page-market textarea.market-seg-input{
resize: vertical;
min-height: 36px;
line-height: 1.5;
}
#page-market textarea.market-seg-narrative{min-height: 60px;}
#page-market .market-seg-label{
display: block;
font-size: 9px;
color: var(--text3);
text-transform: uppercase;
letter-spacing: 1px;
font-family: var(--font-mono);
margin: 6px 0 4px;
}

#page-market .market-time-btn{
background: rgba(255, 255, 255, 0.04);
border: 1px solid var(--border);
color: var(--text);
font-family: var(--font-mono);
font-size: 11px;
padding: 5px 10px;
border-radius: 5px;
cursor: pointer;
transition: all .15s;
min-width: 60px;
text-align: center;
}
#page-market .market-time-btn:hover{
border-color: var(--accent);
color: var(--accent);
}
#page-market .market-time-btn.empty{color: var(--text3);}

#page-market .market-anchor-list{margin-top: 8px;}
#page-market .market-anchor-row{
display: flex;
align-items: center;
gap: 6px;
margin-bottom: 5px;
font-size: 11px;
flex-wrap: wrap;
}
#page-market .market-anchor-type{
background: var(--bg3);
border: 1px solid var(--border);
color: var(--accent);
font-family: var(--font-mono);
font-size: 10px;
padding: 3px 8px;
border-radius: 4px;
min-width: 130px;
letter-spacing: 0.3px;
}
#page-market .market-anchor-row .market-anchor-extra{
display: flex;
gap: 5px;
align-items: center;
}
#page-market .market-anchor-row select.market-exec-mode{
font-size: 10px;
padding: 3px 6px;
min-width: auto;
width: auto;
}
#page-market .market-anchor-row .market-seg-icon-btn{margin-left: auto;}
#page-market .market-anchor-add-bar{
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 8px;
padding-top: 8px;
border-top: 1px dashed var(--border);
}
#page-market .market-anchor-add-bar .market-btn{
padding: 3px 8px;
font-size: 9px;
letter-spacing: 0.8px;
}





#page-market .market-history-wrap{
flex: 1;
padding: 24px 32px;
overflow-y: auto;
}
#page-market .market-h-section-title{
font-size: 13px;
color: var(--text2);
font-family: var(--font-mono);
letter-spacing: 1.5px;
text-transform: uppercase;
margin-bottom: 12px;
font-weight: 600;
}
#page-market .market-h-section{
margin-bottom: 32px;
max-width: 900px;
}
#page-market .market-h-row{
display: flex;
align-items: center;
gap: 14px;
background: var(--bg2);
border: 1px solid var(--border);
border-radius: 6px;
padding: 12px 16px;
margin-bottom: 8px;
transition: all .15s;
}
#page-market .market-h-row:hover{border-color: var(--text3);}
#page-market .market-h-row .market-h-date{
font-family: var(--font-mono);
font-size: 13px;
color: var(--text);
min-width: 110px;
}
#page-market .market-h-row .market-h-meta{
flex: 1;
font-size: 12px;
color: var(--text2);
}
#page-market .market-h-row .market-h-source{
font-family: var(--font-mono);
font-size: 10px;
padding: 2px 8px;
border-radius: 4px;
background: var(--bg3);
color: var(--text2);
letter-spacing: 0.5px;
}
#page-market .market-h-row .market-h-source.ai{
background: rgba(63, 185, 80, 0.12);
color: var(--mk-pass);
}
#page-market .market-h-row .market-h-source.manual{
background: rgba(230, 126, 34, 0.12);
color: var(--accent);
}
#page-market .market-h-row .market-h-row-actions{
display: flex;
gap: 6px;
}
#page-market .market-h-row .market-btn{
padding: 4px 12px;
font-size: 10px;
}
#page-market .market-h-row.retracted{
opacity: .55;
background: transparent;
}
#page-market .market-h-row.retracted .market-h-source{
background: rgba(248, 81, 73, 0.12);
color: var(--mk-fail);
}

#page-market .market-empty-hint{
text-align: center;
color: var(--text3);
font-size: 13px;
font-family: var(--font-mono);
padding: 60px 20px;
}






.market-tp-mask{
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.55);
z-index: 2010;
display: none;
align-items: center;
justify-content: center;
}
.market-tp-mask.show{display: flex;}
.market-tp-panel{
background: var(--bg2);
border: 1px solid var(--border2);
border-radius: 12px;
padding: 0;
width: 300px;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
overflow: hidden;
}
.market-tp-head{
padding: 14px 20px;
border-bottom: 1px solid var(--border);
display: flex;
align-items: center;
justify-content: space-between;
}
.market-tp-head h3{
font-size: 13px;
font-weight: 600;
color: var(--text);
letter-spacing: 0.5px;
}
.market-tp-head .market-tp-x{
background: transparent;
border: none;
color: var(--text3);
font-size: 18px;
cursor: pointer;
line-height: 1;
}
.market-tp-head .market-tp-x:hover{color: var(--text);}
.market-tp-body{
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
padding: 24px 20px;
}
.market-tp-wheel{
display: flex;
flex-direction: column;
align-items: center;
height: 172px;
width: 64px;
overflow-y: scroll;
scroll-snap-type: y mandatory;
scrollbar-width: none;
border: 1px solid var(--border);
border-radius: 6px;
background: rgba(255, 255, 255, 0.02);
position: relative;
}
.market-tp-wheel::-webkit-scrollbar{display: none;}
.market-tp-wheel-pad{height: 64px;flex-shrink: 0;}
.market-tp-wheel-item{
height: 44px;
min-height: 44px;
line-height: 44px;
width: 100%;
text-align: center;
cursor: pointer;
font-family: var(--font-mono);
font-size: 18px;
color: var(--text2);
scroll-snap-align: center;
transition: color .15s, background .15s;
user-select: none;
}
.market-tp-wheel-item:hover{
background: rgba(230, 126, 34, 0.06);
color: var(--text);
}
.market-tp-wheel-item.sel{
color: var(--accent);
font-weight: 600;
font-size: 20px;
}
.market-tp-colon{
font-size: 22px;
color: var(--accent);
font-weight: 600;
font-family: var(--font-mono);
}
.market-tp-foot{
padding: 14px 20px;
border-top: 1px solid var(--border);
display: flex;
gap: 10px;
justify-content: flex-end;
}
.market-tp-foot .market-btn{
padding: 6px 18px;
font-size: 11px;
}






.market-cal-pop{
position: fixed;
z-index: 2005;
display: none;
background: var(--bg2);
border: 1px solid var(--border2);
border-radius: 10px;
width: 280px;
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
overflow: hidden;
}
.market-cal-pop.open{display: block;}
.market-cal-head{
padding: 10px 14px;
border-bottom: 1px solid var(--border);
display: flex;
align-items: center;
gap: 8px;
}
.market-cal-head h3{
flex: 1;
text-align: center;
font-size: 12px;
font-weight: 600;
color: var(--text);
letter-spacing: 0.5px;
font-family: var(--font-mono);
}
.market-cal-nav,
.market-cal-x{
background: transparent;
border: none;
color: var(--text2);
font-size: 16px;
cursor: pointer;
line-height: 1;
padding: 2px 6px;
border-radius: 4px;
}
.market-cal-nav:hover,
.market-cal-x:hover{
color: var(--text);
background: rgba(255, 255, 255, 0.04);
}
.market-cal-x{color: var(--text3);}
.market-cal-weekdays{
display: grid;
grid-template-columns: repeat(7, 1fr);
padding: 6px 10px 2px;
font-family: var(--font-mono);
font-size: 9px;
color: var(--text3);
text-align: center;
letter-spacing: 0.5px;
}
.market-cal-grid{
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 1px;
padding: 2px 10px 8px;
}
.market-cal-day{
aspect-ratio: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
border-radius: 5px;
cursor: pointer;
position: relative;
transition: background .12s, border-color .12s;
border: 1px solid transparent;
}
.market-cal-day:hover:not(.weekend):not(.other-month){
background: rgba(230, 126, 34, 0.08);
}
.market-cal-day-num{
font-family: var(--font-mono);
font-size: 12px;
color: var(--text);
}
.market-cal-day.other-month{opacity: .25;cursor: default;}
.market-cal-day.weekend{opacity: .45;cursor: default;}
.market-cal-day.weekend .market-cal-day-num{color: var(--text3);}
.market-cal-day.today{border-color: var(--accent);}
.market-cal-day.selected{background: var(--accent);}
.market-cal-day.selected .market-cal-day-num{
color: #fff;
font-weight: 600;
}
.market-cal-dot{
width: 4px;
height: 4px;
border-radius: 50%;
margin-top: 2px;
background: transparent;
}
.market-cal-dot.published{background: #4d9fff;}
.market-cal-dot.draft{background: var(--mk-warn);}
.market-cal-day.selected .market-cal-dot.published{background: #fff;}
.market-cal-day.selected .market-cal-dot.draft{background: #fff;}
.market-cal-legend{
padding: 6px 14px 10px;
display: flex;
gap: 12px;
font-family: var(--font-mono);
font-size: 10px;
color: var(--text3);
border-top: 1px solid var(--border);
}
.market-cal-legend-item{
display: flex;
align-items: center;
gap: 4px;
}
.market-cal-legend-dot{
width: 5px;
height: 5px;
border-radius: 50%;
}
.market-cal-legend-dot.published{background: #4d9fff;}
.market-cal-legend-dot.draft{background: var(--mk-warn);}






.market-history-view-mask{
position: fixed;
inset: 0;
background: var(--bg);
z-index: 1905;
display: none;
flex-direction: column;
}
.market-history-view-mask.show{display: flex;}
.market-history-view-topbar{
padding: 12px 28px;
background: var(--bg3);
border-bottom: 1px solid var(--border);
display: flex;
align-items: center;
gap: 12px;
flex-shrink: 0;
}
.market-history-view-icon{
font-size: 16px;
color: var(--accent);
}
.market-history-view-label{
flex: 1;
font-size: 12px;
font-family: var(--font-mono);
color: var(--text);
letter-spacing: 0.3px;
}
.market-history-view-date{
font-family: var(--font-mono);
font-size: 13px;
color: var(--accent);
font-weight: 600;
}
.market-history-view-x{
background: transparent;
border: none;
color: var(--text3);
font-size: 20px;
cursor: pointer;
line-height: 1;
padding: 0 6px;
}
.market-history-view-x:hover{color: var(--text);}
.market-history-view-scroll{
flex: 1;
overflow-y: auto;
padding: 36px 24px 24px;
}
.market-history-view-scroll > .market-report-frame{
max-width: 920px;
margin: 0 auto;
}
.market-history-view-footbar{
padding: 14px 24px;
background: var(--bg3);
border-top: 1px solid var(--border);
display: flex;
gap: 10px;
justify-content: center;
flex-shrink: 0;
}






.market-preview-mask{
position: fixed;
inset: 0;
background: var(--bg);
z-index: 1905;
display: none;
flex-direction: column;
}
.market-preview-mask.show{display: flex;}
.market-preview-topbar{
padding: 12px 28px;
background: var(--bg3);
border-bottom: 1px solid var(--border);
display: flex;
align-items: center;
gap: 12px;
flex-shrink: 0;
}
.market-preview-icon{font-size: 16px;}
.market-preview-label{
flex: 1;
font-size: 12px;
font-family: var(--font-mono);
color: var(--accent);
letter-spacing: 0.5px;
}
.market-preview-x{
background: transparent;
border: none;
color: var(--text3);
font-size: 20px;
cursor: pointer;
line-height: 1;
padding: 0 6px;
}
.market-preview-x:hover{color: var(--text);}
.market-preview-scroll{
flex: 1;
overflow-y: auto;
padding: 36px 24px 24px;
}
.market-preview-scroll > .market-report-frame{
max-width: 920px;
margin: 0 auto;
}
.market-preview-scroll > .market-empty-hint{
max-width: 920px;
margin: 60px auto;
text-align: center;
}
.market-preview-footbar{
padding: 14px 24px;
background: var(--bg3);
border-top: 1px solid var(--border);
display: flex;
gap: 10px;
justify-content: center;
flex-shrink: 0;
}
.market-preview-footbar .market-btn{
padding: 8px 22px;
font-size: 12px;
}





.market-toast{
position: fixed;
top: 80px;
right: 24px;
background: var(--bg2);
border: 1px solid var(--border2);
color: var(--text);
padding: 12px 20px;
border-radius: 8px;
font-size: 13px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
z-index: 2020;
opacity: 0;
transform: translateY(-10px);
transition: opacity .2s, transform .2s;
pointer-events: none;
}
.market-toast.show{
opacity: 1;
transform: translateY(0);
}
.market-toast.success{border-color: var(--mk-pass);}
.market-toast.warn{border-color: var(--mk-warn);}
.market-toast.fail{border-color: var(--mk-fail);}





#page-market .market-loading-text{
color: var(--text2);
font-family: var(--font-mono);
font-size: 12px;
}










#page-market{
--market-k-green: #26a69a;
--market-k-red:   #ef5350;
--market-k-gold:  #c9a84c;
--market-k-gray:  #787b86;
--market-k-seghead: var(--accent2);
--market-k-hl: var(--bg3);
}


#page-market #market-k-root{display: flex;flex-direction: column;min-width: 0;}


#page-market #market-ai-content.market-k-mode{display: flex;flex-direction: column;overflow: hidden;padding: 8px 24px 10px;}
#page-market #market-ai-content.market-k-mode #market-k-root{flex: 1 1 auto;min-height: 0;}

#page-market #market-k-stage{display: flex;flex-direction: column;flex: 1 1 auto;min-height: 0;}


#page-market .market-k-controls{display: flex;flex-wrap: wrap;align-items: center;gap: 7px 10px;margin: 0 0 5px;padding: 6px 13px;background: var(--bg2);border: 1px solid var(--border);border-radius: 10px;}
#page-market .market-k-controls label{display: inline-flex;align-items: center;gap: 4px;font-size: 12px;color: var(--text2);cursor: pointer;user-select: none;}
#page-market .market-k-controls input[type=checkbox]{accent-color: var(--accent);cursor: pointer;}
#page-market .market-k-controls .market-k-sep{width: 1px;height: 16px;background: var(--border2);}
#page-market .market-k-controls .market-k-grp{display: inline-flex;align-items: center;gap: 8px;}
#page-market .market-k-controls .market-k-grp b{font-size: 11px;color: var(--text2);font-weight: 600;margin-right: 2px;letter-spacing: .5px;}
#page-market .market-k-vbtn{font-size: 11.5px;color: var(--text2);background: var(--bg3);border: 1px solid var(--border2);border-radius: 6px;padding: 3px 10px;cursor: pointer;transition: .12s;}
#page-market .market-k-vbtn:hover{background: var(--bg2);color: var(--text);border-color: var(--accent);}


#page-market #market-k-ohlc{display: flex;align-items: center;min-height: 24px;margin: 0 0 4px;padding: 3px 12px;background: var(--bg2);border: 1px solid var(--border);border-radius: 8px;font-size: 11.5px;color: var(--text2);font-family: var(--font-mono);white-space: nowrap;overflow: hidden;}
#page-market #market-k-ohlc b{color: var(--text);font-weight: 700;margin-right: 8px;}
#page-market #market-k-ohlc i{font-style: normal;color: var(--text);margin: 0 8px 0 4px;}


#page-market .market-k-legend{display: flex;flex-wrap: wrap;gap: 8px 10px;font-size: 11px;color: var(--text2);margin-bottom: 4px;padding: 0 2px;}
#page-market .market-k-legend .lg{display: inline-flex;align-items: center;gap: 5px;}
#page-market .market-k-legend .sw{width: 14px;height: 14px;border-radius: 3px;display: inline-block;}
#page-market .market-k-legend .dot{width: 11px;height: 11px;border-radius: 50%;display: inline-block;}
#page-market .market-k-legend .ln{width: 18px;height: 0;border-top: 2px solid;display: inline-block;}
#page-market .market-k-legend .tri{width: 0;height: 0;border-left: 5px solid transparent;border-right: 5px solid transparent;}
#page-market .market-k-legend b{color: var(--text2);font-family: var(--font-mono);font-weight: 600;margin-left: 1px;}


#page-market #market-k-wrap{position: relative;width: 100%;background: var(--bg2);border: 1px solid var(--border);border-radius: 10px;overflow: hidden;flex: 1 1 auto;min-height: 0;}
#page-market #market-k-main{width: 100%;height: 100%;min-height: 300px;}
#page-market #market-k-svg{position: absolute;left: 0;top: 0;width: 100%;height: 100%;pointer-events: none;z-index: 2;}
#page-market #market-k-svg text{font-family: var(--font-base);font-size: 11px;font-weight: 600;}
#page-market #market-k-tip{position: absolute;z-index: 5;pointer-events: none;display: none;max-width: 290px;background: rgba(16,20,28,.95);color: #eef1f6;border: 1px solid rgba(255,255,255,.08);border-radius: 9px;padding: 8px 11px;font-size: 12px;line-height: 1.5;box-shadow: 0 10px 30px rgba(0,0,0,.5);}
#page-market #market-k-tip .tt-time{font-family: var(--font-mono);font-size: 11px;color: #8fb3ff;}
#page-market #market-k-tip .tt-label{display: inline-block;margin: 3px 0;padding: 1px 8px;border-radius: 10px;font-size: 11px;font-weight: 600;}
#page-market #market-k-tip .tt-note{color: #dfe3ea;}



#page-market #market-k-report{margin-top: 0;background: var(--bg2);border: 1px solid var(--border);border-radius: 10px;padding: 0 22px 14px;position: relative;flex: 0 0 auto;height: 28%;min-height: 160px;max-height: 400px;overflow-y: auto;}

#page-market #market-k-splitter{flex: 0 0 auto;height: 10px;margin: 3px 0;cursor: row-resize;display: flex;align-items: center;justify-content: center;}
#page-market #market-k-splitter::before{content: '';width: 50px;height: 3px;border-radius: 2px;background: var(--border2);transition: background .12s;}
#page-market #market-k-splitter:hover::before{background: var(--accent);}
#page-market #market-k-report::-webkit-scrollbar{width: 10px;}
#page-market #market-k-report::-webkit-scrollbar-track{background: transparent;}
#page-market #market-k-report::-webkit-scrollbar-thumb{background: var(--border2);border-radius: 6px;border: 2px solid var(--bg2);}
#page-market #market-k-sticky{position: sticky;top: 0;z-index: 3;background: var(--bg2);border-bottom: 1px solid var(--border);margin: 0 -22px 2px;padding: 9px 22px;font-size: 12.5px;font-weight: 600;color: var(--market-k-seghead);display: none;}
#page-market #market-k-sticky .st-dim{color: var(--text2);font-weight: 400;font-size: 11.5px;margin-left: 8px;}


#page-market .market-k-link{cursor: pointer;border-radius: 5px;transition: background .12s;}
#page-market tr.market-k-link:hover, #page-market tr.market-k-link.active{background: var(--market-k-hl);}
#page-market p.market-k-link:hover, #page-market p.market-k-link.active{background: var(--market-k-hl);}
