@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@400;600;700&family=Space+Grotesk:wght@400;500;600&display=swap";:root{--tg-bg: #f6f2e9;--tg-secondary-bg: #ffffff;--tg-text: #1b1c1e;--tg-hint: #706b65;--tg-link: #1b6b6f;--tg-button: #e05c36;--tg-button-text: #ffffff;--tg-header: #f6f2e9;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--radius-lg: 28px;--radius-md: 18px;--shadow-soft: 0 18px 40px rgba(20, 20, 20, .12);--shadow-card: 0 12px 30px rgba(20, 20, 20, .08)}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,system-ui,-apple-system,sans-serif;color:var(--tg-text);background:radial-gradient(circle at 20% 20%,#fff3e3 0%,transparent 45%),radial-gradient(circle at 80% 10%,#e6f6f1 0%,transparent 35%),linear-gradient(150deg,#fdf5ea,#f7f1e7 55%,#f3efe9);min-height:100vh}#root{min-height:100vh}.app{padding:calc(24px + var(--safe-top)) 20px calc(140px + var(--safe-bottom));max-width:1080px;margin:0 auto}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;align-items:center;margin-bottom:28px}.boot-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.boot-card{width:min(320px,90vw);background:#ffffffe6;border-radius:var(--radius-lg);padding:20px;display:grid;place-items:center;gap:12px;box-shadow:var(--shadow-soft)}.boot-spinner{width:36px;height:36px;border-radius:999px;border:3px solid rgba(0,0,0,.08);border-top-color:var(--tg-link);animation:spin .8s linear infinite}.vpn-title{margin:0;font-size:1.1rem;font-weight:600}.vpn-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;margin-bottom:18px;border-radius:var(--radius-md);background:#ffffffe6;border:1px solid rgba(0,0,0,.08);box-shadow:var(--shadow-card)}.vpn-banner-title{margin:0 0 4px;font-weight:600}.vpn-banner-sub{margin:0;color:var(--tg-hint);font-size:.9rem}.hero h1{font-family:Fraunces,serif;font-size:clamp(2rem,4vw,3.5rem);margin:8px 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;color:var(--tg-hint);margin:0}.subhead{margin:0;max-width:420px;color:var(--tg-hint);line-height:1.6}.hero-card{padding:24px;border-radius:var(--radius-lg);background:#fffc;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:right}.hero-label{font-size:.8rem;color:var(--tg-hint);margin:0}.hero-value{font-size:2rem;margin:8px 0 0}.hero-sub{margin:4px 0 0;color:var(--tg-link);font-weight:600}.controls{display:grid;gap:16px;margin-bottom:24px}.controls input{padding:14px 18px;border-radius:var(--radius-md);border:1px solid rgba(0,0,0,.08);font-size:1rem;background:#ffffffd9}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid rgba(0,0,0,.1);background:transparent;padding:8px 14px;border-radius:999px;cursor:pointer;font-size:.9rem}.chip.active{background:var(--tg-button);color:var(--tg-button-text);border-color:transparent}.catalog{margin-bottom:32px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.card{background:var(--tg-secondary-bg);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-card);display:grid;gap:12px;animation:rise .6s ease forwards;opacity:0}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.card h3{font-size:1.1rem;margin:0}.price{font-weight:600;color:var(--tg-link)}.description{color:var(--tg-hint);margin:0;line-height:1.4}.meta{display:flex;justify-content:space-between;font-size:.85rem;color:var(--tg-hint)}.actions{display:flex;align-items:center;gap:12px}.ghost{border:1px solid rgba(0,0,0,.1);background:transparent;padding:6px 12px;border-radius:10px;cursor:pointer}.qty{font-weight:600}.bottom-bar{position:fixed;left:0;right:0;bottom:0;padding:16px 22px calc(18px + var(--safe-bottom));background:#ffffffe6;box-shadow:0 -12px 30px #14141426;display:flex;justify-content:space-between;align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-label{margin:0;font-size:.85rem;color:var(--tg-hint)}.bottom-value{margin:4px 0 0;font-size:1.4rem;font-weight:600}.primary{background:var(--tg-button);color:var(--tg-button-text);border:none;padding:12px 20px;border-radius:14px;cursor:pointer;font-weight:600}.primary:disabled{opacity:.5;cursor:not-allowed}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0c0c0c40;opacity:0;pointer-events:none;transition:opacity .2s ease}.sheet.open{opacity:1;pointer-events:auto}.sheet-card{width:min(420px,90vw);background:#fff;padding:20px;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);display:grid;gap:16px}.sheet-header{display:flex;justify-content:space-between;align-items:center}.sheet-body label{display:grid;gap:8px;font-size:.9rem;color:var(--tg-hint)}.sheet-body input{padding:12px 14px;border-radius:12px;border:1px solid rgba(0,0,0,.1)}.sheet-actions{display:grid;gap:10px}.status{margin:0;color:var(--tg-hint)}.status.error{color:#b63a2e}@keyframes rise{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 720px){.hero,.hero-card{text-align:left}.bottom-bar{flex-direction:column;align-items:flex-start;gap:12px}}@media (prefers-reduced-motion: reduce){.card{animation:none;opacity:1}}
