:root {
    --bg: #0a0f17;
    --bg-2: #101722;
    --bg-3: #162031;
    --line: rgba(255,255,255,0.10);
    --line-2: rgba(255,255,255,0.16);
    --text: #e9f1fb;
    --muted: #97a8c0;
    --accent: #62d4ff;
    --accent-2: #2e7bff;
    --danger: #ff6b6b;
    --success: #6dffb1;
    --shadow: 0 24px 60px rgba(0, 0, 0, 0.42);
    --taskbar-h: 56px;
    --pointer-x: 50%;
    --pointer-y: 32%;
    --bg-main: radial-gradient(circle at 18% 18%, rgba(50,110,255,0.24), transparent 20%), radial-gradient(circle at 82% 14%, rgba(98,212,255,0.18), transparent 20%), linear-gradient(180deg, #0b1018, #090d15 45%, #05080f);
    --bg-grid-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
    --bg-grid-size: 54px 54px;
    --bg-grid-opacity: .42;
    --bg-particles-image: radial-gradient(circle at 22% 20%, rgba(255,255,255,.22) 0 1px, transparent 1px), radial-gradient(circle at 70% 50%, rgba(255,255,255,.18) 0 1px, transparent 1px), radial-gradient(circle at 40% 80%, rgba(255,255,255,.18) 0 1px, transparent 1px);
    --bg-particles-opacity: .2;
    --aura-1: rgba(98,212,255,.18);
    --aura-2: rgba(46,123,255,.1);
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; height: 100%; overscroll-behavior-y: none; overscroll-behavior-x: none; }
body {
    font-family: Inter, Arial, sans-serif;
    color: var(--text);
    background: #02050a;
    overflow: auto;
    overscroll-behavior-y: none;
    overscroll-behavior-x: none;
}
body.desktop-page { overflow: hidden; user-select:none; -webkit-user-select:none; }
body.admin-page { overflow: auto; }
button, input, textarea, select {
    font: inherit;
}
button {
    cursor: pointer;
    border: 0;
}
img { max-width: 100%; display: block; }

* {
    scrollbar-width: thin;
    scrollbar-color: rgba(132, 167, 219, .55) rgba(255,255,255,.06);
}

.window-body::-webkit-scrollbar,
.start-menu::-webkit-scrollbar,
.taskbar-windows::-webkit-scrollbar,
.admin-panel::-webkit-scrollbar,
.admin-shell::-webkit-scrollbar,
.dictionary-list::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}
.window-body::-webkit-scrollbar-track,
.start-menu::-webkit-scrollbar-track,
.taskbar-windows::-webkit-scrollbar-track,
.admin-panel::-webkit-scrollbar-track,
.admin-shell::-webkit-scrollbar-track,
.dictionary-list::-webkit-scrollbar-track {
    background: rgba(255,255,255,.04);
    border-radius: 999px;
}
.window-body::-webkit-scrollbar-thumb,
.start-menu::-webkit-scrollbar-thumb,
.taskbar-windows::-webkit-scrollbar-thumb,
.admin-panel::-webkit-scrollbar-thumb,
.admin-shell::-webkit-scrollbar-thumb,
.dictionary-list::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(160,190,236,.66), rgba(98,132,189,.55));
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: padding-box;
}
.welcome-window .window-body::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(96,125,170,.75), rgba(64,86,117,.62));
}

.boot-screen {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 50% 20%, rgba(98,212,255,0.12), transparent 30%), #05080f;
}
.boot-screen.hidden { opacity: 0; visibility: hidden; transition: .18s ease; }
.boot-panel {
    width: min(640px, calc(100vw - 32px));
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(20,28,40,0.94), rgba(10,15,23,0.98));
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
}
.boot-brand { display: flex; align-items: center; gap: 18px; }
.boot-logo-frame {
    width: 84px;
    height: 84px;
    padding: 10px;
    border-radius: 20px;
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--line-2);
}
.overline { margin: 0 0 8px; font-size: .72rem; letter-spacing: .22em; color: #9abef8; }
.boot-panel h1 { margin: 0; font-size: clamp(1.2rem, 2.2vw, 1.85rem); }
.boot-log { margin-top: 18px; display: grid; gap: 6px; }
.boot-log p { margin: 0; color: var(--muted); opacity: 0; transform: translateY(4px); transition: .12s ease; }
.boot-log p.visible { opacity: 1; transform: translateY(0); }
.boot-progress { margin-top: 16px; height: 8px; border-radius: 999px; background: rgba(255,255,255,0.07); overflow: hidden; }
.boot-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--accent-2), var(--accent)); }
.boot-status-row { margin-top: 10px; display: flex; justify-content: space-between; color: var(--muted); font-size: .9rem; }

.desktop-shell {
    position: relative;
    min-height: var(--viewport-h);
    height: var(--viewport-h);
    padding: 16px 16px calc(var(--taskbar-h) + 16px);
    background: #060a11;
    opacity: 0;
    transition: opacity .2s ease;
    overflow: hidden;
    overscroll-behavior: none;
    -webkit-overflow-scrolling: touch;
}
.desktop-shell.ready { opacity: 1; }
.bg-layer { position: absolute; inset: 0; pointer-events: none; }
.bg-main { background: var(--bg-main); }
.bg-grid {
    opacity: var(--bg-grid-opacity);
    background-image: var(--bg-grid-image);
    background-size: var(--bg-grid-size);
    transform: perspective(1000px) rotateX(70deg) translateY(27vh) scale(1.35);
    transform-origin: center top;
    mask-image: linear-gradient(180deg, rgba(0,0,0,.9), transparent 95%);
}
.bg-particles {
    opacity: var(--bg-particles-opacity);
    background-image: var(--bg-particles-image);
    background-size: 140px 140px, 180px 180px, 220px 220px;
}
.mouse-aura {
    background:
        radial-gradient(circle 240px at var(--pointer-x) var(--pointer-y), var(--aura-1), transparent 60%),
        radial-gradient(circle 420px at var(--pointer-x) var(--pointer-y), var(--aura-2), transparent 68%);
    transition: background .08s linear;
}

.workspace {
    position: relative;
    min-height: calc(var(--viewport-h) - var(--taskbar-h) - 32px);
    height: calc(var(--viewport-h) - var(--taskbar-h) - 32px);
    overscroll-behavior: contain;
}
.desktop-icons {
    position: absolute;
    inset: 0;
    z-index: 20;
}
.desktop-icon {
    position: absolute;
    width: 92px;
    display: grid;
    gap: 8px;
    justify-items: center;
    text-align: center;
    padding: 8px 6px;
    border-radius: 14px;
    background: transparent;
    color: var(--text);
    border: 1px solid transparent;
    transition: .16s ease;
    touch-action: none;
}
.desktop-icon:hover,
.desktop-icon:focus-visible {
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.08);
    outline: none;
}
.desktop-icon.dragging { background: rgba(255,255,255,.12); z-index: 40; }
.desktop-icon-glyph {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
    border: 1px solid rgba(255,255,255,.12);
    font-size: 1.45rem;
    box-shadow: 0 12px 24px rgba(0,0,0,.2);
}
.desktop-icon.is-yellow .desktop-icon-glyph {
    background: linear-gradient(180deg, rgba(255,213,84,.28), rgba(255,184,42,.12));
    border-color: rgba(255,213,84,.36);
    color: #ffd454;
    box-shadow: 0 0 0 rgba(255,212,84,0), 0 0 26px rgba(255,212,84,.18), 0 12px 24px rgba(0,0,0,.24);
    animation: supportGlow 2.2s ease-in-out infinite;
}
.desktop-icon.is-yellow span:last-child {
    color: #fff4bf;
}

@keyframes supportGlow {
    0%, 100% { transform: translateY(0) scale(1); box-shadow: 0 0 0 rgba(255,212,84,0), 0 0 20px rgba(255,212,84,.18), 0 12px 24px rgba(0,0,0,.24); }
    50% { transform: translateY(-1px) scale(1.03); box-shadow: 0 0 0 8px rgba(255,212,84,.06), 0 0 34px rgba(255,212,84,.30), 0 12px 24px rgba(0,0,0,.28); }
}

.toast-rack {
    position: fixed;
    right: 16px;
    bottom: calc(var(--taskbar-h) + 6px);
    z-index: 5000;
    display: grid;
    gap: 10px;
    width: min(360px, calc(100vw - 24px));
    pointer-events: none;
}
.toast-message {
    pointer-events: auto;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.12);
    background: linear-gradient(180deg, rgba(20,28,40,.96), rgba(11,17,25,.98));
    box-shadow: 0 18px 36px rgba(0,0,0,.34);
    opacity: 0;
    transform: translateY(8px) scale(.98);
    transition: opacity .2s ease, transform .2s ease;
}
.toast-message.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.toast-message__title {
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #9dc4ff;
    margin-bottom: 4px;
}
.toast-message__body {
    color: #eef3fb;
    font-size: .92rem;
    line-height: 1.35;
}
.desktop-icon span:last-child { font-size: .8rem; line-height: 1.2; color: #f0f4fb; text-shadow: 0 1px 2px rgba(0,0,0,.45); }

.window {
    position: absolute;
    top: 92px;
    left: 160px;
    resize: both;
    width: min(900px, calc(100vw - 86px));
    min-width: 320px;
    max-width: calc(100vw - 24px);
    max-height: calc(var(--viewport-h) - var(--taskbar-h) - 18px);
    min-height: 220px;
    display: none;
    flex-direction: column;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(26,33,46,.97), rgba(11,17,25,.98));
    box-shadow: var(--shadow);
    overflow: hidden;
    backdrop-filter: blur(16px);
}
.window.open { display: flex; }
.window.minimized { display: none !important; }
.window.focused { border-color: rgba(98,212,255,.45); box-shadow: 0 0 0 1px rgba(98,212,255,.18), var(--shadow); }
.window-centered {
    top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: min(940px, calc(100vw - 86px));
}
.info-window,
.games-window,
.utility-window:not(.compact-window) { width: min(900px, calc(100vw - 86px)); }
.game-window { width: min(690px, calc(100vw - 86px)); }
.large-window {
    width: min(1040px, calc(100vw - 54px));
    min-height: 0;
    height: min(82vh, 820px);
}
.compact-window { width: min(650px, calc(100vw - 86px)); }
.welcome-window {
    z-index: 100;
    inset: 0 auto auto 0;
    width: 100% !important;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    resize: none !important;
    background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,249,252,.985));
    color: #101521;
}
.welcome-window.window-centered {
    top: 0;
    left: 0;
    transform: none !important;
}
.welcome-window .window-header {
    background: linear-gradient(180deg, rgba(214,227,244,.95), rgba(240,245,251,.92));
    border-bottom-color: rgba(16,21,33,.08);
}
.welcome-window .window-action {
    color: #243246;
    border-left-color: rgba(16,21,33,.08);
}
.welcome-window .window-action:hover { background: rgba(32, 70, 122, .10); }
.welcome-window .window-action.close:hover { background: #d63149; color: #ffffff; }
.welcome-window .eyebrow { color: #2b5c97; }
.welcome-window .hero-copy p, .welcome-window .signal-list, .welcome-window .signal-list li { color: #405063; }
.welcome-window .logo-card, .welcome-window .logo-surface { background: rgba(14,31,58,.04); border-color: rgba(16,21,33,.08); }
.welcome-window .signal-list span { background: rgba(46,123,255,.1); }
.welcome-window .window-body { padding-bottom: 28px; max-height: calc(var(--viewport-h) - var(--taskbar-h) - 86px); overflow: auto; }
.window-header {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-left: 14px;
    background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05));
    border-bottom: 1px solid rgba(255,255,255,.08);
    user-select: none;
}
.window-title-group { display: flex; align-items: center; gap: 10px; min-width: 0; }
.window-title-group strong {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: .92rem;
}
.window-actions { display: flex; margin-left: auto; }
.window-action {
    width: 44px;
    height: 42px;
    display: grid;
    place-items: center;
    color: var(--text);
    background: transparent;
    border-left: 1px solid rgba(255,255,255,.05);
}
.window-action:hover { background: rgba(255,255,255,.08); }
.window-action.minimize:hover { background: rgba(255,213,84,.18); color: #ffd454; }
.window-action.close:hover { background: #d63149; }
.window-action.minimize i { transform: translateY(3px); font-size: .85rem; }
.window-body {
    padding: 18px 18px 22px;
    overflow: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    overflow-anchor: none;
    -webkit-overflow-scrolling: touch;
}
.no-x-scroll { overflow-x: hidden !important; }
.window-body > * { max-width: 100%; }
.window:not(.welcome-window) h2,
.window:not(.welcome-window) h3,
.window:not(.welcome-window) .section-head strong,
.window:not(.welcome-window) .window-title-group strong {
    color: #eef4ff;
}
.window strong,
.window h2,
.window h3,
.folder-item strong,
.feature-card h3,
.download-card h3,
.job-card h3,
.start-item span,
.window-title-group strong {
    overflow-wrap: anywhere;
}
.section-head { margin-bottom: 16px; }
.section-head.compact { margin-bottom: 12px; }
.eyebrow { margin: 0 0 6px; font-size: .75rem; letter-spacing: .16em; color: #8ab0e2; text-transform: uppercase; }
.section-head h2, .hero-copy h2 { margin: 0 0 8px; font-size: clamp(1.2rem, 2vw, 1.9rem); }
.section-head p, .hero-copy p, .feature-card p, .coverage-copy p, .utility-footer, .folder-item small, .form-note { color: var(--muted); }
.hero-layout {
    display: grid;
    grid-template-columns: 1.2fr .95fr;
    gap: 18px;
}
.hero-card, .feature-card, .folder-item, .game-panel, .quiz-card, .color-preview, .list-box, .typing-target {
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    background: rgba(255,255,255,.03);
}
.logo-card { padding: 18px; }
.logo-surface {
    padding: 18px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
    border: 1px solid rgba(255,255,255,.08);
}
.signal-list { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 10px; }
.signal-list li { display: flex; align-items: center; gap: 10px; font-size: .95rem; }
.signal-list span {
    width: 34px; height: 34px; display: grid; place-items: center; border-radius: 12px;
    background: rgba(98,212,255,.12); color: var(--accent);
}
.hero-actions, .game-toolbar, .form-actions, .admin-actions, .admin-tabs, .timer-presets, .paint-toolbar, .inline-form, .taskbar-left { display: flex; gap: 10px; flex-wrap: wrap; }


.welcome-ref-layout {
    grid-template-columns: minmax(280px, .9fr) minmax(620px, 1.65fr);
    align-items: stretch;
    gap: 22px;
}
.welcome-logo-card { align-self: stretch; }
.welcome-ref-copy h2 { max-width: 28ch; }
.welcome-paragraph { max-width: 72ch; }
.services-ref-body { gap: 18px; }
.services-ref-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.service-ref-card { min-height: 0; }
.request-ref-body { gap: 16px; }
.request-ref-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.request-form-actions { align-items: center; justify-content: space-between; }
.request-ref-form .form-note { max-width: 46ch; }
.request-ref-form textarea { min-height: 148px; }

.welcome-lead { font-size: 1.02rem; color: #26364b; }
.welcome-micro-note {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(43,92,151,.08);
    color: #2b4056;
    font-size: .92rem;
    line-height: 1.45;
}
.welcome-site-callout {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 14px;
    align-items: start;
    padding: 16px 18px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(76,91,112,.12), rgba(76,91,112,.07));
    border: 1px solid rgba(76,91,112,.18);
    color: #314457;
}
.welcome-site-callout__icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.6);
    color: #445b73;
    font-size: 1.2rem;
}
.welcome-site-callout strong { display:block; color:#1f3144; margin-bottom:6px; }
.welcome-site-callout--mobile { display: none; }
.download-mobile-note {
    margin: -2px 0 2px;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    color: #dce8f8;
    line-height: 1.5;
}
.welcome-site-callout p { margin:0; line-height:1.55; }
.welcome-cta-row { margin-top: 14px; }
.welcome-ref-copy { display: flex; flex-direction: column; gap: 10px; }
.welcome-request-btn {
    background: linear-gradient(135deg, #ffe16e, #f7bc38);
    color: #332400;
    border: 1px solid rgba(111,82,0,.16);
    font-weight: 700;
}
.welcome-request-btn:hover { filter: brightness(1.03); background: linear-gradient(135deg, #ffe67f, #f8c446); }

.services-window { width: min(1240px, calc(100vw - 84px)) !important; }
.services-ref-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.service-ref-card {
    min-height: 0;
    border-color: color-mix(in srgb, var(--service-accent) 35%, rgba(255,255,255,.08));
    background: linear-gradient(180deg, color-mix(in srgb, var(--service-accent) 10%, rgba(255,255,255,.04)), rgba(255,255,255,.03));
    overflow: hidden;
}
.service-ref-trigger {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 12px;
    padding: 18px;
    text-align: left;
    background: transparent;
    color: inherit;
}
.service-ref-trigger h3 {
    margin: 0;
    line-height: 1.28;
    min-height: 3.2em;
    width: 100%;
}
.service-ref-trigger p {
    margin: 0;
    width: 100%;
    line-height: 1.5;
    min-height: 4.5em;
    color: #bfd0e8;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
.service-ref-head { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; }
.service-ref-icon {
    width: 48px; height: 48px; border-radius: 16px; display:grid; place-items:center;
    background: color-mix(in srgb, var(--service-accent) 18%, rgba(255,255,255,.06));
    color: var(--service-accent);
    font-size: 1.18rem;
    flex: 0 0 auto;
}
.service-ref-category {
    display:inline-flex; align-items:center; justify-content:center;
    min-height: 30px; padding: 6px 10px; border-radius: 999px;
    background: color-mix(in srgb, var(--service-accent) 20%, rgba(255,255,255,.05));
    color: #eef5ff; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase;
}
.service-ref-link {
    margin-top: auto;
    display:inline-flex; align-items:center; gap:8px;
    color: var(--service-accent); font-weight: 700; font-size: .92rem;
}
.service-modal {
    position: fixed; inset: 0; z-index: 8000; display: grid; place-items: center;
}
.service-modal[hidden] { display:none !important; }
.service-modal__backdrop {
    position:absolute; inset:0; background: rgba(3,7,12,.64); backdrop-filter: blur(6px);
}
.service-modal__dialog {
    position: relative; width: min(720px, calc(100vw - 32px)); max-height: calc(100vh - 40px);
    background: linear-gradient(180deg, rgba(17,23,34,.98), rgba(8,12,19,.99));
    border: 1px solid rgba(255,255,255,.09); border-radius: 20px; box-shadow: var(--shadow);
    overflow: auto;
}
.service-modal__content { padding: 24px 24px 22px; }
.service-modal__content h3 { margin: 0 0 10px; color: #eef4ff; }
.service-modal__content p { color: var(--muted); line-height: 1.7; }
.service-modal__close {
    position:absolute; top: 12px; right: 12px; width: 38px; height: 38px; border-radius: 12px;
    background: rgba(255,255,255,.06); color: #eef4ff; display:grid; place-items:center;
}
body.service-modal-open { overflow: hidden; }
.request-contact-panel {
    display: grid; gap: 14px; padding: 18px; border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
    border: 1px solid rgba(255,255,255,.08);
    min-width: 0;
}
.request-contact-help { margin: 0; color: var(--muted); line-height: 1.5; font-size: .92rem; }
.request-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, .9fr);
    gap: 16px;
    align-items: start;
}
.request-ref-form {
    display: grid;
    gap: 14px;
    padding: 18px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.08);
}
.request-ref-form label {
    display: grid;
    gap: 8px;
}
.request-ref-form label > span {
    color: #edf3ff;
    font-weight: 600;
    font-size: .94rem;
}
.request-contact-panel strong { color: #eef4ff; }
.request-contact-panel p { margin: 4px 0 0; color: var(--muted); }
.request-contact-output {
    display: grid; gap: 8px; padding: 14px 15px; border-radius: 16px;
    background: rgba(255,255,255,.04); color: #e9f2ff;
}
.request-contact-output strong { font-size: .98rem; }
.request-contact-output span { line-height: 1.5; }
.request-contact-output a { color: #9fd4ff; text-decoration: underline; }
.request-contact-actions { display:flex; gap:10px; flex-wrap:wrap; }
.request-contact-actions > * { flex: 1 1 180px; justify-content:center; text-align:center; }
.request-contact-actions .is-disabled { opacity: .5; pointer-events: none; }
.request-contact-zone-picker { display:grid; gap:8px; }
.request-contact-zone-picker > span { color:#edf3ff; font-weight:600; font-size:.94rem; }
.request-captcha-box {
    display:grid; gap:10px; padding:12px 14px; border-radius:16px;
    background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.06);
}
.request-captcha-box__label { color:#edf3ff; font-weight:600; font-size:.94rem; }
.request-captcha-box__row { display:grid; grid-template-columns: minmax(120px, auto) minmax(0, 1fr); gap:10px; align-items:center; }
.request-captcha-box__question {
    display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 14px; border-radius:14px;
    background: rgba(98,212,255,.08); border:1px solid rgba(98,212,255,.16); color:#eaf5ff; font-weight:800; letter-spacing:.04em;
}
.honeypot-field {
    position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important;
}

@media (max-width: 860px) {
    .welcome-ref-layout,
    .request-ref-grid,
    .request-ref-grid.two-plus-one { grid-template-columns: 1fr; }
    .request-shell { grid-template-columns: 1fr; }
    .request-form-actions { align-items: flex-start; }
    .request-captcha-box__row { grid-template-columns: 1fr; }
}

.tool-cluster { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
select option { background:#0f1521; color:#ecf2ff; }
.hero-copy, .hero-card, .feature-card, .download-card-top > div, .finder-bar > * { min-width: 0; }
.primary-btn, .ghost-btn, .start-item, .folder-item, .context-menu button {
    border-radius: 12px;
    padding: 11px 14px;
    transition: .16s ease;
}
.primary-btn {
    background: linear-gradient(135deg, var(--accent-2), var(--accent));
    color: white;
    font-weight: 700;
}
.primary-btn:hover { filter: brightness(1.06); }
.ghost-btn, .start-item, .context-menu button {
    background: rgba(255,255,255,.05);
    color: var(--text);
    border: 1px solid rgba(255,255,255,.08);
}
.ghost-btn:hover, .start-item:hover, .context-menu button:hover { background: rgba(255,255,255,.08); }
.context-menu button:disabled {
    opacity: .5;
    cursor: default;
    background: transparent;
}
.card-grid, .folder-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
}
.feature-card { padding: 16px; }
.feature-card h3, .folder-item strong, .download-card h3, .job-card h3 { margin: 0 0 6px; color: #f3f7ff; }
.folder-item { text-align: left; display: grid; gap: 6px; color: #eff4fd; }
.folder-item[hidden] { display: none !important; }
.folder-search-empty[hidden] { display: none !important; }
.folder-item-icon {
    width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center;
    background: rgba(98,212,255,.12); color: var(--accent); font-size: 1rem;
}

.coverage-shell { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: stretch; }
.coverage-map {
    --scan-duration: 3.4s;
    position: relative; min-height: 360px; border-radius: 18px;
    background:
        radial-gradient(circle at center, rgba(88,220,255,.07) 0%, rgba(11,18,28,.95) 58%, rgba(5,10,16,.99) 100%);
    border: 1px solid rgba(255,255,255,.08); overflow: hidden;
    isolation: isolate;
}
.coverage-map::before {
    content: ''; position: absolute; inset: 0;
    background:
        linear-gradient(180deg, rgba(2,9,14,.18), rgba(2,9,14,.18)),
        url("coverage-radar-map.png") center bottom / cover no-repeat;
    opacity: .93;
    filter: brightness(.76) saturate(.84);
}
.coverage-map::after {
    content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 1;
    background:
        radial-gradient(circle at center, transparent 0 24%, rgba(98,212,255,.085) 24.4% 25.1%, transparent 25.5% 41%, rgba(98,212,255,.06) 41.4% 42%, transparent 42.4% 57%, rgba(98,212,255,.045) 57.4% 58%, transparent 58.4%),
        repeating-linear-gradient(0deg, transparent 0 17px, rgba(98,212,255,.035) 17px 18px),
        repeating-linear-gradient(90deg, transparent 0 17px, rgba(98,212,255,.035) 17px 18px);
    opacity: .82;
    mask-image: radial-gradient(circle at center, black 0 84%, transparent 100%);
}
.coverage-roads { display: none; }


.coverage-label {
    position: absolute; z-index: 4; pointer-events: none;
    color: #b7f5ff; font-family: Arial, Helvetica, sans-serif;
    font-size: .85rem; letter-spacing: .16em; line-height: 1;
    text-transform: uppercase; white-space: nowrap;
    opacity: 0;
    filter: brightness(.9);
    text-shadow: 0 0 0 rgba(98,212,255,0);
    transition: opacity 1.95s ease-out, filter 1.95s ease-out, text-shadow 1.95s ease-out;
}
.coverage-label.is-fixed-city {
    opacity: .94;
    filter: brightness(1.08);
    text-shadow: 0 0 10px rgba(170,245,255,.18), 0 0 20px rgba(98,212,255,.08);
    transition: none;
}
.coverage-label.is-scanned {
    opacity: calc(.05 + (var(--scan-intensity, 0) * .95));
    filter: brightness(calc(.96 + (var(--scan-intensity, 0) * .78)));
    text-shadow: 0 0 8px rgba(170,245,255,.34), 0 0 18px rgba(98,212,255,.16);
}
.coverage-label.is-city {
    color: #e1fdff; font-size: 1.95rem; font-weight: 700; letter-spacing: .1em;
}
.label-area { top: 22%; left: 8%; }
.label-pozzuoli { top: 52%; left: 10%; }
.label-quarto { top: 35%; left: 13%; }
.label-marano { top: 18%; left: 31%; }
.label-fuorigrotta { top: 57%; left: 28%; }
.label-vomero { top: 39%; left: 41%; }
.label-arenella { top: 34%; left: 48%; }
.label-rione-alto { top: 28%; left: 51%; }
.label-colli-aminei { top: 24%; left: 59%; }
.label-miano { top: 23%; left: 44%; }
.label-chiaiano { top: 14%; left: 39%; }
.label-napoli { top: 69%; left: 57%; transform: translateX(-50%); }
.label-cdn { top: 49%; left: 70%; }
.label-casalnuovo { top: 18%; left: 81%; }

.pulse-node {
    position: absolute; z-index: 5; width: 8px; height: 8px; border-radius: 50%;
    background: radial-gradient(circle at 36% 36%, #ffffff 0 22%, #d8ffff 23% 52%, #83ecff 53% 100%);
    box-shadow: 0 0 8px rgba(98,212,255,.42), 0 0 16px rgba(98,212,255,.18);
    opacity: 0;
    transform: scale(.86);
    transition: opacity 2.4s ease-out, transform 2.4s ease-out, box-shadow 2.4s ease-out;
}
.pulse-node.is-scanned {
    opacity: calc(.08 + (var(--scan-intensity, 0) * .92));
    transform: scale(1);
    box-shadow: 0 0 10px rgba(98,212,255,.56), 0 0 20px rgba(98,212,255,.24);
}
.node-pozzuoli { top: 51.2%; left: 8.7%; }
.node-quarto { top: 34.2%; left: 12%; }
.node-marano { top: 17.4%; left: 29.3%; }
.node-fuorigrotta { top: 56.2%; left: 25.8%; }
.node-vomero { top: 38.2%; left: 39.2%; }
.node-arenella { top: 33.4%; left: 46%; }
.node-rione-alto { top: 27.2%; left: 49.2%; }
.node-colli-aminei { top: 23.4%; left: 56.2%; }
.node-miano { top: 22.2%; left: 42%; }
.node-chiaiano { top: 13.2%; left: 36.6%; }
.node-cdn { top: 48.2%; left: 67.6%; }
.node-casalnuovo { top: 17.2%; left: 78.6%; }
.scan-line {
    position: absolute; z-index: 6; inset-inline: -4%; height: 86px; top: -86px; pointer-events: none;
    background: linear-gradient(180deg,
        rgba(98,212,255,0) 0%,
        rgba(98,212,255,.025) 26%,
        rgba(160,244,255,.08) 45%,
        rgba(240,255,255,.22) 50%,
        rgba(160,244,255,.08) 55%,
        rgba(98,212,255,.025) 74%,
        rgba(98,212,255,0) 100%);
    mix-blend-mode: screen;
    opacity: .72;
    filter: blur(.18px) drop-shadow(0 0 6px rgba(98,212,255,.16));
    animation: scan var(--scan-duration) infinite linear;
}
.scan-line::after {
    content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 1px;
    transform: translateY(-50%);
    background: linear-gradient(90deg, transparent, rgba(242,255,255,.68), transparent);
    box-shadow: 0 0 6px rgba(98,212,255,.18);
}

@keyframes scan { from { top: -86px; } to { top: 100%; } }

.coverage-badges { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.coverage-badges { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }

.coverage-badges span {
    padding: 8px 12px; border-radius: 999px; background: rgba(98,212,255,.10); border: 1px solid rgba(98,212,255,.16);
}
.service-form { display: grid; gap: 14px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
label { display: grid; gap: 8px; color: var(--muted); font-size: .94rem; }
input[type='text'], input[type='email'], input[type='number'], input[type='date'], input[type='search'], textarea, select {
    width: 100%; border-radius: 12px; border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.05); color: var(--text); padding: 12px 14px;
}
textarea { resize: vertical; min-height: 110px; }
.form-alert {
    padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(255,255,255,.1); margin-bottom: 12px;
}
.form-alert.success { background: rgba(109,255,177,.08); color: #d7ffe8; border-color: rgba(109,255,177,.2); }
.form-alert.error { background: rgba(255,107,107,.08); color: #ffd9d9; border-color: rgba(255,107,107,.2); }
.form-alert ul { margin: 10px 0 0 16px; }
.utility-body { display: grid; gap: 14px; }
.calendar-form { display: grid; grid-template-columns: 170px 1fr auto; gap: 10px; align-items: end; }
.list-box { padding: 12px; min-height: 120px; display: grid; gap: 10px; }
.list-empty { color: var(--muted); }
.list-row {
    display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: start;
    padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.03);
}
.notes-area { min-height: 280px; border-radius: 16px; }
.inline-form { align-items: center; }
.inline-form input, .inline-form select { flex: 1; }
.timer-display {
    padding: 20px; text-align: center; font-size: 2.3rem; font-weight: 800;
    border-radius: 18px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03);
}
.game-stats { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0,1fr)); }
.game-stats.two-cols { grid-template-columns: repeat(2, minmax(0,1fr)); }
.game-stats.four-cols { grid-template-columns: repeat(4, minmax(0,1fr)); }
.game-stats > div {
    padding: 10px 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03);
}
.game-stats span { display: block; font-size: .75rem; color: var(--muted); margin-bottom: 4px; }
.game-stats strong { font-size: 1rem; }
.calc-display {
    width: 100%; padding: 14px; border-radius: 14px; font-size: 1.5rem; text-align: right;
    border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); color: var(--text);
}
.calc-grid {
    display: grid; gap: 8px; grid-template-columns: repeat(4, 1fr);
}
.calc-grid button { padding: 14px 8px; border-radius: 12px; background: rgba(255,255,255,.05); color: var(--text); border: 1px solid rgba(255,255,255,.08); }
.calc-grid button:hover { background: rgba(255,255,255,.09); }
.check-row { display: flex; align-items: center; gap: 10px; }
.paint-toolbar { align-items: center; }
.paint-canvas, .compact-canvas {
    width: 100%; max-width: 100%; border-radius: 14px; border: 1px solid rgba(255,255,255,.08); background: #fff;
}
.dictionary-list { max-height: 360px; overflow: auto; }
.dictionary-item { padding: 12px; border-radius: 12px; background: rgba(255,255,255,.03); }
.dictionary-item strong { display: block; margin-bottom: 4px; }
.color-preview {
    min-height: 78px; display: grid; place-items: center; font-weight: 700;
}
.saved-colors { display: flex; gap: 10px; flex-wrap: wrap; }
.color-chip {
    width: 54px; height: 54px; border-radius: 14px; border: 1px solid rgba(255,255,255,.18);
}

.mini-arena {
    position: relative;
    width: 100%;
    height: 190px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.08);
    background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
    overflow: hidden;
}
.pulse-target, .gem-player, .gem-target {
    position: absolute;
    width: 34px;
    height: 34px;
    border-radius: 50%;
}
.pulse-target {
    background: radial-gradient(circle at 40% 40%, #fff, #62d4ff 42%, #2e7bff 100%);
    border: 2px solid rgba(255,255,255,.6);
    transform: translate(-50%, -50%);
}
.gem-player { background: linear-gradient(180deg, #fff, #62d4ff); left: 18px; top: 18px; }
.gem-target {
    background: linear-gradient(135deg, #fff, #8c5dff);
    transform: rotate(45deg);
}
.touch-controls { display: none; gap: 10px; justify-content: center; }
.touch-controls button {
    width: 44px; height: 44px; border-radius: 12px; background: rgba(255,255,255,.05); color: var(--text); border: 1px solid rgba(255,255,255,.08);
}
.mine-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 4px;
}
.mine-cell {
    aspect-ratio: 1;
    border-radius: 8px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    color: var(--text);
    font-weight: 700;
}
.mine-cell.open { background: rgba(255,255,255,.12); }
.mine-cell.mine { background: rgba(214,49,73,.3); }
.memory-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}
.memory-card {
    aspect-ratio: 1;
    border-radius: 12px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    color: transparent;
    font-size: 1.4rem;
}
.memory-card.open, .memory-card.done { color: var(--text); background: rgba(98,212,255,.16); }
.reaction-pad {
    min-height: 150px;
    border-radius: 18px;
    background: rgba(255,255,255,.06);
    color: white;
    font-weight: 800;
    font-size: 1.2rem;
}
.reaction-pad.go { background: rgba(109,255,177,.28); }
.hangman-word {
    padding: 18px; border-radius: 14px; background: rgba(255,255,255,.04); font-size: 1.5rem; text-align: center; letter-spacing: .18em;
}
.hangman-letters {
    display: grid; gap: 8px; grid-template-columns: repeat(7, 1fr);
}
.hangman-letters button {
    padding: 10px 0; border-radius: 10px; background: rgba(255,255,255,.05); color: var(--text); border: 1px solid rgba(255,255,255,.08);
}
.typing-target {
    padding: 14px; min-height: 110px; line-height: 1.55;
}
.typing-input { min-height: 120px; }
.quiz-card { padding: 16px; }
.quiz-date { color: var(--muted); font-size: .85rem; margin-bottom: 8px; }
.quiz-options { display: grid; gap: 10px; }
.quiz-options button { text-align: left; }
.quiz-options button.correct { background: rgba(109,255,177,.14); border-color: rgba(109,255,177,.25); }
.quiz-options button.wrong { background: rgba(255,107,107,.14); border-color: rgba(255,107,107,.25); }

.start-menu {
    position: fixed;
    left: 14px;
    bottom: calc(var(--taskbar-h) + 10px);
    z-index: 2000;
    width: min(320px, calc(100vw - 28px));
    padding: 12px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(24,31,42,.98), rgba(10,15,23,.98));
    border: 1px solid rgba(255,255,255,.1);
    box-shadow: var(--shadow);
    transform: translateY(10px) scale(.98);
    opacity: 0;
    transform-origin: bottom left;
    transition: .16s ease;
}
.start-menu.open { opacity: 1; transform: translateY(0) scale(1); }
.start-menu-header { display: flex; align-items: center; gap: 12px; padding: 8px 8px 14px; border-bottom: 1px solid rgba(255,255,255,.08); }
.mini-logo-surface {
    width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center;
    background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
}
.start-menu-section { display: grid; gap: 8px; padding-top: 12px; }
.start-divider { height: 1px; background: rgba(255,255,255,.08); margin: 14px 0 8px; }
.start-group-label { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: #9abef8; padding-inline: 4px; }
.start-item { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; }
.start-icon {
    width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center;
    background: rgba(98,212,255,.12); color: var(--accent);
}

.download-grid, .background-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.games-window .folder-grid,
#window-downloads .download-grid,
#window-backgrounds .background-grid { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
#window-backgrounds { width: min(980px, calc(100vw - 72px)); }
.background-choice strong,
.background-choice small { color: #eef4ff; }
.background-choice { display: grid; gap: 10px; text-align: left; padding: 12px; border-radius: 14px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); color: var(--text); }
.background-choice.active { border-color: rgba(98,212,255,.35); box-shadow: 0 0 0 1px rgba(98,212,255,.18) inset; }
.background-preview { display: block; min-height: 88px; border-radius: 12px; border: 1px solid rgba(255,255,255,.08); }
.jobs-results { display: grid; gap: 12px; }
.job-card small { color: var(--muted); }
.download-card-top { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; }
.finder-bar input { flex: 1; min-width: 0; }

.taskbar {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 2200;
    min-height: var(--taskbar-h);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 12px;
    background: linear-gradient(180deg, rgba(15,21,31,.98), rgba(9,13,20,.98));
    border-top: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(18px);
}
.taskbar-left { align-items: center; min-width: 0; flex: 1; }
.start-trigger {
    width: 52px; height: 42px;
    display: grid; place-items: center;
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(232,236,242,.94));
    border: 1px solid rgba(255,255,255,.45);
    box-shadow: 0 0 0 1px rgba(255,255,255,.24) inset, 0 10px 18px rgba(0,0,0,.22);
}
.start-trigger:hover { filter: brightness(1.06); }
.start-trigger img { width: 24px; height: 24px; object-fit: contain; }
.taskbar-windows {
    display: flex; gap: 8px; min-width: 0; overflow: auto; padding-bottom: 2px;
}
.taskbar-window {
    display: flex; align-items: center; gap: 8px; min-width: 0;
    max-width: 180px; padding: 10px 12px; border-radius: 12px;
    background: rgba(255,255,255,.05); color: var(--text); border: 1px solid rgba(255,255,255,.08);
}
.taskbar-window.active { background: rgba(98,212,255,.14); border-color: rgba(98,212,255,.26); }
.taskbar-window.minimized { opacity: .7; }
.taskbar-window span {
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.taskbar-right { display: flex; align-items: center; }
.clock-box {
    min-width: 78px; text-align: center; padding: 9px 12px; border-radius: 12px;
    background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08);
}

.context-menu {
    position: fixed;
    z-index: 2600;
    width: 244px;
    padding: 8px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(24,31,42,.98), rgba(10,15,23,.98));
    border: 1px solid rgba(255,255,255,.1);
    box-shadow: var(--shadow);
}
.context-menu button { width: 100%; text-align: left; padding: 10px 12px; }
.context-menu hr { border: 0; height: 1px; background: rgba(255,255,255,.08); margin: 8px 0; }

.admin-shell {
    min-height: 100vh;
    display: block;
    padding: 20px;
    background: linear-gradient(180deg, #0b1018, #06080d);
    overflow: auto;
}
.admin-panel {
    width: min(1120px, 100%);
    margin: 0 auto;
    padding: 24px;
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(24,31,42,.98), rgba(10,15,23,.98));
    border: 1px solid rgba(255,255,255,.08);
}
.admin-topbar { display: flex; justify-content: space-between; gap: 16px; align-items: start; margin-bottom: 12px; }
.json-editor { min-height: 320px; font-family: ui-monospace, SFMono-Regular, monospace; }
.inline-link { color: var(--accent); }
.admin-note { color: var(--muted); margin-top: -6px; }

@media (max-width: 900px) {
    .hero-layout, .coverage-shell { grid-template-columns: 1fr; }
    .form-grid, .calendar-form { grid-template-columns: 1fr; }
    .desktop-icons { position: relative; min-height: 240px; }
    .desktop-icon { width: 92px; }
    .window { left: 72px; width: min(880px, calc(100vw - 84px)); }
}

@media (max-width: 700px) {
    body.desktop-page { overflow: hidden; user-select:none; -webkit-user-select:none; }
    .desktop-shell {
        min-height: var(--viewport-h);
        height: var(--viewport-h);
        padding: 8px 0 calc(var(--taskbar-h) + 8px + env(safe-area-inset-bottom));
        overflow: hidden;
        overscroll-behavior-y: contain;
        -webkit-overflow-scrolling: touch;
    }
    .workspace {
        min-height: calc(var(--viewport-h) - var(--taskbar-h) - env(safe-area-inset-bottom) - 16px);
        height: calc(var(--viewport-h) - var(--taskbar-h) - env(safe-area-inset-bottom) - 16px);
        width: 100%;
        max-width: 100%;
    }
    .desktop-icons {
        position: relative;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        min-height: auto;
        align-content: start;
        justify-items: center;
        padding: 2px 8px 8px;
    }
    .desktop-icon {
        position: relative;
        left: auto !important;
        top: auto !important;
        width: 100%;
        max-width: 98px;
        min-height: 90px;
        touch-action: manipulation;
        padding: 6px 4px;
        margin: 0 auto;
    }
    .desktop-icon-glyph {
        width: 46px;
        height: 46px;
        border-radius: 14px;
        font-size: 1.2rem;
    }
    .desktop-icon span:last-child {
        font-size: .72rem;
    }
    .window,
    .window-centered,
    .compact-window,
    .services-window {
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        transform: none !important;
        width: 100% !important;
        min-width: 0;
        max-width: 100% !important;
        margin: 0 !important;
        height: var(--mobile-window-h) !important;
        max-height: var(--mobile-window-h) !important;
        border-radius: 16px;
    }
    .services-window {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        width: auto !important;
        max-width: none !important;
        inset-inline: 0 !important;
    }
    .window-body {
        padding: 14px;
        max-height: calc(var(--mobile-window-h) - 50px) !important;
        overflow-y: auto !important;
    }
    .services-window {
        inset-inline: 0 !important;
    }
    .taskbar {
        padding: 8px max(8px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
    }
    .taskbar-window span { display: none; }
    .taskbar-window { max-width: none; padding-inline: 12px; }
    .clock-box { min-width: 64px; padding-inline: 8px; }
    .start-menu {
        left: 8px;
        right: 8px;
        bottom: calc(var(--taskbar-h) + 8px + env(safe-area-inset-bottom));
        width: auto;
        max-height: calc(var(--viewport-h) - var(--taskbar-h) - env(safe-area-inset-bottom) - 24px);
        overflow: auto;
    }
    .large-window { min-height: auto; }
    .game-stats, .game-stats.two-cols, .game-stats.four-cols { grid-template-columns: repeat(2, 1fr); }
    .memory-grid { grid-template-columns: repeat(4, 1fr); }
    .hangman-letters { grid-template-columns: repeat(6, 1fr); }
    .touch-controls { display: grid; }
    .paint-toolbar { grid-template-columns: repeat(2, 1fr); display: grid; }
    .paint-canvas { height: 280px; }
    .request-shell { grid-template-columns: 1fr; }
    .request-contact-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
    .request-contact-actions > * { flex: 1 1 auto; }
    .welcome-site-callout--sidebar { display: none; }
    .welcome-site-callout--mobile { display: grid; margin-top: 16px; }
    .toast-rack {
        left: 8px;
        right: 8px;
        width: auto;
        bottom: calc(var(--taskbar-h) + 10px + env(safe-area-inset-bottom));
    }
}

@media (max-width: 480px) {
    .desktop-icons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .background-grid, .download-grid { grid-template-columns: 1fr; }
    .card-grid, .folder-grid { grid-template-columns: 1fr; }
    .game-stats, .game-stats.two-cols, .game-stats.four-cols { grid-template-columns: 1fr 1fr; }
    .hangman-letters { grid-template-columns: repeat(5, 1fr); }
    .memory-grid { grid-template-columns: repeat(4, 1fr); }
}

/* Game tuning overrides */
.game-note {
    text-align: center;
    color: #d6e7ff;
}
.game-touch-surface {
    touch-action: none;
    user-select: none;
}

.mini-arena {
    height: 178px;
    background:
        radial-gradient(circle at 50% 50%, rgba(98,212,255,.08), transparent 52%),
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.pulse-target {
    width: 28px;
    height: 28px;
    box-shadow: 0 0 22px rgba(98,212,255,.38);
    transition: left .16s ease, top .16s ease, transform .16s ease, filter .16s ease;
}
.pulse-target.fast {
    transform: translate(-50%, -50%) scale(1.14);
    filter: blur(.6px) brightness(1.08);
    box-shadow: 0 0 0 8px rgba(98,212,255,.08), 0 0 28px rgba(98,212,255,.45);
}
.pulse-trail {
    position: absolute;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(.7);
    background: radial-gradient(circle, rgba(255,255,255,.45), rgba(98,212,255,.28) 45%, transparent 70%);
    opacity: 0;
    pointer-events: none;
    transition: transform .24s ease, opacity .24s ease;
}
.pulse-trail.visible {
    opacity: .9;
    transform: translate(-50%, -50%) scale(1.6);
}
.pulse-trail.dash.visible {
    opacity: 1;
    transform: translate(-50%, -50%) scale(2.1);
}

.window[data-window='pulse'] .pulse-float {
    position: absolute;
    transform: translate(-50%, -50%) scale(.72);
    opacity: 0;
    pointer-events: none;
    font-weight: 900;
    font-size: 1.05rem;
    line-height: 1;
    letter-spacing: -.02em;
    text-shadow: 0 2px 8px rgba(0,0,0,.38);
    filter: drop-shadow(0 0 10px rgba(255,255,255,.10));
    transition: transform .42s cubic-bezier(.2,.8,.2,1), opacity .42s ease;
    z-index: 8;
    will-change: transform, opacity;
}
.window[data-window='pulse'] .pulse-float.visible {
    opacity: 1;
    transform: translate(-50%, calc(-50% - 18px)) scale(1.08);
}
.window[data-window='pulse'] .pulse-float.positive {
    color: #6dffb1;
    text-shadow: 0 0 14px rgba(109,255,177,.36), 0 2px 8px rgba(0,0,0,.42);
}
.window[data-window='pulse'] .pulse-float.negative {
    color: #ff6b6b;
    text-shadow: 0 0 14px rgba(255,107,107,.34), 0 2px 8px rgba(0,0,0,.42);
}

.mine-grid {
    grid-template-columns: repeat(7, minmax(0, 34px));
    justify-content: center;
    gap: 5px;
}
.mine-cell {
    min-width: 34px;
    font-size: .9rem;
}
.mine-cell.mine.virus {
    color: #ffd2d9;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 0 20px rgba(214,49,73,.18);
}

.memory-grid {
    grid-template-columns: repeat(4, minmax(0, 70px));
    justify-content: center;
    gap: 7px;
}
.memory-card {
    min-width: 0;
    font-size: 1.1rem;
}

.reaction-pad {
    min-height: 158px;
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 20px 40px rgba(0,0,0,.25);
    transition: background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.reaction-pad.armed {
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
}
.reaction-pad.go {
    background: linear-gradient(180deg, rgba(109,255,177,.48), rgba(28,170,105,.34));
    box-shadow: 0 0 0 1px rgba(109,255,177,.25), 0 0 30px rgba(109,255,177,.32), 0 20px 40px rgba(0,0,0,.25);
}
.reaction-pad.fake-red {
    background: linear-gradient(180deg, rgba(255,107,107,.4), rgba(191,37,37,.3));
    box-shadow: 0 0 28px rgba(255,107,107,.24);
}
.reaction-pad.fake-blue {
    background: linear-gradient(180deg, rgba(98,212,255,.36), rgba(46,123,255,.24));
    box-shadow: 0 0 28px rgba(98,212,255,.24);
}
.reaction-pad.fake-amber {
    background: linear-gradient(180deg, rgba(255,197,92,.42), rgba(186,115,14,.24));
    box-shadow: 0 0 28px rgba(255,197,92,.24);
}
.reaction-pad.fail {
    background: linear-gradient(180deg, rgba(214,49,73,.4), rgba(111,17,35,.28));
}
.reaction-pad.success {
    background: linear-gradient(180deg, rgba(98,212,255,.34), rgba(82,122,255,.24));
}
#reactionStartBtn:disabled {
    opacity: .5;
    cursor: not-allowed;
}

.hangman-word {
    font-size: 1.35rem;
    min-height: 72px;
    display: grid;
    place-items: center;
}
.hangman-word.is-win {
    box-shadow: 0 0 0 1px rgba(109,255,177,.24), inset 0 0 24px rgba(109,255,177,.08);
}
.hangman-word.is-lose {
    box-shadow: 0 0 0 1px rgba(255,107,107,.24), inset 0 0 24px rgba(255,107,107,.08);
}
.hangman-letters button.wrong {
    background: rgba(214,49,73,.22);
    border-color: rgba(214,49,73,.32);
    color: #ffd6dc;
}
.hangman-letters button.correct {
    background: rgba(109,255,177,.16);
    border-color: rgba(109,255,177,.22);
}
.hangman-hint.success {
    color: #adffcf;
}
.hangman-hint.error {
    color: #ffd1d8;
}

.typing-target.done {
    box-shadow: 0 0 0 1px rgba(109,255,177,.18), inset 0 0 24px rgba(109,255,177,.06);
}

.quiz-card {
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025));
}
.quiz-card.played.win {
    box-shadow: 0 0 0 1px rgba(109,255,177,.22), inset 0 0 26px rgba(109,255,177,.06);
}
.quiz-card.played.lose {
    box-shadow: 0 0 0 1px rgba(255,107,107,.2), inset 0 0 26px rgba(255,107,107,.05);
}
.quiz-option {
    transition: transform .14s ease, background .14s ease, border-color .14s ease;
}
.quiz-option:hover {
    transform: translateY(-1px);
}
.quiz-options button.correct { background: rgba(109,255,177,.16); border-color: rgba(109,255,177,.32); }
.quiz-options button.wrong { background: rgba(255,107,107,.16); border-color: rgba(255,107,107,.28); }
.quiz-options button.dimmed { opacity: .62; }
.quiz-feedback.success { color: #adffcf; }
.quiz-feedback.error { color: #ffd1d8; }

@media (max-width: 800px) {
    .mine-grid {
        grid-template-columns: repeat(7, minmax(0, 30px));
    }
    .memory-grid {
        grid-template-columns: repeat(4, minmax(0, 60px));
    }
}

@media (max-width: 480px) {
    .mine-grid {
        grid-template-columns: repeat(7, minmax(0, 28px));
        gap: 4px;
    }
    .memory-grid {
        grid-template-columns: repeat(4, minmax(0, 54px));
        gap: 6px;
    }
    .memory-card {
        font-size: .95rem;
    }
    .hangman-word {
        font-size: 1.05rem;
        letter-spacing: .12em;
    }
}

/* Game refinement pack */
.mode-switch {
    display: inline-flex;
    gap: 6px;
    padding: 4px;
    border-radius: 12px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
}
.mode-switch .ghost-btn {
    padding: 8px 12px;
    border-radius: 10px;
}
.mode-switch .ghost-btn.active,
#mineFlagBtn.active {
    background: rgba(98,212,255,.16);
    border-color: rgba(98,212,255,.3);
    color: #eef8ff;
}
.compact-canvas-small {
    width: min(220px, 100%);
    height: auto;
}

.window[data-window='pulse'] .window-body {
    background: radial-gradient(circle at top, rgba(98,212,255,.08), transparent 36%);
}
.window[data-window='mine'] .window-body {
    background: linear-gradient(180deg, rgba(61,255,165,.05), rgba(17,27,20,.02));
}
.window[data-window='pong'] .window-body {
    background: linear-gradient(180deg, rgba(144,96,255,.08), rgba(13,16,27,.02));
}
.window[data-window='memory'] .window-body {
    background: linear-gradient(180deg, rgba(255,184,77,.06), rgba(16,16,24,.02));
}
.window[data-window='reaction'] .window-body {
    background: linear-gradient(180deg, rgba(80,122,255,.08), rgba(18,12,22,.02));
}
.window[data-window='snake'] .window-body {
    background: linear-gradient(180deg, rgba(78,255,172,.08), rgba(10,19,13,.02));
}
.window[data-window='hangman'] .window-body {
    background: linear-gradient(180deg, rgba(255,107,107,.06), rgba(20,12,14,.02));
}
.window[data-window='typing'] .window-body {
    background: linear-gradient(180deg, rgba(114,227,255,.07), rgba(10,18,24,.02));
}
.window[data-window='quiz'] .window-body {
    background: linear-gradient(180deg, rgba(255,212,84,.08), rgba(22,19,10,.02));
}

.pulse-target {
    background: radial-gradient(circle at 35% 35%, rgba(255,255,255,.95), rgba(98,212,255,.88) 35%, rgba(28,95,255,.55) 62%, rgba(98,212,255,.16) 63%, transparent 70%);
}

.mine-grid {
    grid-template-columns: repeat(7, minmax(0, 30px));
    justify-content: center;
    gap: 4px;
}
.mine-cell {
    min-width: 30px;
    min-height: 30px;
    border-radius: 10px;
}
.mine-cell.flagged {
    color: #ffd66e;
    background: rgba(255,214,110,.14);
    border-color: rgba(255,214,110,.22);
}
.mine-cell.mine.virus {
    font-size: 1rem;
    color: #ffe1ea;
    background: rgba(214,49,73,.18);
}
.mine-grid.flag-mode .mine-cell:not(.open) {
    box-shadow: inset 0 0 0 1px rgba(255,214,110,.18);
}

.memory-grid {
    grid-template-columns: repeat(5, minmax(0, 54px));
    justify-content: center;
    gap: 6px;
    position: relative;
}
.memory-card {
    width: 54px;
    height: 54px;
    min-width: 54px;
    font-size: 1rem;
}
.memory-finish-banner {
    grid-column: 1 / -1;
    margin-top: 8px;
    padding: 10px 12px;
    border-radius: 12px;
    text-align: center;
    background: rgba(109,255,177,.12);
    border: 1px solid rgba(109,255,177,.22);
    color: #d7ffe8;
    font-weight: 700;
}
.memory-grid.done {
    box-shadow: inset 0 0 0 1px rgba(109,255,177,.18), 0 0 24px rgba(109,255,177,.08);
    border-radius: 14px;
    padding: 8px;
}

.reaction-pad {
    position: relative;
    overflow: hidden;
    background-image:
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 12px, transparent 12px 24px);
}
.reaction-pad::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    box-shadow: inset 0 0 42px rgba(255,255,255,.04);
}

.hangman-word {
    letter-spacing: .18em;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    background: rgba(255,255,255,.04);
}

.typing-target--hidden {
    opacity: .8;
    color: #b4c5da;
}
.typing-input:disabled {
    opacity: .8;
}

.quiz-card--daily {
    padding: 18px;
    background:
        radial-gradient(circle at top right, rgba(255,212,84,.12), transparent 26%),
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.quiz-date {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255,212,84,.12);
    border: 1px solid rgba(255,212,84,.2);
    color: #ffe6a8;
    font-size: .82rem;
    margin-bottom: 10px;
}
.quiz-options {
    display: grid;
    gap: 10px;
}
.quiz-option {
    display: grid;
    grid-template-columns: 38px 1fr;
    align-items: center;
    gap: 12px;
    text-align: left;
    padding: 12px;
}
.quiz-option-label {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(255,255,255,.08);
    color: #fff7db;
    font-weight: 800;
}
.quiz-option-text {
    color: #f7fbff;
}
.quiz-option.correct .quiz-option-label {
    background: rgba(109,255,177,.22);
}
.quiz-option.wrong .quiz-option-label,
.quiz-card.played.lose .quiz-option.correct .quiz-option-label {
    background: rgba(255,107,107,.22);
}

#pongCanvas {
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.03), 0 12px 30px rgba(0,0,0,.22);
}

@media (max-width: 800px) {
    .memory-grid {
        grid-template-columns: repeat(5, minmax(0, 48px));
    }
    .memory-card {
        width: 48px;
        height: 48px;
        min-width: 48px;
        font-size: .92rem;
    }
}

@media (max-width: 480px) {
    .mine-grid {
        grid-template-columns: repeat(7, minmax(0, 26px));
        gap: 3px;
    }
    .mine-cell {
        min-width: 26px;
        min-height: 26px;
        font-size: .82rem;
    }
    .memory-grid {
        grid-template-columns: repeat(5, minmax(0, 42px));
        gap: 5px;
    }
    .memory-card {
        width: 42px;
        height: 42px;
        min-width: 42px;
        font-size: .82rem;
    }
}


/* Game polish update */
.primary-btn:disabled {
    background: linear-gradient(135deg, #737a86, #565d69);
    color: #eef3fb;
    cursor: not-allowed;
    box-shadow: none;
    filter: none;
}
.primary-btn:disabled:hover { filter: none; }

.pulse-target {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255,255,255,.72);
    background:
        url('start-icon.png') center/14px 14px no-repeat,
        radial-gradient(circle at 50% 50%, rgba(255,255,255,.98) 0 8px, rgba(98,212,255,.92) 8px 14px, rgba(15,76,235,.72) 14px 16px, rgba(98,212,255,.16) 16px 18px, transparent 18px 100%);
    box-shadow: 0 0 0 3px rgba(98,212,255,.08), 0 0 24px rgba(98,212,255,.34);
}
.pulse-target.fast {
    box-shadow: 0 0 0 7px rgba(98,212,255,.08), 0 0 30px rgba(98,212,255,.44);
}

.memory-grid {
    grid-template-columns: repeat(6, minmax(0, 44px));
    gap: 5px;
}
.memory-card {
    width: 44px;
    height: 44px;
    min-width: 44px;
    font-size: .95rem;
}

.hangman-letters {
    grid-template-columns: repeat(10, minmax(0, 1fr));
}

.typing-history {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}
.typing-history-row {
    display: grid;
    grid-template-columns: 40px 1.2fr 1fr .8fr;
    gap: 8px;
    align-items: center;
    font-size: .88rem;
    padding: 8px 10px;
    border-radius: 12px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.06);
}
.typing-history-empty {
    color: #bdd0e6;
    opacity: .85;
}

.quiz-feedback.strong {
    font-weight: 800;
    font-size: .98rem;
    padding-top: 12px;
}
.quiz-feedback.repeat {
    border-top: 1px solid rgba(255,255,255,.08);
}
.quiz-option.selected-wrong {
    box-shadow: 0 0 0 1px rgba(255,107,107,.22), inset 0 0 18px rgba(255,107,107,.06);
}

@media (max-width: 800px) {
    .memory-grid {
        grid-template-columns: repeat(4, minmax(0, 44px));
    }
    .hangman-letters {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .memory-grid {
        grid-template-columns: repeat(4, minmax(0, 40px));
    }
    .memory-card {
        width: 40px;
        height: 40px;
        min-width: 40px;
        font-size: .78rem;
    }
    .typing-history-row {
        grid-template-columns: 34px 1fr;
    }
    .hangman-letters {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
}

/* Memory 6x6 tune */
.memory-grid {
    grid-template-columns: repeat(6, minmax(0, 44px));
    gap: 5px;
    justify-content: center;
}
.memory-card {
    width: 44px;
    height: 44px;
    min-width: 44px;
    font-size: 1.2rem;
    display: grid;
    place-items: center;
}
.memory-card.open,
.memory-card.done {
    color: #ffffff;
    background: color-mix(in srgb, var(--memory-accent, #62d4ff) 16%, rgba(255,255,255,.04));
    border-color: color-mix(in srgb, var(--memory-accent, #62d4ff) 45%, rgba(255,255,255,.14));
    box-shadow: inset 0 0 20px color-mix(in srgb, var(--memory-accent, #62d4ff) 12%, transparent), 0 0 16px color-mix(in srgb, var(--memory-accent, #62d4ff) 18%, transparent);
}
.memory-card.done {
    box-shadow: inset 0 0 24px color-mix(in srgb, var(--memory-accent, #62d4ff) 18%, transparent), 0 0 18px color-mix(in srgb, var(--memory-accent, #62d4ff) 24%, transparent);
}
@media (max-width: 800px) {
    .memory-grid {
        grid-template-columns: repeat(6, minmax(0, 40px));
        gap: 4px;
    }
    .memory-card {
        width: 40px;
        height: 40px;
        min-width: 40px;
        font-size: 1.08rem;
    }
}
@media (max-width: 480px) {
    .memory-grid {
        grid-template-columns: repeat(6, minmax(0, 34px));
        gap: 4px;
    }
    .memory-card {
        width: 34px;
        height: 34px;
        min-width: 34px;
        font-size: .98rem;
    }
}


/* Batch 7 fixes */
#window-mine #mineGrid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 30px));
    justify-content: center;
    gap: 4px;
}
#window-mine .mine-cell {
    width: 30px;
    height: 30px;
    min-width: 30px;
    min-height: 30px;
}
#window-pong #pongCanvas {
    max-width: 100%;
}
#window-snake #snakeCanvas {
    width: min(448px, calc(100vw - 88px));
    max-width: 100%;
    height: auto;
}
#window-sudoku #sudokuGrid {
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 38px));
    grid-auto-rows: 38px;
    justify-content: center;
    gap: 0;
    margin: 8px auto 12px;
    border: 2px solid rgba(255,255,255,.44);
    border-radius: 14px;
    overflow: hidden;
    background: rgba(255,255,255,.08);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 14px 28px rgba(0,0,0,.18);
}
#window-sudoku .sudoku-cell {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 0;
    border-right: 1px solid rgba(26,34,46,.34);
    border-bottom: 1px solid rgba(26,34,46,.34);
    background: #ffffff;
    color: #0f1722;
    font-weight: 700;
    font-size: 1rem;
    border-radius: 0;
    user-select: none;
    -webkit-user-select: none;
}
#window-sudoku .sudoku-cell.fixed {
    background: linear-gradient(180deg, #dfe7f3, #cfd9ea);
    color: #132033;
}
#window-sudoku .sudoku-cell.empty {
    background: #ffffff;
}
#window-sudoku .sudoku-cell.linked {
    background: #eef5ff;
}
#window-sudoku .sudoku-cell.selected {
    background: #62d4ff;
    color: #04111d;
    box-shadow: inset 0 0 0 2px rgba(7,26,48,.32);
}
#window-sudoku .sudoku-cell.block-right {
    border-right: 3px solid rgba(8,18,31,.66);
}
#window-sudoku .sudoku-cell.block-bottom {
    border-bottom: 3px solid rgba(8,18,31,.66);
}
#window-sudoku .sudoku-pad {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 56px));
    justify-content: center;
    gap: 8px;
    margin-bottom: 10px;
}
#window-sudoku .sudoku-pad-btn {
    min-height: 42px;
    border-radius: 12px;
}
#window-sudoku .sudoku-pad-clear {
    grid-column: span 2;
}
#window-sudoku .sudoku-win-banner {
    margin-top: 12px;
    padding: 16px 14px;
    display: grid;
    gap: 4px;
    text-align: center;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(109,255,177,.24), rgba(109,255,177,.12));
    border: 1px solid rgba(109,255,177,.36);
    color: #effff5;
    box-shadow: 0 0 0 1px rgba(109,255,177,.14) inset, 0 0 26px rgba(109,255,177,.16);
    animation: sudokuWinPulse 1.15s ease-in-out infinite alternate;
}
#window-sudoku #sudokuGrid.solved {
    box-shadow: inset 0 0 0 2px rgba(109,255,177,.3), 0 0 28px rgba(109,255,177,.18);
}
@keyframes sudokuWinPulse {
    from { transform: scale(1); }
    to { transform: scale(1.018); }
}
@media (max-width: 520px) {
    #window-mine #mineGrid {
        grid-template-columns: repeat(7, minmax(0, 26px));
        gap: 3px;
    }
    #window-mine .mine-cell {
        width: 26px;
        height: 26px;
        min-width: 26px;
        min-height: 26px;
        font-size: .82rem;
    }
    #window-snake #snakeCanvas {
        width: min(448px, calc(100vw - 56px));
    }
    #window-sudoku #sudokuGrid {
        grid-template-columns: repeat(9, minmax(0, 32px));
        grid-auto-rows: 32px;
    }
    #window-sudoku .sudoku-cell {
        width: 32px;
        height: 32px;
        font-size: .92rem;
    }
    #window-sudoku .sudoku-pad {
        grid-template-columns: repeat(5, minmax(0, 48px));
        gap: 6px;
    }
}

.folder-grid .folder-item:nth-child(6n+1) .folder-item-icon,
.game-folder-grid .folder-item:nth-child(6n+1) .folder-item-icon,
.desktop-icon:nth-child(6n+1) .desktop-icon-glyph { background: linear-gradient(180deg, rgba(98,212,255,.22), rgba(46,123,255,.12)); color:#9ee8ff; }
.folder-grid .folder-item:nth-child(6n+2) .folder-item-icon,
.game-folder-grid .folder-item:nth-child(6n+2) .folder-item-icon,
.desktop-icon:nth-child(6n+2) .desktop-icon-glyph { background: linear-gradient(180deg, rgba(255,184,77,.22), rgba(255,130,40,.12)); color:#ffd18e; }
.folder-grid .folder-item:nth-child(6n+3) .folder-item-icon,
.game-folder-grid .folder-item:nth-child(6n+3) .folder-item-icon,
.desktop-icon:nth-child(6n+3) .desktop-icon-glyph { background: linear-gradient(180deg, rgba(109,255,177,.22), rgba(51,179,113,.12)); color:#bdfed7; }
.folder-grid .folder-item:nth-child(6n+4) .folder-item-icon,
.game-folder-grid .folder-item:nth-child(6n+4) .folder-item-icon,
.desktop-icon:nth-child(6n+4) .desktop-icon-glyph { background: linear-gradient(180deg, rgba(255,107,167,.24), rgba(214,49,73,.12)); color:#ffc7da; }
.folder-grid .folder-item:nth-child(6n+5) .folder-item-icon,
.game-folder-grid .folder-item:nth-child(6n+5) .folder-item-icon,
.desktop-icon:nth-child(6n+5) .desktop-icon-glyph { background: linear-gradient(180deg, rgba(191,132,255,.24), rgba(120,72,210,.12)); color:#e5d0ff; }
.folder-grid .folder-item:nth-child(6n) .folder-item-icon,
.game-folder-grid .folder-item:nth-child(6n) .folder-item-icon,
.desktop-icon:nth-child(6n) .desktop-icon-glyph { background: linear-gradient(180deg, rgba(127,227,215,.24), rgba(43,140,141,.12)); color:#c5fff8; }
.desktop-reminder--countdown { border-color: rgba(255,120,120,.35); background: linear-gradient(180deg, rgba(30,11,14,.96), rgba(44,12,16,.92)); }
.desktop-reminder--countdown .desktop-reminder__badge { background: rgba(255,107,107,.16); color: #ffb3b3; }
.desktop-reminder--countdown .desktop-reminder__body strong { color: #ffe0e0; }
.desktop-reminder--countdown .desktop-reminder__body p { color: #fff2f2; }
.desktop-cookie-banner { position: fixed; left: 18px; right: 18px; bottom: calc(var(--taskbar-h) + 18px); z-index: 4900; display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 14px 16px; border-radius: 18px; border: 1px solid rgba(255,215,125,.26); background: linear-gradient(180deg, rgba(30,24,10,.96), rgba(19,16,8,.94)); box-shadow: 0 18px 34px rgba(0,0,0,.32); }
.desktop-cookie-banner__badge { width: 42px; height: 42px; display:grid; place-items:center; border-radius: 14px; background: rgba(255,215,125,.16); color:#ffd98b; }
.desktop-cookie-banner__body { min-width:0; }
.desktop-cookie-banner__body strong { display:block; margin-bottom:4px; color:#fff3d0; }
.desktop-cookie-banner__body p { margin:0; color:#dde8f7; }
.desktop-cookie-banner__actions { display:flex; gap:8px; }
@media (max-width:700px) { .desktop-cookie-banner { grid-template-columns: 1fr; left: 12px; right: 12px; } }
.cookie-inline-link { margin-top: 8px; padding: 0; border: 0; background: none; color: #ffd98b; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; cursor: pointer; }
.cookie-consent-modal { position: fixed; inset: 0; z-index: 5000; }
.cookie-consent-modal[hidden] { display: none !important; }
.cookie-consent-modal__backdrop { position: absolute; inset: 0; background: rgba(5,9,14,.72); backdrop-filter: blur(10px); }
.cookie-consent-modal__dialog { position: relative; width: min(720px, calc(100vw - 28px)); max-height: min(84vh, 900px); margin: min(7vh, 56px) auto 0; border-radius: 22px; border: 1px solid rgba(255,215,125,.24); background: linear-gradient(180deg, rgba(26,24,18,.98), rgba(11,12,15,.98)); box-shadow: 0 22px 60px rgba(0,0,0,.46); overflow: hidden; }
.cookie-consent-modal__content { padding: 24px 24px 22px; overflow: auto; max-height: min(84vh, 900px); }
.cookie-consent-modal__close { position: absolute; top: 12px; right: 12px; width: 38px; height: 38px; border-radius: 12px; background: rgba(255,255,255,.06); color: #f4f7fb; }
.cookie-consent-modal__lead { margin: 0 0 10px; color: #fff3d0; line-height: 1.6; }
.cookie-consent-modal__list { margin: 0 0 14px; padding-left: 20px; color: #dce8f6; line-height: 1.7; }
.cookie-consent-modal__list li + li { margin-top: 8px; }
.cookie-consent-modal__footnote { margin: 0; color: #9fb1c7; line-height: 1.6; }
.cookie-consent-modal__actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
body.cookie-consent-open { overflow: hidden; }


input, textarea, select, option, [contenteditable="true"], .dictionary-item, .dictionary-item *, .advice-card, .advice-card *, code { user-select:text; -webkit-user-select:text; }

#window-tools{width:min(720px,calc(100vw - 40px));height:min(560px,calc(100vh - 110px))}
#window-tools .window-body{overflow:auto}
#window-tools .app-folder-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;align-content:start}
#window-tools .folder-item{display:grid;grid-template-columns:26px 1fr;grid-template-areas:"icon title" "icon meta";align-items:center;gap:4px 10px;min-height:58px;padding:8px 10px;border-radius:10px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.028));border:1px solid rgba(255,255,255,.07)}
#window-tools .folder-item:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.18)}
#window-tools .folder-item-icon{grid-area:icon;width:26px;height:26px;border-radius:7px;font-size:.92rem;border:1px solid rgba(255,255,255,.14)}
#window-tools .folder-item strong{grid-area:title;margin:0;font-size:.9rem;line-height:1.2;color:#eef5ff}
#window-tools .folder-item small{grid-area:meta;margin:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.72rem;opacity:.78}
#window-texttools textarea{min-height:260px;resize:vertical}
#window-texttools .tool-cluster{align-items:flex-start}
#window-texttools .ghost-btn,#window-texttools .primary-btn{padding:9px 12px}
#window-texttools .tool-cluster button{font-size:.86rem}
.advice-card{padding:18px;min-height:120px;display:grid;align-items:center;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02))}
.advice-card__text{font-size:1.02rem;line-height:1.55;color:#eef5ff}
.advice-card__meta{margin-top:8px;color:var(--muted);font-size:.84rem}

.utility-window .section-head.compact p,
.utility-window .section-head.compact .eyebrow,
.compact-window .section-head.compact p,
.compact-window .section-head.compact .eyebrow {
    display: none;
}
.utility-window .section-head.compact,
.compact-window .section-head.compact {
    margin-bottom: 0;
}
.utility-window .window-body,
.compact-window .window-body {
    overflow-x: hidden;
}
.utility-window .utility-body,
.compact-window .utility-body {
    gap: 10px;
    align-content: start;
}
.utility-window .list-box,
.compact-window .list-box {
    min-height: 96px;
}
.utility-window textarea,
.compact-window textarea {
    min-height: 92px;
}
.utility-window .notes-area,
.compact-window .notes-area {
    min-height: 210px;
}
.utility-window .game-stats,
.compact-window .game-stats {
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
}
.utility-window .form-grid,
.compact-window .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.utility-window .inline-form,
.compact-window .inline-form {
    align-items: flex-end;
}
.utility-window .window-body > * ,
.compact-window .window-body > * {
    min-width: 0;
}
@media (max-width: 760px) {
    .utility-window .form-grid,
    .compact-window .form-grid {
        grid-template-columns: 1fr;
    }
}


/* Home + Services refinements */
.welcome-ref-layout {
    grid-template-columns: minmax(320px, 0.92fr) minmax(760px, 1.85fr);
    gap: 24px;
}
.welcome-logo-card {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.welcome-ref-copy h2 { max-width: 36ch; }
.welcome-paragraph { max-width: 86ch; }
.welcome-site-callout--sidebar {
    margin-top: auto;
    grid-template-columns: 48px 1fr;
    gap: 12px;
    padding: 14px 16px;
    background: linear-gradient(180deg, rgba(89, 99, 114, 0.16), rgba(89, 99, 114, 0.09));
}
.welcome-site-callout--sidebar .welcome-site-callout__icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    font-size: 1.05rem;
}
.welcome-site-callout--sidebar p {
    font-size: .93rem;
    line-height: 1.5;
}
.welcome-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.welcome-cta-row > .primary-btn,
.welcome-cta-row > .welcome-request-btn {
    min-width: 210px;
    justify-content: center;
}
.welcome-text-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 2px; color: #2f6db3; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; background: none; border: 0; padding: 0; cursor: pointer; width: fit-content; }
.welcome-text-link:hover { color: #1b4f88; }
.welcome-request-btn,
button.welcome-request-btn,
.primary-btn.welcome-request-btn {
    background: linear-gradient(135deg, #ffe07a, #f6c54d) !important;
    color: #362602 !important;
    border: 1px solid rgba(116, 87, 0, 0.22) !important;
    box-shadow: 0 12px 24px rgba(246, 197, 77, 0.22);
}
.welcome-request-btn:hover {
    filter: brightness(1.03);
}

.services-window { width: min(1360px, calc(100vw - 40px)) !important; }
@media (max-width: 700px) {
    .services-window {
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        transform: none !important;
        inset-inline: 0 !important;
    }
}
.services-ref-grid {
    grid-template-columns: repeat(3, minmax(280px, 1fr));
    gap: 18px;
    align-items: stretch;
}
.services-ref-grid > .service-ref-card {
    height: 100%;
    min-height: 100%;
    display: flex;
}
.service-ref-trigger {
    height: 100%;
    display: flex;
    flex-direction: column;
}
.service-ref-head {
    justify-content: flex-start;
    min-height: 48px;
}
.service-ref-trigger h3 {
    min-height: 0;
    font-size: 1.06rem;
}
.service-ref-trigger p {
    min-height: 0;
    -webkit-line-clamp: 4;
}
.service-ref-category { display: none !important; }
.service-ref-link { margin-top: auto; }

@media (max-width: 980px) {
    .services-ref-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
    .welcome-ref-layout,
    .request-ref-grid,
    .request-ref-grid.two-plus-one { grid-template-columns: 1fr; }
    .welcome-site-callout--sidebar { margin-top: 0; }
    .services-ref-grid { grid-template-columns: 1fr; }
}

.mobile-game-unavailable {
    min-height: 100%;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 14px;
    padding: 26px 18px;
    text-align: center;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
}
.mobile-game-unavailable__icon {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: rgba(98,212,255,.12);
    color: #eef8ff;
    font-size: 1.4rem;
    box-shadow: 0 0 0 1px rgba(98,212,255,.16), 0 10px 24px rgba(0,0,0,.24);
}
.mobile-game-unavailable p {
    margin: 0;
    max-width: 360px;
    color: #d9e6f5;
    line-height: 1.55;
}

/* round28 ui refinements */
.start-menu {
    max-height: min(70vh, calc(var(--viewport-h) - var(--taskbar-h) - 36px));
    overflow-y: auto;
    overscroll-behavior: contain;
}

.start-guide-callout {
    position: fixed;
    left: 10px;
    bottom: calc(var(--taskbar-h) + 18px);
    z-index: 2400;
    width: min(300px, calc(100vw - 20px));
    padding: 12px 14px;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(18,26,38,.98), rgba(8,12,18,.98));
    border: 1px solid rgba(98,212,255,.24);
    box-shadow: 0 18px 34px rgba(0,0,0,.32), 0 0 0 1px rgba(98,212,255,.08) inset;
    display: grid;
    gap: 6px;
    animation: startGuidePulse 1.8s ease-in-out infinite;
    pointer-events: none;
}
.start-guide-callout strong { color: #eff7ff; }
.start-guide-callout p { margin: 0; color: rgba(226,238,255,.76); font-size: .9rem; line-height: 1.4; }
.start-guide-callout__arrow {
    position: absolute;
    left: 24px;
    bottom: -8px;
    width: 16px;
    height: 16px;
    background: inherit;
    border-right: 1px solid rgba(98,212,255,.24);
    border-bottom: 1px solid rgba(98,212,255,.24);
    transform: rotate(45deg);
}
@keyframes startGuidePulse {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
}

.folder-search-box {
    display: grid;
    gap: 8px;
    margin-bottom: 14px;
}
.folder-search-field {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(8,13,22,.72);
    box-shadow: inset 0 0 0 1px rgba(98,212,255,.04);
}
.folder-search-field i { color: rgba(152,206,255,.78); }
.folder-search-input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #eef7ff;
    font: inherit;
}
.folder-search-input::placeholder { color: rgba(210,230,255,.48); }
.folder-search-meta,
.folder-search-empty {
    color: rgba(210,230,255,.62);
    font-size: .84rem;
}
.folder-search-empty {
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(255,255,255,.04);
    border: 1px dashed rgba(255,255,255,.12);
}
.howto-shell .howto-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.memory-quick-note {
    margin: -2px 0 10px;
    text-align: center;
}

.hangman-hint-banner {
    display: block;
    margin-bottom: 14px;
    padding: 12px 14px;
    text-align: center;
    font-weight: 800;
    letter-spacing: .02em;
    color: #f4fbff;
    background: linear-gradient(180deg, rgba(33,93,173,.96), rgba(18,61,122,.94));
    border: 1px solid rgba(126,194,255,.48);
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(10,32,68,.24), inset 0 0 0 1px rgba(255,255,255,.08);
}
#window-snake #snakeCanvas {
    display: block;
    margin: 0 auto;
}

@media (max-width: 700px) {
    .start-guide-callout {
        left: 8px;
        width: calc(100vw - 16px);
        bottom: calc(var(--taskbar-h) + 14px + env(safe-area-inset-bottom));
    }
}


#window-finder .section-head.compact p {
    display: block;
    margin-top: 4px;
    margin-bottom: 0;
    max-width: 58ch;
}
#window-finder .section-head.compact {
    margin-bottom: 10px;
}
#window-finder .jobs-results.list-box {
    padding: 0;
    min-height: 0;
    gap: 10px;
    background: transparent;
    border: 0;
    box-shadow: none;
}
#window-finder .job-card {
    padding: 10px 12px;
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    border-radius: 14px;
}
#window-finder .job-card-main {
    min-width: 0;
    display: grid;
    gap: 2px;
}
#window-finder .job-card-logo {
    width: 62px;
    height: 62px;
    border-radius: 14px;
    overflow: hidden;
    background: rgba(255,255,255,.03);
    border: 1px solid rgba(255,255,255,.08);
    display: grid;
    place-items: center;
    align-self: stretch;
}
#window-finder .job-card-logo.is-empty {
    opacity: .28;
}
#window-finder .job-card-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 8px;
}
#window-finder .job-card h3 {
    margin: 0;
    font-size: .82rem;
    font-weight: 500;
    color: rgba(220, 228, 240, .62);
}
#window-finder .job-card p {
    margin: 0;
}
#window-finder .job-card-company strong {
    font-size: .98rem;
    font-weight: 800;
    letter-spacing: .01em;
    color: #f2f7ff;
}
#window-finder .job-card-tags small {
    font-size: .76rem;
    line-height: 1.3;
    color: rgba(151, 168, 192, .88);
}
#window-finder .job-card-actions {
    gap: 8px;
    margin-top: 6px;
    flex-wrap: wrap;
}
#window-finder .job-card-actions .ghost-btn,
#window-finder .job-card-actions .primary-btn {
    padding: 7px 10px;
    font-size: .82rem;
}
@media (max-width: 700px) {
    #window-finder .job-card {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 9px;
        padding: 9px 10px;
    }
    #window-finder .job-card-logo {
        width: 52px;
        height: 52px;
        border-radius: 12px;
    }
    #window-finder .job-card-company strong {
        font-size: .92rem;
    }
    #window-finder .job-card h3 {
        font-size: .78rem;
    }
}

/* Account/login: salvataggio server opzionale */
.pcteck-auth-desktop {
    position: absolute;
    top: 14px;
    right: 16px;
    z-index: 28;
}
.pcteck-auth-desktop.is-authenticated .desktop-icon-glyph {
    box-shadow: 0 0 0 1px rgba(95, 244, 163, .45), 0 14px 35px rgba(95, 244, 163, .16);
}
.pcteck-auth-modal[hidden] {
    display: none !important;
}
.pcteck-auth-modal {
    position: fixed;
    inset: 0;
    z-index: 8100;
    display: grid;
    place-items: center;
    padding: 18px;
}
.pcteck-auth-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(3, 8, 18, .72);
    backdrop-filter: blur(8px);
}
.pcteck-auth-modal__dialog {
    position: relative;
    width: min(430px, calc(100vw - 32px));
    border: 1px solid rgba(151, 205, 255, .22);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(17, 27, 48, .96), rgba(6, 12, 25, .98));
    box-shadow: 0 28px 80px rgba(0, 0, 0, .48);
    padding: 26px;
    color: #edf6ff;
}
.pcteck-auth-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    background: rgba(255,255,255,.06);
    color: #eaf4ff;
    cursor: pointer;
}
.pcteck-auth-modal__icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: rgba(80, 168, 255, .14);
    border: 1px solid rgba(130, 200, 255, .24);
    margin-bottom: 14px;
    font-size: 1.35rem;
}
.pcteck-auth-modal h3 {
    margin: 0 42px 8px 0;
    font-size: 1.22rem;
}
.pcteck-auth-modal__lead,
.pcteck-auth-muted {
    margin: 0 0 18px;
    color: rgba(216, 229, 245, .74);
    line-height: 1.45;
    font-size: .93rem;
}
.pcteck-auth-form {
    display: grid;
    gap: 13px;
}
.pcteck-auth-form label {
    display: grid;
    gap: 6px;
    color: rgba(230, 240, 255, .76);
    font-size: .84rem;
    font-weight: 700;
}
.pcteck-auth-form input {
    width: 100%;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 14px;
    background: rgba(255,255,255,.07);
    color: #fff;
    padding: 12px 13px;
    outline: none;
}
.pcteck-auth-form input:focus {
    border-color: rgba(114, 190, 255, .7);
    box-shadow: 0 0 0 3px rgba(80, 168, 255, .14);
}
.pcteck-auth-message {
    min-height: 20px;
    margin: 0;
    color: rgba(202, 222, 245, .78);
    font-size: .86rem;
}
.pcteck-auth-message.is-error {
    color: #ffb8b8;
}
.pcteck-auth-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.pcteck-auth-session {
    display: grid;
    gap: 12px;
}
.pcteck-auth-session p {
    margin: 0;
    color: rgba(230, 240, 255, .82);
}
.pcteck-auth-session code {
    color: #d8ecff;
    background: rgba(255,255,255,.08);
    border-radius: 6px;
    padding: 1px 5px;
}
@media (max-width: 700px) {
    .pcteck-auth-desktop {
        top: 10px;
        right: 10px;
        transform: scale(.9);
        transform-origin: top right;
    }
    .pcteck-auth-modal__dialog {
        padding: 22px;
        border-radius: 20px;
    }
}

/* Account esteso: login email, registrazione completa, 2FA e gestione cloud */
.start-auth-section {
    padding-top: 12px;
    padding-bottom: 2px;
}
.start-item-auth {
    border-color: rgba(111, 198, 255, .22);
    background: linear-gradient(135deg, rgba(48, 118, 255, .18), rgba(255,255,255,.06));
}
.pcteck-auth-form[hidden],
.pcteck-auth-session[hidden] {
    display: none !important;
}
.pcteck-auth-modal__dialog {
    width: min(620px, calc(100vw - 32px));
    max-height: calc(var(--viewport-h, 100vh) - 36px);
    overflow: auto;
}
.pcteck-auth-form input,
.pcteck-auth-form select,
.pcteck-auth-session input,
.pcteck-auth-session select {
    width: 100%;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 14px;
    background: rgba(255,255,255,.07);
    color: #fff;
    padding: 12px 13px;
    outline: none;
}
.pcteck-auth-form select option,
.pcteck-auth-session select option { color: #101622; background: #ffffff; }
.pcteck-auth-form input:focus,
.pcteck-auth-form select:focus,
.pcteck-auth-session input:focus,
.pcteck-auth-session select:focus {
    border-color: rgba(114, 190, 255, .7);
    box-shadow: 0 0 0 3px rgba(80, 168, 255, .14);
}
.pcteck-auth-grid-two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.pcteck-auth-grid-address {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(88px, .55fr) minmax(0, 1fr) minmax(82px, .55fr);
    gap: 12px;
}
.pcteck-auth-account-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}
.pcteck-auth-badge {
    flex: 0 0 auto;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 999px;
    padding: 7px 10px;
    background: rgba(255,255,255,.07);
    color: rgba(230,240,255,.76);
    font-size: .78rem;
    font-weight: 800;
}
.pcteck-auth-badge.is-enabled {
    border-color: rgba(95, 244, 163, .35);
    color: #aaf8ca;
    background: rgba(95, 244, 163, .10);
}
.pcteck-auth-panel {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 18px;
    background: rgba(255,255,255,.045);
}
.pcteck-auth-panel h4 {
    margin: 0;
    color: #eef7ff;
    font-size: .96rem;
}
.pcteck-auth-panel--profile {
    border-color: rgba(114, 190, 255, .18);
    background: linear-gradient(180deg, rgba(80, 168, 255, .08), rgba(255,255,255,.035));
}
.pcteck-auth-panel--profile .pcteck-auth-muted {
    margin-bottom: 0;
}
.pcteck-auth-panel label {
    display: grid;
    gap: 6px;
    color: rgba(230, 240, 255, .76);
    font-size: .84rem;
    font-weight: 700;
}
.pcteck-auth-panel--danger {
    border-color: rgba(255, 112, 112, .16);
    background: rgba(110, 28, 38, .11);
}
.ghost-btn.danger {
    border-color: rgba(255, 112, 112, .28);
    color: #ffd0d0;
}
.ghost-btn.danger:hover {
    background: rgba(255, 112, 112, .12);
}
.pcteck-auth-message.is-success {
    color: #b9f7d0;
}
@media (max-width: 760px) {
    .pcteck-auth-grid-two,
    .pcteck-auth-grid-address {
        grid-template-columns: 1fr;
    }
    .pcteck-auth-account-head {
        display: grid;
    }
}

/* Welcome fullscreen refresh */
.welcome-window {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    resize: none !important;
    border-radius: 22px;
    border: 1px solid rgba(145, 196, 255, .24);
    background: linear-gradient(145deg, rgba(6, 14, 26, .98), rgba(10, 25, 43, .98) 52%, rgba(14, 35, 60, .98));
    color: #eef6ff;
    box-shadow: 0 26px 90px rgba(0, 0, 0, .52);
}
.welcome-window.window-centered {
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
}
.welcome-window .window-header {
    min-height: 44px;
    background: linear-gradient(180deg, rgba(12, 31, 54, .96), rgba(7, 18, 33, .94));
    border-bottom: 1px solid rgba(145, 196, 255, .18);
    color: #eaf5ff;
}
.welcome-window .window-action {
    color: #eaf5ff;
    border-left-color: rgba(145, 196, 255, .14);
}
.welcome-window .window-action:hover { background: rgba(98, 212, 255, .14); }
.welcome-window .window-action.close:hover { background: #d63149; color: #fff; }
.welcome-window .welcome-screen {
    position: relative;
    flex: 1 1 auto;
    height: auto;
    max-height: none !important;
    min-height: 0;
    overflow: auto;
    padding: clamp(18px, 3.2vw, 46px);
    background:
        radial-gradient(circle at 12% 12%, rgba(98, 212, 255, .19), transparent 25%),
        radial-gradient(circle at 86% 20%, rgba(255, 209, 102, .16), transparent 24%),
        linear-gradient(145deg, rgba(5, 12, 24, .2), rgba(8, 18, 34, .12));
}
.welcome-screen__glow {
    position: absolute;
    width: 360px;
    height: 360px;
    border-radius: 999px;
    filter: blur(16px);
    opacity: .54;
    pointer-events: none;
}
.welcome-screen__glow--one {
    left: -120px;
    top: 16%;
    background: radial-gradient(circle, rgba(98, 212, 255, .2), transparent 62%);
}
.welcome-screen__glow--two {
    right: -140px;
    bottom: -130px;
    background: radial-gradient(circle, rgba(46, 123, 255, .24), transparent 64%);
}
.welcome-screen__inner {
    position: relative;
    z-index: 1;
    min-height: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .82fr);
    gap: clamp(18px, 3vw, 38px);
    align-items: center;
}
.welcome-copy-panel {
    display: grid;
    gap: 14px;
    align-content: center;
    max-width: 920px;
    padding: clamp(18px, 2.4vw, 34px);
    border: 1px solid rgba(145, 196, 255, .15);
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(255,255,255,.095), rgba(255,255,255,.045));
    box-shadow: 0 22px 56px rgba(0,0,0,.26);
    backdrop-filter: blur(18px);
}
.welcome-window .eyebrow {
    margin: 0;
    color: #9bdcff;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-weight: 800;
    font-size: .78rem;
}
.welcome-copy-panel h2 {
    margin: 0;
    max-width: 18ch;
    color: #ffffff;
    font-size: clamp(2rem, 4.1vw, 4.8rem);
    line-height: .96;
    letter-spacing: -.055em;
}
.welcome-copy-panel .welcome-paragraph {
    margin: 0;
    max-width: 78ch;
    color: #cbd9ec;
    line-height: 1.62;
}
.welcome-copy-panel .welcome-lead {
    max-width: 70ch;
    color: #eef6ff;
    font-size: clamp(1rem, 1.25vw, 1.18rem);
}
.welcome-cta-row--main {
    margin-top: 12px;
    align-items: center;
}
.welcome-desktop-btn {
    min-height: 54px;
    padding: 0 22px;
    border-radius: 17px;
    background: linear-gradient(135deg, #68ddff, #2e7bff 62%, #2456d8);
    color: #fff;
    border: 1px solid rgba(190, 231, 255, .34);
    box-shadow: 0 16px 30px rgba(46,123,255,.26), inset 0 1px 0 rgba(255,255,255,.28);
    font-weight: 850;
}
.welcome-desktop-btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.04);
}
.welcome-desktop-btn i { margin-right: 8px; }
.welcome-window .welcome-request-btn {
    min-height: 54px;
    padding: 0 18px;
    border-radius: 17px;
    background: linear-gradient(135deg, #ffe16e, #f7bc38);
    color: #332400;
    border: 1px solid rgba(255, 234, 143, .42);
    box-shadow: 0 14px 28px rgba(247,188,56,.16);
}
.welcome-start-option {
    width: fit-content;
    display: inline-grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    margin-top: 2px;
    padding: 11px 13px;
    border-radius: 14px;
    color: #d9e7f8;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.09);
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
}
.welcome-start-option input {
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    accent-color: #62d4ff;
}
.welcome-start-option span { line-height: 1.35; font-size: .93rem; }
.welcome-link-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 2px;
}
.welcome-link-row .welcome-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #9bdcff;
    text-decoration: none;
    background: rgba(98, 212, 255, .08);
    border: 1px solid rgba(98, 212, 255, .16);
    border-radius: 999px;
    padding: 9px 13px;
    font-weight: 750;
}
.welcome-link-row .welcome-text-link:hover {
    color: #ffffff;
    background: rgba(98, 212, 255, .14);
}
.welcome-window .welcome-micro-note {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-top: 6px;
    padding: 13px 15px;
    border-radius: 16px;
    color: #d7e7fa;
    background: rgba(98, 212, 255, .08);
    border: 1px solid rgba(98, 212, 255, .14);
}
.welcome-window .welcome-micro-note i { margin-top: 2px; color: #9bdcff; }
.welcome-visual-panel {
    display: grid;
    gap: 16px;
    align-content: center;
    min-width: 0;
}
.welcome-logo-plate {
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 14px;
    align-items: center;
    padding: 16px;
    border-radius: 22px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.07);
    box-shadow: 0 18px 42px rgba(0,0,0,.18);
}
.welcome-logo-plate img {
    width: 76px;
    height: 76px;
    object-fit: contain;
    border-radius: 18px;
    background: rgba(255,255,255,.9);
    padding: 8px;
}
.welcome-logo-plate strong {
    display: block;
    margin-bottom: 4px;
    color: #fff;
    font-size: 1.05rem;
}
.welcome-logo-plate span { color: #b8c9df; line-height: 1.42; }
.welcome-desktop-preview {
    overflow: hidden;
    border-radius: 30px;
    border: 1px solid rgba(145, 196, 255, .18);
    background:
        radial-gradient(circle at 24% 16%, rgba(98,212,255,.24), transparent 24%),
        linear-gradient(180deg, rgba(12,30,54,.96), rgba(5,12,24,.98));
    box-shadow: 0 26px 70px rgba(0,0,0,.34);
}
.welcome-desktop-preview__topbar {
    display: flex;
    gap: 7px;
    align-items: center;
    height: 36px;
    padding: 0 14px;
    background: rgba(255,255,255,.07);
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.welcome-desktop-preview__topbar span {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.42);
}
.welcome-desktop-preview__grid {
    position: relative;
    min-height: 270px;
    padding: 22px;
    display: grid;
    grid-template-columns: repeat(3, 74px) 1fr;
    grid-template-rows: 84px 1fr;
    gap: 14px;
    align-items: start;
}
.welcome-preview-icon {
    display: grid;
    gap: 7px;
    justify-items: center;
    text-align: center;
    color: #eaf5ff;
    font-size: .75rem;
}
.welcome-preview-icon i {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.12);
    color: #9bdcff;
}
.welcome-preview-window {
    grid-column: 2 / 5;
    grid-row: 2;
    align-self: stretch;
    min-height: 150px;
    padding: 18px;
    border-radius: 24px;
    background: rgba(238, 246, 255, .92);
    box-shadow: 0 20px 44px rgba(0,0,0,.24);
}
.welcome-preview-window div {
    height: 13px;
    margin-bottom: 12px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(46,123,255,.32), rgba(98,212,255,.15));
}
.welcome-preview-window div:nth-child(2) { width: 74%; }
.welcome-preview-window div:nth-child(3) { width: 52%; }
.welcome-desktop-preview__taskbar {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    background: rgba(3,8,16,.86);
    border-top: 1px solid rgba(255,255,255,.1);
}
.welcome-desktop-preview__taskbar span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(98,212,255,.16);
    color: #dff7ff;
    font-size: .82rem;
    font-weight: 800;
}
.welcome-desktop-preview__taskbar span:last-child {
    height: 28px;
    border-radius: 999px;
    background: rgba(255,255,255,.07);
}
.welcome-window .welcome-signal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}
.welcome-window .welcome-signal-grid li {
    min-height: 68px;
    padding: 12px;
    border-radius: 18px;
    color: #dcecff;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.1);
}
.welcome-window .welcome-signal-grid span {
    flex: 0 0 auto;
    background: rgba(98,212,255,.14);
    color: #9bdcff;
}
.welcome-window .welcome-site-callout {
    color: #dcecff;
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.04));
    border-color: rgba(255,255,255,.11);
}
.welcome-window .welcome-site-callout__icon {
    background: rgba(98,212,255,.13);
    color: #9bdcff;
}
.welcome-window .welcome-site-callout strong { color: #fff; }
.welcome-window .welcome-site-callout p { color: #bfd0e5; }

@media (max-width: 1100px) {
    .welcome-screen__inner {
        grid-template-columns: 1fr;
        align-items: start;
    }
    .welcome-copy-panel h2 { max-width: 22ch; }
    .welcome-visual-panel { align-content: start; }
}

@media (max-width: 700px) {
    .welcome-window {
        border-radius: 16px;
    }
    .welcome-window .welcome-screen {
        padding: 14px;
    }
    .welcome-copy-panel {
        padding: 18px;
        border-radius: 22px;
    }
    .welcome-copy-panel h2 {
        font-size: clamp(1.8rem, 10vw, 3rem);
        letter-spacing: -.04em;
    }
    .welcome-cta-row--main > button {
        width: 100%;
        justify-content: center;
    }
    .welcome-start-option {
        width: 100%;
    }
    .welcome-logo-plate {
        grid-template-columns: 58px 1fr;
    }
    .welcome-logo-plate img {
        width: 58px;
        height: 58px;
    }
    .welcome-desktop-preview__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        min-height: 230px;
        padding: 16px;
    }
    .welcome-preview-window {
        grid-column: 1 / 4;
    }
    .welcome-window .welcome-signal-grid {
        grid-template-columns: 1fr;
    }
}

/* Welcome correction v2 - real fullscreen, light, readable */
.welcome-window,
.window.welcome-window,
.window.window-centered.welcome-window {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: var(--viewport-h) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    transform: none !important;
    resize: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background:
        radial-gradient(circle at 11% 16%, rgba(46, 123, 255, .10), transparent 28%),
        radial-gradient(circle at 88% 14%, rgba(255, 198, 67, .15), transparent 25%),
        linear-gradient(180deg, #ffffff 0%, #f6f9fd 58%, #eef4fb 100%) !important;
    color: #172234 !important;
    z-index: 2400 !important;
    backdrop-filter: none !important;
}
.welcome-window .window-header {
    min-height: 48px !important;
    background: rgba(255,255,255,.86) !important;
    border-bottom: 1px solid rgba(30, 48, 78, .10) !important;
    color: #172234 !important;
    backdrop-filter: blur(14px);
    cursor: default;
}
.welcome-window .window-title-group strong,
.welcome-window .window-title-group i {
    color: #172234 !important;
}
.welcome-window .window-action {
    color: #27364d !important;
    border-left-color: rgba(30, 48, 78, .08) !important;
}
.welcome-window .window-action:hover {
    background: rgba(46, 123, 255, .09) !important;
}
.welcome-window .window-action.close:hover {
    color: #fff !important;
    background: #d63149 !important;
}
.welcome-window .window-body,
.welcome-window .welcome-screen {
    flex: 1 1 auto !important;
    height: calc(var(--viewport-h) - 48px) !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: auto !important;
    padding: clamp(22px, 4vw, 64px) !important;
    background:
        linear-gradient(90deg, rgba(46,123,255,.045) 1px, transparent 1px),
        linear-gradient(180deg, rgba(46,123,255,.04) 1px, transparent 1px),
        transparent !important;
    background-size: 44px 44px, 44px 44px, auto !important;
}
.welcome-screen__glow { display: none !important; }
.welcome-screen__inner {
    width: min(1480px, 100%) !important;
    min-height: 100% !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .78fr) !important;
    gap: clamp(24px, 5vw, 72px) !important;
    align-items: center !important;
}
.welcome-copy-panel {
    display: grid !important;
    gap: clamp(12px, 1.3vw, 18px) !important;
    align-content: center !important;
    max-width: 900px !important;
    padding: clamp(22px, 3.6vw, 54px) !important;
    border: 1px solid rgba(30, 48, 78, .10) !important;
    border-radius: 34px !important;
    background: rgba(255,255,255,.82) !important;
    color: #172234 !important;
    box-shadow: 0 24px 70px rgba(28, 54, 95, .14) !important;
    backdrop-filter: blur(12px);
}
.welcome-window .eyebrow,
.welcome-copy-panel .eyebrow {
    margin: 0 !important;
    color: #2f6db3 !important;
    letter-spacing: .17em !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    font-size: .78rem !important;
}
.welcome-copy-panel h2 {
    margin: 0 !important;
    max-width: 18ch !important;
    color: #111827 !important;
    font-size: clamp(2.45rem, 5vw, 5.7rem) !important;
    line-height: .94 !important;
    letter-spacing: -.06em !important;
    text-wrap: balance;
}
.welcome-copy-panel .welcome-paragraph,
.welcome-window .hero-copy p,
.welcome-window .signal-list,
.welcome-window .signal-list li {
    color: #405063 !important;
}
.welcome-copy-panel .welcome-paragraph {
    margin: 0 !important;
    max-width: 78ch !important;
    line-height: 1.65 !important;
    font-size: .98rem !important;
}
.welcome-copy-panel .welcome-lead {
    max-width: 70ch !important;
    color: #26364b !important;
    font-size: clamp(1.05rem, 1.35vw, 1.22rem) !important;
    line-height: 1.58 !important;
}
.welcome-cta-row--main {
    margin-top: 12px !important;
    gap: 12px !important;
    align-items: center !important;
}
.welcome-desktop-btn {
    min-height: 58px !important;
    padding: 0 24px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #2e7bff, #214fc4) !important;
    color: #fff !important;
    border: 1px solid rgba(18, 74, 178, .28) !important;
    box-shadow: 0 18px 34px rgba(46, 123, 255, .24) !important;
    font-size: 1rem !important;
    font-weight: 850 !important;
}
.welcome-desktop-btn:hover {
    transform: translateY(-1px) !important;
    filter: brightness(1.03) !important;
}
.welcome-window .welcome-request-btn,
.primary-btn.welcome-request-btn,
button.welcome-request-btn {
    min-height: 58px !important;
    padding: 0 20px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #ffe16e, #f3b52e) !important;
    color: #332400 !important;
    border: 1px solid rgba(111, 82, 0, .16) !important;
    box-shadow: 0 14px 28px rgba(247, 188, 56, .18) !important;
    font-weight: 800 !important;
}
.welcome-start-option {
    width: fit-content !important;
    display: inline-grid !important;
    grid-template-columns: 22px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    margin-top: 2px !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    color: #32465f !important;
    background: #f3f7fc !important;
    border: 1px solid rgba(30, 48, 78, .11) !important;
    cursor: pointer !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}
.welcome-start-option input {
    width: 18px !important;
    height: 18px !important;
    margin: 1px 0 0 !important;
    accent-color: #2e7bff !important;
}
.welcome-start-option span {
    line-height: 1.35 !important;
    font-size: .94rem !important;
}
.welcome-link-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    align-items: center !important;
    margin-top: 4px !important;
}
.welcome-link-row .welcome-text-link,
.welcome-text-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    color: #225ea2 !important;
    text-decoration: none !important;
    background: rgba(46, 123, 255, .07) !important;
    border: 1px solid rgba(46, 123, 255, .15) !important;
    border-radius: 999px !important;
    padding: 10px 14px !important;
    font-weight: 750 !important;
    cursor: pointer !important;
}
.welcome-link-row .welcome-text-link:hover,
.welcome-text-link:hover {
    color: #163f75 !important;
    background: rgba(46, 123, 255, .12) !important;
}
.welcome-window .welcome-micro-note {
    display: flex !important;
    gap: 10px !important;
    align-items: flex-start !important;
    margin-top: 8px !important;
    padding: 14px 16px !important;
    border-radius: 18px !important;
    color: #344a65 !important;
    background: rgba(46, 123, 255, .07) !important;
    border: 1px solid rgba(46, 123, 255, .12) !important;
}
.welcome-window .welcome-micro-note i {
    margin-top: 2px !important;
    color: #2f6db3 !important;
}
.welcome-visual-panel {
    display: grid !important;
    gap: 18px !important;
    align-content: center !important;
    min-width: 0 !important;
}
.welcome-logo-plate {
    display: grid !important;
    grid-template-columns: clamp(132px, 12vw, 190px) 1fr !important;
    gap: clamp(18px, 2.4vw, 30px) !important;
    align-items: center !important;
    padding: clamp(20px, 2.8vw, 34px) !important;
    border-radius: 34px !important;
    border: 1px solid rgba(30, 48, 78, .10) !important;
    background: rgba(255,255,255,.88) !important;
    box-shadow: 0 24px 70px rgba(28, 54, 95, .13) !important;
}
.welcome-logo-plate img {
    width: clamp(132px, 12vw, 190px) !important;
    height: clamp(132px, 12vw, 190px) !important;
    object-fit: contain !important;
    border-radius: 28px !important;
    background: #fff !important;
    padding: clamp(10px, 1.2vw, 18px) !important;
    box-shadow: 0 16px 36px rgba(28, 54, 95, .12) !important;
}
.welcome-logo-plate strong {
    display: block !important;
    margin-bottom: 7px !important;
    color: #111827 !important;
    font-size: clamp(1.4rem, 2vw, 2.2rem) !important;
    letter-spacing: -.03em !important;
}
.welcome-logo-plate span {
    display: block !important;
    color: #506278 !important;
    line-height: 1.48 !important;
    font-size: 1rem !important;
}
.welcome-desktop-preview {
    overflow: hidden !important;
    border-radius: 32px !important;
    border: 1px solid rgba(30, 48, 78, .12) !important;
    background:
        radial-gradient(circle at 24% 16%, rgba(46,123,255,.14), transparent 24%),
        linear-gradient(180deg, #f8fbff, #eaf2fb) !important;
    box-shadow: 0 24px 70px rgba(28, 54, 95, .14) !important;
}
.welcome-desktop-preview__topbar {
    background: #ffffff !important;
    border-bottom: 1px solid rgba(30, 48, 78, .10) !important;
}
.welcome-desktop-preview__topbar span {
    background: rgba(46, 64, 92, .34) !important;
}
.welcome-preview-icon {
    color: #30425b !important;
}
.welcome-preview-icon i {
    background: #ffffff !important;
    border: 1px solid rgba(30, 48, 78, .11) !important;
    color: #2e7bff !important;
    box-shadow: 0 10px 22px rgba(28, 54, 95, .10) !important;
}
.welcome-preview-window {
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 20px 44px rgba(28, 54, 95, .16) !important;
}
.welcome-desktop-preview__taskbar {
    background: #172234 !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
}
.welcome-window .welcome-signal-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
}
.welcome-window .welcome-signal-grid li {
    min-height: 68px !important;
    padding: 12px !important;
    border-radius: 18px !important;
    color: #344a65 !important;
    background: rgba(255,255,255,.78) !important;
    border: 1px solid rgba(30, 48, 78, .10) !important;
}
.welcome-window .welcome-signal-grid span {
    flex: 0 0 auto !important;
    background: rgba(46,123,255,.09) !important;
    color: #2e7bff !important;
}
.welcome-window .welcome-site-callout {
    color: #344a65 !important;
    background: rgba(255,255,255,.78) !important;
    border-color: rgba(30, 48, 78, .10) !important;
}
.welcome-window .welcome-site-callout__icon {
    background: rgba(46,123,255,.09) !important;
    color: #2e7bff !important;
}
.welcome-window .welcome-site-callout strong {
    color: #172234 !important;
}
.welcome-window .welcome-site-callout p {
    color: #506278 !important;
}

@media (max-width: 1100px) {
    .welcome-screen__inner {
        grid-template-columns: 1fr !important;
        align-items: start !important;
    }
    .welcome-copy-panel h2 { max-width: 24ch !important; }
    .welcome-visual-panel { align-content: start !important; }
}
@media (max-width: 700px) {
    .welcome-window,
    .window.welcome-window {
        height: var(--viewport-h) !important;
        border-radius: 0 !important;
    }
    .welcome-window .window-body,
    .welcome-window .welcome-screen {
        height: calc(var(--viewport-h) - 48px) !important;
        padding: 16px !important;
    }
    .welcome-copy-panel {
        padding: 20px !important;
        border-radius: 24px !important;
    }
    .welcome-copy-panel h2 {
        font-size: clamp(2rem, 11vw, 3.4rem) !important;
        letter-spacing: -.045em !important;
    }
    .welcome-cta-row--main > button {
        width: 100% !important;
        justify-content: center !important;
    }
    .welcome-start-option { width: 100% !important; }
    .welcome-logo-plate {
        grid-template-columns: 92px 1fr !important;
    }
    .welcome-logo-plate img {
        width: 92px !important;
        height: 92px !important;
        border-radius: 22px !important;
    }
    .welcome-logo-plate strong { font-size: 1.35rem !important; }
    .welcome-desktop-preview__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        min-height: 230px !important;
        padding: 16px !important;
    }
    .welcome-preview-window { grid-column: 1 / 4 !important; }
    .welcome-window .welcome-signal-grid { grid-template-columns: 1fr !important; }
}

/* Welcome v3 - white fullscreen with visible CTA and scrollable details */
.welcome-window,
.window.welcome-window,
.window.window-centered.welcome-window {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: var(--viewport-h) !important;
    max-width: none !important;
    max-height: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    resize: none !important;
    overflow: hidden !important;
    color: #172234 !important;
    background:
        radial-gradient(circle at 10% 8%, rgba(46, 123, 255, .10), transparent 26%),
        radial-gradient(circle at 88% 0%, rgba(255, 198, 67, .16), transparent 22%),
        linear-gradient(180deg, #ffffff 0%, #f8fbff 48%, #eef4fb 100%) !important;
    box-shadow: none !important;
    z-index: 2400 !important;
}
.welcome-window .window-header {
    min-height: 46px !important;
    background: rgba(255, 255, 255, .90) !important;
    border-bottom: 1px solid rgba(30, 48, 78, .10) !important;
    color: #172234 !important;
    backdrop-filter: blur(14px) !important;
    cursor: default !important;
}
.welcome-window .window-title-group strong,
.welcome-window .window-title-group i {
    color: #172234 !important;
}
.welcome-window .window-action {
    color: #27364d !important;
    border-left-color: rgba(30, 48, 78, .08) !important;
}
.welcome-window .window-action:hover { background: rgba(46, 123, 255, .09) !important; }
.welcome-window .window-action.close:hover { color: #fff !important; background: #d63149 !important; }
.welcome-window .window-body,
.welcome-window .welcome-screen {
    height: calc(var(--viewport-h) - 46px) !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 1 1 auto !important;
    overflow: hidden !important;
    padding: clamp(10px, 1.9vh, 22px) clamp(20px, 3.2vw, 54px) clamp(14px, 2.2vh, 26px) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(10px, 1.7vh, 18px) !important;
    background:
        linear-gradient(90deg, rgba(46,123,255,.045) 1px, transparent 1px),
        linear-gradient(180deg, rgba(46,123,255,.04) 1px, transparent 1px),
        transparent !important;
    background-size: 48px 48px, 48px 48px, auto !important;
}
.welcome-screen__glow { display: none !important; }
.welcome-top-logo {
    position: relative !important;
    z-index: 2 !important;
    flex: 0 0 auto !important;
    display: grid !important;
    justify-items: center !important;
    gap: 5px !important;
    width: min(100%, 1680px) !important;
    margin: 0 auto !important;
    text-align: center !important;
}
.welcome-top-logo img {
    width: clamp(280px, 31vw, 560px) !important;
    height: auto !important;
    object-fit: contain !important;
    filter: drop-shadow(0 16px 28px rgba(28, 54, 95, .14)) !important;
}
.welcome-top-logo span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 5px 13px !important;
    border-radius: 999px !important;
    color: #2f5d94 !important;
    background: rgba(255, 255, 255, .78) !important;
    border: 1px solid rgba(30, 48, 78, .10) !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    box-shadow: 0 10px 24px rgba(28, 54, 95, .08) !important;
}
.welcome-screen__inner,
.welcome-screen__inner.welcome-screen__inner--v3 {
    position: relative !important;
    z-index: 1 !important;
    flex: 0 0 auto !important;
    width: min(1680px, 100%) !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr) !important;
    gap: clamp(16px, 3vw, 42px) !important;
    align-items: stretch !important;
}
.welcome-hero-panel,
.welcome-ops-panel,
.welcome-content-board,
.welcome-modern-card,
.welcome-signal-grid--v3 li {
    border: 1px solid rgba(30, 48, 78, .10) !important;
    background: rgba(255, 255, 255, .82) !important;
    box-shadow: 0 18px 56px rgba(28, 54, 95, .12) !important;
    backdrop-filter: blur(12px) !important;
}
.welcome-hero-panel {
    display: grid !important;
    gap: clamp(8px, 1.2vh, 14px) !important;
    align-content: center !important;
    padding: clamp(18px, 2.2vw, 36px) !important;
    border-radius: 30px !important;
    min-width: 0 !important;
}
.welcome-window .eyebrow,
.welcome-hero-panel .eyebrow {
    margin: 0 !important;
    color: #2f6db3 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    font-size: .76rem !important;
    font-weight: 850 !important;
}
.welcome-hero-panel h2 {
    margin: 0 !important;
    max-width: 42ch !important;
    color: #111827 !important;
    font-size: clamp(1.75rem, 3.05vw, 4.05rem) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
    text-wrap: balance !important;
}
.welcome-hero-panel .welcome-lead {
    margin: 0 !important;
    max-width: 92ch !important;
    color: #344a65 !important;
    font-size: clamp(.96rem, 1.05vw, 1.12rem) !important;
    line-height: 1.5 !important;
}
.welcome-cta-row--main {
    margin-top: 4px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
}
.welcome-desktop-btn {
    min-height: 54px !important;
    padding: 0 24px !important;
    border-radius: 17px !important;
    background: linear-gradient(135deg, #2e7bff, #214fc4) !important;
    color: #fff !important;
    border: 1px solid rgba(18, 74, 178, .26) !important;
    box-shadow: 0 15px 30px rgba(46, 123, 255, .25) !important;
    font-size: .98rem !important;
    font-weight: 850 !important;
}
.welcome-desktop-btn i { margin-right: 8px !important; }
.welcome-desktop-btn:hover { transform: translateY(-1px) !important; filter: brightness(1.035) !important; }
.welcome-window .welcome-request-btn,
.primary-btn.welcome-request-btn,
button.welcome-request-btn {
    min-height: 54px !important;
    padding: 0 19px !important;
    border-radius: 17px !important;
    background: linear-gradient(135deg, #ffe16e, #f3b52e) !important;
    color: #332400 !important;
    border: 1px solid rgba(111, 82, 0, .14) !important;
    box-shadow: 0 12px 24px rgba(247, 188, 56, .16) !important;
    font-weight: 820 !important;
}
.welcome-start-option {
    width: fit-content !important;
    max-width: 100% !important;
    display: inline-grid !important;
    grid-template-columns: 20px minmax(0, 1fr) !important;
    gap: 9px !important;
    align-items: start !important;
    margin-top: 0 !important;
    padding: 10px 12px !important;
    border-radius: 15px !important;
    color: #344a65 !important;
    background: #f3f7fc !important;
    border: 1px solid rgba(30, 48, 78, .10) !important;
    cursor: pointer !important;
}
.welcome-start-option input {
    width: 17px !important;
    height: 17px !important;
    margin: 1px 0 0 !important;
    accent-color: #2e7bff !important;
}
.welcome-start-option span { font-size: .9rem !important; line-height: 1.3 !important; }
.welcome-ops-panel {
    border-radius: 30px !important;
    padding: clamp(14px, 2vw, 28px) !important;
    display: flex !important;
    align-items: stretch !important;
    min-width: 0 !important;
}
.welcome-ops-card {
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    border: 1px solid rgba(30, 48, 78, .12) !important;
    background:
        radial-gradient(circle at 20% 16%, rgba(46,123,255,.16), transparent 26%),
        linear-gradient(180deg, #f9fcff, #eaf2fb) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 18px 42px rgba(28,54,95,.13) !important;
    display: grid !important;
    grid-template-rows: auto 1fr auto !important;
}
.welcome-ops-card__bar {
    height: 34px !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 0 13px !important;
    background: rgba(255,255,255,.78) !important;
    border-bottom: 1px solid rgba(30,48,78,.10) !important;
}
.welcome-ops-card__bar span {
    width: 10px !important;
    height: 10px !important;
    border-radius: 999px !important;
    background: rgba(46, 64, 92, .32) !important;
}
.welcome-ops-card__content {
    padding: clamp(14px, 2vw, 24px) !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-content: center !important;
}
.welcome-ops-icon {
    display: grid !important;
    gap: 7px !important;
    justify-items: center !important;
    color: #30425b !important;
    text-align: center !important;
    font-size: .77rem !important;
    font-weight: 750 !important;
}
.welcome-ops-icon i {
    width: 50px !important;
    height: 50px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 17px !important;
    background: #fff !important;
    border: 1px solid rgba(30, 48, 78, .10) !important;
    color: #2e7bff !important;
    box-shadow: 0 10px 22px rgba(28,54,95,.10) !important;
}
.welcome-ops-window {
    grid-column: 1 / -1 !important;
    display: grid !important;
    gap: 6px !important;
    margin-top: 6px !important;
    padding: 16px !important;
    border-radius: 20px !important;
    background: rgba(255,255,255,.90) !important;
    border: 1px solid rgba(30, 48, 78, .10) !important;
    box-shadow: 0 14px 30px rgba(28,54,95,.12) !important;
}
.welcome-ops-window strong {
    color: #172234 !important;
    font-size: 1.02rem !important;
}
.welcome-ops-window span {
    color: #52657c !important;
    line-height: 1.42 !important;
    font-size: .92rem !important;
}
.welcome-ops-card__taskbar {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    gap: 12px !important;
    padding: 11px 13px !important;
    background: #172234 !important;
}
.welcome-ops-card__taskbar span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    color: #eaf6ff !important;
    background: rgba(98,212,255,.16) !important;
    font-size: .8rem !important;
    font-weight: 850 !important;
}
.welcome-ops-card__taskbar span:last-child {
    height: 28px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.08) !important;
}
.welcome-content-board {
    position: relative !important;
    z-index: 1 !important;
    flex: 1 1 auto !important;
    min-height: 140px !important;
    width: min(1680px, 100%) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .34fr) !important;
    gap: clamp(14px, 2vw, 26px) !important;
    padding: clamp(12px, 1.8vw, 22px) !important;
    border-radius: 30px !important;
    overflow: hidden !important;
}
.welcome-details-scroll {
    min-height: 0 !important;
    overflow: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .42fr) !important;
    gap: clamp(12px, 1.8vw, 20px) !important;
    padding-right: 6px !important;
    scrollbar-gutter: stable !important;
}
.welcome-details-scroll::-webkit-scrollbar { width: 10px !important; }
.welcome-details-scroll::-webkit-scrollbar-thumb {
    border-radius: 999px !important;
    background: rgba(89, 119, 165, .45) !important;
}
.welcome-modern-card {
    border-radius: 22px !important;
    padding: clamp(14px, 1.8vw, 22px) !important;
    color: #344a65 !important;
    box-shadow: 0 12px 34px rgba(28,54,95,.09) !important;
}
.welcome-modern-card__head {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
    color: #172234 !important;
    font-weight: 900 !important;
}
.welcome-modern-card__head i {
    width: 34px !important;
    height: 34px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 13px !important;
    color: #2e7bff !important;
    background: rgba(46,123,255,.09) !important;
}
.welcome-modern-card p,
.welcome-modern-card .welcome-paragraph {
    margin: 0 0 10px !important;
    max-width: none !important;
    color: #465a72 !important;
    line-height: 1.56 !important;
    font-size: .96rem !important;
}
.welcome-modern-card p:last-child { margin-bottom: 0 !important; }
.welcome-modern-card--text {
    column-width: 360px !important;
    column-gap: 28px !important;
}
.welcome-modern-card--text .welcome-modern-card__head {
    break-after: avoid !important;
}
.welcome-link-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
    margin-top: 12px !important;
}
.welcome-link-row .welcome-text-link,
.welcome-text-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 40px !important;
    padding: 9px 13px !important;
    border-radius: 999px !important;
    color: #225ea2 !important;
    background: rgba(46,123,255,.07) !important;
    border: 1px solid rgba(46,123,255,.14) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}
.welcome-link-row .welcome-text-link:hover,
.welcome-text-link:hover {
    color: #163f75 !important;
    background: rgba(46,123,255,.12) !important;
}
.welcome-window .welcome-micro-note {
    display: flex !important;
    gap: 10px !important;
    align-items: flex-start !important;
    margin-top: 13px !important;
    padding: 13px 14px !important;
    border-radius: 16px !important;
    color: #344a65 !important;
    background: rgba(46,123,255,.07) !important;
    border: 1px solid rgba(46,123,255,.12) !important;
}
.welcome-window .welcome-micro-note i { margin-top: 2px !important; color: #2f6db3 !important; }
.welcome-signal-grid--v3,
.welcome-window .welcome-signal-grid--v3 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-content: stretch !important;
    gap: 10px !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: auto !important;
}
.welcome-signal-grid--v3 li,
.welcome-window .welcome-signal-grid--v3 li {
    min-height: 64px !important;
    padding: 12px 13px !important;
    border-radius: 18px !important;
    color: #344a65 !important;
    display: flex !important;
    align-items: center !important;
    gap: 11px !important;
}
.welcome-signal-grid--v3 span,
.welcome-window .welcome-signal-grid--v3 span {
    flex: 0 0 38px !important;
    width: 38px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 14px !important;
    background: rgba(46,123,255,.09) !important;
    color: #2e7bff !important;
}

@media (max-height: 760px) and (min-width: 901px) {
    .welcome-window .window-body,
    .welcome-window .welcome-screen {
        padding-top: 8px !important;
        padding-bottom: 12px !important;
        gap: 8px !important;
    }
    .welcome-top-logo img { width: clamp(260px, 25vw, 430px) !important; }
    .welcome-top-logo span { display: none !important; }
    .welcome-hero-panel { padding: 16px 22px !important; gap: 8px !important; }
    .welcome-hero-panel h2 { font-size: clamp(1.75rem, 3.05vw, 3.85rem) !important; max-width: 30ch !important; }
    .welcome-hero-panel .welcome-lead { font-size: .94rem !important; line-height: 1.43 !important; }
    .welcome-desktop-btn,
    .welcome-window .welcome-request-btn,
    .primary-btn.welcome-request-btn,
    button.welcome-request-btn { min-height: 48px !important; }
    .welcome-ops-panel { padding: 12px !important; }
    .welcome-ops-card__bar { height: 30px !important; }
    .welcome-ops-card__content { padding: 14px !important; gap: 8px !important; }
    .welcome-ops-window { padding: 12px !important; }
    .welcome-content-board { min-height: 118px !important; padding: 10px !important; }
}
@media (max-width: 1180px) {
    .welcome-screen__inner,
    .welcome-screen__inner.welcome-screen__inner--v3 {
        grid-template-columns: 1fr !important;
    }
    .welcome-ops-panel { display: none !important; }
    .welcome-hero-panel h2 { max-width: 42ch !important; }
    .welcome-content-board { grid-template-columns: 1fr !important; }
    .welcome-signal-grid--v3,
    .welcome-window .welcome-signal-grid--v3 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 760px) {
    .welcome-window .window-body,
    .welcome-window .welcome-screen {
        height: calc(var(--viewport-h) - 46px) !important;
        padding: 10px 13px 14px !important;
        gap: 10px !important;
        overflow: auto !important;
    }
    .welcome-top-logo img { width: min(82vw, 360px) !important; }
    .welcome-top-logo span { font-size: .7rem !important; padding: 4px 10px !important; }
    .welcome-hero-panel {
        padding: 16px !important;
        border-radius: 24px !important;
    }
    .welcome-hero-panel h2 {
        max-width: none !important;
        font-size: clamp(1.58rem, 7.2vw, 2.55rem) !important;
        letter-spacing: -.04em !important;
    }
    .welcome-hero-panel .welcome-lead { font-size: .92rem !important; line-height: 1.43 !important; }
    .welcome-cta-row--main > button {
        width: 100% !important;
        justify-content: center !important;
        min-height: 48px !important;
    }
    .welcome-start-option { width: 100% !important; }
    .welcome-content-board {
        overflow: visible !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        min-height: 0 !important;
    }
    .welcome-details-scroll {
        overflow: visible !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        padding-right: 0 !important;
    }
    .welcome-modern-card--text { column-width: auto !important; column-count: auto !important; }
    .welcome-signal-grid--v3,
    .welcome-window .welcome-signal-grid--v3 {
        grid-template-columns: 1fr !important;
        overflow: visible !important;
        margin-top: 12px !important;
    }
}

/* Welcome v4 - requested cleanup: no preview panel, stronger logo, right info cards */
.welcome-screen__inner--v4 {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    align-items: stretch !important;
    grid-template-columns: minmax(0, 1.04fr) minmax(430px, .96fr) !important;
    gap: clamp(18px, 2.6vw, 42px) !important;
}
.welcome-top-logo img {
    width: clamp(360px, 38vw, 700px) !important;
}
.welcome-top-logo span {
    font-size: .78rem !important;
    padding: 4px 12px !important;
}
.welcome-hero-panel {
    align-content: center !important;
    gap: clamp(8px, 1.15vh, 13px) !important;
    padding: clamp(18px, 2.3vw, 38px) !important;
}
.welcome-hero-panel h2 {
    max-width: 48ch !important;
    font-size: clamp(1.55rem, 2.45vw, 3.35rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -.043em !important;
}
.welcome-hero-panel .welcome-lead {
    max-width: 96ch !important;
    font-size: clamp(.9rem, .95vw, 1.02rem) !important;
    line-height: 1.47 !important;
}
.welcome-info-panel {
    min-width: 0 !important;
    min-height: 0 !important;
    display: flex !important;
    border: 1px solid rgba(30, 48, 78, .10) !important;
    background:
        radial-gradient(circle at 94% 0%, rgba(255, 198, 67, .16), transparent 30%),
        linear-gradient(180deg, rgba(255,255,255,.86), rgba(246,250,255,.84)) !important;
    box-shadow: 0 18px 56px rgba(28, 54, 95, .12) !important;
    border-radius: 30px !important;
    padding: clamp(14px, 1.8vw, 24px) !important;
    backdrop-filter: blur(12px) !important;
    overflow: hidden !important;
}
.welcome-info-panel .welcome-details-scroll,
.welcome-details-scroll--side {
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-content: start !important;
    gap: clamp(12px, 1.5vw, 18px) !important;
    padding: 2px 8px 2px 2px !important;
    width: 100% !important;
    scrollbar-gutter: stable !important;
}
.welcome-info-panel .welcome-modern-card {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(248,251,255,.92)) !important;
    border: 1px solid rgba(30, 48, 78, .10) !important;
    box-shadow: 0 12px 34px rgba(28,54,95,.09) !important;
}
.welcome-info-panel .welcome-modern-card::after {
    content: "" !important;
    position: absolute !important;
    inset: auto -30px -44px auto !important;
    width: 140px !important;
    height: 140px !important;
    border-radius: 999px !important;
    background: radial-gradient(circle, rgba(46,123,255,.10), transparent 68%) !important;
    pointer-events: none !important;
}
.welcome-modern-card--text {
    column-width: auto !important;
    column-count: 1 !important;
    column-gap: 0 !important;
}
.welcome-modern-card__head strong {
    font-size: 1.03rem !important;
}
.welcome-modern-card p,
.welcome-modern-card .welcome-paragraph {
    font-size: .94rem !important;
    line-height: 1.54 !important;
}
.welcome-content-board,
.welcome-ops-panel,
.welcome-signal-grid--v3 {
    display: none !important;
}
.welcome-desktop-btn--switch {
    position: relative !important;
    min-height: 66px !important;
    display: inline-grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 18px !important;
    gap: 12px !important;
    align-items: center !important;
    text-align: left !important;
    padding: 9px 18px 9px 10px !important;
    border-radius: 21px !important;
    background:
        linear-gradient(135deg, #1f6fff 0%, #224fca 58%, #15358f 100%) !important;
    box-shadow:
        0 18px 34px rgba(46,123,255,.28),
        inset 0 1px 0 rgba(255,255,255,.30) !important;
}
.welcome-desktop-btn--switch::before {
    content: "" !important;
    position: absolute !important;
    inset: 1px !important;
    border-radius: 20px !important;
    background: linear-gradient(90deg, rgba(255,255,255,.18), transparent 45%) !important;
    pointer-events: none !important;
}
.welcome-desktop-btn__icon {
    position: relative !important;
    z-index: 1 !important;
    width: 44px !important;
    height: 44px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.18) !important;
    border: 1px solid rgba(255,255,255,.26) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.26) !important;
}
.welcome-desktop-btn__icon i,
.welcome-desktop-btn--switch > i,
.welcome-desktop-btn__text {
    position: relative !important;
    z-index: 1 !important;
}
.welcome-desktop-btn__text {
    display: grid !important;
    gap: 2px !important;
    min-width: 0 !important;
}
.welcome-desktop-btn__text strong {
    color: #fff !important;
    font-size: 1rem !important;
    line-height: 1.12 !important;
    letter-spacing: -.01em !important;
}
.welcome-desktop-btn__text small {
    color: rgba(235,247,255,.82) !important;
    font-size: .75rem !important;
    line-height: 1.2 !important;
    font-weight: 650 !important;
}
.welcome-desktop-btn--switch > i {
    margin: 0 !important;
    color: rgba(255,255,255,.92) !important;
}
@media (max-height: 760px) and (min-width: 901px) {
    .welcome-top-logo img { width: clamp(330px, 32vw, 590px) !important; }
    .welcome-hero-panel h2 { font-size: clamp(1.45rem, 2.25vw, 2.9rem) !important; }
    .welcome-hero-panel .welcome-lead { font-size: .88rem !important; line-height: 1.38 !important; }
    .welcome-desktop-btn--switch { min-height: 58px !important; }
    .welcome-desktop-btn__text small { display: none !important; }
    .welcome-info-panel { padding: 12px !important; }
    .welcome-modern-card p,
    .welcome-modern-card .welcome-paragraph { font-size: .9rem !important; line-height: 1.45 !important; }
}
@media (max-width: 1180px) {
    .welcome-screen__inner--v4 {
        grid-template-columns: 1fr !important;
    }
    .welcome-info-panel {
        min-height: 0 !important;
    }
}
@media (max-width: 760px) {
    .welcome-top-logo img { width: min(88vw, 430px) !important; }
    .welcome-screen__inner--v4 { gap: 12px !important; }
    .welcome-info-panel {
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        overflow: visible !important;
    }
    .welcome-info-panel .welcome-details-scroll,
    .welcome-details-scroll--side {
        overflow: visible !important;
        padding: 0 !important;
    }
    .welcome-desktop-btn--switch {
        width: 100% !important;
        grid-template-columns: 42px minmax(0, 1fr) 16px !important;
        justify-content: stretch !important;
    }
    .welcome-desktop-btn__text strong { font-size: .94rem !important; }
}
@media (max-width: 1180px) and (min-width: 761px) {
    .welcome-window .window-body,
    .welcome-window .welcome-screen {
        overflow: auto !important;
    }
    .welcome-screen__inner--v4 {
        flex: 0 0 auto !important;
    }
}

/* Welcome v5 - sopra la piega più compatta, pannelli non tagliati */
.welcome-window .window-body,
.welcome-window .welcome-screen {
    padding-top: clamp(8px, 1.15vh, 14px) !important;
    padding-bottom: clamp(10px, 1.35vh, 18px) !important;
    gap: clamp(8px, 1.15vh, 12px) !important;
}

.welcome-top-logo {
    gap: 2px !important;
}

.welcome-top-logo img {
    width: clamp(340px, 35vw, 640px) !important;
    max-height: clamp(112px, 17vh, 180px) !important;
    object-fit: contain !important;
}

.welcome-top-logo span {
    padding: 3px 11px !important;
    font-size: .72rem !important;
}

.welcome-screen__inner--v4 {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: 100% !important;
    overflow: hidden !important;
    align-items: stretch !important;
}

.welcome-hero-panel,
.welcome-info-panel {
    min-height: 0 !important;
    max-height: 100% !important;
}

.welcome-hero-panel {
    align-content: start !important;
    align-items: start !important;
    overflow: auto !important;
    padding: clamp(18px, 2vw, 30px) !important;
    scrollbar-gutter: stable !important;
}

.welcome-hero-panel::-webkit-scrollbar,
.welcome-details-scroll--side::-webkit-scrollbar {
    width: 10px !important;
}

.welcome-hero-panel::-webkit-scrollbar-thumb,
.welcome-details-scroll--side::-webkit-scrollbar-thumb {
    border-radius: 999px !important;
    background: rgba(89, 119, 165, .42) !important;
}

.welcome-hero-panel h2 {
    max-width: 46ch !important;
}

.welcome-cta-row--main {
    margin-top: 8px !important;
}

.welcome-info-panel .welcome-details-scroll,
.welcome-details-scroll--side {
    max-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

@media (max-height: 820px) and (min-width: 901px) {
    .welcome-top-logo img {
        width: clamp(320px, 31vw, 560px) !important;
        max-height: 145px !important;
    }

    .welcome-top-logo span {
        display: none !important;
    }

    .welcome-hero-panel h2 {
        font-size: clamp(1.42rem, 2.1vw, 2.75rem) !important;
        line-height: 1.02 !important;
    }

    .welcome-hero-panel .welcome-lead {
        font-size: .88rem !important;
        line-height: 1.38 !important;
    }

    .welcome-desktop-btn--switch {
        min-height: 56px !important;
    }

    .welcome-start-option {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    .welcome-info-panel {
        padding: 12px !important;
    }
}

@media (max-width: 760px) {
    .welcome-window .window-body,
    .welcome-window .welcome-screen {
        overflow: auto !important;
    }

    .welcome-screen__inner--v4 {
        overflow: visible !important;
    }

    .welcome-hero-panel {
        overflow: visible !important;
    }
}

/* Welcome v6 - prima scheda compatta: niente stretch verticale inutile */
@media (min-width: 761px) {
    .welcome-screen__inner--v4 {
        align-items: start !important;
    }

    .welcome-hero-panel {
        align-self: start !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: 100% !important;
        overflow: visible !important;
        align-content: start !important;
        padding: clamp(16px, 1.75vw, 28px) !important;
        gap: clamp(6px, .85vh, 10px) !important;
    }

    .welcome-hero-panel .eyebrow {
        margin-bottom: 0 !important;
    }

    .welcome-hero-panel h2 {
        margin: 0 !important;
    }

    .welcome-hero-panel .welcome-lead {
        margin: 0 !important;
    }

    .welcome-cta-row--main {
        margin-top: 4px !important;
    }

    .welcome-start-option {
        margin-top: 0 !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    .welcome-info-panel {
        align-self: stretch !important;
        height: 100% !important;
        max-height: 100% !important;
    }
}

@media (max-height: 760px) and (min-width: 901px) {
    .welcome-hero-panel {
        padding: 14px 20px !important;
        gap: 6px !important;
        overflow: auto !important;
    }

    .welcome-cta-row--main {
        gap: 8px !important;
        margin-top: 2px !important;
    }
}

/* Welcome v7 - contenuti sinistra paginati, CTA allineate e responsive ordinato */
.welcome-hero-panel {
    display: flex !important;
    flex-direction: column !important;
    align-content: stretch !important;
    align-items: stretch !important;
    overflow: hidden !important;
    gap: clamp(9px, 1.1vh, 13px) !important;
}

.welcome-hero-slider {
    min-width: 0 !important;
    min-height: 0 !important;
    display: grid !important;
    gap: 10px !important;
}

.welcome-hero-slider__viewport {
    min-width: 0 !important;
    min-height: clamp(205px, 28vh, 330px) !important;
    max-height: clamp(230px, 34vh, 370px) !important;
    overflow: auto !important;
    scrollbar-gutter: stable !important;
    padding-right: 4px !important;
}

.welcome-hero-slider__viewport::-webkit-scrollbar { width: 9px !important; }
.welcome-hero-slider__viewport::-webkit-scrollbar-thumb {
    border-radius: 999px !important;
    background: rgba(89, 119, 165, .38) !important;
}

.welcome-slide,
.welcome-slide[hidden] {
    display: none !important;
}

.welcome-slide.is-active {
    display: grid !important;
    gap: clamp(8px, .9vh, 12px) !important;
    align-content: start !important;
    animation: welcomeSlideIn .18s ease-out both !important;
}

@keyframes welcomeSlideIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

.welcome-slide .eyebrow {
    margin: 0 !important;
}

.welcome-slide h2,
.welcome-slide h3 {
    margin: 0 !important;
    max-width: 44ch !important;
    color: #111827 !important;
    font-size: clamp(1.45rem, 2.22vw, 3.05rem) !important;
    line-height: 1.035 !important;
    letter-spacing: -.045em !important;
    text-wrap: balance !important;
}

.welcome-slide .welcome-lead {
    margin: 0 !important;
    max-width: 92ch !important;
    color: #344a65 !important;
    font-size: clamp(.9rem, .9vw, 1rem) !important;
    line-height: 1.45 !important;
}

.welcome-slide-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 9px !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.welcome-slide-list li,
.welcome-slide-pills span {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 11px !important;
    border-radius: 16px !important;
    color: #30445f !important;
    background: rgba(46, 123, 255, .065) !important;
    border: 1px solid rgba(46, 123, 255, .13) !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
}

.welcome-slide-list i,
.welcome-slide-pills i {
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 28px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
    border-radius: 11px !important;
    color: #1f6fff !important;
    background: rgba(255,255,255,.8) !important;
}

.welcome-slide-pills {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
    margin-top: 2px !important;
}

.welcome-hero-slider__controls {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-height: 38px !important;
}

.welcome-slider-arrow,
.welcome-slider-dots button {
    border: 1px solid rgba(30, 48, 78, .12) !important;
    background: rgba(255,255,255,.88) !important;
    color: #25466f !important;
    box-shadow: 0 8px 18px rgba(28,54,95,.08) !important;
    cursor: pointer !important;
}

.welcome-slider-arrow {
    flex: 0 0 38px !important;
    width: 38px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 14px !important;
}

.welcome-slider-arrow i {
    margin: 0 !important;
}

.welcome-slider-arrow:hover,
.welcome-slider-dots button:hover,
.welcome-slider-dots button.is-active {
    color: #ffffff !important;
    background: #1f6fff !important;
    border-color: rgba(31,111,255,.38) !important;
}

.welcome-slider-dots {
    flex: 1 1 auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
}

.welcome-slider-dots button {
    width: 11px !important;
    height: 11px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}

.welcome-slider-dots button.is-active {
    width: 30px !important;
}

.welcome-cta-row--main {
    width: min(100%, 720px) !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 12px !important;
    margin-top: 0 !important;
}

.welcome-action-btn,
.welcome-desktop-btn--switch,
.welcome-window .welcome-request-btn,
.primary-btn.welcome-request-btn,
button.welcome-request-btn {
    width: 100% !important;
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 11px !important;
    padding: 8px 13px !important;
    border-radius: 19px !important;
    text-align: left !important;
    line-height: 1.1 !important;
}

.welcome-action-btn__icon,
.welcome-desktop-btn__icon {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    display: grid !important;
    place-items: center !important;
    align-self: center !important;
    justify-self: center !important;
    border-radius: 15px !important;
}

.welcome-action-btn__icon i,
.welcome-desktop-btn__icon i,
.welcome-desktop-btn i,
.welcome-window .welcome-request-btn i {
    margin: 0 !important;
    line-height: 1 !important;
    display: block !important;
}

.welcome-action-btn__text,
.welcome-desktop-btn__text {
    min-width: 0 !important;
    display: grid !important;
    gap: 3px !important;
}

.welcome-action-btn__text strong,
.welcome-desktop-btn__text strong {
    display: block !important;
    font-size: clamp(.88rem, .82vw, 1rem) !important;
    line-height: 1.13 !important;
    white-space: normal !important;
}

.welcome-action-btn__text small,
.welcome-desktop-btn__text small {
    display: block !important;
    font-size: .72rem !important;
    line-height: 1.2 !important;
    font-weight: 650 !important;
    opacity: .86 !important;
}

.welcome-request-btn .welcome-action-btn__icon {
    color: #3b2b00 !important;
    background: rgba(255,255,255,.45) !important;
    border: 1px solid rgba(111,82,0,.10) !important;
}

.welcome-desktop-btn--switch::before {
    border-radius: 18px !important;
}

.welcome-start-option {
    margin-top: 0 !important;
}

.welcome-info-panel,
.welcome-info-panel .welcome-details-scroll,
.welcome-details-scroll--side,
.welcome-info-panel .welcome-modern-card {
    min-width: 0 !important;
}

.welcome-modern-card--text {
    column-width: auto !important;
    column-count: 1 !important;
    columns: auto !important;
}

.welcome-modern-card p,
.welcome-modern-card .welcome-paragraph {
    overflow-wrap: anywhere !important;
}

@media (min-width: 761px) {
    .welcome-hero-panel {
        align-self: start !important;
        max-height: 100% !important;
    }
}

@media (max-height: 820px) and (min-width: 901px) {
    .welcome-hero-slider__viewport {
        min-height: clamp(170px, 26vh, 245px) !important;
        max-height: clamp(190px, 31vh, 275px) !important;
    }

    .welcome-slide h2,
    .welcome-slide h3 {
        font-size: clamp(1.32rem, 1.88vw, 2.45rem) !important;
        line-height: 1.02 !important;
    }

    .welcome-slide .welcome-lead {
        font-size: .86rem !important;
        line-height: 1.34 !important;
    }

    .welcome-slide-list li,
    .welcome-slide-pills span {
        padding: 8px 9px !important;
        font-size: .84rem !important;
    }

    .welcome-action-btn,
    .welcome-desktop-btn--switch,
    .welcome-window .welcome-request-btn,
    .primary-btn.welcome-request-btn,
    button.welcome-request-btn {
        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;
        grid-template-columns: 38px minmax(0, 1fr) !important;
        gap: 9px !important;
        padding: 7px 11px !important;
    }

    .welcome-action-btn__icon,
    .welcome-desktop-btn__icon {
        width: 38px !important;
        height: 38px !important;
    }

    .welcome-action-btn__text small,
    .welcome-desktop-btn__text small {
        display: none !important;
    }
}

@media (max-width: 1180px) {
    .welcome-hero-slider__viewport {
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .welcome-slide-list {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    .welcome-hero-panel {
        overflow: visible !important;
        gap: 10px !important;
    }

    .welcome-hero-slider__viewport {
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        padding-right: 0 !important;
    }

    .welcome-slide h2,
    .welcome-slide h3 {
        max-width: none !important;
        font-size: clamp(1.45rem, 7vw, 2.35rem) !important;
        line-height: 1.04 !important;
    }

    .welcome-slide .welcome-lead {
        font-size: .91rem !important;
    }

    .welcome-hero-slider__controls {
        justify-content: center !important;
    }

    .welcome-cta-row--main {
        width: 100% !important;
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    .welcome-action-btn,
    .welcome-desktop-btn--switch,
    .welcome-window .welcome-request-btn,
    .primary-btn.welcome-request-btn,
    button.welcome-request-btn {
        height: auto !important;
        min-height: 58px !important;
        max-height: none !important;
        grid-template-columns: 42px minmax(0, 1fr) !important;
    }

    .welcome-action-btn__icon,
    .welcome-desktop-btn__icon {
        width: 42px !important;
        height: 42px !important;
    }
}

/* Welcome v8 - paginazione spostata a destra tra 'Perché PC Teck' ed 'Esplora il sito' */
.welcome-screen__inner--v8 .welcome-hero-panel {
    display: grid !important;
    grid-template-rows: auto auto auto !important;
    align-content: start !important;
    align-items: start !important;
    justify-items: stretch !important;
    gap: clamp(10px, 1.2vh, 14px) !important;
    overflow: visible !important;
}

.welcome-hero-copy {
    display: grid !important;
    gap: clamp(8px, .95vh, 12px) !important;
    min-width: 0 !important;
}

.welcome-hero-copy .eyebrow,
.welcome-hero-copy h2,
.welcome-hero-copy .welcome-lead {
    margin: 0 !important;
}

.welcome-screen__inner--v8 .welcome-hero-panel h2 {
    max-width: 46ch !important;
}

.welcome-screen__inner--v8 .welcome-info-panel {
    align-self: start !important;
    min-height: 0 !important;
    max-height: 100% !important;
}

.welcome-info-slider {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: 100% !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    gap: 12px !important;
}

.welcome-info-slider__viewport {
    min-width: 0 !important;
    min-height: clamp(300px, 44vh, 560px) !important;
    max-height: clamp(340px, 58vh, 680px) !important;
    overflow: auto !important;
    scrollbar-gutter: stable !important;
    padding: 2px 8px 2px 2px !important;
}

.welcome-info-slider__viewport::-webkit-scrollbar { width: 10px !important; }
.welcome-info-slider__viewport::-webkit-scrollbar-thumb {
    border-radius: 999px !important;
    background: rgba(89, 119, 165, .42) !important;
}

.welcome-info-panel .welcome-slide,
.welcome-info-panel .welcome-slide[hidden] {
    display: none !important;
}

.welcome-info-panel .welcome-slide.is-active {
    display: block !important;
    animation: welcomeSlideIn .18s ease-out both !important;
}

.welcome-info-panel .welcome-modern-card {
    min-height: 100% !important;
}

.welcome-info-slider__controls {
    flex: 0 0 auto !important;
    margin-top: 0 !important;
}

@media (max-height: 820px) and (min-width: 901px) {
    .welcome-info-slider__viewport {
        min-height: clamp(240px, 39vh, 430px) !important;
        max-height: clamp(260px, 48vh, 520px) !important;
    }

    .welcome-screen__inner--v8 .welcome-hero-panel {
        gap: 8px !important;
    }
}

@media (max-width: 1180px) {
    .welcome-screen__inner--v8 .welcome-info-panel {
        align-self: stretch !important;
    }

    .welcome-info-slider__viewport {
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        padding-right: 0 !important;
    }
}

@media (max-width: 760px) {
    .welcome-screen__inner--v8 .welcome-hero-panel {
        overflow: visible !important;
    }

    .welcome-info-slider {
        gap: 10px !important;
    }

    .welcome-info-panel .welcome-modern-card {
        min-height: 0 !important;
    }

    .welcome-info-slider__controls {
        justify-content: center !important;
    }
}

/* Welcome v9 - correzioni: checkbox discreto, tab informativo e finestre collegate sopra la welcome */
.welcome-screen__inner--v9 .welcome-hero-panel {
    gap: clamp(9px, 1vh, 13px) !important;
}

.welcome-screen__inner--v9 .welcome-hero-copy {
    gap: clamp(8px, .9vh, 11px) !important;
}

.welcome-feature-tab {
    width: min(100%, 760px) !important;
    display: grid !important;
    gap: 6px !important;
    margin-top: clamp(2px, .6vh, 7px) !important;
    padding: clamp(11px, 1.15vw, 16px) clamp(13px, 1.3vw, 18px) !important;
    border-radius: 19px !important;
    color: #344a65 !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(46,123,255,.12), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(244,249,255,.92)) !important;
    border: 1px solid rgba(46,123,255,.14) !important;
    box-shadow: 0 12px 30px rgba(28,54,95,.08) !important;
}

.welcome-feature-tab span {
    width: fit-content !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #1f5fa8 !important;
    font-size: .76rem !important;
    font-weight: 900 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}

.welcome-feature-tab span i {
    width: 25px !important;
    height: 25px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
    border-radius: 10px !important;
    color: #ffffff !important;
    background: #1f6fff !important;
    box-shadow: 0 8px 18px rgba(31,111,255,.20) !important;
}

.welcome-feature-tab p {
    max-width: 72ch !important;
    margin: 0 !important;
    color: #42576f !important;
    font-size: clamp(.86rem, .84vw, .96rem) !important;
    line-height: 1.42 !important;
}

.welcome-screen__inner--v9 .welcome-start-option {
    width: fit-content !important;
    display: inline-grid !important;
    grid-template-columns: 15px minmax(0, auto) !important;
    gap: 7px !important;
    align-items: center !important;
    margin-top: 0 !important;
    padding: 2px 4px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: rgba(52, 74, 101, .66) !important;
    box-shadow: none !important;
    opacity: .78 !important;
}

.welcome-screen__inner--v9 .welcome-start-option:hover,
.welcome-screen__inner--v9 .welcome-start-option:focus-within {
    opacity: 1 !important;
    color: #344a65 !important;
    background: rgba(46,123,255,.055) !important;
}

.welcome-screen__inner--v9 .welcome-start-option input {
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
}

.welcome-screen__inner--v9 .welcome-start-option span {
    font-size: .78rem !important;
    line-height: 1.25 !important;
    font-weight: 550 !important;
}

.welcome-screen__inner--v9 .welcome-desktop-btn--switch,
.welcome-screen__inner--v9 .welcome-window .welcome-request-btn,
.welcome-screen__inner--v9 .primary-btn.welcome-request-btn,
.welcome-screen__inner--v9 button.welcome-request-btn {
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
}

.welcome-screen__inner--v9 .welcome-action-btn__icon,
.welcome-screen__inner--v9 .welcome-desktop-btn__icon,
.welcome-screen__inner--v9 .welcome-action-btn__icon i,
.welcome-screen__inner--v9 .welcome-desktop-btn__icon i {
    display: grid !important;
    place-items: center !important;
    text-align: center !important;
    margin: 0 !important;
}

@media (max-height: 820px) and (min-width: 901px) {
    .welcome-feature-tab {
        padding: 9px 12px !important;
        gap: 4px !important;
    }

    .welcome-feature-tab p {
        font-size: .84rem !important;
        line-height: 1.32 !important;
    }

    .welcome-screen__inner--v9 .welcome-desktop-btn--switch,
    .welcome-screen__inner--v9 .welcome-window .welcome-request-btn,
    .welcome-screen__inner--v9 .primary-btn.welcome-request-btn,
    .welcome-screen__inner--v9 button.welcome-request-btn {
        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;
    }
}

@media (max-width: 1180px) {
    .welcome-feature-tab {
        width: 100% !important;
    }
}

@media (max-width: 760px) {
    .welcome-feature-tab {
        width: 100% !important;
        padding: 12px !important;
    }

    .welcome-feature-tab p {
        font-size: .88rem !important;
    }

    .welcome-screen__inner--v9 .welcome-start-option {
        max-width: 100% !important;
        grid-template-columns: 15px minmax(0, 1fr) !important;
    }

    .welcome-screen__inner--v9 .welcome-desktop-btn--switch,
    .welcome-screen__inner--v9 .welcome-window .welcome-request-btn,
    .welcome-screen__inner--v9 .primary-btn.welcome-request-btn,
    .welcome-screen__inner--v9 button.welcome-request-btn {
        height: auto !important;
        min-height: 58px !important;
        max-height: none !important;
    }
}

/* Welcome v10 - mobile: frame impilati, niente sovrapposizione */
@media (max-width: 760px) {
    .welcome-screen__inner--v9 {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        flex: 0 0 auto !important;
        overflow: visible !important;
        align-items: initial !important;
    }

    .welcome-screen__inner--v9 .welcome-hero-panel {
        display: grid !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        margin: 0 0 14px !important;
        align-self: auto !important;
    }

    .welcome-screen__inner--v9 .welcome-info-panel {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        clear: both !important;
        margin: 0 !important;
        align-self: auto !important;
    }

    .welcome-screen__inner--v9 .welcome-info-slider,
    .welcome-screen__inner--v9 .welcome-info-slider__viewport {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .welcome-screen__inner--v9 .welcome-info-slider__controls {
        display: flex !important;
        margin-top: 10px !important;
    }

    .welcome-screen__inner--v9 .welcome-info-panel .welcome-slide.is-active {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }
}

/* Fix contrasto dropdown: evita menu scuri con testo scuro nei select nativi. */
select,
.pcteck-auth-form select,
.service-form select,
.request-form select,
.inline-form select {
    background: #ffffff !important;
    color: #101622 !important;
    border-color: rgba(15, 23, 42, .28) !important;
    color-scheme: light;
}
select option,
select optgroup,
.pcteck-auth-form select option,
.pcteck-auth-form select optgroup {
    background: #ffffff !important;
    color: #101622 !important;
}
select:disabled {
    background: #e8edf4 !important;
    color: #697386 !important;
}

/* v11 - iOS/tablet, login persistence UI and password visibility fixes */
html {
    -webkit-text-size-adjust: 100%;
}

button,
input,
textarea,
select,
[role="button"] {
    -webkit-tap-highlight-color: rgba(98, 212, 255, .18);
}

.pcteck-password-field {
    position: relative;
    display: block;
    width: 100%;
}

.pcteck-password-field input {
    padding-right: 48px !important;
}

.pcteck-password-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 34px;
    height: 34px;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.08);
    color: #dcecff;
    cursor: pointer;
    touch-action: manipulation;
}

.pcteck-password-toggle:hover,
.pcteck-password-toggle:focus-visible {
    background: rgba(114, 190, 255, .16);
    border-color: rgba(114, 190, 255, .42);
    outline: none;
}

.pcteck-password-toggle[aria-pressed="true"] {
    color: #ffffff;
    background: rgba(114, 190, 255, .22);
}

.pcteck-auth-modal,
.pcteck-auth-modal__dialog,
.pcteck-auth-form input,
.pcteck-auth-form select,
.pcteck-auth-session input {
    color-scheme: dark;
}

.welcome-window,
.welcome-window .window-body,
.welcome-window .welcome-screen,
.welcome-window .welcome-hero-panel,
.welcome-window .welcome-info-panel,
.welcome-window .welcome-modern-card {
    color-scheme: light;
}

select,
select option,
select optgroup {
    -webkit-appearance: menulist;
    appearance: auto;
}

/* iPad/iOS: layout touch coerente anche quando la larghezza non rientra nei breakpoint mobile classici. */
body.touch-layout.desktop-page {
    overflow: hidden;
    user-select: none;
    -webkit-user-select: none;
}

body.touch-layout .desktop-shell {
    min-height: var(--viewport-h);
    height: var(--viewport-h);
    padding: 8px 0 calc(var(--taskbar-h) + 8px + env(safe-area-inset-bottom));
    overflow: hidden;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
}

body.touch-layout .workspace {
    min-height: calc(var(--viewport-h) - var(--taskbar-h) - env(safe-area-inset-bottom) - 16px);
    height: calc(var(--viewport-h) - var(--taskbar-h) - env(safe-area-inset-bottom) - 16px);
    width: 100%;
    max-width: 100%;
}

body.touch-layout .desktop-icons {
    position: relative;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(84px, 1fr));
    gap: 8px;
    min-height: auto;
    align-content: start;
    justify-items: center;
    padding: 4px 10px 10px;
}

body.touch-layout .desktop-icon {
    position: relative;
    left: auto !important;
    top: auto !important;
    width: 100%;
    max-width: 108px;
    min-height: 90px;
    touch-action: manipulation;
    padding: 6px 4px;
    margin: 0 auto;
}

body.touch-layout .window,
body.touch-layout .window-centered,
body.touch-layout .compact-window,
body.touch-layout .services-window {
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    transform: none !important;
    width: 100% !important;
    min-width: 0;
    max-width: 100% !important;
    margin: 0 !important;
    height: var(--mobile-window-h) !important;
    max-height: var(--mobile-window-h) !important;
    border-radius: 16px;
}

body.touch-layout .window-body {
    padding: 14px;
    max-height: calc(var(--mobile-window-h) - 50px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}

body.touch-layout .start-menu {
    left: 8px;
    right: 8px;
    bottom: calc(var(--taskbar-h) + 8px + env(safe-area-inset-bottom));
    width: auto;
    max-height: calc(var(--viewport-h) - var(--taskbar-h) - env(safe-area-inset-bottom) - 24px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

body.touch-layout button,
body.touch-layout [data-open],
body.touch-layout .window-action,
body.touch-layout .start-trigger,
body.touch-layout .taskbar-window {
    touch-action: manipulation;
}

body.touch-layout input,
body.touch-layout textarea,
body.touch-layout select {
    font-size: 16px;
}

body.touch-layout .welcome-window,
body.touch-layout .window.welcome-window,
body.touch-layout .window.window-centered.welcome-window {
    background: #f5f8fc !important;
    color: #162033 !important;
}

body.touch-layout .welcome-window .window-body,
body.touch-layout .welcome-window .welcome-screen {
    background: linear-gradient(180deg, #ffffff 0%, #f4f8fd 100%) !important;
    color: #162033 !important;
}

body.touch-layout .welcome-window .welcome-screen__inner,
body.touch-layout .welcome-screen__inner--v9,
body.touch-layout .welcome-screen__inner--v10 {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    height: auto !important;
}

body.touch-layout .welcome-window .welcome-hero-panel,
body.touch-layout .welcome-window .welcome-info-panel {
    min-height: auto !important;
}

body.touch-layout .welcome-window .welcome-info-panel {
    margin-top: 14px;
}

body.touch-layout .welcome-window .welcome-cta-row,
body.touch-layout .welcome-window .welcome-cta-row--main {
    grid-template-columns: 1fr !important;
}

/* OTP 2FA: caselle singole, paste pulito e leggibilità mobile */
.pcteck-otp-label {
    gap: 9px !important;
}

.pcteck-otp-boxes {
    display: grid;
    grid-template-columns: repeat(5, minmax(42px, 1fr));
    gap: 10px;
    width: 100%;
}

.pcteck-auth-form .pcteck-otp-digit {
    height: 54px;
    padding: 0 !important;
    text-align: center;
    font-size: 1.45rem;
    font-weight: 900;
    letter-spacing: 0;
    font-family: Consolas, Menlo, Monaco, monospace;
    caret-color: #9dd8ff;
    -webkit-user-select: text;
    user-select: text;
}

.pcteck-auth-form .pcteck-otp-digit:focus {
    border-color: rgba(114, 190, 255, .88);
    box-shadow: 0 0 0 3px rgba(80, 168, 255, .18), inset 0 0 0 1px rgba(255,255,255,.10);
}

@media (max-width: 420px) {
    .pcteck-otp-boxes {
        gap: 7px;
        grid-template-columns: repeat(5, minmax(36px, 1fr));
    }

    .pcteck-auth-form .pcteck-otp-digit {
        height: 48px;
        font-size: 1.25rem;
    }
}

/* Account: disattivazione 2FA con password + ultimo OTP */
.pcteck-auth-panel[hidden] {
    display: none !important;
}

.pcteck-auth-panel--2fa-confirm {
    border-color: rgba(255, 209, 102, .24);
    background: linear-gradient(180deg, rgba(255, 209, 102, .10), rgba(255,255,255,.035));
}

#pcteckResendOtpBtn:disabled {
    opacity: .58;
    cursor: not-allowed;
}

/* Scroll hardening globale: evita ricalcoli di overflow che riportano in alto i form lunghi. */
.window:not(.welcome-window) {
    overflow: hidden;
}
.window:not(.welcome-window) .window-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto !important;
    scroll-behavior: auto !important;
    overflow-anchor: none;
}
.window-body[data-user-scrolling="1"] {
    overscroll-behavior: contain;
}

/* Desktop/admin shortcut visibile solo agli utenti admin autenticati. */
.pcteck-admin-desktop {
    position: absolute;
    top: 112px;
    right: 16px;
    z-index: 28;
}
.pcteck-admin-desktop[hidden],
.start-item-admin[hidden] {
    display: none !important;
}
.pcteck-admin-desktop .desktop-icon-glyph,
.start-item-admin .start-icon {
    color: #ffd772;
    background: linear-gradient(180deg, rgba(255,215,114,.26), rgba(255,172,64,.10));
    border-color: rgba(255,215,114,.34);
    box-shadow: 0 0 0 1px rgba(255,215,114,.20), 0 14px 35px rgba(255,190,80,.14);
}
.start-item-admin {
    border-color: rgba(255,215,114,.22);
}

/* Richiesta intervento: indirizzo visibile e modalità remota. */
.request-address-block {
    display: grid;
    gap: 10px;
}
.request-address-field textarea {
    min-height: 86px;
    resize: vertical;
}
.request-address-field.is-disabled {
    opacity: .68;
}
.request-address-field.is-disabled textarea,
.request-address-field textarea:disabled {
    cursor: not-allowed;
    background: rgba(255,255,255,.045);
    color: rgba(220,235,255,.58);
}
.request-remote-check {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 14px;
    background: rgba(255,255,255,.04);
    color: rgba(230,240,255,.86);
    line-height: 1.45;
}
.request-remote-check input {
    width: auto;
    margin-top: .2em;
    accent-color: #62d4ff;
}

@media (max-width: 700px) {
    .pcteck-admin-desktop {
        top: 104px;
        right: 10px;
        transform: scale(.9);
        transform-origin: top right;
    }
}
