    :root{
      --bg1:#fff7e6;
      --bg2:#ffe9ef;
      --ink:#222;
      --muted:#666;
      --brand:#ff7a59;
      --accent:#7bd389;
      --banana:#ffe066;
      --grape:#8c6cf7;
      --straw:#ff4f6d;
      --orange:#ffa94d;
      --card: rgba(255,255,255,.82);
      --glass: backdrop-filter: saturate(160%) blur(10px);
    }
    *{box-sizing:border-box}
    html,body{min-height:100%}
    body{
      margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, "Noto Kufi Arabic", "Noto Sans Arabic", Tahoma, Arial, sans-serif;
      color:var(--ink);
      background: radial-gradient(1200px 800px at 10% 10%, var(--bg1), #ffffff 40%, var(--bg2) 100%) fixed;
    }
    .wrap{min-height:100vh; display:grid; place-items:center; padding:24px}
    .container{
      width:min(1100px, 100%);
      display:grid; gap:20px;
      grid-template-columns: 1.25fr .75fr;
    }
    @media (max-width: 900px){.container{grid-template-columns:1fr}}

    .brand-bar {
      grid-column: 1 / -1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 16px 24px;
      border-radius: 24px;
      background: var(--card);
      border: 1px solid rgba(255,255,255,.9);
      box-shadow: 0 10px 30px rgba(0,0,0,.06);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }
    @media (max-width: 600px) {
      .brand-bar {
        flex-direction: column;
        align-items: flex-start;
        padding: 16px;
      }
    }
    .brand-identity {
      display: flex;
      align-items: center;
      gap: 16px;
    }
    .brand-logo-frame {
      width: 64px;
      height: 64px;
      background: #ffffff;
      border-radius: 20px;
      padding: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 8px 20px rgba(255, 122, 89, 0.22);
      border: 1px solid rgba(255, 122, 89, 0.2);
      transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
      cursor: pointer;
    }
    .brand-logo-frame:hover {
      transform: translateY(-2px) scale(1.06);
      box-shadow: 0 12px 26px rgba(255, 122, 89, 0.32);
    }
    .brand-logo-img {
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
      filter: drop-shadow(0 2px 5px rgba(0,0,0,.06));
    }
    .brand-title {
      margin: 0;
      font-size: clamp(20px, 2.5vw, 24px);
      font-weight: 800;
      color: var(--ink);
      line-height: 1.25;
    }
    .brand-subtitle {
      display: block;
      color: var(--muted);
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.3px;
      margin-top: 2px;
    }
    .brand-badge-status {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 8px 14px;
      border-radius: 999px;
      background: rgba(123, 211, 137, 0.16);
      color: #246a30;
      font-weight: 700;
      font-size: 13px;
      border: 1px solid rgba(123, 211, 137, 0.35);
      white-space: nowrap;
    }
    .status-indicator {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #2b7a37;
      box-shadow: 0 0 0 0 rgba(43, 122, 55, 0.7);
      animation: pulse 2s infinite;
    }
    @keyframes pulse {
      0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(43, 122, 55, 0.7); }
      70% { transform: scale(1); box-shadow: 0 0 0 8px rgba(43, 122, 55, 0); }
      100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(43, 122, 55, 0); }
    }

    .hero{
      position:relative; padding:28px; border-radius:24px; background:var(--card); box-shadow: 0 10px 30px rgba(0,0,0,.08);
      border:1px solid rgba(255,255,255,.8); 
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    .hero-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 12px;
    }
    .hero h1{margin:0 0 10px; font-size:clamp(22px, 3.4vw, 36px); font-weight: 800;}
    .hero p{margin:0; color:var(--muted); line-height: 1.6;}

    .fruit-grid{display:grid; grid-template-columns: repeat(5, 1fr); gap:14px; margin-top:20px}
    @media (max-width:600px){.fruit-grid{grid-template-columns:repeat(3, 1fr)}}

    .fruit{
      user-select:none; cursor:grab; 
      padding:16px 12px; border-radius:18px; 
      background:#fff; border:1px solid rgba(0,0,0,.06);
      box-shadow:0 6px 16px rgba(0,0,0,.06);
      display:grid; place-items:center; gap:8px; text-align:center;
      transition: transform .18s ease, box-shadow .2s ease, outline .15s ease;
      font-size: 24px;
    }
    .fruit:hover {
      transform: translateY(-3px);
      box-shadow:0 10px 22px rgba(0,0,0,.1);
    }
    .fruit:active{cursor:grabbing; transform: scale(.96)}
    .fruit.drag-over{outline:3px dashed var(--brand); outline-offset:-4px; background:#fffaf5}
    .fruit span{font-weight:700; font-size:14px; color: var(--ink)}

    .pill{
      display:inline-grid; grid-auto-flow:column; gap:8px; align-items:center;
      background:linear-gradient(90deg, var(--accent), var(--brand));
      color:#fff; padding:8px 14px; border-radius:999px; font-weight:700; font-size:13px;
      box-shadow:0 6px 16px rgba(255,122,89,.22);
    }

    .panel{
      padding:24px; border-radius:24px; background:var(--card); 
      border:1px solid rgba(255,255,255,.8); box-shadow:0 10px 30px rgba(0,0,0,.08);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    .panel-header {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 16px;
      padding-bottom: 12px;
      border-bottom: 1px solid rgba(0,0,0,.06);
    }
    .panel-logo {
      width: 38px;
      height: 38px;
      object-fit: contain;
      filter: drop-shadow(0 2px 6px rgba(255, 122, 89, 0.25));
    }
    .panel-title {
      margin: 0;
      font-size: 20px;
      font-weight: 800;
    }

    .progress{height:14px; background: #f2f2f2; border-radius:999px; overflow:hidden; border:1px solid rgba(0,0,0,.08)}
    .bar{height:100%; width:0%; background:linear-gradient(90deg, var(--brand), var(--accent)); transition:width .25s ease}

    .btn{
      appearance:none; border:0; border-radius:14px; padding:12px 20px; font-size:16px; font-weight:800; 
      cursor:pointer; color:#fff; background:linear-gradient(90deg,var(--brand), var(--orange)); 
      box-shadow:0 10px 20px rgba(255,122,89,.25);
      transition: transform .15s ease, box-shadow .2s ease;
    }
    .btn:not([disabled]):hover {
      transform: translateY(-2px);
      box-shadow:0 12px 24px rgba(255,122,89,.35);
    }
    .btn:not([disabled]):active {
      transform: scale(.98);
    }
    .btn[disabled]{opacity:.45; cursor:not-allowed; box-shadow:none}

    .step{display:grid; grid-template-columns: auto 1fr auto; gap:12px; align-items:center; padding:12px 14px; border-radius:14px; border:1px dashed rgba(0,0,0,.1); margin-top:8px; background: rgba(255,255,255,.5)}
    .badge{font-weight:800; font-size:12px; padding:4px 10px; border-radius:999px; background:#fff; border:1px solid rgba(0,0,0,.08)}

    .footer{
      display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; 
      color:var(--muted); font-size:13px; margin-top: 18px; padding-top: 14px;
      border-top: 1px solid rgba(0,0,0,.06);
    }
    .footer a{color: var(--brand); text-decoration: none; font-weight: 700;}
    .footer a:hover{text-decoration: underline;}

    .toast{position:fixed; inset-inline:0; top:16px; margin:auto; width:fit-content; z-index:99; padding:12px 20px; border-radius:14px; background:#111; color:#fff; opacity:0; transform:translateY(-12px); transition: all .25s ease; box-shadow: 0 10px 30px rgba(0,0,0,.25); font-size: 14px;}
    .toast.shown{opacity:1; transform:translateY(0)}

    .confetti{position:fixed; inset:0; pointer-events:none; z-index:90}