@import url('../assets/fonts/jke/typography.css?jke-css=2026.10.29.1&jke-font=3.300-clear2');
@import url('./site-conventions.css?jke-css=2026.10.29.1&jke-font=3.300-clear2');
:root{--jke-suite-ink:#31264e;--jke-suite-muted:#6d627d;--jke-suite-paper:#fffaf2;--jke-suite-panel:#fff;--jke-suite-line:rgb(49 38 78 / 16%);--jke-suite-focus:#7b4ed8;--jke-suite-danger:#a12648;--jke-suite-success:#267451;--jke-suite-warning:#8a5b00;--jke-suite-radius-sm:10px;--jke-suite-radius:18px;--jke-suite-radius-lg:24px;--jke-suite-shadow-sm:0 4px 14px rgb(49 38 78 / 8%);--jke-suite-shadow:0 12px 34px rgb(49 38 78 / 12%);--jke-suite-space-1:4px;--jke-suite-space-2:8px;--jke-suite-space-3:12px;--jke-suite-space-4:16px;--jke-suite-space-5:24px;--jke-suite-space-6:32px;--jke-suite-gap:clamp(12px,2vw,24px);--jke-suite-control-height:44px}
.jke-platform-page,.jke-platform-page body,body[data-jke-game-id]{font-family:var(--jke-font-ui),ui-rounded,"SF Pro Rounded","Avenir Next Rounded","Arial Rounded MT Bold",system-ui,sans-serif;color:var(--jke-suite-ink)}
.jke-skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:12px 16px;border-radius:12px;background:#fff;color:var(--jke-suite-ink);transform:translateY(-150%)}.jke-skip-link:focus{transform:none;outline:3px solid var(--jke-suite-focus);outline-offset:3px}
.jke-app-header{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:var(--jke-suite-gap);padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--jke-suite-line);background:color-mix(in srgb,var(--jke-suite-paper) 96%,transparent)}.jke-app-header>div{display:grid;gap:2px}.jke-app-header small,.jke-save-status{color:#6d627d;font-size:var(--jke-text-small);font-weight:700}.jke-save-status{white-space:nowrap}
button:not([class]),.jke-assimilated-control{min-height:44px;border:1px solid var(--jke-suite-line);border-radius:12px;background:var(--jke-suite-panel);color:inherit;padding:8px 12px}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--jke-suite-focus);outline-offset:3px}@media (pointer:coarse){button,a,[role=button]{min-height:48px}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.jke-card{border:1px solid var(--jke-suite-line);border-radius:var(--jke-suite-radius);background:var(--jke-suite-panel);box-shadow:var(--jke-suite-shadow-sm)}.jke-stack{display:grid;gap:var(--jke-suite-space-4)}.jke-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--jke-suite-space-3)}.jke-notice{padding:var(--jke-suite-space-3) var(--jke-suite-space-4);border:1px solid var(--jke-suite-line);border-radius:var(--jke-suite-radius-sm);background:var(--jke-suite-paper);color:var(--jke-suite-ink)}.jke-notice[data-tone=error]{border-color:color-mix(in srgb,var(--jke-suite-danger) 45%,transparent);color:var(--jke-suite-danger)}.jke-notice[data-tone=success]{border-color:color-mix(in srgb,var(--jke-suite-success) 45%,transparent);color:var(--jke-suite-success)}.jke-status{display:inline-flex;min-height:32px;align-items:center;gap:6px;color:var(--jke-suite-muted);font:700 .8125rem/1.4 var(--jke-font-ui),system-ui,sans-serif}.jke-status::before{width:8px;height:8px;border-radius:999px;background:currentColor;content:""}.jke-status[data-state=synced]{color:var(--jke-suite-success)}.jke-status[data-state=error]{color:var(--jke-suite-danger)}.jke-status[data-state=pending]{color:var(--jke-suite-warning)}
.jke-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body[data-jke-device-profile=tablet] .jke-app-header{padding-top:14px;padding-bottom:14px}body[data-jke-device-profile=smartphone] .jke-app-header{align-items:flex-start;flex-wrap:wrap}body[data-jke-device-profile=smartphone] .jke-save-status{width:100%}

/* Shared app headings stay compact; descriptions keep a readable rhythm. */
.jke-app-header h1{font-family:var(--jke-font-ui);font-size:var(--jke-heading-small);font-weight:700;line-height:1.25;letter-spacing:-.01em}
.jke-app-header p{font-size:var(--jke-text-body);line-height:1.5}
