/* V1 · TRADING DESK — EFUN GENESIS
   配色:黑底 + 橙黄(主) + 绿/红涨跌 + 灰次文本
   字体:JetBrains Mono / SF Mono / Menlo
*/
:root{
  --bg:#050505;--panel:#0c0c0c;--panel-2:#101010;
  --line:#1a1a1a;--line2:#262626;
  --text:#d9dad7;--dim:#777;--mute:#555;
  --orange:#ffa716;--orange-2:#ff7920;
  --green:#26d07c;--red:#ff4561;
}
*{margin:0;padding:0;box-sizing:border-box;}
html,body{background:var(--bg);color:var(--text);}
body{
  font-family:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  font-size:12px;line-height:1.5;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
input{font-family:inherit;}

/* ============ TICKER ============ */
.v1-ticker{
  background:#000;border-bottom:1px solid var(--line);
  padding:6px 14px;display:flex;gap:28px;
  font-size:10.5px;letter-spacing:.12em;
  overflow:hidden;white-space:nowrap;
}
.v1-ticker span{color:var(--dim);}
.v1-ticker b{color:var(--text);font-weight:500;}
.v1-ticker .up{color:var(--green);}
.v1-ticker .dn{color:var(--red);}

/* ============ TOP NAV ============ */
.v1-nav{
  display:flex;align-items:center;
  padding:10px 14px;border-bottom:1px solid var(--line);
  background:var(--panel);
}
.v1-nav .v1-logo{
  font-weight:700;letter-spacing:.18em;
  color:var(--orange);margin-right:24px;
}
.v1-nav a{
  color:var(--dim);letter-spacing:.14em;
  padding:6px 10px;font-size:11px;
  border:1px solid transparent;
}
.v1-nav a.on{color:var(--text);border-color:var(--line2);background:#161616;}
.v1-nav a:hover{color:var(--text);}
.v1-nav .v1-grow{flex:1;}
.locale-switch{margin-right:14px;display:flex;gap:6px;}
.locale-switch button{
  background:none;color:var(--dim);border:1px solid var(--line2);
  padding:5px 10px;font-size:10.5px;letter-spacing:.14em;
}
.locale-switch button.active,.locale-switch button:hover{color:var(--orange);border-color:var(--orange);}
.v1-wallet{
  background:var(--orange);color:#000;border:0;
  padding:6px 14px;font-size:11px;font-weight:600;letter-spacing:.12em;
}
.v1-wallet:hover{background:#ffb840;}
.v1-wallet:disabled{background:#333;color:var(--dim);cursor:not-allowed;}

/* ============ MAIN GRID ============ */
.v1-main{display:grid;grid-template-columns:1.4fr 1fr;gap:1px;background:var(--line);}
.v1-col{background:var(--bg);padding:14px;display:flex;flex-direction:column;gap:14px;}

/* ============ QUOTE ROW ============ */
.v1-quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);}
.v1-quote{background:var(--panel);padding:14px;}
.v1-quote .v1-label{color:var(--dim);font-size:10px;letter-spacing:.18em;}
.v1-quote .v1-val{
  font-size:22px;color:var(--text);letter-spacing:-.02em;
  margin-top:6px;font-weight:500;line-height:1.2;
}
.v1-quote .v1-val .v1-pct{
  font-size:13px;color:var(--green);margin-left:8px;letter-spacing:0;
}
.v1-quote .v1-meta{color:var(--dim);font-size:10.5px;margin-top:6px;}
.v1-pulse{position:relative;display:inline-block;}
.v1-pulse::after{
  content:"";position:absolute;top:50%;right:-14px;
  width:6px;height:6px;background:var(--green);border-radius:50%;
  transform:translateY(-50%);box-shadow:0 0 12px var(--green);
  animation:v1bk 1.2s infinite;
}
@keyframes v1bk{50%{opacity:.35;}}

/* ============ PANEL ============ */
.v1-panel{background:var(--panel);border:1px solid var(--line);}
.v1-panel h3{
  font-size:10.5px;letter-spacing:.18em;color:var(--dim);font-weight:500;
  padding:10px 14px;border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;
}
.v1-panel h3 .v1-tag{color:var(--orange);}
.v1-panel .v1-body{padding:14px;}

/* ============ TABLE ============ */
.v1-table{width:100%;border-collapse:collapse;font-size:11px;}
.v1-table th{
  text-align:left;color:var(--dim);font-weight:400;letter-spacing:.12em;
  padding:6px 0;border-bottom:1px solid var(--line);
}
.v1-table td{padding:6px 0;border-bottom:1px solid var(--line);color:var(--text);}
.v1-table td.r{text-align:right;}
.v1-table .up{color:var(--green);}
.v1-table .dn{color:var(--red);}

/* ============ PROGRESS BLOCKS (28 段) ============ */
.v1-blockbar{margin-top:14px;}
.v1-blockbar #progress-blocks{
  display:grid;grid-template-columns:repeat(28,1fr);gap:2px;
  height:8px;
}
.v1-blockbar .block{background:#1a1a1a;height:100%;display:block;}
.v1-blockbar .block.on{
  background:var(--orange);
  box-shadow:0 0 8px rgba(255,167,22,0.5);
}
.v1-pmeta{display:flex;justify-content:space-between;color:var(--dim);font-size:10.5px;margin-top:8px;}
.v1-pmeta b,.v1-pmeta #presale-percent{color:var(--text);font-weight:500;}

/* ============ OPERATOR / TERMINAL ============ */
#operator-readout,#mint-readout{
  color:var(--dim);font-size:10.5px;line-height:1.7;
  font-family:inherit;white-space:pre-wrap;
}
.v1-op-buttons{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.v1-op-buttons button{
  flex:1;min-width:0;
  background:#141414;color:var(--text);border:1px solid var(--line2);
  padding:9px 10px;font-size:10.5px;letter-spacing:.14em;
}
.v1-op-buttons button:hover:not(:disabled){border-color:var(--orange);color:var(--orange);}
.v1-op-buttons button:disabled{color:var(--mute);cursor:not-allowed;}
.v1-op-foot{
  display:flex;justify-content:space-between;
  margin-top:12px;padding-top:10px;border-top:1px solid var(--line);
  font-size:10px;letter-spacing:.16em;color:var(--dim);
}
.v1-op-foot #operator-status{color:var(--orange);}

#terminal-log{
  padding:14px;font-size:10.5px;color:var(--dim);line-height:1.7;
  max-height:240px;overflow:auto;
}
#terminal-log p{margin:0;}

/* ============ MINT FORM ============ */
.v1-form{
  margin-top:24px;
}
.v1-form label{
  display:block;color:var(--dim);font-size:10.5px;
  letter-spacing:.14em;margin-bottom:6px;
}
.v1-form input{
  width:100%;background:#0a0a0a;color:var(--text);
  border:1px solid var(--line);padding:10px 12px;font-size:14px;margin-bottom:12px;
}
.v1-form input:focus{outline:none;border-color:var(--orange);}
.v1-presets{display:flex;gap:6px;margin-bottom:8px;}
.v1-presets button{
  flex:1;background:#0a0a0a;color:var(--dim);
  border:1px solid var(--line2);
  padding:6px 8px;font-size:10.5px;letter-spacing:.08em;font-family:inherit;
  cursor:pointer;
}
.v1-presets button:hover{border-color:var(--orange);color:var(--orange);}
.v1-form .v1-grp{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.v1-form .v1-grp > div{margin-bottom:12px;}
.v1-form .v1-grp input{margin-bottom:0;}
.v1-form button{
  width:100%;background:var(--orange);color:#000;border:0;
  padding:12px;font-size:12px;font-weight:600;letter-spacing:.14em;margin-top:4px;
}
.v1-form button:hover:not(:disabled):not(.v1-pending){background:#ffb840;}
.v1-form button:disabled{background:#333;color:var(--dim);cursor:not-allowed;}
/* mint 按钮在非 MINT_WINDOW_OPEN 时的视觉:灰底但 cursor pointer,允许用户点击触发 terminal 指引。 */
.v1-form button.v1-pending{background:#1d1d1d;color:var(--dim);cursor:pointer;}
.v1-form button.v1-pending:hover{background:#262626;color:var(--text);}
/* terminal 黄字指引(mintEfun phase 不对时使用)。 */
#terminal-log .v1-hint{color:var(--orange);}

/* ============ SOCIAL FEED (app.js 渲染 .feed-card) ============ */
#social-feed{display:flex;flex-direction:column;gap:1px;background:var(--line);}
#social-feed .feed-card{
  background:var(--panel);padding:8px 14px;font-size:10.5px;
  display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;
}
#social-feed .feed-card .split{
  grid-column:1 / -1;display:flex;justify-content:space-between;
  color:var(--green);font-weight:600;letter-spacing:.1em;
}
#social-feed .feed-card .split span:last-child{color:var(--dim);font-weight:400;}
#social-feed .feed-card p:nth-child(2){color:var(--text);}
#social-feed .feed-card p:nth-child(3){color:var(--orange);}

/* ============ DIRECTIVES ============ */
.v1-directives{
  background:var(--panel);border-top:1px solid var(--line);padding:24px 14px;
}
.v1-doc{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);}
.v1-doc article{background:var(--panel);padding:18px;}
.v1-doc h2{
  font-size:13px;font-weight:600;letter-spacing:.12em;color:var(--orange);
  margin-bottom:10px;
}
.v1-doc .v1-num{color:var(--dim);font-size:10px;letter-spacing:.18em;margin-bottom:4px;}
.v1-doc p{color:var(--text);font-size:11px;line-height:1.6;margin-bottom:6px;}
.v1-doc article > p:nth-of-type(1){display:none;} /* 隐藏 "==========" 装饰 */

/* ============ FOOTER ============ */
.v1-foot{
  padding:18px 14px;border-top:1px solid var(--line);background:#000;
  font-size:10px;letter-spacing:.14em;color:var(--dim);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
}
.v1-foot b{color:var(--text);}
.v1-foot .v1-live{color:var(--green);}

/* ============ MANIFEST CLOSE 按钮 隐藏 ============ */
.close-mark{display:none;}

/* ============ MISC ============ */
.v1-blink{animation:v1blink 1.2s infinite;}
@keyframes v1blink{50%{opacity:.4;}}

/* ============ MINING WAIT PAGE ============ */
.v1-wait-shell{
  min-height:calc(100vh - 90px);
  display:flex;align-items:center;justify-content:center;
  padding:48px 14px;
}
.v1-wait-card{
  max-width:720px;width:100%;
  background:var(--panel);border:1px solid var(--line);
}
.v1-wait-card .v1-wait-head{
  border-bottom:1px solid var(--line);padding:14px;
  display:flex;justify-content:space-between;align-items:baseline;
}
.v1-wait-card .v1-wait-head .v1-tag{color:var(--orange);letter-spacing:.18em;font-size:11px;}
.v1-wait-card .v1-wait-head .v1-meta{color:var(--dim);font-size:10.5px;letter-spacing:.14em;}
.v1-wait-card .v1-wait-body{padding:24px;}
.v1-wait-card h1{
  font-size:28px;font-weight:700;letter-spacing:-.02em;
  color:var(--text);margin-bottom:12px;
}
.v1-wait-card p{color:var(--dim);font-size:12px;line-height:1.7;margin-bottom:10px;}
.v1-wait-card .v1-pbar{
  height:8px;background:#181818;margin:18px 0 8px;overflow:hidden;
}
.v1-wait-card .v1-pbar i{
  display:block;height:100%;width:0%;
  background:linear-gradient(90deg,var(--orange),var(--orange-2));
  transition:width 1s linear;
}
.v1-wait-card .v1-pbar-meta{
  display:flex;justify-content:space-between;
  font-size:10.5px;color:var(--dim);letter-spacing:.12em;
}
.v1-wait-card .v1-pbar-meta b{color:var(--text);}
.v1-wait-cta{
  margin-top:24px;padding-top:18px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;
}
.v1-wait-cta span{color:var(--dim);font-size:10.5px;letter-spacing:.12em;}
.v1-wait-cta a{
  color:var(--orange);font-weight:600;letter-spacing:.14em;font-size:11px;
  border-bottom:1px solid var(--orange);padding-bottom:2px;
}
.v1-wait-cta a:hover{color:#ffb840;border-color:#ffb840;}

/* ============ VERIFY POST · SIDE DRAWER MODAL ============ */
.v1-verify-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,0.7);
  display:none;justify-content:flex-end;
  z-index:100;
}
.v1-verify-overlay.on{display:flex;}
.v1-verify-drawer{
  width:min(420px,100%);height:100vh;background:var(--panel);
  border-left:1px solid var(--orange);
  padding:24px;display:flex;flex-direction:column;
  animation:v1drawerin .25s ease-out;
}
@keyframes v1drawerin{from{transform:translateX(100%);}}
.v1-verify-head{
  border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:24px;
  display:flex;justify-content:space-between;align-items:center;
}
.v1-verify-head .v1-tag{color:var(--orange);font-size:10.5px;letter-spacing:.18em;}
.v1-verify-close{
  background:none;border:0;color:var(--mute);font-size:22px;line-height:1;
  cursor:pointer;font-family:inherit;padding:0;
}
.v1-verify-close:hover{color:var(--text);}
.v1-verify-body{flex:1;}
.v1-verify-body h2{
  font-size:20px;font-weight:600;color:var(--text);
  margin-bottom:8px;letter-spacing:-0.01em;
}
.v1-verify-body p{
  color:var(--dim);font-size:12px;margin-bottom:24px;line-height:1.6;
}
.v1-verify-body label{
  color:var(--dim);font-size:10.5px;letter-spacing:.14em;
  display:block;margin-bottom:8px;
}
.v1-verify-body input{
  width:100%;background:#0a0a0a;color:var(--text);
  border:1px solid var(--line);padding:12px 14px;
  font-family:inherit;font-size:13px;
}
.v1-verify-body input:focus{outline:none;border-color:var(--orange);}
.v1-verify-foot{display:flex;flex-direction:column;gap:8px;}
.v1-verify-foot button{
  padding:14px;font-family:inherit;font-size:12px;letter-spacing:.14em;
  border:0;cursor:pointer;
}
.v1-verify-foot .submit{
  background:var(--orange);color:#000;font-weight:600;
}
.v1-verify-foot .submit:hover{background:#ffb840;}
.v1-verify-foot .cancel{
  background:#141414;color:var(--dim);border:1px solid var(--line2);
}
.v1-verify-foot .cancel:hover{color:var(--text);}

/* 推文草稿 modal 内的推文预览区(手机端) */
.v1-tweet-body{
  background:#0a0a0a;border:1px solid var(--line);
  color:var(--text);padding:14px;font-size:12px;line-height:1.7;
  white-space:pre-wrap;word-break:break-word;font-family:inherit;
  margin-bottom:16px;
}

/* 中央 toast(5 秒自动消失,引导下一步动作) */
.v1-toast{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(0.95);
  background:var(--panel);border:1px solid var(--orange);
  box-shadow:0 0 32px rgba(255,167,22,0.25),0 8px 32px rgba(0,0,0,0.6);
  padding:22px 26px;max-width:380px;width:calc(100% - 48px);
  z-index:200;opacity:0;pointer-events:none;
  transition:opacity .25s ease,transform .25s ease;
}
.v1-toast.on{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto;}
.v1-toast-title{
  color:var(--orange);font-size:14px;font-weight:600;
  margin-bottom:10px;letter-spacing:.04em;
}
.v1-toast-body{
  color:var(--text);font-size:12.5px;line-height:1.7;
}

/* ============ 响应式 ============ */
@media (max-width:980px){
  .v1-main{grid-template-columns:1fr;}
  .v1-quotes{grid-template-columns:1fr;}
  .v1-doc{grid-template-columns:1fr;}
  .v1-nav{flex-wrap:wrap;gap:6px;}
}
