/* chehol.fun styles — light minimal 2026 */
:root{
  --bg: #f5f7fb;
  --card: #ffffff;
  --text: #171a22;
  --muted: #6f7685;
  --brand: #5f74ff;
  --accent: #8ea0ff;
  --ok: #1fbf85;
  --shadow: 0 12px 36px rgba(17, 24, 39, .08);
  --radius: 16px;
  --gap: 14px;
  --font: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; background:
  radial-gradient(1200px 800px at 12% -10%, rgba(95,116,255,.12), transparent 55%),
  radial-gradient(1000px 600px at 120% 0%, rgba(142,160,255,.12), transparent 52%),
  var(--bg);
  color:var(--text); font-family:var(--font); line-height:1.5;
}

.site-header, .site-footer{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 18px; position:sticky; top:0; backdrop-filter:saturate(150%) blur(6px);
  background:rgba(245,247,251,.78);
  border-bottom:1px solid rgba(18,25,40,.08); z-index:10;
}
.site-footer{ position:static; border-top:1px solid rgba(18,25,40,.08); border-bottom:none; }

.logo{ font-weight:800; font-size:20px; text-decoration:none; color:var(--text); letter-spacing:-.01em; }
.logo span{ color:var(--brand); font-weight:700; }

.top-nav a{
  color:var(--muted); text-decoration:none; margin-left:14px; font-weight:600;
  padding:8px 10px; border-radius:12px; white-space: nowrap;
}
.top-nav a.active, .top-nav a:hover{ color:var(--text); background:rgba(95,116,255,.1); }

.container{ padding:16px; max-width:1000px; margin:0 auto; }

.card{
  background:var(--card);
  border:1px solid rgba(19, 28, 45, .08);
  border-radius:var(--radius); padding:16px; box-shadow:var(--shadow);
}

.card.subtle{ background:#fcfdff; }

h1{ font-size:28px; margin:8px 0 12px; letter-spacing:-.02em; }
h2{ font-size:18px; margin:6px 0 10px; letter-spacing:-.01em; }
.lede{ color:var(--text); font-weight:600; }

.steps{
  display:flex; gap:8px; list-style:none; padding:0; margin:0 0 14px;
  overflow:auto;
}
.step{ display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:12px; color:var(--muted); background:#eef2ff; }
.step.active{ color:var(--text); background:#dde4ff; }
.step span{
  width:26px; height:26px; display:grid; place-items:center; border-radius:50%;
  background:var(--brand); color:#ffffff; font-weight:800;
}

.field{ display:flex; flex-direction:column; gap:8px; margin:10px 0; }
.field .label{ color:var(--muted); font-size:13px; }
select, input[type="text"], input[type="file"]{
  width:100%; padding:12px 14px; border-radius:12px; background:#ffffff; color:var(--text);
  border:1px solid rgba(19, 28, 45, .13); outline:none;
}
input[type="color"]{ height:40px; width:100%; border:1px solid rgba(19, 28, 45, .13); border-radius:12px; background:#ffffff; }
input[type="range"]{ width:100%; }

.btn{
  appearance:none; padding:12px 16px; border-radius:14px; border:none; font-weight:800;
  background:linear-gradient(90deg, var(--brand), #6a80ff); color:#ffffff; cursor:pointer;
  transition:transform .05s ease, filter .2s ease;
}
.btn:hover{ filter:brightness(1.05) }
.btn:active{ transform:translateY(1px) }
.btn[disabled]{ opacity:.5; pointer-events:none }
.btn-ghost{
  background:#ffffff; color:var(--text);
  border:1px solid rgba(19, 28, 45, .13);
}

.row{ display:flex; }
.gap{ gap:10px; }

.step-pane.hidden{ display:none; }

.constructor-grid{
  display:grid; grid-template-columns: 1fr; gap:14px;
}
.canvas-wrap{
  display:flex; flex-direction:column; align-items:center; gap:8px;
}
#designCanvas{
  width:100%; max-width:360px; height:auto; background:#fff; border-radius:28px; border:1px solid rgba(19, 28, 45, .13);
  box-shadow:0 16px 34px rgba(15, 23, 42, .14);
}
.phone-info{ color:var(--muted); font-size:13px; margin-bottom:4px; }
.hint{ color:var(--muted); font-size:12px; text-align:center; }

.divider{ height:1px; background:rgba(19, 28, 45, .1); margin:10px 0; }

.site-footer p{ color:var(--muted); text-align:center; }
.home_href a{
   color:var(--text);  font-family:var(--font); line-height:1.5;
       width: 100%;
    padding: 12px 14px;
    border-radius: 12px;
    background: #ffffff;
    border: 1px solid rgba(19, 28, 45, .13);
    text-decoration: none;
}
.home_href{
  margin: 20px 0px;
}
.hide {
    display: none;
}
/* Desktop/Tablet */
@media (min-width: 900px){
  h1{ font-size:34px }
  .constructor-grid{ grid-template-columns: 360px 1fr; align-items:start; }
  .site-header, .site-footer{ padding:16px 24px }
  .container{ padding:24px; }
}
