/* ============================================
   자동칩설계 (RF AI Designer) - Premium Dark
   ============================================ */

/* ── Status Badge ── */
.cd-status-badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 14px;border-radius:20px;
  font-size:.75rem;font-weight:600;
  background:rgba(148,163,184,.08);color:#94a3b8;
  border:1px solid rgba(148,163,184,.12);
}
.cd-status-badge.processing{background:rgba(129,140,248,.1);color:#818cf8;border-color:rgba(129,140,248,.2)}
.cd-status-badge.processing i{animation:cd-pulse 1s infinite}
.cd-status-badge.done{background:rgba(52,211,153,.1);color:#34d399;border-color:rgba(52,211,153,.2)}
@keyframes cd-pulse{0%,100%{opacity:1}50%{opacity:.3}}

/* ── Input Panel (2-column) ── */
.cd-input-panel{display:grid;grid-template-columns:1fr 360px;gap:20px;margin-bottom:24px}
.cd-input-left,.cd-input-right{min-width:0}

.cd-input-card,.cd-preview-card{
  background:rgba(255,255,255,.03);
  border-radius:14px;padding:24px;
  border:1px solid rgba(255,255,255,.06);
  height:100%;
}

.cd-section-title{
  font-size:.88rem;font-weight:700;color:rgba(255,255,255,.8);
  margin-bottom:18px;display:flex;align-items:center;gap:8px;
}
.cd-section-title i{color:#818cf8;font-size:.8rem}

.cd-form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:18px}

.cd-form-group label{
  display:flex;align-items:center;gap:5px;
  font-size:.78rem;font-weight:600;color:rgba(255,255,255,.5);margin-bottom:8px;
}
.cd-form-group label i{font-size:.65rem;color:#818cf8}

.cd-input-wrap{position:relative}
.cd-input-unit{
  position:absolute;right:12px;top:50%;transform:translateY(-50%);
  font-size:.78rem;font-weight:600;color:rgba(255,255,255,.3);pointer-events:none;
}

.cd-form-group input,
.cd-form-group select{
  width:100%;padding:11px 14px;
  border:1px solid rgba(255,255,255,.08);border-radius:10px;
  font-size:.92rem;font-weight:500;
  background:rgba(255,255,255,.04);color:#fff;
  transition:all .2s;box-sizing:border-box;
}
.cd-form-group input:focus,
.cd-form-group select:focus{
  outline:none;border-color:rgba(129,140,248,.5);
  box-shadow:0 0 0 3px rgba(129,140,248,.1);
  background:rgba(129,140,248,.04);
}
.cd-form-group select option{background:#14141e;color:#fff}

/* ── Button ── */
.cd-btn{
  background:linear-gradient(135deg,#818cf8,#6366f1);color:#fff;
  padding:13px 32px;border:none;border-radius:10px;
  font-size:.92rem;font-weight:700;cursor:pointer;
  transition:all .2s;width:100%;
  display:flex;align-items:center;justify-content:center;gap:8px;
  box-shadow:0 4px 20px rgba(99,102,241,.25);
}
.cd-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(99,102,241,.4)}
.cd-btn:active{transform:translateY(0)}
.cd-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}

/* ── Guide Card ── */
.cd-guide-list{display:flex;flex-direction:column;gap:14px}
.cd-guide-item{display:flex;align-items:flex-start;gap:12px}
.cd-guide-num{
  width:28px;height:28px;border-radius:8px;flex-shrink:0;
  background:rgba(129,140,248,.12);color:#818cf8;
  display:flex;align-items:center;justify-content:center;
  font-size:.75rem;font-weight:800;
}
.cd-guide-text{display:flex;flex-direction:column;gap:2px}
.cd-guide-text strong{font-size:.82rem;color:rgba(255,255,255,.85)}
.cd-guide-text span{font-size:.72rem;color:rgba(255,255,255,.35)}

/* ── Placeholder ── */
.cd-placeholder{
  text-align:center;padding:80px 20px;
  background:rgba(255,255,255,.015);border-radius:14px;
  border:1px dashed rgba(255,255,255,.06);
}
.cd-placeholder-icon{
  font-size:3rem;color:rgba(129,140,248,.2);margin-bottom:16px;
}
.cd-placeholder h3{font-size:1rem;font-weight:700;color:rgba(255,255,255,.4);margin-bottom:6px}
.cd-placeholder p{font-size:.82rem;color:rgba(255,255,255,.2)}

/* ── Loading ── */
.cd-loading{text-align:center;padding:60px;color:rgba(255,255,255,.5)}
.cd-spinner{
  display:inline-block;width:40px;height:40px;
  border:3px solid rgba(255,255,255,.06);border-top-color:#818cf8;
  border-radius:50%;animation:cd-spin .8s linear infinite;margin-bottom:14px;
}
@keyframes cd-spin{to{transform:rotate(360deg)}}

/* ── Result Section ── */
.cd-result-section{margin-top:24px}
.cd-result-title{
  font-size:.95rem;font-weight:700;color:rgba(255,255,255,.85);
  margin-bottom:16px;display:flex;align-items:center;gap:8px;
  padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.04);
}
.cd-result-title i{color:#818cf8;font-size:.82rem}

/* ── Parameter Cards ── */
.cd-param-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.cd-param-card{
  background:rgba(255,255,255,.03);border-radius:12px;
  padding:20px;border:1px solid rgba(255,255,255,.06);
  border-left:4px solid #818cf8;transition:all .2s;
}
.cd-param-card:hover{border-color:rgba(129,140,248,.2);background:rgba(129,140,248,.02)}
.cd-param-label{font-size:.7rem;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.cd-param-value{font-size:1.6rem;font-weight:800;color:rgba(255,255,255,.9);font-family:'Inter',var(--en),monospace}
.cd-param-unit{font-size:.82rem;font-weight:400;color:rgba(255,255,255,.35);margin-left:3px}

.cd-param-card.s11{border-left-color:#f87171}
.cd-param-card.s11 .cd-param-value{color:#f87171}
.cd-s11-bar-bg{background:rgba(255,255,255,.06);border-radius:4px;height:6px;margin-top:10px;overflow:hidden}
.cd-s11-bar{height:100%;border-radius:4px;background:linear-gradient(90deg,#34d399,#fbbf24,#f87171);transition:width .6s}

.cd-param-original{font-size:.68rem;color:rgba(255,255,255,.25);margin-top:6px}
.cd-param-original .orig-val{text-decoration:line-through;color:rgba(255,255,255,.2)}
.cd-param-card.changed{border-left-color:#c084fc}
.cd-param-card.changed .cd-param-value{color:#c084fc}
.cd-param-card.s11.changed{border-left-color:#f87171}
.cd-param-card.s11.changed .cd-param-value{color:#f87171}

/* ── Slider Card ── */
.cd-slider-card{
  background:rgba(255,255,255,.03);border-radius:12px;
  padding:22px;border:1px solid rgba(255,255,255,.06);
  margin-bottom:20px;border-left:4px solid #c084fc;
}
.cd-slider-card h3{font-size:.85rem;font-weight:700;color:#c084fc;margin-bottom:16px;display:flex;align-items:center;gap:6px}
.cd-slider-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}
.cd-slider-row label{
  font-size:.75rem;color:rgba(255,255,255,.45);
  display:flex;justify-content:space-between;margin-bottom:5px;
}
.cd-slider-row label span{color:rgba(255,255,255,.9);font-weight:700;font-family:'Inter',monospace}
.cd-slider-row input[type=range]{width:100%;accent-color:#818cf8;cursor:pointer;background:transparent;height:6px}

/* ── 3D Card ── */
.cd-three-card{
  background:rgba(255,255,255,.03);border-radius:12px;
  padding:22px;border:1px solid rgba(255,255,255,.06);margin-bottom:20px;
}
.cd-three-card h3{font-size:.85rem;font-weight:700;color:rgba(255,255,255,.85);margin-bottom:4px;display:flex;align-items:center;gap:6px}
.cd-three-card h3 i{color:#818cf8;font-size:.75rem}
.cd-three-card .hint{font-size:.72rem;color:rgba(255,255,255,.25);margin-bottom:14px}
#three-container{
  width:100%;height:480px;border:1px solid rgba(255,255,255,.06);
  border-radius:12px;overflow:hidden;background:#08080f;
}

/* ── Simulation Charts ── */
.cd-sim-card{
  background:rgba(255,255,255,.03);border-radius:12px;
  padding:22px;border:1px solid rgba(255,255,255,.06);margin-bottom:20px;
}
.cd-sim-card h3{font-size:.85rem;font-weight:700;color:rgba(255,255,255,.85);margin-bottom:16px;display:flex;align-items:center;gap:6px}
.cd-sim-card h3 i{color:#818cf8;font-size:.75rem}
.cd-sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cd-sim-grid canvas,.cd-sim-full canvas{
  width:100%;border:1px solid rgba(255,255,255,.06);
  border-radius:10px;background:#08080f;
}

/* ── Drawing Card ── */
.cd-drawing-card{
  background:rgba(255,255,255,.03);border-radius:12px;
  padding:22px;border:1px solid rgba(255,255,255,.06);margin-bottom:20px;
}
.cd-drawing-card h3{font-size:.85rem;font-weight:700;color:rgba(255,255,255,.85);margin-bottom:16px;display:flex;align-items:center;gap:6px}
.cd-drawing-card h3 i{color:#818cf8;font-size:.75rem}
.cd-drawing-wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cd-drawing-wrap canvas{
  width:100%;border:1px solid rgba(255,255,255,.06);
  border-radius:10px;background:#08080f;
}

/* ── Explanation Card ── */
.cd-explanation-card{
  background:rgba(255,255,255,.03);border-radius:12px;
  padding:22px;border:1px solid rgba(255,255,255,.06);
  border-left:4px solid #34d399;
}
.cd-explanation-card h3{
  font-size:.85rem;color:#34d399;margin-bottom:10px;
  display:flex;align-items:center;gap:6px;
}
.cd-explanation-card h3 i{font-size:.75rem}
.cd-explanation-card p{font-size:.88rem;color:rgba(255,255,255,.7);line-height:1.8}

/* ── Raw Result ── */
.cd-raw-result{
  background:rgba(255,255,255,.03);border-radius:12px;
  padding:22px;border:1px solid rgba(255,255,255,.06);
  white-space:pre-wrap;font-size:.85rem;
  color:rgba(255,255,255,.75);line-height:1.7;
}

/* ── Responsive ── */
@media(max-width:1024px){
  .cd-input-panel{grid-template-columns:1fr}
  .cd-input-right{display:none}
}
@media(max-width:768px){
  .cd-form-row{grid-template-columns:1fr}
  .cd-param-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .cd-drawing-wrap,.cd-sim-grid,.cd-slider-grid{grid-template-columns:1fr}
  .cd-sim-full > div,.cd-sim-grid > div,.cd-drawing-wrap > div{height:300px !important}
  .cd-slider-card{padding:14px}
}
@media(max-width:480px){
  .cd-param-grid{grid-template-columns:1fr}
  .cd-sim-full > div,.cd-sim-grid > div,.cd-drawing-wrap > div{height:260px !important}
}
