/* Softland is isolated from the existing gaming themes. */
body.landing-theme-softland {
    --bg: #fff;
    --panel: #fff;
    --panel-strong: #f1f6fb;
    --surface: #f1f6fb;
    --surface-soft: #f5f9fc;
    --stroke: #dce6f0;
    --stroke-soft: #e9eff5;
    --text: #142e6c;
    --muted: #566781;
    --green: #2879be;
    --green-strong: #2168a3;
    --accent: #2879be;
    --accent-strong: #2168a3;
    --accent-rgb: 40, 121, 190;
    --accent-strong-rgb: 33, 104, 163;
    --accent-pale: #e9f3fb;
    --green-soft: #e9f3fb;
    --accent-soft: #e9f3fb;
    --shadow-soft: 0 12px 40px rgba(20, 46, 108, .07);
    --shadow-green: 0 8px 24px rgba(40, 121, 190, .12);
    --shadow-panel: 0 15px 50px rgba(20, 46, 108, .08);
    --radius-xl: 14px;
    --radius-lg: 12px;
    --radius-md: 8px;
    background: #fff;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    overflow-x: clip;
}
.landing-theme-softland::before,
.landing-theme-softland::after { display: none; }
.landing-theme-softland .container { width: min(1240px, calc(100% - 80px)); }
.landing-theme-softland :is(h1, h2, h3, h4) { text-transform: none; text-shadow: none; letter-spacing: -.025em; }
.landing-theme-softland :is(a, button, input):focus-visible { outline: 3px solid #559bcc; outline-offset: 5px; }
.landing-theme-softland .site-header {
    position: relative;
    padding: 0;
    background: #142e6c;
    backdrop-filter: none;
    color: #fff;
}
.landing-theme-softland.landing-page-home .site-header { position: absolute; inset: 0 0 auto; background: transparent; }
.landing-theme-softland .navbar::before,
.landing-theme-softland .navbar::after,
.landing-theme-softland .nav-links a::after { display: none; }
.landing-theme-softland .navbar { min-height: 100px; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: none; gap: 36px; }
.landing-theme-softland .brand { color: inherit; font-size: 30px; font-weight: 750; letter-spacing: -.045em; flex-shrink: 1; line-height: 1.15; }
.landing-theme-softland .brand span { overflow-wrap: anywhere; }
.landing-theme-softland .nav-menu { gap: 34px; }
.landing-theme-softland .nav-links { gap: 24px; }
.landing-theme-softland .nav-links a { padding: 10px 0; color: #d4e0f1; font-size: 14px; font-weight: 500; border: 0; border-radius: 0; background: none; box-shadow: none; white-space: nowrap; }
.landing-theme-softland .nav-links a:is(:hover, .active) { color: #fff; background: none; box-shadow: inset 0 -2px #77c4f0; }
.landing-theme-softland .nav-cta { min-height: 44px; padding: 8px 24px; border: 1px solid #b3c9e0; border-radius: 6px; background: none; color: #fff; font-size: 14px; font-weight: 600; box-shadow: none; }
.landing-theme-softland .nav-cta i { display: none; }
.landing-theme-softland .nav-cta:hover { background: rgba(255,255,255,.12); }
.landing-theme-softland .nav-toggle { border: 1px solid #8eaaca; color: #fff; background: none; border-radius: 5px; }
.landing-theme-softland :is(.btn-primary, .btn-ghost, .distributor-contact-btn) {
    min-height: 48px; padding: 12px 24px; gap: 10px; border: 1px solid transparent;
    border-radius: 6px; color: #fff; background: #2879be; font-size: 16px; font-weight: 600;
    box-shadow: none; text-transform: none; transition: background .2s, transform .2s;
}
.landing-theme-softland :is(.btn-primary, .distributor-contact-btn):hover { background: #2168a3; transform: translateY(-2px); }
.landing-theme-softland .btn-ghost { background: #e9f3fb; color: #2168a3; border-color: #d3e4f2; }
.landing-theme-softland .btn-ghost:hover { background: #dcecf8; }
.landing-theme-softland .softland-hero {
    position: relative; isolation: isolate; overflow: hidden;
    padding: 144px 0 110px; color: #fff;
    background: linear-gradient(110deg, #142e6c, #25639a);
    border-radius: 0 0 50% 50% / 0 0 7% 7%;
}
.landing-theme-softland .softland-hero::before {
    content: ""; position: absolute; z-index: -1; width: 780px; height: 780px; right: -190px; top: -90px;
    background: repeating-radial-gradient(circle, transparent 0 74px, rgba(155,211,250,.09) 75px 76px, transparent 77px 100px);
    border-radius: 50%; pointer-events: none;
}
.landing-theme-softland .softland-hero-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 40px; align-items: center; min-height: 520px; }
.landing-theme-softland .softland-copy h1 { font-size: clamp(36px, 3.55vw, 52px); font-weight: 750; line-height: 1.17; margin: 0 0 28px; color: #fff; max-width: 720px; overflow-wrap: anywhere; }
.landing-theme-softland .softland-copy > p { color: #cbdcf1; font-size: 20px; line-height: 1.7; margin: 0 0 34px; max-width: 630px; }
.landing-theme-softland .softland-actions { display: flex; flex-wrap: wrap; gap: 18px; }
.landing-theme-softland .softland-actions a { min-height: 55px; padding: 12px 26px; }
.landing-theme-softland .softland-actions i { font-size: 22px; }
.landing-theme-softland .softland-actions .btn-primary { background: #237fd0; border-color: #4598e2; }
.landing-theme-softland .softland-actions .btn-primary:hover { background: #1d71bd; }
.landing-theme-softland .softland-actions .btn-ghost { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.3); color: #fff; }
.landing-theme-softland .softland-actions .btn-ghost:hover { background: rgba(255,255,255,.18); }
.landing-theme-softland .softland-devices { position: relative; height: 550px; width: 100%; max-width: 470px; justify-self: end; }
.landing-theme-softland .softland-device {
    position: absolute; background: #f8fbff; color: #142e6c; border: 9px solid #fff;
    border-radius: 42px; width: 252px; height: 508px; padding: 14px 15px 20px;
    box-shadow: 0 26px 50px rgba(4,20,52,.3), 0 0 0 2px #c8d5e3; overflow: hidden;
}
.landing-theme-softland .softland-device-back { left: 5px; top: 28px; transform: rotate(-5deg); }
.landing-theme-softland .softland-device-front { right: 0; top: 10px; transform: rotate(3deg); }
.landing-theme-softland .softland-device-camera { position: absolute; top: -1px; width: 110px; height: 17px; background: #fff; left: calc(50% - 55px); border-radius: 0 0 14px 14px; }
.landing-theme-softland .softland-device-camera::after { content: ""; display: block; width: 38px; height: 4px; background: #d3dce5; border-radius: 4px; margin: 4px auto; }
.landing-theme-softland .softland-device-status { display: flex; align-items: center; justify-content: space-between; font-size: 10px; color: #152840; }
.landing-theme-softland .softland-device-brand { display: block; text-align: center; font-size: 19px; letter-spacing: -.05em; margin: 20px 0; }
.landing-theme-softland .softland-timer { width: 145px; height: 145px; border: 2px solid #338ddd; border-radius: 50%; margin: 0 auto 18px; display: flex; align-items: center; justify-content: center; flex-direction: column; }
.landing-theme-softland .softland-timer strong { font-size: 26px; font-weight: 600; font-variant-numeric: tabular-nums; }
.landing-theme-softland .softland-timer span { font-size: 10px; color: #566781; }
.landing-theme-softland .softland-apps { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.landing-theme-softland .softland-apps > div { display: flex; flex-direction: column; align-items: center; padding: 7px; background: #fff; border: 1px solid #e7edf5; border-radius: 10px; box-shadow: 0 3px 8px rgba(20,46,108,.04); font-size: 12px; }
.landing-theme-softland .softland-apps i { font-size: 27px; line-height: 1.3; color: #1769c9; }
.landing-theme-softland .softland-apps .ri-youtube-fill { color: #ec3d3d; }
.landing-theme-softland .softland-apps .ri-apps-2-fill { color: #259752; }
.landing-theme-softland .softland-coin { background: #176ed0; color: #fff; border-radius: 7px; margin-top: 14px; padding: 10px 5px; text-align: center; font-size: 12px; }
.landing-theme-softland .softland-coin i { margin-right: 5px; }
.landing-theme-softland .softland-shield { color: #2483d4; text-align: center; font-size: 80px; line-height: 1.2; padding: 14px 0; }
.landing-theme-softland .softland-license-heading { display: block; text-align: center; font-size: 17px; }
.landing-theme-softland .softland-device-caption { display: block; font-size: 10px; text-align: center; color: #566781; }
.landing-theme-softland .softland-license-row { display: flex; align-items: center; gap: 10px; padding: 16px 10px; margin-top: 16px; font-size: 12px; border: 1px solid #e7edf5; border-radius: 8px; background: #fff; }
.landing-theme-softland .softland-license-row > i { font-size: 25px; color: #2879be; }
.landing-theme-softland .softland-license-row small { display: block; color: #566781; font-size: 9px; }
.landing-theme-softland .softland-upload { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 20px 28px rgba(0,0,0,.2)); }
.landing-theme-softland .has-upload .softland-device { display: none; }
.landing-theme-softland .softland-features { padding: 90px 0 100px; }
.landing-theme-softland .section { padding: 70px 0; }
.landing-theme-softland .section-intro { text-align: center; max-width: 960px; margin: 0 auto 50px; }
.landing-theme-softland .section-intro h2 { font-size: clamp(28px, 3vw, 38px); line-height: 1.25; margin: 0 0 20px; color: #142e6c; font-weight: 700; }
.landing-theme-softland .section-intro p { max-width: 850px; margin: 0 auto; color: #566781; line-height: 1.75; font-size: 18px; }
.landing-theme-softland .softland-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 52px; }
.landing-theme-softland .softland-feature { text-align: center; }
.landing-theme-softland .softland-feature-icon { display: inline-grid; place-items: center; width: 86px; height: 86px; border-radius: 50%; color: #2879be; background: #eaf4fc; font-size: 36px; }
.landing-theme-softland .softland-feature h3 { font-size: 23px; line-height: 1.3; margin: 22px 0 16px; }
.landing-theme-softland .softland-feature p { color: #566781; margin: 0; font-size: 17px; line-height: 1.85; }
.landing-theme-softland .site-footer { padding: 55px 0 0; background: #fff; border-top: 1px solid #e3eaf2; }
.landing-theme-softland .site-footer .footer-card { padding: 0; border: 0; background: none; box-shadow: none; }
.landing-theme-softland .footer-grid { grid-template-columns: 1.3fr .8fr .8fr 1.2fr; gap: 54px; }
.landing-theme-softland .footer-brand { font-size: 26px; font-weight: 750; color: #142e6c; }
.landing-theme-softland .footer-brand .brand-badge { display: none; }
.landing-theme-softland .footer-col h4 { color: #142e6c; font-size: 18px; margin: 0 0 16px; }
.landing-theme-softland .footer-col :is(p, a) { color: #566781; font-size: 14px; line-height: 1.8; }
.landing-theme-softland .footer-col a:hover { color: #2168a3; text-decoration: underline; }
.landing-theme-softland .footer-bottom { margin-top: 40px; border-color: #e3eaf2; padding: 22px 0; text-align: center; color: #566781; font-size: 13px; }

/* Shared public-page surfaces, including pages with legacy inline styles. */
.landing-theme-softland :is(.feature-card, .diagram-card, .distributor-card, .tutorial-sidebar, .tutorial-content, .price-card, .price-card.featured) { background: #fff; border: 1px solid #dce6f0; border-radius: 12px; box-shadow: var(--shadow-soft); }
.landing-theme-softland :is(.feature-card, .diagram-card) { padding: 28px; }
.landing-theme-softland :is(.feature-icon, .tutorial-step-icon, .brand-badge) { background: #eaf4fc; border: 0; border-radius: 50%; box-shadow: none; color: #2879be; }
.landing-theme-softland :is(.feature-card h3, .diagram-card h3, .distributor-card-body h3, .tutorial-sheet h2) { color: #142e6c; }
.landing-theme-softland :is(.feature-card p, .diagram-card p, .tutorial-sheet p, .tutorial-sheet li, .price-subtitle, .price-period, .price-feature-list li) { color: #566781; }
.landing-theme-softland :is(.download-cta, .diagram-collection-hero) { background: linear-gradient(115deg, #142e6c, #25639a); border: 0; border-radius: 14px; box-shadow: none; color: #fff; }
.landing-theme-softland .download-cta { margin-bottom: 65px; padding: 55px 36px; }
.landing-theme-softland .download-cta h2 { color: #fff; font-size: clamp(28px, 3.5vw, 44px); line-height: 1.25; }
.landing-theme-softland .diagram-collection-copy h1 { font-size: clamp(34px, 4.5vw, 56px); line-height: 1.12; }
.landing-theme-softland .diagram-collection-hero { padding: 44px; }
.landing-theme-softland .diagram-collection-copy h1,
.landing-theme-softland .pricing-hero h1,
.landing-theme-softland .price-card h2 { text-transform: none; }
.landing-theme-softland .diagram-collection-copy h1 span { color: #b2ddff; text-shadow: none; }
.landing-theme-softland .diagram-collection-hero::before { display: none; }
.landing-theme-softland .diagram-chip { color: #b2ddff; border-color: #77abd3; background: rgba(255,255,255,.08); box-shadow: none; border-radius: 24px; }
.landing-theme-softland .diagram-request-strip { background: #f1f6fb; border-radius: 12px; }
.landing-theme-softland .diagram-request-copy h3 { color: #142e6c; }
.landing-theme-softland .diagram-request-icon { border: 0; border-radius: 50%; flex-shrink: 0; }
.landing-theme-softland .distributor-card-top { background: #eef5fb; }
.landing-theme-softland :is(.distributor-avatar-wrap img, .diagram-image-wrap) { background: #eef5fb; }
.landing-theme-softland .tutorial-shell { padding: 45px 0 70px; }
.landing-theme-softland :is(.tutorial-toolbar, .tutorial-canvas, .tutorial-help) { background: #f1f6fb; border-color: #dce6f0; color: #566781; }
.landing-theme-softland .tutorial-sheet { background: #fff; border: 1px solid #dce6f0; box-shadow: none; }
.landing-theme-softland .tutorial-header h2 { color: #142e6c; }
.landing-theme-softland .tutorial-step { background: #fff; border-color: #dce6f0; color: #566781; border-radius: 8px; }
.landing-theme-softland .tutorial-step.active { background: #e9f3fb; border-color: #88b7dc; box-shadow: none; color: #142e6c; }
.landing-theme-softland .pricing-hero h1 { font-size: clamp(32px, 4vw, 48px); line-height: 1.2; }
.landing-theme-softland .price-card :is(h2, .price-value, .price-feature-list i) { color: #2168a3; }
.landing-theme-softland .price-card::before { border-color: #2879be; }
.landing-theme-softland .price-card-action { background: #2879be; color: #fff; border-radius: 6px; }
.landing-theme-softland .price-value { flex-direction: column; align-items: center; gap: 10px; font-size: clamp(32px, 3vw, 42px); font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
.landing-theme-softland .price-period { font-size: 14px; font-weight: 400; }
.landing-theme-softland .price-card-action { box-shadow: none; font-weight: 600; text-transform: none; }
.landing-theme-softland .price-card-action:hover { background: #2168a3; }

@media (max-width: 1180px) {
    .landing-theme-softland .container { width: calc(100% - 48px); }
    .landing-theme-softland .navbar { gap: 24px; }
    .landing-theme-softland .brand { font-size: 25px; }
    .landing-theme-softland .nav-links { gap: 14px; }
    .landing-theme-softland .nav-menu { gap: 18px; }
    .landing-theme-softland .nav-cta { padding: 8px 16px; }
    .landing-theme-softland .softland-hero-grid { grid-template-columns: 1.2fr 1fr; gap: 28px; }
    .landing-theme-softland .softland-device-back { left: 0; transform: rotate(-5deg) scale(.9); transform-origin: left center; }
    .landing-theme-softland .softland-device-front { transform: rotate(3deg) scale(.9); transform-origin: right center; }
}
@media (max-width: 1000px) {
    .landing-theme-softland .navbar { min-height: 84px; }
    .landing-theme-softland .nav-toggle { display: inline-grid; flex: 0 0 44px; place-items: center; }
    .landing-theme-softland .nav-menu { display: none; position: absolute; left: 0; right: 0; top: calc(100% - 1px); flex-direction: column; align-items: stretch; padding: 22px; border: 1px solid #dce6f0; border-radius: 8px; background: #fff; box-shadow: 0 20px 40px rgba(20,46,108,.2); }
    .landing-theme-softland .nav-menu.open { display: flex; }
    .landing-theme-softland .nav-links { flex-direction: column; align-items: stretch; gap: 3px; }
    .landing-theme-softland .nav-links a { color: #566781; }
    .landing-theme-softland .nav-links a:is(:hover, .active) { color: #142e6c; box-shadow: none; }
    .landing-theme-softland .nav-cta { color: #2168a3; border-color: #c7dceb; }
    .landing-theme-softland .softland-copy h1 { font-size: 38px; }
    .landing-theme-softland .softland-copy > p { font-size: 17px; }
    .landing-theme-softland .softland-hero-grid { grid-template-columns: 1.1fr 1fr; gap: 22px; }
    .landing-theme-softland .softland-device-back { transform: rotate(-5deg) scale(.78); }
    .landing-theme-softland .softland-device-front { transform: rotate(3deg) scale(.78); }
    .landing-theme-softland .softland-devices { height: 480px; }
    .landing-theme-softland .softland-feature-grid { gap: 28px; }
    .landing-theme-softland .footer-grid { grid-template-columns: 1fr 1fr; gap: 35px; }
}
@media (max-width: 700px) {
    .landing-theme-softland .container { width: calc(100% - 40px); }
    .landing-theme-softland .softland-hero { padding: 120px 0 38px; border-radius: 0 0 50% 50% / 0 0 2% 2%; }
    .landing-theme-softland .softland-hero-grid { grid-template-columns: 1fr; gap: 20px; }
    .landing-theme-softland .softland-copy { text-align: center; }
    .landing-theme-softland .softland-copy h1 { font-size: clamp(31px, 7.5vw, 42px); margin-bottom: 20px; }
    .landing-theme-softland .softland-copy > p { font-size: 17px; margin-bottom: 24px; }
    .landing-theme-softland .softland-actions { justify-content: center; gap: 12px; }
    .landing-theme-softland .softland-actions a { padding: 10px 17px; font-size: 14px; min-height: 48px; }
    .landing-theme-softland .softland-actions i { font-size: 18px; }
    .landing-theme-softland .softland-devices { width: min(100%, 370px); height: 445px; justify-self: center; }
    .landing-theme-softland .softland-device-back { top: 0; }
    .landing-theme-softland .softland-device-front { top: -10px; }
    .landing-theme-softland .softland-features { padding: 60px 0; }
    .landing-theme-softland .section-intro { margin-bottom: 38px; }
    .landing-theme-softland .section-intro p { font-size: 16px; }
    .landing-theme-softland .softland-feature-grid { grid-template-columns: 1fr; gap: 38px; max-width: 430px; margin: auto; }
    .landing-theme-softland .softland-feature h3 { margin: 16px 0 10px; font-size: 23px; }
    .landing-theme-softland .softland-feature p { font-size: 16px; }
    .landing-theme-softland .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 24px; }
    .landing-theme-softland .footer-col:first-child,
    .landing-theme-softland .footer-col:last-child { grid-column: 1 / -1; }
    .landing-theme-softland .download-cta { padding: 36px 22px; }
    .landing-theme-softland .diagram-collection-hero { padding: 30px 22px; }
    .landing-theme-softland .pricing-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .landing-theme-softland *, .landing-theme-softland *::before, .landing-theme-softland *::after { animation: none !important; transition: none !important; scroll-behavior: auto; }
}
