:root {
    color-scheme: dark;
    font-family: "Segoe UI", Tahoma, Arial, sans-serif;
    background: #090b10;
    color: #f4f6fb;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    min-height: 100vh;
}

.boot-screen {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
}

.boot-card {
    width: min(560px, 100%);
    padding: 32px;
    border: 1px solid #272c36;
    border-radius: 18px;
    background: #11141b;
}

.boot-kicker {
    font-size: 12px;
    letter-spacing: .18em;
    opacity: .65;
}

h1 {
    margin: 10px 0 8px;
    font-size: clamp(36px, 8vw, 68px);
}

p {
    margin: 0 0 24px;
    color: #b8bfcc;
}

dl {
    display: grid;
    gap: 10px;
    margin: 0;
}

dl div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-top: 10px;
    border-top: 1px solid #272c36;
}

dt {
    color: #8f98a8;
}

dd {
    margin: 0;
}


.home-shell{width:min(1080px,100%);min-height:100vh;margin:0 auto;padding:clamp(24px,5vw,64px) 22px 36px;display:flex;flex-direction:column;justify-content:center}
.home-header{display:flex;justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:28px}.home-header h1{font-size:clamp(44px,9vw,86px);line-height:.92;margin:10px 0 14px}.home-header p{max-width:660px;line-height:1.55}.home-env{padding:7px 10px;border:1px solid #303846;border-radius:999px;color:#8e99aa;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.home-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-module{min-height:174px;padding:18px;display:flex;flex-direction:column;border:1px solid #29313d;border-radius:18px;background:linear-gradient(145deg,#121720,#0d1118);color:#f4f6fb;text-decoration:none;transition:transform .15s ease,border-color .15s ease}.home-module[href]:hover{transform:translateY(-2px);border-color:#566174}.home-module-number{font-size:10px;letter-spacing:.16em;color:#667286}.home-module strong{font-size:28px;margin-top:auto}.home-module small{margin-top:5px;color:#8f99aa;line-height:1.45}.home-module em{margin-top:18px;font-style:normal;font-size:10px;letter-spacing:.13em;color:#d7a656}.home-module--disabled{opacity:.52}.home-module--flight{border-color:#765326;background:radial-gradient(circle at 80% 15%,rgba(217,158,70,.14),transparent 36%),linear-gradient(145deg,#171912,#15110c)}.home-footer{margin-top:20px;text-align:center;color:#5f6979;font-size:11px}
@media(max-width:680px){.home-shell{justify-content:flex-start;padding:28px 12px}.home-header{display:block}.home-env{display:inline-flex;margin-top:2px}.home-modules{grid-template-columns:1fr}.home-module{min-height:136px}.home-module strong{font-size:24px}}

.home-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.home-account{padding:7px 10px;border:1px solid #3b4655;border-radius:999px;color:#d6dde8;font-size:10px;letter-spacing:.08em;text-decoration:none;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-account:hover{border-color:#7d633e;color:#f0c47e}@media(max-width:680px){.home-meta{justify-content:flex-start;margin-top:8px}}


body.public-home{
    min-height:100vh;
    min-height:100dvh;
    overflow-x:hidden;
    background:
        radial-gradient(circle at 74% 35%,rgba(207,145,52,.16),transparent 25%),
        linear-gradient(180deg,#07090d 0%,#0a0d12 58%,#06080b 100%);
    color:#f5f6f8;
}
.public-home .landing-shell{
    width:min(1440px,100%);
    min-height:100vh;
    min-height:100dvh;
    margin:0 auto;
    padding:clamp(18px,2.4vw,34px) clamp(18px,4vw,62px) 24px;
    display:flex;
    flex-direction:column;
    position:relative;
    isolation:isolate;
}
.public-home .landing-shell::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-2;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
    background-size:46px 46px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 75%);
}
.public-home .landing-shell::after{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:
        radial-gradient(circle at 50% -20%,rgba(255,255,255,.05),transparent 38%),
        linear-gradient(90deg,rgba(0,0,0,.2),transparent 38%,transparent 62%,rgba(0,0,0,.2));
}
.public-home .landing-nav{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    position:relative;
    z-index:10;
}
.public-home .landing-brand{
    width:clamp(164px,16vw,230px);
    display:block;
}
.public-home .landing-brand img{
    display:block;
    width:100%;
    height:auto;
    filter:drop-shadow(0 10px 26px rgba(0,0,0,.32));
}
.public-home .landing-nav-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
}
.public-home .landing-link,
.public-home .landing-nav-cta,
.public-home .landing-pilot{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    text-decoration:none;
    transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.public-home .landing-link{
    padding:0 15px;
    color:#d9dfe8;
    font-size:14px;
    font-weight:700;
}
.public-home .landing-link:hover{color:#fff}
.public-home .landing-nav-cta{
    padding:0 18px;
    border:1px solid #9b6b26;
    background:linear-gradient(180deg,#4a3212,#2c1c0b);
    color:#f5d397;
    font-size:13px;
    font-weight:900;
    letter-spacing:.02em;
}
.public-home .landing-nav-cta:hover,
.public-home .landing-primary:hover{
    border-color:#c89343;
    transform:translateY(-1px);
}
.public-home .landing-pilot{
    max-width:240px;
    padding:7px 13px;
    border:1px solid #303844;
    background:#0c1016;
    align-items:flex-start;
    flex-direction:column;
}
.public-home .landing-pilot span{
    color:#97a2b2;
    font-size:10px;
    letter-spacing:.15em;
}
.public-home .landing-pilot strong{
    max-width:210px;
    margin-top:4px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#f4f7fb;
    font-size:14px;
}
.public-home .landing-hero{
    flex:1;
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
    align-items:center;
    gap:clamp(24px,5vw,80px);
    padding:clamp(28px,5vh,68px) 0 clamp(44px,7vh,82px);
}
.public-home .landing-copy{
    position:relative;
    z-index:3;
    max-width:640px;
}
.public-home .landing-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#d5a352;
    font-size:11px;
    font-weight:900;
    letter-spacing:.22em;
}
.public-home .landing-kicker::before{
    content:"";
    width:32px;
    height:1px;
    background:#a9742e;
    box-shadow:0 0 12px rgba(205,151,69,.4);
}
.public-home .landing-copy h1{
    margin:18px 0 18px;
    font-size:clamp(54px,6.6vw,96px);
    line-height:.86;
    letter-spacing:-.055em;
    text-transform:uppercase;
    text-shadow:0 14px 48px rgba(0,0,0,.35);
}
.public-home .landing-copy h1 span{
    color:#d8a451;
    -webkit-text-stroke:1px rgba(255,224,167,.12);
}
.public-home .landing-lead{
    max-width:590px;
    margin:0;
    color:#d1d8e2;
    font-size:clamp(17px,1.32vw,20px);
    line-height:1.65;
}
.public-home .landing-actions{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:28px;
}
.public-home .landing-primary,
.public-home .landing-secondary{
    min-height:54px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    text-decoration:none;
    font-size:15px;
    font-weight:900;
}
.public-home .landing-primary{
    min-width:188px;
    gap:18px;
    padding:0 18px;
    border:1px solid #9b6925;
    background:linear-gradient(180deg,#5a3a12,#33210c);
    color:#ffe2a8;
    box-shadow:0 16px 38px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.05);
}
.public-home .landing-primary span{
    color:#e5ad53;
    font-size:18px;
}
.public-home .landing-secondary{
    padding:0 18px;
    border:1px solid #303944;
    background:rgba(12,16,22,.72);
    color:#d6dbe3;
}
.public-home .landing-secondary:hover{
    border-color:#556170;
    background:#111720;
}
.public-home .landing-features{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-top:38px;
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.08);
}
.public-home .landing-features div{
    min-width:0;
}
.public-home .landing-features strong,
.public-home .landing-features span{
    display:block;
}
.public-home .landing-features strong{
    color:#f2f5f9;
    font-size:13px;
    font-weight:800;
    letter-spacing:.12em;
}
.public-home .landing-features span{
    margin-top:8px;
    color:#b6c0cd;
    font-size:15px;
    line-height:1.55;
}
.public-home .landing-visual{
    min-height:clamp(440px,58vh,520px);
    position:relative;
    border:1px solid rgba(255,255,255,.07);
    border-radius:30px;
    overflow:hidden;
    isolation:isolate;
    background:
        linear-gradient(90deg,rgba(4,7,10,.28),rgba(4,7,10,.02) 44%,rgba(4,7,10,.38)),
        linear-gradient(180deg,rgba(5,8,11,.18),rgba(5,8,11,.55)),
        url("../game/backgrounds/deserto/v3/preview.webp") center 49%/cover no-repeat;
    box-shadow:0 30px 90px rgba(0,0,0,.36),inset 0 0 80px rgba(0,0,0,.3);
}
.public-home .landing-visual::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:
        linear-gradient(180deg,rgba(7,10,14,.08),transparent 30%,rgba(7,10,14,.34));
    pointer-events:none;
}
.public-home .landing-visual::after{
    content:"";
    position:absolute;
    inset:18px;
    z-index:1;
    border:1px solid rgba(255,255,255,.08);
    border-radius:20px;
    pointer-events:none;
}
.public-home .landing-media{
    position:absolute;
    inset:0;
    z-index:0;
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
    filter:saturate(1.04) contrast(1.03);
}
.public-home .landing-media--fallback{
    object-fit:contain;
    padding:12%;
    filter:drop-shadow(0 20px 18px rgba(0,0,0,.40));
}
.public-home .landing-coordinate{
    position:absolute;
    z-index:4;
    color:rgba(248,232,202,.82);
    font-size:10px;
    font-weight:800;
    letter-spacing:.14em;
}
.public-home .landing-coordinate--top{top:30px;left:32px}
.public-home .landing-coordinate--bottom{right:32px;bottom:30px}
.public-home .landing-modules{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-top:auto;
}
.public-home .landing-modules a{
    min-height:86px;
    display:grid;
    grid-template-columns:auto 1fr;
    grid-template-rows:auto auto;
    column-gap:12px;
    align-content:center;
    padding:14px 16px;
    border:1px solid #222a34;
    border-radius:13px;
    background:rgba(12,16,22,.74);
    color:#eef1f5;
    text-decoration:none;
    transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.public-home .landing-modules a:hover{
    transform:translateY(-1px);
    border-color:#46515f;
    background:#10161e;
}
.public-home .landing-modules a>span{
    grid-row:1/3;
    color:#6e7886;
    font-size:9px;
    letter-spacing:.12em;
    padding-top:3px;
}
.public-home .landing-modules strong{
    font-size:15px;
}
.public-home .landing-modules small{
    margin-top:3px;
    color:#717d8d;
    font-size:10px;
}
.public-home .landing-modules .landing-module-flight{
    border-color:#5e451f;
    background:linear-gradient(135deg,rgba(78,52,18,.38),rgba(15,15,13,.82));
}
.public-home .landing-modules .landing-module-flight strong{color:#edc680}
.public-home .landing-footer{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    justify-content:center;
    margin-top:12px;
    color:#8792a2;
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.public-home .landing-footer-rule{
    width:22px;
    height:1px;
    background:#2b323c;
}
@media(max-width:1000px){
    .public-home .landing-hero{
        grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
        gap:24px;
    }
    .public-home .landing-copy h1{font-size:clamp(50px,7vw,72px)}
    .public-home .landing-visual{min-height:clamp(410px,54vh,470px)}
    .public-home .landing-features{grid-template-columns:1fr}
    .public-home .landing-features div{display:flex;align-items:center;gap:10px}
    .public-home .landing-features span{margin-top:0}
}
@media(max-width:760px){
    body.public-home{
        background:#07090d;
    }
    .public-home .landing-shell{
        padding:16px 14px calc(18px + env(safe-area-inset-bottom));
    }
    .public-home .landing-nav{
        min-height:50px;
    }
    .public-home .landing-brand{width:150px}
    .public-home .landing-link{display:none}
    .public-home .landing-nav-cta{min-height:38px;padding:0 12px;font-size:10px}
    .public-home .landing-pilot{max-width:150px}
    .public-home .landing-pilot strong{max-width:122px}
    .public-home .landing-hero{
        min-height:0;
        grid-template-columns:1fr;
        gap:0;
        padding:20px 0 18px;
    }
    .public-home .landing-visual{
        grid-row:1;
        min-height:300px;
        border-radius:22px;
        background-position:center 50%;
    }
    .public-home .landing-visual::after{inset:12px;border-radius:15px}
    .public-home .landing-media{object-position:center}
    .public-home .landing-coordinate--top{top:22px;left:22px}
    .public-home .landing-coordinate--bottom{right:22px;bottom:22px}
    .public-home .landing-copy{
        grid-row:2;
        max-width:none;
        margin-top:-34px;
        padding:0 5px;
        z-index:5;
    }
    .public-home .landing-kicker{
        padding:8px 12px;
        border:1px solid rgba(190,137,52,.35);
        border-radius:999px;
        background:rgba(7,9,13,.88);
        backdrop-filter:blur(8px);
        font-size:10px;
    }
    .public-home .landing-kicker::before{width:20px}
    .public-home .landing-copy h1{
        margin:18px 0 12px;
        font-size:clamp(42px,14vw,64px);
        line-height:.88;
    }
    .public-home .landing-lead{
        font-size:16px;
        line-height:1.6;
    }
    .public-home .landing-actions{
        display:grid;
        grid-template-columns:1fr;
        margin-top:20px;
    }
    .public-home .landing-primary,
    .public-home .landing-secondary{
        width:100%;
        min-height:50px;
    }
    .public-home .landing-features{
        grid-template-columns:1fr;
        gap:10px;
        margin-top:24px;
        padding-top:18px;
    }
    .public-home .landing-features div{display:block;padding:12px 14px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(12,16,22,.55)}
    .public-home .landing-features span{display:block;margin-top:6px;font-size:14px}
    .public-home .landing-features strong{text-align:left;font-size:12px}
    .public-home .landing-modules{
        grid-template-columns:repeat(2,minmax(0,1fr));
        margin-top:8px;
    }
    .public-home .landing-modules a{min-height:72px;padding:11px 12px}
    .public-home .landing-footer{justify-content:center;margin-top:18px;row-gap:6px;font-size:10px}
}
@media(max-width:380px){
    .public-home .landing-brand{width:132px}
    .public-home .landing-nav-cta{padding:0 10px}
    .public-home .landing-visual{min-height:270px}
    .public-home .landing-copy h1{font-size:41px}
}
@media(prefers-reduced-motion:reduce){
    .public-home .landing-media{animation:none}
    .public-home .landing-nav-cta,
    .public-home .landing-primary,
    .public-home .landing-secondary,
    .public-home .landing-modules a{transition:none}
}


.public-home .landing-install{font:800 13px/1 "Segoe UI",Tahoma,Arial,sans-serif;cursor:pointer}
.public-home .landing-install[hidden]{display:none!important}


.pwa-toast-region{position:fixed;z-index:120;top:84px;left:50%;width:min(520px,calc(100% - 28px));transform:translateX(-50%);pointer-events:none}
.pwa-toast{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px;border:1px solid #765226;border-radius:14px;background:linear-gradient(145deg,#18130c,#0b1016 66%);color:#edf1f6;box-shadow:0 18px 50px rgba(0,0,0,.46);pointer-events:auto;animation:pwa-toast-in .18s ease-out}
.pwa-toast.is-leaving{opacity:0;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease}
.pwa-toast__copy{min-width:0}.pwa-toast__copy strong,.pwa-toast__copy span{display:block}.pwa-toast__copy strong{font-size:15px}.pwa-toast__copy span{margin-top:5px;color:#aeb9c7;font-size:12px;line-height:1.45}
.pwa-toast__actions{display:flex;gap:7px;flex:0 0 auto}.pwa-toast__actions button{min-height:38px;padding:0 12px;border:1px solid #9c6728;border-radius:9px;background:#3a270f;color:#ffe0a3;font:800 11px/1 "Segoe UI",Tahoma,Arial,sans-serif;cursor:pointer}.pwa-toast__actions button.is-secondary{border-color:#354353;background:#111923;color:#d8e0ea}.pwa-toast__actions button:disabled{opacity:.5;cursor:wait}
@keyframes pwa-toast-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:620px){.pwa-toast-region{top:calc(14px + env(safe-area-inset-top))}.pwa-toast{align-items:stretch;flex-direction:column;gap:12px}.pwa-toast__actions{display:grid;grid-template-columns:1fr 1fr}.pwa-toast__actions button{width:100%;min-height:42px}}
.public-home .landing-footer a{color:#8792a2;text-decoration:none}.public-home .landing-footer a:hover{color:#d8ab63}


.war47-standalone .public-home .landing-shell{padding-top:max(18px,calc(12px + env(safe-area-inset-top)))}
