@font-face{font-family:"Chakra Petch";font-style:normal;font-weight:500;font-display:swap;src:url("../assets/fonts/chakra-petch-500.ttf") format("truetype");}
@font-face{font-family:"Chakra Petch";font-style:normal;font-weight:600;font-display:swap;src:url("../assets/fonts/chakra-petch-600.ttf") format("truetype");}
@font-face{font-family:"Chakra Petch";font-style:normal;font-weight:700;font-display:swap;src:url("../assets/fonts/chakra-petch-700.ttf") format("truetype");}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("../assets/fonts/inter-400.ttf") format("truetype");}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("../assets/fonts/inter-500.ttf") format("truetype");}
@font-face{font-family:"Space Mono";font-style:normal;font-weight:400;font-display:swap;src:url("../assets/fonts/space-mono-400.ttf") format("truetype");}
@font-face{font-family:"Space Mono";font-style:normal;font-weight:700;font-display:swap;src:url("../assets/fonts/space-mono-700.ttf") format("truetype");}

    :root{
      /* mor sinyal paleti ve koyu mor zemin */
      --steel-0:#08050f;          /* en koyu mor-siyah */
      --steel-1:#12091e;
      --steel-2:#211038;          /* orta koyulukta mor */
      --glow:#5b21b6;             /* mor ufuk parıltısı */
      --color-primary:#8b5cf6;
      --accent:#a855f7;           /* ana mor vurgu */
      --accent-soft:#d8b4fe;
      --tan:#cdab7e;              /* salvaged-jacket khaki, warm secondary */
      --ink:#f1f5f9;
      --ink-dim:rgba(238,226,255,0.62);
      --ink-faint:rgba(238,226,255,0.4);
      --line:rgba(216,180,254,0.14);
      --line-strong:rgba(216,180,254,0.3);
      --panel:rgba(18,9,30,0.55);
      --panel-deep:rgba(7,3,12,0.85);

      --download-bg:#ffffff;
      --download-ink:#3b0764;     /* beyaz düğmede koyu mor yazı */

      --radius-pill:999px;
      --radius-icon:22%;
      --radius-card:18px;

      --font-display:"Chakra Petch", ui-rounded, system-ui, "Segoe UI", sans-serif;
      --font-body:"Inter", system-ui, "Segoe UI", sans-serif;
      --font-mono:"Space Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

      --nav-h:62px;
    }

    *{box-sizing:border-box;}
    html{
      scroll-behavior:smooth;
      scroll-padding-top:calc(var(--nav-h) + 18px);
    }
    body{
      margin:0;
      font-family:var(--font-body);
      color:var(--ink);
      background:var(--steel-0);
      -webkit-font-smoothing:antialiased;
      overflow-x:hidden;
    }
    ::selection{background:rgba(168,85,247,0.35);color:#fff;}

    /* slim webkit scrollbar */
    ::-webkit-scrollbar{width:10px;}
    ::-webkit-scrollbar-track{background:var(--steel-0);}
    ::-webkit-scrollbar-thumb{
      background:rgba(216,180,254,0.18);
      border-radius:8px;
      border:2px solid var(--steel-0);
    }
    ::-webkit-scrollbar-thumb:hover{background:rgba(216,180,254,0.34);}

    a:focus-visible,button:focus-visible,summary:focus-visible{
      outline:none;
      box-shadow:0 0 0 3px rgba(168,85,247,0.85), 0 0 0 6px rgba(168,85,247,0.25);
      border-radius:6px;
    }

    .skip{
      position:fixed;
      top:-60px; left:16px;
      z-index:100;
      padding:10px 16px;
      border-radius:10px;
      background:var(--accent);
      color:#1a0528;
      font-family:var(--font-mono);
      font-size:0.78rem;
      letter-spacing:0.08em;
      text-decoration:none;
      transition:top .2s ease;
    }
    .skip:focus-visible{top:14px;}

    /* ---- backdrop ---- */
    .space{
      position:fixed;
      inset:0;
      z-index:0;
      overflow:hidden;
      pointer-events:none;
      background:
        radial-gradient(120% 80% at 50% 88%, rgba(91,33,182,0.62) 0%, rgba(91,33,182,0.14) 38%, transparent 64%),
        radial-gradient(90% 60% at 50% 2%, rgba(33,16,56,0.92) 0%, transparent 60%),
        linear-gradient(180deg, var(--steel-0) 0%, var(--steel-1) 46%, var(--steel-2) 100%);
    }
    #sky{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      display:block;
    }

    .page{position:relative;z-index:2;}

    /* ---- top bar ---- */
    .topbar{
      position:fixed;
      top:0; left:0; right:0;
      z-index:50;
      height:var(--nav-h);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:0 clamp(18px, 4vw, 40px);
      background:rgba(8,5,15,0.6);
      backdrop-filter:blur(14px);
      -webkit-backdrop-filter:blur(14px);
      border-bottom:1px solid var(--line);
    }
    .brand{
      display:inline-flex;
      align-items:center;
      gap:11px;
      text-decoration:none;
      color:var(--ink);
      font-family:var(--font-display);
      font-weight:700;
      font-size:0.98rem;
      letter-spacing:0.06em;
      text-transform:none;
      white-space:nowrap;
    }
    .brand .accent{color:var(--accent);}
    .brand-mark{
      width:30px; height:30px;
      display:grid;
      place-items:center;
      color:var(--accent);
      filter:drop-shadow(0 0 8px rgba(168,85,247,0.45));
      flex:none;
    }
    .brand-mark svg{display:block;}
    .nav-links{
      display:flex;
      align-items:center;
      gap:clamp(16px, 2.6vw, 30px);
    }
    .nav-links a{
      font-family:var(--font-mono);
      font-size:0.7rem;
      letter-spacing:0.24em;
      text-transform:uppercase;
      text-decoration:none;
      color:var(--ink-dim);
      padding:6px 2px;
      border-bottom:1px solid transparent;
      transition:color .2s ease, border-color .2s ease;
    }
    .nav-links a:hover{color:var(--ink);}
    .nav-links a[aria-current="true"]{
      color:var(--accent);
      border-color:rgba(168,85,247,0.55);
      text-shadow:0 0 14px rgba(168,85,247,0.45);
    }
    .nav-cta{
      display:inline-flex;
      align-items:center;
      gap:8px;
      min-height:38px;
      padding:0 18px;
      border-radius:var(--radius-pill);
      background:var(--download-bg);
      color:var(--download-ink);
      font-family:var(--font-display);
      font-weight:600;
      font-size:0.82rem;
      letter-spacing:0.04em;
      text-transform:uppercase;
      text-decoration:none;
      box-shadow:0 8px 22px rgba(0,0,0,0.35);
      transition:transform .2s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease;
      white-space:nowrap;
    }
    .nav-cta:hover{
      transform:translateY(-1px);
      box-shadow:0 12px 28px rgba(0,0,0,0.4), 0 0 22px rgba(168,85,247,0.4);
    }
    .menu-btn{
      display:none;
      width:42px; height:42px;
      border:1px solid var(--line-strong);
      border-radius:12px;
      background:rgba(216,180,254,0.06);
      color:var(--ink);
      cursor:pointer;
      place-items:center;
      -webkit-tap-highlight-color:transparent;
    }
    .menu-btn svg{display:block;}
    .menu-btn .icon-close{display:none;}
    .mobile-menu{
      position:fixed;
      top:var(--nav-h); left:0; right:0;
      z-index:49;
      display:none;
      flex-direction:column;
      gap:4px;
      padding:14px clamp(18px,5vw,32px) 22px;
      background:rgba(8,5,15,0.92);
      backdrop-filter:blur(16px);
      -webkit-backdrop-filter:blur(16px);
      border-bottom:1px solid var(--line);
    }
    .mobile-menu a{
      font-family:var(--font-mono);
      font-size:0.78rem;
      letter-spacing:0.24em;
      text-transform:uppercase;
      text-decoration:none;
      color:var(--ink-dim);
      padding:13px 6px;
      border-bottom:1px solid rgba(216,180,254,0.08);
      transition:color .2s ease;
    }
    .mobile-menu a:hover,
    .mobile-menu a[aria-current="true"]{color:var(--accent);}
    .mobile-menu a:last-child{border-bottom:0;}
    body.menu-open .mobile-menu{display:flex;}
    body.menu-open .menu-btn .icon-open{display:none;}
    body.menu-open .menu-btn .icon-close{display:block;}
    @media (max-width:840px){
      .nav-links,.nav-cta{display:none;}
      .menu-btn{display:grid;}
    }

    /* ---- hero ---- */
    .hero{
      position:relative;
      min-height:100vh;
      min-height:100svh;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:clamp(13px, 2.2vh, 24px);
      text-align:center;
      padding:calc(var(--nav-h) + 28px) 22px 84px;
    }

    .eyebrow{
      margin:0;
      font-family:var(--font-mono);
      font-size:clamp(0.62rem, 1.9vw, 0.72rem);
      letter-spacing:0.42em;
      text-indent:0.42em;
      color:var(--accent);
      text-transform:uppercase;
      opacity:0.85;
    }

    .title{
      font-family:var(--font-display);
      font-weight:700;
      font-size:clamp(2.6rem, 11vw, 4.7rem);
      letter-spacing:0.01em;
      line-height:0.92;
      margin:0;
      text-transform:none;
      text-shadow:0 2px 30px rgba(0,0,0,0.45);
    }
    .title .accent{
      display:block;
      color:var(--accent);
      text-shadow:0 0 26px rgba(168,85,247,0.55);
    }

    .tagline{
      margin:0;
      font-size:clamp(0.92rem, 2.6vw, 1.05rem);
      color:var(--ink-dim);
      letter-spacing:0.015em;
      font-weight:500;
    }

    /* ---- scanner cradle + mascot ---- */
    .icon-stage{
      perspective:820px;
      margin-top:clamp(2px, 1vh, 10px);
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:11px;
    }
    .scanner{
      position:relative;
      width:clamp(150px, 41vw, 208px);
      aspect-ratio:1;
      display:grid;
      place-items:center;
    }
    /* corner reticle brackets */
    .bracket{
      position:absolute;
      width:24px; height:24px;
      border:2px solid var(--accent);
      opacity:0.72;
      box-shadow:0 0 10px rgba(168,85,247,0.35);
    }
    .bracket.tl{ top:0; left:0; border-right:0; border-bottom:0; }
    .bracket.tr{ top:0; right:0; border-left:0; border-bottom:0; }
    .bracket.bl{ bottom:0; left:0; border-right:0; border-top:0; }
    .bracket.br{ bottom:0; right:0; border-left:0; border-top:0; }

    .app-icon{
      width:84%;
      aspect-ratio:1;
      border-radius:var(--radius-icon);
      position:relative;
      overflow:hidden;
      transform-style:preserve-3d;
      will-change:transform;
      box-shadow:
        0 24px 56px rgba(8,3,15,0.66),
        0 0 0 1px rgba(168,85,247,0.22) inset;
      animation:haloPulse 5.5s ease-in-out infinite;
    }
    .app-icon img{
      width:100%;
      height:100%;
      display:block;
      object-fit:cover;
      border-radius:inherit;
    }
    /* CRT scanline texture */
    .scan{
      position:absolute;
      inset:0;
      border-radius:inherit;
      pointer-events:none;
      background:repeating-linear-gradient(
        0deg,
        rgba(0,0,0,0.20) 0px,
        rgba(0,0,0,0.20) 1px,
        transparent 1px,
        transparent 3px
      );
      mix-blend-mode:multiply;
      opacity:0.55;
    }
    @keyframes haloPulse{
      0%,100%{filter:drop-shadow(0 0 22px rgba(168,85,247,0.28));}
      50%{filter:drop-shadow(0 0 44px rgba(168,85,247,0.55));}
    }

    /* live status readout */
    .readout{
      display:inline-flex;
      align-items:center;
      gap:9px;
      font-family:var(--font-mono);
      font-size:0.72rem;
      letter-spacing:0.18em;
      color:var(--ink-dim);
      text-transform:uppercase;
    }
    .readout .val{ color:var(--accent-soft); }
    .dot{
      width:7px; height:7px;
      border-radius:50%;
      background:var(--accent);
      box-shadow:0 0 9px rgba(168,85,247,0.9);
      animation:blink 1.6s steps(1,end) infinite;
    }
    @keyframes blink{ 0%,60%{opacity:1;} 61%,100%{opacity:0.18;} }

    /* ---- buttons ---- */
    .actions{
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:14px;
      margin-top:clamp(4px, 1.2vh, 12px);
    }
    .btn{
      position:relative;
      overflow:hidden;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      width:min(82vw, 300px);
      min-height:54px;
      padding:0 26px;
      border-radius:var(--radius-pill);
      font-family:var(--font-display);
      font-weight:600;
      font-size:1.04rem;
      letter-spacing:0.03em;
      text-transform:uppercase;
      text-decoration:none;
      cursor:pointer;
      border:1px solid transparent;
      -webkit-tap-highlight-color:transparent;
      transition:transform .2s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, background-color .25s ease, border-color .25s ease;
    }
    .btn:active{transform:scale(.97);}
    .btn:focus-visible{
      outline:none;
      box-shadow:0 0 0 3px rgba(168,85,247,0.85), 0 0 0 6px rgba(168,85,247,0.25);
    }

    .btn-download{
      background:var(--download-bg);
      color:var(--download-ink);
      box-shadow:0 12px 30px rgba(0,0,0,0.4);
    }
    .btn-download:hover{
      transform:translateY(-2px);
      box-shadow:0 16px 40px rgba(0,0,0,0.45), 0 0 34px rgba(168,85,247,0.45);
    }
    .dl-arrow{transition:transform .25s cubic-bezier(.2,.8,.2,1);}
    .btn-download:hover .dl-arrow{transform:translateY(3px);}

    .btn-follow{
      background:rgba(216,180,254,0.06);
      color:var(--ink);
      border-color:rgba(216,180,254,0.26);
      backdrop-filter:blur(8px);
      -webkit-backdrop-filter:blur(8px);
    }
    .btn-follow:hover{
      transform:translateY(-2px);
      background:rgba(216,180,254,0.12);
      border-color:rgba(216,180,254,0.5);
      box-shadow:0 14px 36px rgba(0,0,0,0.34), 0 0 28px rgba(168,85,247,0.24);
    }

    .ripple{
      position:absolute;
      border-radius:50%;
      transform:translate(-50%,-50%) scale(0);
      pointer-events:none;
      background:currentColor;
      opacity:0.28;
      animation:ripple .6s ease-out forwards;
    }
    @keyframes ripple{
      to{transform:translate(-50%,-50%) scale(1);opacity:0;}
    }

    .handle{
      margin:2px 0 0;
      font-family:var(--font-mono);
      font-size:0.86rem;
      color:var(--ink-dim);
      letter-spacing:0.04em;
    }

    .scroll-cue{
      position:absolute;
      bottom:20px;
      left:50%;
      transform:translateX(-50%);
      font-family:var(--font-mono);
      font-size:0.6rem;
      letter-spacing:0.36em;
      text-indent:0.36em;
      text-transform:uppercase;
      color:var(--ink-faint);
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:4px;
    }
    .scroll-cue .chev{animation:cueBob 2.2s ease-in-out infinite;color:var(--accent);opacity:0.7;}
    @keyframes cueBob{0%,100%{transform:translateY(0);}50%{transform:translateY(5px);}}

    /* ---- ticker ---- */
    .ticker{
      position:relative;
      overflow:hidden;
      border-top:1px solid var(--line);
      border-bottom:1px solid var(--line);
      background:rgba(15,7,26,0.62);
      backdrop-filter:blur(6px);
      -webkit-backdrop-filter:blur(6px);
      padding:13px 0;
    }
    .ticker-track{
      display:flex;
      gap:0;
      width:max-content;
      animation:tickerMove 30s linear infinite;
    }
    .ticker:hover .ticker-track{animation-play-state:paused;}
    .ticker-set{
      display:flex;
      align-items:center;
      gap:46px;
      padding-right:46px;
      font-family:var(--font-mono);
      font-size:0.68rem;
      letter-spacing:0.3em;
      text-transform:uppercase;
      color:rgba(238,226,255,0.5);
      white-space:nowrap;
    }
    .ticker-set .sep{color:rgba(168,85,247,0.55);}
    .ticker-set .hl{color:var(--accent);}
    @keyframes tickerMove{to{transform:translateX(-50%);}}

    /* ---- sections ---- */
    .section{
      position:relative;
      max-width:1100px;
      margin:0 auto;
      padding:clamp(72px, 11vh, 116px) clamp(20px, 6vw, 64px);
    }
    .section-tight{padding-top:clamp(8px, 2.5vh, 28px);}
    .section-head{margin-bottom:clamp(30px, 5vh, 50px);max-width:680px;}
    .kicker{
      margin:0 0 14px;
      font-family:var(--font-mono);
      font-size:0.66rem;
      letter-spacing:0.4em;
      text-transform:uppercase;
      color:var(--accent);
      opacity:0.85;
    }
    .section-title{
      margin:0 0 14px;
      font-family:var(--font-display);
      font-weight:700;
      font-size:clamp(1.55rem, 4.6vw, 2.35rem);
      line-height:1.05;
      letter-spacing:0.015em;
      text-transform:none;
    }
    .section-sub{
      margin:0;
      color:var(--ink-dim);
      font-size:clamp(0.94rem, 2.3vw, 1.02rem);
      line-height:1.65;
    }

    /* ---- feature cards ---- */
    .grid{
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(255px, 1fr));
      gap:18px;
    }
    .card{
      position:relative;
      overflow:hidden;
      padding:26px 24px 28px;
      border-radius:var(--radius-card);
      border:1px solid var(--line);
      background:linear-gradient(180deg, rgba(33,16,56,0.5) 0%, rgba(18,9,30,0.62) 100%);
      backdrop-filter:blur(6px);
      -webkit-backdrop-filter:blur(6px);
      transition:transform .25s cubic-bezier(.2,.8,.2,1), border-color .25s ease, box-shadow .3s ease;
    }
    .card::before,
    .card::after{
      content:"";
      position:absolute;
      width:16px; height:16px;
      border:2px solid var(--accent);
      opacity:0;
      transition:opacity .25s ease;
      pointer-events:none;
    }
    .card::before{top:10px; left:10px; border-right:0; border-bottom:0;}
    .card::after{bottom:10px; right:10px; border-left:0; border-top:0;}
    .card:hover{
      transform:translateY(-4px);
      border-color:rgba(216,180,254,0.42);
      box-shadow:0 18px 44px rgba(0,0,0,0.4), 0 0 26px rgba(168,85,247,0.12);
    }
    .card:hover::before,
    .card:hover::after{opacity:0.85;}
    .card-icon{
      width:46px; height:46px;
      display:grid;
      place-items:center;
      margin-bottom:17px;
      border-radius:13px;
      color:var(--accent);
      background:rgba(168,85,247,0.08);
      border:1px solid rgba(168,85,247,0.26);
      box-shadow:0 0 18px rgba(168,85,247,0.12);
    }
    .card h3{
      margin:0 0 9px;
      font-family:var(--font-display);
      font-weight:600;
      font-size:1.02rem;
      letter-spacing:0.045em;
      text-transform:uppercase;
    }
    .card p{
      margin:0;
      color:var(--ink-dim);
      font-size:0.93rem;
      line-height:1.6;
    }

    /* ---- stats ---- */
    .stats{
      display:grid;
      grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));
      gap:14px;
    }
    .stat{
      padding:26px 16px 22px;
      text-align:center;
      border:1px solid var(--line);
      border-radius:16px;
      background:rgba(18,9,30,0.5);
      backdrop-filter:blur(6px);
      -webkit-backdrop-filter:blur(6px);
    }
    .stat .num{
      display:block;
      font-family:var(--font-display);
      font-weight:700;
      font-size:clamp(1.65rem, 4.4vw, 2.3rem);
      color:var(--accent-soft);
      text-shadow:0 0 20px rgba(168,85,247,0.35);
      font-variant-numeric:tabular-nums;
    }
    .stat .lbl{
      display:block;
      margin-top:8px;
      font-family:var(--font-mono);
      font-size:0.62rem;
      letter-spacing:0.26em;
      text-transform:uppercase;
      color:var(--ink-faint);
    }

    /* ---- specs: terminal ---- */
    .specs-grid{
      display:grid;
      grid-template-columns:1.1fr 1fr;
      gap:22px;
      align-items:start;
    }
    @media (max-width:820px){
      .specs-grid{grid-template-columns:1fr;}
    }
    .terminal{
      border-radius:14px;
      border:1px solid rgba(216,180,254,0.22);
      background:var(--panel-deep);
      box-shadow:0 20px 50px rgba(0,0,0,0.45), inset 0 0 40px rgba(91,33,182,0.12);
      overflow:hidden;
      font-family:var(--font-mono);
    }
    .term-bar{
      display:flex;
      align-items:center;
      gap:7px;
      padding:11px 15px;
      border-bottom:1px solid var(--line);
    }
    .term-bar i{
      width:9px; height:9px;
      border-radius:50%;
      display:block;
    }
    .term-bar i:nth-child(1){background:rgba(205,171,126,0.8);}
    .term-bar i:nth-child(2){background:rgba(216,180,254,0.35);}
    .term-bar i:nth-child(3){background:var(--accent);box-shadow:0 0 8px rgba(168,85,247,0.7);}
    .term-bar span{
      margin-left:auto;
      font-size:0.62rem;
      letter-spacing:0.24em;
      text-transform:none;
      color:var(--ink-faint);
    }
    .term-body{
      padding:18px 19px 20px;
      min-height:198px;
      font-size:0.8rem;
      line-height:1.85;
      color:var(--ink-dim);
    }
    .term-body .t-line{display:block;white-space:pre-wrap;word-break:break-word;}
    .term-body .t-cmd{color:var(--tan);}
    .term-body .t-ok{color:var(--accent-soft);}
    .t-cursor{
      display:inline-block;
      width:8px; height:15px;
      margin-left:3px;
      vertical-align:-2px;
      background:var(--accent);
      box-shadow:0 0 8px rgba(168,85,247,0.8);
      animation:blink 1.1s steps(1,end) infinite;
    }
    .spec-list{
      border:1px solid var(--line);
      border-radius:14px;
      overflow:hidden;
      background:rgba(18,9,30,0.5);
      backdrop-filter:blur(6px);
      -webkit-backdrop-filter:blur(6px);
    }
    .spec-row{
      display:flex;
      align-items:baseline;
      justify-content:space-between;
      gap:18px;
      padding:14px 19px;
      border-bottom:1px solid rgba(216,180,254,0.09);
    }
    .spec-row:last-child{border-bottom:0;}
    .spec-key{
      font-family:var(--font-mono);
      font-size:0.64rem;
      letter-spacing:0.24em;
      text-transform:uppercase;
      color:var(--ink-faint);
      flex:none;
    }
    .spec-val{
      font-size:0.92rem;
      font-weight:500;
      color:var(--ink);
      text-align:right;
    }

    /* ---- field log timeline ---- */
    .timeline{
      position:relative;
      margin-left:5px;
      padding-left:30px;
      border-left:1px solid rgba(216,180,254,0.22);
      display:flex;
      flex-direction:column;
      gap:30px;
      max-width:720px;
    }
    .log{position:relative;}
    .log::before{
      content:"";
      position:absolute;
      left:-35px;
      top:7px;
      width:9px; height:9px;
      border-radius:50%;
      background:var(--steel-1);
      border:2px solid var(--accent);
      box-shadow:0 0 10px rgba(168,85,247,0.55);
    }
    .log.current::before{
      background:var(--accent);
      box-shadow:0 0 14px rgba(168,85,247,0.95);
    }
    .log-head{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:11px;
      margin-bottom:7px;
    }
    .log-v{
      font-family:var(--font-display);
      font-weight:600;
      font-size:1.04rem;
      letter-spacing:0.05em;
    }
    .log-date{
      font-family:var(--font-mono);
      font-size:0.66rem;
      letter-spacing:0.2em;
      color:var(--ink-faint);
      text-transform:uppercase;
    }
    .log-tag{
      font-family:var(--font-mono);
      font-size:0.58rem;
      letter-spacing:0.22em;
      text-transform:uppercase;
      color:#2e1065;
      background:var(--accent);
      border-radius:999px;
      padding:3px 10px;
      box-shadow:0 0 14px rgba(168,85,247,0.45);
    }
    .log p{
      margin:0;
      color:var(--ink-dim);
      font-size:0.93rem;
      line-height:1.6;
      max-width:58ch;
    }

    /* ---- FAQ ---- */
    .faq{
      display:flex;
      flex-direction:column;
      gap:12px;
      max-width:760px;
    }
    .qa{
      border:1px solid var(--line);
      border-radius:14px;
      background:rgba(18,9,30,0.5);
      backdrop-filter:blur(6px);
      -webkit-backdrop-filter:blur(6px);
      overflow:hidden;
      transition:border-color .25s ease;
    }
    .qa[open]{border-color:rgba(216,180,254,0.4);}
    .qa summary{
      list-style:none;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:16px;
      padding:17px 20px;
      font-family:var(--font-display);
      font-weight:600;
      font-size:0.95rem;
      letter-spacing:0.035em;
      text-transform:none;
      -webkit-tap-highlight-color:transparent;
    }
    .qa summary::-webkit-details-marker{display:none;}
    .qa .ind{
      flex:none;
      font-family:var(--font-mono);
      font-size:1.05rem;
      color:var(--accent);
      transition:transform .25s ease;
    }
    .qa[open] .ind{transform:rotate(45deg);}
    .qa-body{padding:0 20px 19px;}
    .qa-body p{
      margin:0;
      color:var(--ink-dim);
      font-size:0.93rem;
      line-height:1.65;
      animation:qaFade .3s ease;
    }
    @keyframes qaFade{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}

    /* ---- CTA band ---- */
    .cta{
      max-width:1100px;
      margin:0 auto;
      padding:0 clamp(20px, 6vw, 64px) clamp(84px, 12vh, 130px);
    }
    .cta-inner{
      position:relative;
      border-radius:26px;
      border:1px solid rgba(216,180,254,0.26);
      background:
        radial-gradient(110% 130% at 50% 115%, rgba(91,33,182,0.5) 0%, transparent 60%),
        linear-gradient(180deg, rgba(33,16,56,0.6) 0%, rgba(15,7,26,0.75) 100%);
      backdrop-filter:blur(8px);
      -webkit-backdrop-filter:blur(8px);
      padding:clamp(44px, 7vh, 68px) clamp(24px, 6vw, 56px);
      text-align:center;
      overflow:hidden;
      box-shadow:0 30px 70px rgba(0,0,0,0.45);
    }
    .cta-inner .bracket{width:28px;height:28px;opacity:0.55;}
    .cta-inner .bracket.tl{top:14px;left:14px;}
    .cta-inner .bracket.tr{top:14px;right:14px;}
    .cta-inner .bracket.bl{bottom:14px;left:14px;}
    .cta-inner .bracket.br{bottom:14px;right:14px;}
    .cta-title{
      margin:0 0 13px;
      font-family:var(--font-display);
      font-weight:700;
      font-size:clamp(1.7rem, 5.4vw, 2.7rem);
      letter-spacing:0.015em;
      text-transform:uppercase;
      line-height:1.02;
    }
    .cta-title .accent{color:var(--accent);text-shadow:0 0 24px rgba(168,85,247,0.5);}
    .cta-sub{
      margin:0 auto 30px;
      max-width:46ch;
      color:var(--ink-dim);
      font-size:clamp(0.93rem, 2.3vw, 1rem);
      line-height:1.65;
    }
    .cta .actions{
      flex-direction:row;
      flex-wrap:wrap;
      justify-content:center;
      margin-top:0;
    }
    .cta .btn{width:auto;min-width:218px;}
    .cta .handle{margin-top:20px;}

    /* ---- site footer ---- */
    .site-footer{
      position:relative;
      z-index:2;
      border-top:1px solid var(--line);
      background:rgba(8,5,15,0.72);
      backdrop-filter:blur(10px);
      -webkit-backdrop-filter:blur(10px);
    }
    .footer-grid{
      max-width:1100px;
      margin:0 auto;
      padding:clamp(40px, 6vh, 58px) clamp(20px, 6vw, 64px) 30px;
      display:grid;
      grid-template-columns:1.6fr 1fr 1fr;
      gap:clamp(26px, 5vw, 56px);
    }
    @media (max-width:720px){
      .footer-grid{grid-template-columns:1fr;}
    }
    .f-brand .brand{font-size:0.92rem;}
    .f-brand p{
      margin:14px 0 0;
      color:var(--ink-dim);
      font-size:0.88rem;
      line-height:1.65;
      max-width:34ch;
    }
    .f-col h4{
      margin:4px 0 15px;
      font-family:var(--font-mono);
      font-size:0.62rem;
      letter-spacing:0.32em;
      text-transform:uppercase;
      color:var(--ink-faint);
    }
    .f-col ul{
      list-style:none;
      margin:0; padding:0;
      display:flex;
      flex-direction:column;
      gap:11px;
    }
    .f-col a{
      color:var(--ink-dim);
      text-decoration:none;
      font-size:0.9rem;
      transition:color .2s ease;
    }
    .f-col a:hover{color:var(--accent-soft);}
    .footer-legal{
      border-top:1px solid rgba(216,180,254,0.09);
    }
    .footer-legal-inner{
      max-width:1100px;
      margin:0 auto;
      padding:18px clamp(20px, 6vw, 64px) calc(20px + env(safe-area-inset-bottom));
      display:flex;
      align-items:center;
      justify-content:space-between;
      flex-wrap:wrap;
      gap:12px;
      font-size:0.8rem;
      color:rgba(238,226,255,0.42);
    }
    .serial{
      font-family:var(--font-mono);
      font-size:0.64rem;
      letter-spacing:0.26em;
      color:rgba(205,171,126,0.55);
      text-transform:none;
    }
    .footer-row{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .terms-link{
      color:rgba(238,226,255,0.72);
      text-decoration:none;
      border-bottom:1px solid rgba(216,180,254,0.32);
      padding-bottom:1px;
      transition:color .2s ease, border-color .2s ease;
    }
    .terms-link:hover{ color:#fff; border-color:var(--accent-soft); }
    .dotsep{ color:rgba(238,226,255,0.3); }
    .copyright{ letter-spacing:0.03em; }

    /* ---- entrance animation ---- */
    .eyebrow,.title,.tagline,.icon-stage,.hero .actions .btn,.hero .handle,.scroll-cue{
      opacity:0;
      transform:translateY(16px);
      transition:opacity .75s ease, transform .75s cubic-bezier(.2,.8,.2,1);
    }
    body.loaded .eyebrow{opacity:1;transform:none;transition-delay:.04s;}
    body.loaded .title{opacity:1;transform:none;transition-delay:.12s;}
    body.loaded .tagline{opacity:1;transform:none;transition-delay:.22s;}
    body.loaded .icon-stage{opacity:1;transform:none;transition-delay:.32s;}
    body.loaded .hero .actions .btn:nth-child(1){opacity:1;transform:none;transition-delay:.44s;}
    body.loaded .hero .actions .btn:nth-child(2){opacity:1;transform:none;transition-delay:.52s;}
    body.loaded .hero .handle{opacity:1;transform:none;transition-delay:.62s;}
    body.loaded .scroll-cue{opacity:1;transform:translateX(-50%);transition-delay:.8s;}

    /* ---- scroll reveal ---- */
    .js .reveal{
      opacity:0;
      transform:translateY(22px);
      transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1);
    }
    .js .reveal.in{opacity:1;transform:none;}

    /* ---- reduced motion ---- */
    @media (prefers-reduced-motion: reduce){
      html{scroll-behavior:auto;}
      .app-icon{animation:none;filter:drop-shadow(0 0 30px rgba(168,85,247,0.4));}
      .dot,.t-cursor{animation:none;opacity:1;}
      .scroll-cue .chev{animation:none;}
      .ticker-track{animation:none;}
      .eyebrow,.title,.tagline,.icon-stage,.hero .actions .btn,.hero .handle{
        opacity:1;transform:none;transition:none;
      }
      .scroll-cue{opacity:1;transform:translateX(-50%);transition:none;}
      .js .reveal{opacity:1;transform:none;transition:none;}
      .dl-arrow,.btn,.card,.qa .ind{transition:none;}
      .card:hover{transform:none;}
      .ripple{display:none;}
      .page-body p{animation:none;}
    }
  
.myu-emblem{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#1a0528;
  font-family:var(--font-display);
  font-size:clamp(4.6rem,12vw,8.2rem);
  font-weight:700;
  letter-spacing:-0.08em;
  text-shadow:0 2px 0 rgba(255,255,255,.35);
  background:radial-gradient(circle at 35% 28%,#f3e8ff 0,#d8b4fe 26%,#a855f7 60%,#6d28d9 100%);
}
.toast{
  position:fixed;
  left:50%;
  bottom:24px;
  z-index:120;
  max-width:min(520px,calc(100vw - 32px));
  padding:13px 18px;
  border:1px solid var(--line-strong);
  border-radius:12px;
  color:var(--ink);
  background:rgba(7,3,12,.94);
  box-shadow:0 18px 50px rgba(0,0,0,.5),0 0 28px rgba(168,85,247,.16);
  font:500 .9rem/1.45 var(--font-body);
  text-align:center;
  opacity:0;
  transform:translate(-50%,18px);
  pointer-events:none;
  transition:opacity .25s ease,transform .25s ease;
}
.toast.show{opacity:1;transform:translate(-50%,0);}
