:root{
    --ink:#0B1220;
    --panel:#121B30;
    --panel-2:#16213A;
    --paper:#EDEFF5;
    --steel:#6B7794;
    --amber:#F2A93B;
    --amber-dim:#8A5E1E;
    --red:#E25C5C;
    --hair:rgba(237,239,245,0.08);
  }
  *{box-sizing:border-box;}
  html,body{height:100%;}
  body{
    margin:0;
    background:
      radial-gradient(900px 500px at 50% -10%, rgba(242,169,59,0.06), transparent 60%),
      var(--ink);
    color:var(--paper);
    font-family: -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:100vh;
    padding:32px;
  }

  .scene{
    width:100%;
    max-width:760px;
  }

  .badge-row{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:28px;
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    font-size:12px;
    letter-spacing:0.12em;
    color:var(--steel);
    text-transform:uppercase;
  }
  .badge-row .dot{
    width:7px;height:7px;border-radius:50%;
    background:var(--red);
    box-shadow:0 0 0 3px rgba(226,92,92,0.15);
    animation:pulse 1.8s ease-in-out infinite;
  }
  @keyframes pulse{
    0%,100%{opacity:1;}
    50%{opacity:0.35;}
  }

  .panel{
    background:linear-gradient(180deg, var(--panel) 0%, var(--panel-2) 100%);
    border:1px solid var(--hair);
    border-radius:18px;
    padding:48px 44px 36px;
    position:relative;
    overflow:hidden;
  }

  .panel::before{
    content:"";
    position:absolute;
    left:0;right:0;
    height:2px;
    top:0;
    background:linear-gradient(90deg, transparent, var(--amber), transparent);
    animation:scan 3.2s linear infinite;
    opacity:0.6;
  }
  @keyframes scan{
    0%{transform:translateY(0);}
    100%{transform:translateY(420px);}
  }

  .top-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
  }

  .code{
    font-family: ui-sans-serif, -apple-system, 'Segoe UI', Roboto, sans-serif;
    font-weight:700;
    font-size:104px;
    line-height:0.9;
    letter-spacing:-0.02em;
    color:var(--paper);
    margin:0;
  }
  .code span{
    color:var(--amber);
  }

  .lock{
    flex-shrink:0;
    width:64px;
    height:64px;
    margin-top:8px;
  }

  h1{
    font-family: ui-sans-serif, -apple-system, 'Segoe UI', Roboto, sans-serif;
    font-weight:500;
    font-size:26px;
    margin:18px 0 10px;
    color:var(--paper);
  }

  p.desc{
    font-size:15px;
    line-height:1.65;
    color:var(--steel);
    max-width:46ch;
    margin:0 0 30px;
  }

  .log{
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    font-size:12.5px;
    line-height:1.9;
    background:rgba(0,0,0,0.25);
    border:1px solid var(--hair);
    border-radius:10px;
    padding:16px 18px;
    color:var(--steel);
    margin-bottom:32px;
  }
  .log .k{color:var(--steel);}
  .log .v{color:var(--paper);}
  .log .v-red{color:var(--red); font-weight:500;}
  .log .cursor{
    display:inline-block;
    width:7px;height:13px;
    background:var(--amber);
    vertical-align:-2px;
    animation:blink 1s step-end infinite;
  }
  @keyframes blink{
    50%{opacity:0;}
  }

  .actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
  }
  .btn{
    font-family: -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    font-size:14px;
    font-weight:500;
    padding:12px 22px;
    border-radius:9px;
    border:1px solid transparent;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:8px;
    transition:transform 0.15s ease, background 0.15s ease, border-color 0.15s ease;
  }
  .btn:active{transform:scale(0.97);}
  .btn-primary{
    background:var(--amber);
    color:#26190A;
  }
  .btn-primary:hover{background:#FFC267;}
  .btn-ghost{
    background:transparent;
    color:var(--paper);
    border-color:var(--hair);
  }
  .btn-ghost:hover{border-color:rgba(237,239,245,0.25);}

  .foot{
    margin-top:26px;
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    font-size:11.5px;
    color:rgba(107,119,148,0.7);
    display:flex;
    justify-content:space-between;
    letter-spacing:0.02em;
  }

  @media (max-width:560px){
    .panel{padding:34px 24px 26px;}
    .code{font-size:72px;}
    .lock{width:44px;height:44px;}
    .top-row{align-items:center;}
  }
