@charset "UTF-8";
:root {
    color-scheme: dark;
    --bg:#0b1018;
    --surface:#121c2a;
    --surface-2:#182536;
    --line:#2a3748;
    --text:#f3f7ff;
    --muted:#adbacb;
    --blue:#368cfa;
    --link:#8ebeff;
    --content:1280px;
}
* {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:100px;
}
body {
    margin:0;
    background:var(--bg);
    color:var(--text);
    font:16px/1.75 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
body:has(dialog[open]) {
    overflow:hidden;
}
a {
    color:var(--link);
    text-underline-offset:4px;
}
a:hover {
    color:white;
}
button,input,select,textarea {
    font:inherit;
}
button,a,summary {
    -webkit-tap-highlight-color:transparent;
}
button,summary {
    cursor:pointer;
}
img {
    display:block;
    max-width:100%;
    height:auto;
}
p {
    margin:0 0 22px;
}
h1,h2,h3,strong {
    color:var(--text);
}
h1,h2,h3 {
    line-height:1.18;
    overflow-wrap:anywhere;
}
h1 {
    margin:0;
    font-size:clamp(38px,4.8vw,64px);
    letter-spacing:-.045em;
    font-weight:720;
}
h2 {
    font-size:clamp(27px,2.65vw,36px);
    letter-spacing:-.025em;
    margin:0;
}
h3 {
    font-size:23px;
    margin:36px 0 18px;
}
p,td,th,figcaption {
    overflow-wrap:anywhere;
}
figure {
    margin:0;
}
ul,ol {
    padding-left:25px;
}
[hidden] {
    display:none !important;
}
:focus-visible {
    outline:3px solid #b2d2ff;
    outline-offset:5px;
}
::selection {
    background:#285a96;
    color:white;
}
.container {
    width:min(var(--content),calc(100% - 64px));
    margin-inline:auto;
}
.button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:10px 23px;
    gap:10px;
    border:1px solid transparent;
    border-radius:8px;
    text-decoration:none;
    font-size:15px;
    font-weight:650;
    line-height:1.4;
    color:white;
    text-align:center;
}
.primary {
    background:#267ae7;
    border-color:#267ae7;
}
.primary:hover {
    background:#398dfa;
}
.secondary {
    background:#192536;
    border-color:#35455d;
}
.secondary:hover {
    background:#23344c;
}
.large {
    min-height:52px;
    padding:13px 26px;
}
.eyebrow {
    display:block;
    font-size:12px;
    font-weight:650;
    letter-spacing:.12em;
    color:#95b4db;
    line-height:1.5;
    margin:0 0 18px;
}
.blue {
    color:#449aff;
}
.site-header {
    position:sticky;
    top:0;
    z-index:40;
    background:#0b1018f5;
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(14px);
}
.header-inner {
    display:flex;
    min-height:84px;
    align-items:center;
    gap:24px;
}
.brand {
    flex-shrink:0;
}
.brand img {
    width:183px;
    height:auto;
}
.edition {
    font-size:12px;
    line-height:1.4;
    color:var(--muted);
    border-left:1px solid var(--line);
    padding-left:22px;
}
.desktop-nav {
    display:flex;
    margin-left:auto;
    gap:22px;
}
.desktop-nav a {
    color:#d5deec;
    font-size:14px;
    text-decoration:none;
}
.header-actions {
    display:flex;
    align-items:center;
    gap:10px;
}
.language {
    padding:8px;
    font-size:13px;
    color:var(--muted);
}
.mobile-menu {
    display:none;
}
.hero {
    padding-top:56px;
}
.hero-heading {
    display:grid;
    grid-template-columns:1.4fr 1fr;
    gap:80px;
    align-items:end;
    margin-bottom:38px;
}
.hero-heading h1 span {
    color:#9fb6d6;
}
.hero-summary {
    padding-bottom:4px;
}
.hero-summary > p:first-child {
    font-size:18px;
    line-height:1.65;
    margin-bottom:22px;
}
.editorial-meta {
    font-size:12px;
    color:var(--muted);
    margin:0;
}
.hero-promo {
    display:grid;
    grid-template-columns:.72fr 1fr;
    color:white;
    background:#102645;
    border:1px solid #375574;
    border-radius:14px;
    text-decoration:none;
    overflow:hidden;
}
.offer-copy {
    padding:30px 40px;
    align-self:center;
}
.offer-copy .eyebrow {
    color:#bfd9ff;
    margin-bottom:8px;
}
.offer-copy > strong {
    display:block;
    font-size:40px;
    font-weight:500;
    line-height:1.1;
    letter-spacing:-.045em;
}
.offer-copy b {
    font-size:76px;
    font-weight:750;
}
.offer-copy p {
    max-width:330px;
    color:#dae9ff;
    margin:12px 0 20px;
    font-size:17px;
}
.offer-button {
    display:inline-flex;
    gap:30px;
    padding:10px 18px;
    background:#2d83f0;
    border-radius:6px;
    font-size:14px;
    font-weight:650;
}
.hero-promo:hover .offer-button {
    background:#4a9cff;
}
.offer-image {
    overflow:hidden;
    background:#121925;
    align-self:stretch;
}
.offer-image img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.hero-fineprint {
    font-size:12px;
    color:#a0afc2;
    margin:12px 0 0;
}
.risk-warning {
    display:flex;
    gap:18px;
    align-items:center;
    padding:22px 0;
    border-bottom:1px solid var(--line);
}
.risk-warning strong {
    font-size:17px;
    color:#a9bbd3;
    border:1px solid #3c4b5e;
    padding:3px 9px;
    border-radius:6px;
}
.risk-warning p {
    margin:0;
    font-size:13px;
    color:var(--muted);
    line-height:1.65;
}
.reading-layout {
    display:grid;
    grid-template-columns:258px minmax(0,1fr);
    gap:64px;
    align-items:start;
    padding-top:48px;
}
.contents {
    position:sticky;
    top:110px;
    max-height:calc(100dvh - 130px);
    overflow:auto;
    scrollbar-width:thin;
    scrollbar-color:#3d506a transparent;
    border-right:1px solid var(--line);
    padding-right:20px;
}
.contents summary {
    list-style:none;
    padding-bottom:16px;
    cursor:pointer;
}
.contents summary::-webkit-details-marker {
    display:none;
}
.contents summary .eyebrow {
    margin-bottom:5px;
    font-size:12px;
}
.contents summary strong {
    display:flex;
    justify-content:space-between;
    font-size:19px;
}
.contents ol {
    list-style:none;
    padding:0;
    margin:0;
}
.contents li {
    margin:0;
}
.contents li a {
    display:flex;
    gap:12px;
    padding:8px 10px;
    border-left:2px solid transparent;
    color:#b2bfd0;
    text-decoration:none;
    font-size:14px;
    line-height:1.45;
    border-radius:0 5px 5px 0;
}
.contents li a span {
    color:#7289a7;
    font-size:12px;
    width:17px;
    flex-shrink:0;
    padding-top:2px;
}
.contents li a:hover,.contents li a[aria-current=true] {
    background:#172438;
    color:white;
    border-color:#328bff;
}
.article {
    min-width:0;
}
.article-section {
    padding:0 0 48px;
    margin-bottom:48px;
    border-bottom:1px solid var(--line);
}
.section-heading {
    display:flex;
    align-items:flex-start;
    gap:17px;
    margin-bottom:24px;
}
.section-index {
    font-size:12px;
    background:#183455;
    color:#9bc9ff;
    padding:4px 8px;
    border-radius:4px;
    margin-top:5px;
    flex-shrink:0;
}
.section-intro {
    font-size:19px;
    line-height:1.7;
    color:#e5edfa;
    padding-left:22px;
    border-left:3px solid #358eff;
    margin-bottom:28px;
}
.article-section > p:not(.section-intro) {
    color:#bcc8d9;
}
.article-section li {
    color:#bfcadb;
}
.table-wrap {
    width:100%;
    overflow-x:auto;
    border:1px solid #30415a;
    border-radius:9px;
    margin:25px 0 12px;
}
table {
    width:100%;
    border-collapse:collapse;
    text-align:left;
    font-size:14px;
}
caption {
    text-align:left;
    font-size:15px;
    font-weight:650;
    background:#1b2b41;
    color:#e6f0ff;
    padding:16px 19px;
    border-bottom:1px solid #344966;
}
thead {
    background:#142136;
    color:#99b4d6;
}
th,td {
    vertical-align:top;
    padding:14px 17px;
    line-height:1.6;
    border-right:1px solid #29384d;
    border-bottom:1px solid #29384d;
}
th {
    font-weight:600;
}
tbody th {
    color:#edf4ff;
    min-width:110px;
}
tbody td {
    color:#bbcadd;
}
tbody tr:nth-child(even) {
    background:#101a28;
}
tr:last-child td,tr:last-child th {
    border-bottom:0;
}
tr > :last-child {
    border-right:0;
}
.source-note {
    color:#92a3b9 !important;
    font-size:12px;
    margin:0 0 24px;
}
.note {
    padding:22px 24px;
    border:1px solid #3a4d66;
    border-radius:8px;
    background:#152237;
    margin:26px 0;
}
.note strong {
    display:block;
    font-size:16px;
    margin-bottom:8px;
}
.note p {
    margin:0;
    color:#bcd0e9;
    font-size:15px;
}
.steps {
    list-style:none;
    padding:0;
    margin:25px 0;
    counter-reset:steps;
}
.steps li {
    position:relative;
    padding:0 0 20px 49px;
    counter-increment:steps;
}
.steps li:before {
    content:counter(steps);
    position:absolute;
    top:2px;
    left:0;
    width:29px;
    height:29px;
    display:grid;
    place-items:center;
    background:#19385e;
    color:#a8cfff;
    border-radius:50%;
    font-size:13px;
}
.steps strong {
    display:block;
    margin-bottom:5px;
    font-size:17px;
}
.steps p {
    margin:0;
    color:#b3c2d7;
}
.screenshot {
    margin:28px 0;
}
.zoom-image {
    position:relative;
    display:block;
    overflow:hidden;
    border:1px solid #31455e;
    border-radius:8px;
    background:#0f1621;
}
.zoom-image img {
    width:100%;
}
.zoom-hint {
    position:absolute;
    bottom:12px;
    right:12px;
    font-size:12px;
    padding:5px 11px;
    background:#0e1729e8;
    border:1px solid #557399;
    border-radius:4px;
}
.screenshot figcaption {
    color:#92a4bd;
    font-size:12px;
    margin:10px 0 0;
}
.figure-small {
    max-width:660px;
    margin-inline:auto;
}
.game-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin:28px 0;
}
.game-card {
    background:#152034;
    border:1px solid #2c3c55;
    border-radius:8px;
    overflow:hidden;
}
.game-card img {
    width:100%;
    aspect-ratio:4/5;
    object-fit:cover;
}
.game-card figcaption {
    padding:13px;
}
.game-card strong {
    display:block;
    font-size:15px;
    line-height:1.35;
}
.game-card figcaption span {
    display:block;
    font-size:12px;
    color:#98adc9;
    margin-top:6px;
}
.game-card a {
    display:block;
    padding:9px 13px 13px;
    font-size:13px;
}
.provider-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin:28px 0;
}
.provider-grid > div {
    background:#1a2230;
    border:1px solid #303a49;
    border-radius:7px;
    min-height:85px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
}
.provider-grid img {
    width:auto;
    max-height:45px;
    max-width:145px;
    object-fit:contain;
}
.source-links {
    padding-left:20px;
}
.source-links li {
    margin-bottom:8px;
}
.actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:25px 0;
}
.faq-list {
    border-top:1px solid #34445a;
    margin:25px 0;
}
.faq-item {
    border-bottom:1px solid #34445a;
}
.faq-item summary {
    display:flex;
    justify-content:space-between;
    gap:18px;
    list-style:none;
    padding:21px 0;
    font-size:17px;
    font-weight:600;
    line-height:1.45;
}
.faq-item summary::-webkit-details-marker {
    display:none;
}
.faq-item summary:after {
    content:'+';
    color:#74aeff;
    font-size:23px;
    font-weight:400;
}
.faq-item[open] summary:after {
    content:'−';
}
.faq-item p {
    color:#b4c7df;
    margin:0 30px 24px 0;
}
.back-to-contents {
    display:inline-block;
    font-size:13px;
    margin-top:16px;
    text-decoration:none;
    color:#8ea6c6;
}
.final-callout {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
    background:#123660;
    border:1px solid #38679d;
    padding:40px 48px;
    border-radius:12px;
    margin-top:20px;
    margin-bottom:65px;
}
.final-callout h2 {
    font-size:38px;
    margin-bottom:18px;
}
.final-callout p {
    color:#c5d9f3;
    margin-bottom:0;
}
.final-callout .eyebrow {
    margin-bottom:16px;
}
.site-footer {
    background:#080d14;
    border-top:1px solid #283546;
    padding:42px 0 25px;
}
.footer-grid {
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:100px;
}
.footer-grid > div > p {
    color:#8e9fb7;
    font-size:13px;
    margin:22px 0;
    max-width:610px;
}
.footer-links {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px 25px;
    align-content:start;
    padding-top:8px;
}
.footer-links a {
    text-decoration:none;
    font-size:13px;
    color:#b8c7dc;
}
.privacy-note {
    color:#8ea0b9;
    font-size:12px;
    padding-top:24px;
    border-top:1px solid #243044;
}
.privacy-note summary {
    color:#aec3df;
    margin-bottom:14px;
}
.privacy-note p {
    margin:0 0 15px;
}
.copyright {
    margin-top:20px !important;
}
.text-button {
    background:none;
    border:0;
    color:#8ebeff;
    padding:0;
    text-decoration:underline;
}
.mobile-action-bar {
    display:none;
}
dialog {
    color:var(--text);
    background:#132033;
    border:1px solid #527196;
    padding:30px;
    border-radius:12px;
    max-width:min(1050px,95vw);
    max-height:92dvh;
}
dialog::backdrop {
    background:#000b;
}
.dialog-close {
    position:sticky;
    top:0;
    float:right;
    width:36px;
    height:36px;
    border:1px solid #5b7495;
    border-radius:50%;
    background:#142a45;
    color:white;
    font-size:25px;
    z-index:2;
    line-height:1;
}
#image-dialog img {
    max-height:75dvh;
    width:auto;
    object-fit:contain;
    margin-inline:auto;
}
#image-dialog p {
    margin:15px 0 0;
    color:#b9cbe2;
    font-size:13px;
}
#bonus-dialog {
    width:440px;
    text-align:center;
}
#bonus-dialog > img {
    width:78px;
    margin:12px auto 22px;
}
#bonus-dialog h2 {
    font-size:30px;
    margin-bottom:20px;
}
.consent-panel {
    position:fixed;
    bottom:24px;
    left:24px;
    max-width:400px;
    background:#172841;
    border:1px solid #44648e;
    border-radius:12px;
    padding:24px;
    z-index:100;
}
.consent-panel strong {
    font-size:19px;
}
.consent-panel p {
    font-size:14px;
    margin:10px 0 20px;
}
.consent-panel > div {
    display:flex;
    gap:12px;
}
.service-page {
    width:min(720px,calc(100% - 40px));
    margin:80px auto;
    background:#152338;
    border:1px solid #324964;
    border-radius:12px;
    padding:38px;
}
.service-page > a > img {
    width:180px;
    margin-bottom:30px;
}
.service-page h1 {
    font-size:32px;
    margin-bottom:24px;
}
.skip-link {
    position:fixed;
    top:8px;
    left:10px;
    transform:translateY(-200%);
    z-index:200;
    background:#267ae7;
    color:white;
    padding:10px 16px;
}
.skip-link:focus {
    transform:translateY(0);
}
.admin-shell {
    width:min(1100px,calc(100% - 40px));
    margin:40px auto;
}
.admin-top {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:24px;
}
.admin-top h1 {
    font-size:30px;
}
.admin-card {
    background:#152238;
    border:1px solid #31445f;
    padding:28px;
    border-radius:12px;
    margin-bottom:24px;
}
.admin-card h2 {
    font-size:23px;
    margin-bottom:18px;
}
.admin-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}
.field {
    display:grid;
    gap:7px;
    margin-bottom:18px;
}
.field small,.muted {
    color:#a5b5cc;
    font-size:13px;
}
input,textarea {
    width:100%;
    color:white;
    background:#0b1423;
    border:1px solid #4b5e79;
    border-radius:6px;
    padding:11px 13px;
}
input[type=checkbox] {
    width:auto;
    margin-right:8px;
}
.success {
    background:#163a31;
    padding:16px;
    border:1px solid #347666;
}
.error {
    background:#40262b;
    padding:16px;
    border:1px solid #8a4354;
}
.check {
    display:flex;
    align-items:start;
    gap:8px;
    margin:10px 0;
}
pre {
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    font-size:13px;
}
@media(max-width:1150px) {
    .edition {
        display:none;
    }
    .desktop-nav {
        gap:15px;
    }
    .header-inner {
        gap:20px;
    }
    .header-actions .button {
        padding-inline:16px;
    }
    .hero-heading {
        gap:45px;
    }
    .reading-layout {
        grid-template-columns:220px minmax(0,1fr);
        gap:36px;
    }
    .offer-copy {
        padding:26px;
    }
    .offer-copy b {
        font-size:66px;
    }
    .offer-copy > strong {
        font-size:34px;
    }
}
@media(max-width:900px) {
    .container {
        width:calc(100% - 40px);
    }
    .desktop-nav {
        display:none;
    }
    .header-actions {
        margin-left:auto;
    }
    .hero {
        padding-top:38px;
    }
    .hero-heading {
        gap:28px;
        grid-template-columns:1.3fr 1fr;
    }
    .hero-summary > p:first-child {
        font-size:16px;
    }
    .hero-promo {
        grid-template-columns:.85fr 1fr;
    }
    .offer-copy b {
        font-size:54px;
    }
    .offer-copy p {
        font-size:15px;
    }
    .reading-layout {
        display:block;
        padding-top:25px;
    }
    .contents {
        position:static;
        max-height:none;
        padding:20px;
        border:1px solid var(--line);
        border-radius:9px;
        margin-bottom:40px;
        background:#111b2b;
    }
    .contents ol {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:0 18px;
    }
    .contents summary {
        padding:0;
    }
    .contents[open] summary,.contents details[open] summary {
        padding-bottom:14px;
    }
    .footer-grid {
        gap:45px;
    }
    .final-callout {
        padding:32px;
    }
}
@media(max-width:600px) {
    html {
        scroll-padding-top:92px;
    }
    body {
        padding-bottom:80px;
    }
    .container {
        width:calc(100% - 32px);
    }
    .header-inner {
        min-height:70px;
        gap:10px;
    }
    .brand img {
        width:151px;
    }
    .header-actions .button {
        display:none;
    }
    .header-actions {
        gap:0;
    }
    .language {
        padding:8px;
    }
    .mobile-menu {
        display:block;
    }
    .mobile-menu summary {
        width:42px;
        height:42px;
        background:#182537;
        border:1px solid #35465d;
        border-radius:7px;
        list-style:none;
        display:grid;
        place-items:center;
    }
    .mobile-menu summary::-webkit-details-marker {
        display:none;
    }
    .menu-icon {
        width:17px;
        height:12px;
        border-top:2px solid #c1d2e9;
        border-bottom:2px solid #c1d2e9;
        position:relative;
    }
    .menu-icon:after {
        content:'';
        position:absolute;
        top:4px;
        left:0;
        width:17px;
        border-top:2px solid #c1d2e9;
    }
    .mobile-menu nav {
        position:absolute;
        top:69px;
        left:0;
        right:0;
        background:#142137;
        border-bottom:1px solid #445d81;
        padding:14px 20px;
        display:grid;
        gap:8px;
    }
    .mobile-menu nav a {
        padding:8px 12px;
        text-decoration:none;
    }
    .hero {
        padding-top:29px;
    }
    .hero-heading {
        display:block;
        margin-bottom:25px;
    }
    .hero-heading .eyebrow {
        font-size:12px;
        letter-spacing:.09em;
        margin-bottom:15px;
    }
    h1 {
        font-size:36px;
        letter-spacing:-.035em;
    }
    .hero-summary {
        margin-top:22px;
    }
    .hero-summary > p:first-child {
        font-size:16px;
        margin-bottom:13px;
    }
    .editorial-meta {
        font-size:12px;
    }
    .hero-promo {
        display:flex;
        flex-direction:column-reverse;
    }
    .offer-image img {
        aspect-ratio:2.01/1;
        height:auto;
        object-fit:contain;
    }
    .offer-copy {
        padding:22px;
    }
    .offer-copy .eyebrow {
        font-size:12px;
        margin-bottom:5px;
    }
    .offer-copy > strong {
        font-size:27px;
    }
    .offer-copy b {
        font-size:52px;
    }
    .offer-copy p {
        margin:10px 0 18px;
    }
    .offer-button {
        display:flex;
        justify-content:space-between;
        font-size:14px;
    }
    .hero-fineprint {
        font-size:12px;
    }
    .risk-warning {
        align-items:flex-start;
        padding:20px 0;
        gap:12px;
    }
    .risk-warning p {
        font-size:12px;
    }
    .contents {
        padding:18px 12px;
        margin-bottom:35px;
    }
    .contents summary {
        padding-inline:8px;
    }
    .contents ol {
        grid-template-columns:1fr;
    }
    .contents li a {
        font-size:14px;
        padding:9px 7px;
    }
    .section-heading {
        gap:11px;
        margin-bottom:21px;
    }
    h2 {
        font-size:27px;
    }
    h3 {
        font-size:22px;
    }
    .section-index {
        font-size:12px;
        padding:3px 6px;
    }
    .section-intro {
        font-size:17px;
        padding-left:15px;
    }
    .article-section {
        padding-bottom:32px;
        margin-bottom:35px;
    }
    .table-wrap {
        overflow:visible;
        border:0;
    }
    table,caption,tbody,tr,td,th {
        display:block;
        width:100%;
    }
    caption {
        border:1px solid #344966;
        border-radius:7px 7px 0 0;
        font-size:15px;
        padding:14px;
    }
    thead {
        position:absolute;
        width:1px;
        height:1px;
        padding:0;
        overflow:hidden;
        clip-path:inset(50%);
    }
    tbody tr {
        border:1px solid #2e4058;
        border-top:0;
        background:#111d2e;
        padding:10px 15px;
        margin-bottom:8px;
        border-radius:0 0 7px 7px;
    }
    tbody tr:nth-child(even) {
        background:#142136;
    }
    td,tbody th {
        padding:8px 0;
        border:0;
        font-size:14px;
        min-width:0;
    }
    td:before {
        content:attr(data-label);
        display:block;
        font-size:12px;
        color:#8aa4c7;
        font-weight:600;
        margin-bottom:2px;
    }
    tbody th {
        font-size:15px;
        border-bottom:1px solid #2a3e59;
        margin-bottom:5px;
    }
    tbody tr:last-child th {
        border-bottom:1px solid #2a3e59;
    }
    .source-note {
        font-size:12px;
    }
    .note {
        padding:19px;
    }
    .steps li {
        padding-left:43px;
    }
    .game-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
    }
    .game-card figcaption {
        padding:11px;
    }
    .game-card strong {
        font-size:14px;
    }
    .provider-grid {
        grid-template-columns:repeat(2,1fr);
    }
    .provider-grid > div {
        min-height:70px;
        padding:15px;
    }
    .provider-grid img {
        max-width:120px;
    }
    .faq-item summary {
        font-size:16px;
        padding:19px 0;
    }
    .faq-item p {
        margin-right:0;
    }
    .actions {
        flex-direction:column;
    }
    .actions .button {
        width:100%;
    }
    .final-callout {
        display:block;
        padding:26px 22px;
        margin-bottom:38px;
    }
    .final-callout h2 {
        font-size:30px;
    }
    .final-callout .button {
        margin-top:24px;
        width:100%;
    }
    .footer-grid {
        display:block;
    }
    .footer-links {
        grid-template-columns:1fr;
        gap:15px;
        margin:28px 0;
    }
    .privacy-note {
        padding-top:18px;
    }
    .mobile-action-bar {
        display:flex;
        gap:10px;
        position:fixed;
        bottom:0;
        left:0;
        right:0;
        z-index:45;
        padding:10px 16px calc(10px + env(safe-area-inset-bottom));
        border-top:1px solid #344b69;
        background:#101e33f5;
    }
    .mobile-action-bar a {
        flex:1;
        font-size:14px;
        padding:10px;
    }
    .consent-panel {
        bottom:85px;
        left:12px;
        right:12px;
        max-width:none;
        padding:20px;
    }
    .service-page {
        padding:25px;
        margin:40px auto;
    }
    .admin-grid {
        grid-template-columns:1fr;
    }
    .admin-card {
        padding:20px;
    }
    .admin-top {
        flex-wrap:wrap;
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto;
    }
    * {
        transition:none !important;
    }
}
@media print {
    .site-header,.contents,.mobile-action-bar,.back-to-contents,.final-callout,.site-footer {
        display:none;
    }
    body {
        background:white;
        color:black;
        padding:0;
    }
    .reading-layout {
        display:block;
    }
    .article-section p,h1,h2,h3,th,td,strong {
        color:black !important;
    }
}
.contents a[aria-current=location]{
    color:#fff;
    background:#142c4a;
    border-radius:5px}
