:root { --bg:#eef2f7; --card:#fff; --text:#172033; --muted:#667085; --blue:#1d4ed8; --blue-soft:#dbeafe; --border:#d0d7e2; --green:#15803d; }
    * { box-sizing:border-box; }
    body { margin:0; background:linear-gradient(180deg,#f8fafc 0%,var(--bg) 100%); color:var(--text); font-family:Arial,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
    .wrap { max-width:1080px; margin:0 auto; padding:28px 14px 52px; }
    h1 { margin:0; font-size:clamp(24px,4vw,38px); letter-spacing:-.03em; }
    .toptext { margin:7px 0 18px; color:var(--muted); }
    .shell { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:18px; align-items:start; }
    .card { background:rgba(255,255,255,.94); border:1px solid var(--border); box-shadow:0 18px 50px rgba(15,23,42,.09); border-radius:24px; padding:22px; }
    .frame { min-height:520px; transition:opacity .18s ease, transform .18s ease; }
    .frame.fade { opacity:0; transform:translateY(8px); }
    .step-title { font-size:24px; margin:0 0 7px; }
    .step-subtitle { margin:0 0 20px; color:var(--muted); line-height:1.45; }
    .buttons { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }
    button,.button-like { border:1px solid var(--border); background:#fff; border-radius:16px; padding:14px 15px; font-size:16px; cursor:pointer; color:var(--text); transition:transform .12s ease,border-color .12s ease,background .12s ease; }
    button:hover { transform:translateY(-1px); border-color:#93c5fd; background:#f8fbff; }
    button.primary,.button-like.primary { background:var(--blue); border-color:var(--blue); color:#fff; font-weight:700; }
    button.selected { border-color:var(--blue); background:var(--blue-soft); font-weight:700; }
    button.ghost { background:transparent; }
    .grid2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
    label { display:block; font-weight:700; margin-bottom:7px; }
    input,select { width:100%; border:1px solid var(--border); border-radius:14px; padding:13px; font-size:16px; background:#fff; }
    .small { font-size:13px; color:var(--muted); line-height:1.35; }
    .hint { border-radius:16px; background:#f8fafc; border:1px dashed #cbd5e1; padding:12px 14px; color:#475569; line-height:1.4; margin:14px 0; }
    .diagram { border:1px solid var(--border); border-radius:20px; background:#f8fafc; padding:14px; overflow:hidden; }
    .diagram-editor { position:relative; max-width:680px; margin:0 auto; }
    .diagram-editor .diagram { padding:0; }
    .diagram-editor svg { display:block; width:100%; height:auto; }
    .sash-hit { position:absolute; background:transparent; border:0; border-radius:0; padding:0; cursor:pointer; z-index:4; }
    .sash-hit:hover { background:rgba(29,78,216,.08); transform:none; }
    .sash-hit.selected-hit { outline:2px solid rgba(29,78,216,.28); background:rgba(29,78,216,.06); }
    .sash-hit .tap { position:absolute; top:10px; right:10px; font-size:26px; animation:pulse 1.6s infinite; }

    .window-config { width:100%; max-width:680px; margin:0 auto; height:260px; display:flex; padding:24px; background:#f8fafc; border-radius:18px; border:1px solid #d7dee9; }
    .sash { position:relative; flex:1; min-width:0; border:2px solid #334155; background:#dbeafe; margin-left:-2px; display:flex; align-items:center; justify-content:center; cursor:pointer; overflow:hidden; }
    .sash:first-child { margin-left:0; }
    .sash.selected-sash { outline:4px solid rgba(29,78,216,.22); z-index:3; }
    .sash .tap { position:absolute; top:11px; right:11px; font-size:28px; animation:pulse 1.6s infinite; }
    @keyframes pulse { 0%,100%{ transform:scale(1); opacity:.65;} 50%{ transform:scale(1.12); opacity:1;} }
    .sash .label { position:absolute; bottom:10px; left:8px; right:8px; text-align:center; font-size:13px; font-weight:700; color:#1e293b; background:rgba(255,255,255,.75); border-radius:999px; padding:5px 6px; }
    .opening-symbol { position:absolute; inset:20px; pointer-events:none; }
    .opening-symbol svg { width:100%; height:100%; overflow:visible; }
    .opening-panel { border-radius:18px; border:1px solid var(--border); background:#fff; padding:15px; margin-top:15px; }
    .opening-panel h3 { margin:0 0 11px; font-size:18px; }
    .row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
    .summary-list { padding-left:19px; color:#334155; line-height:1.6; }

    .preview-price { font-size:30px; line-height:1.05; font-weight:900; color:#dc2626; margin:14px 0 12px; letter-spacing:-.02em; }
    .preview-price-label { font-size:12px; font-weight:800; color:#64748b; text-transform:uppercase; letter-spacing:.04em; margin-top:10px; }
    .result-price { font-size:38px; line-height:1.05; font-weight:900; color:#dc2626; margin:16px 0 14px; letter-spacing:-.03em; }
    .price { font-size:32px; font-weight:800; color:var(--green); margin:8px 0; }
    .side-card svg { width:100%; display:block; }
    .footer-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }
    .pill { display:inline-flex; align-items:center; border-radius:999px; background:#f1f5f9; padding:7px 10px; color:#475569; font-size:13px; margin:0 5px 5px 0; }
    @media (max-width:860px){ .shell{grid-template-columns:1fr;} .grid2{grid-template-columns:1fr;} .frame{min-height:0;} }
  
    .buttons button.color-button { font-weight:900; text-shadow:0 2px 4px rgba(0,0,0,.65); min-height:62px; background-repeat:no-repeat; }
    .buttons button.color-button:hover { filter:brightness(.96); }
    .buttons button.color-button.selected { outline:3px solid rgba(37,99,235,.45); box-shadow:0 0 0 4px rgba(37,99,235,.13); }
    .buttons button.color-button[style*="#f8fafc"] { text-shadow:none; }


.final-actions{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  flex-wrap:wrap;
  margin-top:20px;
}
.final-actions-left,
.final-actions-right{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.final-actions-right{
  margin-left:auto;
  justify-content:flex-end;
}
.final-actions-right .button-like,
.final-actions-right button{
  min-width:210px;
  justify-content:center;
}
@media(max-width:760px){
  .final-actions{
    flex-direction:column;
  }
  .final-actions-left,
  .final-actions-right{
    width:100%;
  }
  .final-actions-right{
    margin-left:0;
    justify-content:stretch;
  }
  .final-actions-right .button-like,
  .final-actions-right button,
  .final-actions-left .button-like,
  .final-actions-left button{
    width:100%;
  }
}


.final-actions{
  display:grid;
  grid-template-columns:minmax(220px, 1fr) minmax(220px, auto);
  gap:16px;
  align-items:end;
  margin-top:20px;
}
.final-actions-send{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:stretch;
  max-width:280px;
}
.final-actions-other{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
  align-items:center;
}
.final-actions-send .button-like{
  width:100%;
  justify-content:center;
  text-align:center;
}
.final-actions-other .back-bottom{
  order:99;
}
@media(max-width:760px){
  .final-actions{
    grid-template-columns:1fr;
  }
  .final-actions-send{
    max-width:none;
    width:100%;
  }
  .final-actions-other{
    justify-content:stretch;
  }
  .final-actions-other button,
  .final-actions-send .button-like{
    width:100%;
  }
}


.final-actions{
  display:grid;
  grid-template-columns:auto 1fr minmax(220px, 280px);
  gap:16px;
  align-items:end;
  margin-top:20px;
}
.final-actions-back{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
}
.final-actions-other{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
  align-items:center;
}
.final-actions-send{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:stretch;
}
.final-actions-send .button-like{
  width:100%;
  justify-content:center;
  text-align:center;
}
@media(max-width:760px){
  .final-actions{
    grid-template-columns:1fr;
  }
  .final-actions-back,
  .final-actions-other{
    justify-content:stretch;
  }
  .final-actions-back button,
  .final-actions-other button,
  .final-actions-send .button-like{
    width:100%;
  }
  .final-actions-send{
    order:1;
  }
  .final-actions-other{
    order:2;
  }
  .final-actions-back{
    order:3;
  }
}