@font-face{font-family:'Unbounded';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/unbounded-600.woff2) format('woff2')}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/unbounded-800.woff2) format('woff2')}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-mono-400.woff2) format('woff2')}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-mono-700.woff2) format('woff2')}
:root{--c-ft:#b873ff;--c-md:#79e8a8;--surface:#0d0d13;--line:#1c1c28;--white:#f2f2f7;--muted:#8a8a9c;--dim:#5a5a6e;--cyan:#00e5ff;--violet:#b873ff;--txt2:#9fa0b8}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{background:#000 !important;color-scheme:dark;overflow-x:hidden;max-width:100%}::selection{background:var(--violet);color:#000}body::after{content:'';position:fixed;inset:0;z-index:999;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,0.022) 0 1px,transparent 1px 3px)}*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:manipulation}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;color:var(--white);font-family:'Space Mono',ui-monospace,'Courier New',monospace;min-height:100vh}.page{max-width:800px;margin:0 auto;padding:0 24px}header{position:fixed;top:0;left:0;right:0;z-index:900;display:flex;align-items:center;justify-content:space-between;max-width:800px;margin:0 auto;padding:14px 24px;background:rgba(5,5,8,0.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.page{padding-top:56px}.wordmark{font-family:'Unbounded',system-ui,sans-serif;font-size:19px;font-weight:600;letter-spacing:0.08em;color:var(--white);text-decoration:none;transition:color 0.2s;display:flex;align-items:center}@media (hover:hover){.wordmark:hover{color:var(--cyan)}}.nav{display:flex;align-items:center;gap:18px}.nav-btn{position:relative;display:inline-block;font-family:'Space Mono',ui-monospace,monospace;font-size:17px;letter-spacing:0.04em;line-height:1;color:var(--muted);text-decoration:none;transition:color 0.18s}.nav-btn:hover{color:var(--white)}.nav-btn.on{color:var(--cyan)}.nav-btn.on::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--cyan)}.nav-ic{width:1em;height:1em;display:inline-block;vertical-align:middle;margin-right:6px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;padding:0 0 80px}.hero .logo-wrap{margin-top:24px;margin-bottom:20px}.hero-eyebrow{font-size:11px;color:var(--muted);letter-spacing:0.22em;text-transform:uppercase;margin-bottom:20px}.hero h1{font-family:'Unbounded',system-ui,sans-serif;font-size:clamp(28px,5vw,52px);font-weight:800;line-height:1.08;letter-spacing:-0.01em;margin-bottom:20px}.hero h1 .grad{color:var(--cyan)}.hero p{font-size:14px;color:var(--muted);max-width:640px;margin:0 auto;line-height:1.7}.logo-wrap{position:relative}.logo{position:relative;width:clamp(220px,30vw,340px);height:auto;display:block;border-radius:50%;mix-blend-mode:screen;user-select:none;-webkit-user-drag:none}@keyframes glitch{0%,100%{transform:translate(0);filter:none}20%{transform:translate(-2px,1px);filter:drop-shadow(2px 0 var(--violet)) drop-shadow(-2px 0 var(--cyan))}40%{transform:translate(2px,-1px)}60%{transform:translate(-1px,0);filter:drop-shadow(-2px 0 var(--violet)) drop-shadow(2px 0 var(--cyan))}80%{transform:translate(1px,1px)}}.logo.glitching{animation:glitch 0.45s steps(2) infinite}@keyframes zap{0%{transform:translate(-2px,2px);filter:drop-shadow(2px 0 var(--violet)) drop-shadow(-2px 0 var(--cyan));opacity:0.8}25%{transform:translate(2px,-2px);filter:drop-shadow(-2px 0 var(--cyan)) drop-shadow(2px 0 var(--violet));opacity:0.95}50%{transform:translate(-1px,-2px);filter:drop-shadow(2px 0 var(--cyan));opacity:0.85}75%{transform:translate(2px,1px);filter:drop-shadow(-1px 0 var(--violet)) drop-shadow(1px 0 var(--cyan));opacity:0.9}100%{transform:translate(0);filter:none;opacity:1}}.zap{animation:zap 0.3s steps(3) infinite}.w{display:inline-block}.wordmark:active{transform:scale(0.95);color:var(--cyan)}footer{margin-top:110px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:space-between;border-top:1px solid var(--line);padding:24px 10px 40px}.jump{display:contents}.jump button{position:fixed;right:9px;z-index:60;width:34px;height:34px;font-family:'Space Mono',ui-monospace,'Courier New',monospace;display:flex;align-items:center;justify-content:center;line-height:1;background:rgba(13,13,19,0.72);border:1px solid var(--line);color:var(--txt2);cursor:pointer;opacity:0;pointer-events:none;transition:opacity 0.25s,color 0.15s,border-color 0.15s,transform 0.12s}#jUp{bottom:calc(40px + env(safe-area-inset-bottom))}.jump.show button{opacity:0.8;pointer-events:auto}.jump button:active{opacity:1;color:var(--cyan);border-color:var(--cyan);transform:scale(0.92)}footer span{font-family:'Unbounded',system-ui,sans-serif;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:0.06em}.footer-mark.legal{font-family:'Space Mono',ui-monospace,monospace!important;font-weight:400!important;font-size:13px;margin-bottom:16px}.footer-mark.legal .w{font-family:'Space Mono',ui-monospace,monospace;font-weight:400;font-size:13px;color:var(--dim)}footer .fs .w{font-family:'Space Mono',ui-monospace,'Courier New',monospace;font-size:14px;font-weight:700;letter-spacing:0.05em;color:inherit}@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero-text>*{animation:rise 0.6s cubic-bezier(0.2,0.8,0.2,1) both}.hero-text>*:nth-child(2){animation-delay:0.08s}.hero-text>*:nth-child(3){animation-delay:0.16s}.logo{animation:rise 0.7s cubic-bezier(0.2,0.8,0.2,1) both 0.1s}
html.standalone .hero-text>*{animation:none}
@media (display-mode:standalone){.hero-text>*{animation:none}}@media (min-width:721px){.hero h1{font-size:40px}.logo{width:300px}}@media (max-width:720px){.page{padding:50px 0 0}header{padding:11px 14px}.hero{padding:0 0 80px}.nav{gap:12px}.nav-btn{font-size:16px}}

/* PWA: move the compact header BELOW the notch / Dynamic Island (don't stretch
   its background up). The status-bar strip then shows the page bg — same clean
   black + scanlines as the rest, and the nav bar keeps its normal height. */
html.standalone header{top:env(safe-area-inset-top)}
html.standalone .page{padding-top:calc(56px + env(safe-area-inset-top))}
@media (max-width:720px){html.standalone .page{padding-top:calc(50px + env(safe-area-inset-top))}}
@media (display-mode:standalone){header{top:env(safe-area-inset-top)}.page{padding-top:calc(56px + env(safe-area-inset-top))}}
@media (display-mode:standalone) and (max-width:720px){.page{padding-top:calc(50px + env(safe-area-inset-top))}}

/* Ширші картки й рамки на десктопі (≥721px) — під сітку 1200px в index.html.
   На мобільних (<720px) ці значення не діють: екран вужчий, тож там усе як є. */
@media (min-width:721px){
  .page{max-width:1200px}
  header{max-width:1200px}
}

.footer-mark.legal{text-align:center}

/* Стрілка "вгору": на широких екранах тримаємо її по правій межі контенту —
   рівно там, де посилання-кнопки в картках (.stores/.ytb стоять на right:9px
   від краю картки), а не притиснутою до краю вікна. .jump стає фіксованим
   контейнером тієї ж ширини, що й .page (той самий прийом, що й у header),
   а кнопка — абсолютною всередині нього. --gutter повторює бічний padding
   .page: 24px на десктопі, 0 на мобільних (<=720px), тож там лишається
   звичний right:9px і вигляд не змінюється. */
.jump{--gutter:24px;display:block;position:fixed;inset:0;max-width:1200px;margin-inline:auto;pointer-events:none;z-index:60}
.jump button{position:absolute;right:calc(var(--gutter) + 9px)}
@media (max-width:720px){.jump{--gutter:0px}}

/* Кнопка "app" у шапці — той самий ефект натискання, що й у тегів
   (.tag:active): підтискання + підсвітка. Колір тексту/іконки заданий
   інлайном (#b7a3de), тож беремо filter, а не color. */
#pwaBtn{transition:color 0.18s,transform 0.12s,filter 0.12s}
#pwaBtn:active{transform:scale(0.93);filter:brightness(1.25)}
