/* chehol.fun styles — mobile-first, fun & modern */
:root{
  --bg: #0f0f12;
  --card: #16161b;
  --text: #f2f2f3;
  --muted: #a8a8ad;
  --brand: #ffcc00;
  --accent: #7c5cff;
  --ok: #00d38d;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
  --radius: 18px;
  --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 20% -10%, rgba(124,92,255,.15), transparent 60%),
  radial-gradient(1000px 600px at 120% 10%, rgba(255,204,0,.12), transparent 60%), 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:linear-gradient(180deg, rgba(10,10,12,.8), rgba(10,10,12,.3));
  border-bottom:1px solid rgba(255,255,255,.05); z-index:10;
}
.site-footer{ position:static; border-top:1px solid rgba(255,255,255,.05); border-bottom:none; }

.logo{ font-weight:800; font-size:20px; text-decoration:none; color:var(--text); }
.logo span{ color:var(--brand); }

.top-nav a{
  color:var(--muted); text-decoration:none; margin-left:14px; font-weight:600;
  padding:8px 10px; border-radius:12px;
}
.top-nav a.active, .top-nav a:hover{ color:var(--text); background:rgba(255,255,255,.06); }

.container{ padding:16px; max-width:1000px; margin:0 auto; }

.card{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius); padding:16px; box-shadow:var(--shadow);
}

.card.subtle{ background:rgba(22,22,27,.7); }

h1{ font-size:28px; margin:8px 0 12px; }
h2{ font-size:18px; margin:6px 0 10px; }
.lede{ color:#fff; 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:rgba(255,255,255,.03); }
.step.active{ color:#fff; background:rgba(124,92,255,.25) }
.step span{
  width:26px; height:26px; display:grid; place-items:center; border-radius:50%;
  background:var(--accent); color:white; 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:14px; background:#111115; color:#fff;
  border:1px solid rgba(255,255,255,.08); outline:none;
}
input[type="color"]{ height:40px; width:100%; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:#111115; }
input[type="range"]{ width:100%; }

.btn{
  appearance:none; padding:12px 16px; border-radius:14px; border:none; font-weight:800;
  background:linear-gradient(90deg, var(--accent), var(--brand)); color:#0b0b0e; 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:rgba(255,255,255,.06); color:#fff;
  border:1px solid rgba(255,255,255,.1);
}

.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(0,0,0,.25);
  box-shadow:0 10px 40px rgba(0,0,0,.5);
}
.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(255,255,255,.08); 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: 14px;
    background: #111115;
    border: 1px solid rgba(255, 255, 255, .08);
    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; }
}
