.nsq-app {
    --nsq-primary: #007baf;
    --nsq-primary-dark: #005f88;
    --nsq-primary-soft: #eaf6fb;
    --nsq-gold: #c9a44b;
    --nsq-text: #173438;
    --nsq-muted: #61777a;
    --nsq-border: #dce8ee;
    --nsq-bg: #f7fbfa;
    --nsq-white: #ffffff;
    width: 100%;
    min-height: min(820px, 92vh);
    display: grid;
    place-items: center;
    padding: clamp(12px, 2vw, 28px);
    color: var(--nsq-text);
    background:
        radial-gradient(circle at top right, rgba(201, 164, 75, .12), transparent 30%),
        linear-gradient(145deg, #f2f9fc, #ffffff 54%, #eef7fb);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    box-sizing: border-box;
    touch-action: manipulation;
}

.nsq-app *, .nsq-app *::before, .nsq-app *::after { box-sizing: border-box; }
.nsq-app [hidden] { display: none !important; }

.nsq-shell {
    width: min(100%, 980px);
    min-height: min(760px, 86vh);
    display: flex;
    flex-direction: column;
    padding: clamp(20px, 4vw, 44px);
    border: 1px solid rgba(216, 229, 228, .9);
    border-radius: 32px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 24px 70px rgba(0, 83, 119, .12);
}

.nsq-header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:32px; }
.nsq-brand { display:flex; align-items:center; gap:14px; }
.nsq-brand-mark { display:grid; place-items:center; width:54px; height:54px; border-radius:18px; background:var(--nsq-primary); color:white; font-weight:800; font-size:28px; }
.nsq-eyebrow { margin:0 0 2px; color:var(--nsq-primary-dark); font-size:14px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.nsq-header h1 { margin:0; font-size:clamp(24px, 3vw, 36px); line-height:1.1; }
.nsq-status-pill, .nsq-category { display:inline-flex; align-items:center; min-height:34px; padding:7px 14px; border-radius:999px; background:var(--nsq-primary-soft); color:var(--nsq-primary-dark); font-weight:700; font-size:14px; }

.nsq-screen { flex:1; }
.nsq-start-screen { display:flex; flex-direction:column; justify-content:center; gap:26px; }
.nsq-hero { max-width:760px; }
.nsq-kicker { margin:0 0 10px; color:var(--nsq-primary-dark); font-weight:700; }
.nsq-hero h2 { margin:0 0 14px; font-size:clamp(32px, 5vw, 58px); line-height:1.04; letter-spacing:-.035em; }
.nsq-hero p:not(.nsq-kicker) { margin:0; color:var(--nsq-muted); font-size:clamp(17px, 2vw, 22px); line-height:1.55; }

.nsq-info-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:14px; }
.nsq-info-card { padding:20px; border:1px solid var(--nsq-border); border-radius:20px; background:var(--nsq-bg); text-align:center; }
.nsq-info-card strong { display:block; margin-bottom:4px; color:var(--nsq-primary-dark); font-size:30px; }
.nsq-info-card span { color:var(--nsq-muted); font-size:15px; }
.nsq-prize-note { margin:0; padding:16px 18px; border-left:5px solid var(--nsq-gold); border-radius:14px; background:#fcf8ed; font-weight:650; }

.nsq-primary-button, .nsq-secondary-button, .nsq-answer-button {
    min-height:64px;
    border-radius:18px;
    padding:15px 22px;
    font:inherit;
    font-size:18px;
    font-weight:750;
    cursor:pointer;
    -webkit-tap-highlight-color: transparent;
}
.nsq-primary-button { border:0; background:var(--nsq-primary); color:white; box-shadow:0 12px 24px rgba(0,123,175,.22); }
.nsq-primary-button:active { transform:translateY(1px); background:var(--nsq-primary-dark); }
.nsq-secondary-button { width:100%; border:2px solid var(--nsq-border); background:white; color:var(--nsq-text); }

.nsq-progress-row { display:flex; justify-content:space-between; gap:16px; color:var(--nsq-muted); font-weight:700; }
.nsq-progress-track { height:11px; margin:12px 0 28px; overflow:hidden; border-radius:999px; background:#e6f0f5; }
.nsq-progress-bar { display:block; height:100%; width:0; border-radius:inherit; background:var(--nsq-primary); transition:width .3s ease; }
.nsq-question-card { padding:clamp(22px, 4vw, 42px); border:1px solid var(--nsq-border); border-radius:28px; background:white; }
.nsq-question { margin:20px 0 26px; font-size:clamp(27px, 4vw, 45px); line-height:1.15; letter-spacing:-.025em; }
.nsq-answers { display:grid; gap:14px; }
.nsq-answer-button { width:100%; border:2px solid var(--nsq-border); background:var(--nsq-bg); color:var(--nsq-text); text-align:left; transition:border-color .15s, background .15s, transform .15s; }
.nsq-answer-button:active { transform:scale(.995); }
.nsq-answer-button.is-correct { border-color:var(--nsq-primary); background:var(--nsq-primary-soft); }
.nsq-answer-button.is-wrong { border-color:#d46b61; background:#fff0ee; }
.nsq-answer-button:disabled { cursor:default; opacity:1; }
.nsq-feedback { margin-top:18px; padding:18px; border-radius:16px; background:var(--nsq-primary-soft); line-height:1.5; }
.nsq-feedback strong { display:block; margin-bottom:5px; font-size:18px; }
.nsq-next-button { width:100%; margin-top:18px; }

.nsq-result-screen { display:flex; flex-direction:column; justify-content:center; gap:18px; text-align:center; }
.nsq-result-card { padding:clamp(28px, 5vw, 54px); border:1px solid var(--nsq-border); border-radius:28px; background:var(--nsq-bg); }
.nsq-result-icon { font-size:64px; }
.nsq-result-title { margin:12px 0 8px; font-size:clamp(34px, 5vw, 58px); }
.nsq-result-score { margin:0; color:var(--nsq-primary-dark); font-size:28px; font-weight:800; }
.nsq-result-message { max-width:650px; margin:16px auto; color:var(--nsq-muted); font-size:19px; line-height:1.55; }
.nsq-win-code-wrap { width:min(100%, 440px); margin:24px auto 0; padding:18px; border:2px dashed var(--nsq-gold); border-radius:18px; background:#fffaf0; }
.nsq-win-code-wrap span, .nsq-win-code-wrap small { display:block; color:var(--nsq-muted); }
.nsq-win-code { display:block; margin:8px 0; font-size:36px; letter-spacing:.12em; color:var(--nsq-text); }
.nsq-reset-countdown { margin:20px 0 0; color:var(--nsq-muted); font-size:14px; }
.nsq-footer { margin-top:26px; color:var(--nsq-muted); font-size:13px; text-align:center; }

@media (max-width: 640px) {
    .nsq-app { padding:8px; min-height:100vh; }
    .nsq-shell { min-height:calc(100vh - 16px); padding:18px; border-radius:22px; }
    .nsq-header { align-items:flex-start; margin-bottom:22px; }
    .nsq-status-pill { display:none; }
    .nsq-brand-mark { width:46px; height:46px; border-radius:15px; }
    .nsq-info-grid { grid-template-columns:repeat(3, 1fr); gap:8px; }
    .nsq-info-card { padding:13px 6px; }
    .nsq-info-card strong { font-size:23px; }
    .nsq-primary-button, .nsq-secondary-button, .nsq-answer-button { min-height:58px; font-size:16px; }
}

@media (orientation: landscape) and (min-width: 768px) {
    .nsq-start-screen { padding:10px 4%; }
    .nsq-question-card { min-height:490px; display:flex; flex-direction:column; justify-content:center; }
}

@media (prefers-reduced-motion: reduce) {
    .nsq-app * { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* v0.3.0 reward states */
.nsq-test-badge { align-self:flex-start; margin:0; padding:7px 12px; border-radius:999px; background:#fff3cd; color:#7a5b00; font-size:13px; font-weight:800; letter-spacing:.08em; }
.nsq-result-card.is-loading { opacity:.82; }
.nsq-result-card.is-perfect { border-color:#c9a44b; background:#fffaf0; }
.nsq-result-card.is-lucky { border-color:var(--nsq-primary); background:var(--nsq-primary-soft); }
.nsq-result-card.is-error { border-color:#d46b61; background:#fff7f6; }
.nsq-result-error { max-width:650px; margin:16px auto 0; padding:14px 16px; border-radius:14px; background:#fff0ee; color:#8b3028; font-weight:700; }
.nsq-win-code-wrap.is-test::before { content:'TEST CODE'; display:block; margin-bottom:8px; color:#8a6d00; font-weight:900; letter-spacing:.08em; }
.nsq-secondary-button:disabled { opacity:.55; cursor:wait; }

/* =====================================================
   v0.3.1 — NanoSanitas visual identity refresh
   ===================================================== */
.nsq-app {
    --nsq-primary: #007baf;
    --nsq-primary-dark: #005f88;
    --nsq-primary-soft: #eaf6fb;
    --nsq-gold: #c5a65b;
    --nsq-silver: #a8b2b4;
    --nsq-text: #1b2324;
    --nsq-muted: #647273;
    --nsq-border: #dce8ee;
    --nsq-bg: #f7fbfd;
    --nsq-white: #ffffff;
    min-height: 100vh;
    min-height: 100dvh;
    align-items: stretch;
    background:
        radial-gradient(circle at 12% 8%, rgba(0,123,175,.10), transparent 25%),
        radial-gradient(circle at 92% 12%, rgba(197,166,91,.10), transparent 23%),
        linear-gradient(145deg, #f2f9fc 0%, #ffffff 48%, #eef7fb 100%);
    font-family: inherit;
}

.nsq-shell {
    width: min(100%, 1120px);
    min-height: calc(100vh - 40px);
    min-height: calc(100dvh - 40px);
    margin: auto;
    border-radius: 30px;
    box-shadow: 0 22px 60px rgba(0, 74, 107,.10);
}

.nsq-brand { gap:18px; }
.nsq-brand-logo {
    width: 112px;
    height: 70px;
    object-fit: contain;
    object-position: left center;
    flex: 0 0 auto;
}
.nsq-brand-copy { min-width:0; padding-left:18px; border-left:1px solid var(--nsq-border); }
.nsq-eyebrow { margin-bottom:5px; color:var(--nsq-primary-dark); font-size:13px; letter-spacing:.12em; }
.nsq-header h1 { font-size:clamp(20px, 2.4vw, 31px); font-weight:650; letter-spacing:-.02em; }
.nsq-status-pill { border:1px solid #cfe7f1; background:#eef8fc; }

.nsq-hero { position:relative; max-width:850px; }
.nsq-hero-label {
    display:inline-flex;
    margin-bottom:18px;
    padding:7px 12px;
    border:1px solid var(--nsq-border);
    border-radius:999px;
    color:var(--nsq-muted);
    background:rgba(255,255,255,.72);
    font-size:12px;
    font-weight:750;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.nsq-kicker { margin-bottom:12px; }
.nsq-hero h2 { max-width:850px; font-weight:700; }
.nsq-nano-signature { display:flex; align-items:center; gap:8px; margin-top:22px; height:18px; }
.nsq-nano-signature span { display:block; width:7px; height:7px; border-radius:50%; background:var(--nsq-primary); opacity:.45; }
.nsq-nano-signature span:nth-child(2) { width:12px; height:12px; opacity:.70; }
.nsq-nano-signature span:nth-child(3) { width:5px; height:5px; background:var(--nsq-gold); opacity:.85; }
.nsq-nano-signature span:nth-child(4) { width:9px; height:9px; background:var(--nsq-silver); opacity:.80; }
.nsq-nano-signature span:nth-child(5) { width:4px; height:4px; opacity:.50; }

.nsq-info-card { background:#fbfdfe; box-shadow:inset 0 1px 0 #fff; }
.nsq-info-card strong { font-weight:750; }
.nsq-prize-note { border-left-width:4px; background:#fcf9f0; }
.nsq-primary-button { background:linear-gradient(135deg, #007baf, #005f88); box-shadow:0 12px 25px rgba(0,123,175,.22); }

.nsq-question-card { box-shadow:0 12px 34px rgba(0, 74, 107,.06); }
.nsq-category { letter-spacing:.02em; }
.nsq-answer-button { background:#fbfdfe; font-weight:650; }
.nsq-answer-button:hover:not(:disabled) { border-color:#8fcbe2; background:#f4fafd; }

.nsq-feedback {
    padding:20px;
    border:1px solid #c8e4f0;
    border-left:5px solid var(--nsq-primary);
    background:linear-gradient(135deg, #eaf6fb, #f9fcfe);
}
.nsq-feedback-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-bottom:9px; }
.nsq-feedback-state { font-size:19px; font-weight:800; color:var(--nsq-primary-dark); }
.nsq-tip-badge { display:inline-flex; padding:5px 9px; border-radius:999px; background:#fff; border:1px solid #c8e4f0; color:var(--nsq-primary-dark); font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.nsq-feedback-copy { display:block; color:var(--nsq-text); }

.nsq-result-card {
    position:relative;
    overflow:hidden;
    background:linear-gradient(145deg, #ffffff, #f8fbfa);
    box-shadow:0 18px 50px rgba(0, 74, 107,.08);
}
.nsq-result-card::before,
.nsq-result-card::after {
    content:"";
    position:absolute;
    border-radius:50%;
    pointer-events:none;
}
.nsq-result-card::before { width:180px; height:180px; top:-90px; right:-70px; background:rgba(0,123,175,.07); }
.nsq-result-card::after { width:130px; height:130px; bottom:-75px; left:-55px; background:rgba(197,166,91,.08); }
.nsq-result-logo { position:relative; z-index:1; display:block; width:126px; height:82px; object-fit:contain; margin:0 auto 8px; }
.nsq-result-overline { position:relative; z-index:1; margin:0 0 14px; color:var(--nsq-primary-dark); font-size:12px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.nsq-result-icon, .nsq-result-title, .nsq-result-score, .nsq-result-message, .nsq-win-code-wrap, .nsq-reset-countdown { position:relative; z-index:1; }
.nsq-result-icon { font-size:56px; }
.nsq-result-title { font-weight:700; }
.nsq-result-card.is-perfect { background:linear-gradient(145deg, #fffdf7, #ffffff); }
.nsq-result-card.is-lucky { background:linear-gradient(145deg, #effaf9, #ffffff); }
.nsq-win-code-wrap { background:rgba(255,250,240,.95); }

@media (min-width: 768px) {
    .nsq-shell { padding:clamp(34px, 4vw, 56px); }
    .nsq-start-screen { gap:30px; }
    .nsq-hero h2 { font-size:clamp(44px, 5vw, 66px); }
    .nsq-info-card { padding:24px 18px; }
    .nsq-primary-button, .nsq-secondary-button, .nsq-answer-button { min-height:68px; }
}

@media (max-width: 640px) {
    .nsq-shell { min-height:calc(100vh - 16px); min-height:calc(100dvh - 16px); }
    .nsq-brand-logo { width:78px; height:52px; }
    .nsq-brand-copy { padding-left:12px; }
    .nsq-header h1 { font-size:19px; }
    .nsq-eyebrow { font-size:10px; }
    .nsq-hero-label { margin-bottom:13px; font-size:10px; }
    .nsq-result-logo { width:104px; height:68px; }
}

/* =====================================================
   v0.3.1.1 — Header pill alignment & compact laptop scale
   ===================================================== */
.nsq-status-pill {
    white-space: nowrap;
    flex: 0 0 auto;
    line-height: 1;
}

/* Reduce vertical footprint on laptop/desktop screens without affecting iPads. */
@media (min-width: 1200px) and (max-height: 1000px) {
    .nsq-app {
        min-height: 100vh;
        padding: 14px;
    }

    .nsq-shell {
        width: min(100%, 1040px);
        min-height: calc(100vh - 28px);
        padding: 28px 34px;
        border-radius: 26px;
    }

    .nsq-header {
        margin-bottom: 22px;
    }

    .nsq-brand-logo {
        width: 96px;
        height: 60px;
    }

    .nsq-eyebrow {
        font-size: 11px;
    }

    .nsq-header h1 {
        font-size: 26px;
    }

    .nsq-status-pill,
    .nsq-category {
        min-height: 30px;
        padding: 6px 12px;
        font-size: 12px;
    }

    .nsq-progress-row {
        font-size: 13px;
    }

    .nsq-progress-track {
        height: 9px;
        margin: 9px 0 18px;
    }

    .nsq-question-card {
        padding: 24px 28px;
        border-radius: 22px;
    }

    .nsq-question {
        margin: 15px 0 20px;
        font-size: 30px;
        line-height: 1.14;
    }

    .nsq-answers {
        gap: 10px;
    }

    .nsq-answer-button {
        min-height: 54px;
        padding: 12px 17px;
        font-size: 15px;
        border-radius: 14px;
    }

    .nsq-feedback {
        margin-top: 14px;
        padding: 14px 16px;
        font-size: 14px;
    }

    .nsq-feedback-state {
        font-size: 17px;
    }

    .nsq-next-button {
        min-height: 54px;
        margin-top: 14px;
        font-size: 16px;
    }

    .nsq-footer {
        margin-top: 18px;
        font-size: 11px;
    }
}

/* =====================================================
   v0.3.1.2 — Compact laptop/desktop layout
   Uses mouse/trackpad detection so tablet layouts remain unchanged.
   ===================================================== */
@media (min-width: 1024px) and (max-height: 1050px) and (hover: hover) and (pointer: fine) {
    .nsq-app {
        min-height: 100vh !important;
        padding: 10px !important;
        place-items: start center !important;
    }

    .nsq-shell {
        width: min(100%, 900px) !important;
        min-height: 0 !important;
        padding: 20px 24px 18px !important;
        border-radius: 22px !important;
        margin: 0 auto !important;
    }

    .nsq-header {
        gap: 14px !important;
        margin-bottom: 14px !important;
    }

    .nsq-brand {
        gap: 12px !important;
    }

    .nsq-brand-logo {
        width: 76px !important;
        height: 48px !important;
    }

    .nsq-brand-copy {
        padding-left: 12px !important;
    }

    .nsq-eyebrow {
        margin-bottom: 2px !important;
        font-size: 9px !important;
        letter-spacing: .1em !important;
    }

    .nsq-header h1 {
        margin: 0 !important;
        font-size: 22px !important;
        line-height: 1.08 !important;
        letter-spacing: -.015em !important;
    }

    .nsq-status-pill,
    .nsq-category {
        min-height: 26px !important;
        padding: 5px 10px !important;
        font-size: 11px !important;
        white-space: nowrap !important;
    }

    .nsq-progress-row {
        font-size: 11px !important;
        line-height: 1.2 !important;
    }

    .nsq-progress-track {
        height: 7px !important;
        margin: 7px 0 12px !important;
    }

    .nsq-question-card {
        padding: 18px 20px !important;
        border-radius: 18px !important;
    }

    .nsq-question {
        margin: 12px 0 14px !important;
        font-size: 24px !important;
        line-height: 1.14 !important;
        letter-spacing: -.015em !important;
    }

    .nsq-answers {
        gap: 8px !important;
    }

    .nsq-answer-button {
        min-height: 46px !important;
        padding: 9px 14px !important;
        border-radius: 12px !important;
        font-size: 14px !important;
        line-height: 1.25 !important;
    }

    .nsq-feedback {
        margin-top: 10px !important;
        padding: 11px 13px !important;
        border-radius: 12px !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
    }

    .nsq-feedback-heading {
        margin-bottom: 5px !important;
    }

    .nsq-feedback-state {
        font-size: 15px !important;
    }

    .nsq-tip-badge {
        padding: 4px 7px !important;
        font-size: 10px !important;
    }

    .nsq-next-button,
    .nsq-primary-button,
    .nsq-secondary-button {
        min-height: 46px !important;
        padding: 10px 16px !important;
        border-radius: 12px !important;
        font-size: 14px !important;
    }

    .nsq-next-button {
        margin-top: 10px !important;
    }

    .nsq-footer {
        margin-top: 12px !important;
        font-size: 9px !important;
        line-height: 1.3 !important;
    }

    .nsq-start-screen {
        gap: 16px !important;
    }

    .nsq-hero-label {
        margin-bottom: 10px !important;
        padding: 5px 9px !important;
        font-size: 9px !important;
    }

    .nsq-kicker {
        margin-bottom: 6px !important;
        font-size: 12px !important;
    }

    .nsq-hero h2 {
        margin-bottom: 7px !important;
        font-size: 34px !important;
        line-height: 1.05 !important;
    }

    .nsq-hero p:not(.nsq-kicker) {
        font-size: 14px !important;
        line-height: 1.4 !important;
    }

    .nsq-nano-signature {
        margin-top: 10px !important;
    }

    .nsq-info-grid {
        gap: 9px !important;
    }

    .nsq-info-card {
        padding: 12px 10px !important;
        border-radius: 14px !important;
    }

    .nsq-info-card strong {
        margin-bottom: 2px !important;
        font-size: 22px !important;
    }

    .nsq-info-card span {
        font-size: 11px !important;
    }

    .nsq-prize-note {
        padding: 10px 12px !important;
        border-radius: 10px !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
    }

    .nsq-test-badge {
        padding: 5px 9px !important;
        font-size: 10px !important;
    }

    .nsq-result-card {
        padding: 22px !important;
        border-radius: 18px !important;
    }

    .nsq-result-logo {
        width: 88px !important;
        height: 56px !important;
    }

    .nsq-result-icon {
        font-size: 40px !important;
    }

    .nsq-result-title {
        margin: 8px 0 5px !important;
        font-size: 30px !important;
    }

    .nsq-result-score {
        font-size: 21px !important;
    }

    .nsq-result-message {
        margin: 10px auto !important;
        font-size: 14px !important;
        line-height: 1.4 !important;
    }
}

/* =====================================================
   v0.3.1.3 — Compact mobile layout
   Keeps tablet and desktop layouts unchanged.
   ===================================================== */
@media (max-width: 640px) {
    .nsq-app {
        padding: 4px;
    }

    .nsq-shell {
        min-height: calc(100vh - 8px);
        min-height: calc(100dvh - 8px);
        padding: 12px;
        border-radius: 18px;
    }

    .nsq-header {
        gap: 10px;
        margin-bottom: 14px;
    }

    .nsq-brand-logo {
        width: 62px;
        height: 42px;
    }

    .nsq-brand-copy {
        padding-left: 9px;
    }

    .nsq-eyebrow {
        margin-bottom: 3px;
        font-size: 8px;
        letter-spacing: .08em;
    }

    .nsq-header h1 {
        font-size: 16px;
        line-height: 1.05;
    }

    .nsq-progress-head {
        margin-bottom: 7px;
        font-size: 12px;
    }

    .nsq-progress-track {
        height: 7px;
        margin-bottom: 14px;
    }

    .nsq-question-card {
        padding: 16px 14px;
        border-radius: 20px;
    }

    .nsq-category-badge {
        padding: 7px 11px;
        font-size: 12px;
    }

    .nsq-question {
        margin: 15px 0 18px;
        font-size: 23px;
        line-height: 1.17;
        letter-spacing: -.02em;
    }

    .nsq-answers {
        gap: 10px;
    }

    .nsq-answer-button {
        min-height: 52px;
        padding: 12px 14px;
        border-radius: 14px;
        font-size: 14px;
        line-height: 1.35;
    }

    .nsq-feedback {
        margin-top: 12px;
        padding: 13px 14px;
        border-radius: 14px;
        font-size: 14px;
        line-height: 1.45;
    }

    .nsq-tip-label {
        font-size: 10px;
    }

    .nsq-primary-button,
    .nsq-secondary-button {
        min-height: 52px;
        font-size: 15px;
    }

    .nsq-footer {
        margin-top: 14px;
        font-size: 10px;
        line-height: 1.45;
    }

    .nsq-hero-label {
        margin-bottom: 9px;
        font-size: 9px;
    }

    .nsq-hero h2 {
        font-size: 25px;
        line-height: 1.08;
    }

    .nsq-hero p:not(.nsq-kicker) {
        font-size: 13px;
        line-height: 1.45;
    }

    .nsq-start-screen {
        gap: 16px;
    }

    .nsq-info-grid {
        gap: 6px;
    }

    .nsq-info-card {
        padding: 10px 4px;
        border-radius: 14px;
    }

    .nsq-info-card strong {
        font-size: 19px;
    }

    .nsq-info-card span {
        font-size: 10px;
    }

    .nsq-prize-note {
        padding: 11px 12px;
        border-radius: 12px;
        font-size: 11px;
        line-height: 1.4;
    }

    .nsq-test-badge {
        margin: 0;
        font-size: 9px;
    }

    .nsq-result-card {
        padding: 22px 16px;
        border-radius: 20px;
    }

    .nsq-result-icon {
        font-size: 42px;
    }

    .nsq-result-title {
        font-size: 30px;
    }

    .nsq-result-score {
        font-size: 22px;
    }

    .nsq-result-message {
        margin: 12px auto;
        font-size: 15px;
        line-height: 1.45;
    }

    .nsq-win-code-wrap {
        margin-top: 16px;
        padding: 13px;
    }

    .nsq-win-code {
        font-size: 27px;
    }
}
