@font-face {
    font-family: "Nimbus Sans Solo";
    src: url("fonts/NimbusSans-Regular.otf") format("opentype");
    font-style: normal;
    font-weight: 400;
    font-display: block;
}

@font-face {
    font-family: "Nimbus Sans Solo";
    src: url("fonts/NimbusSans-Bold.otf") format("opentype");
    font-style: normal;
    font-weight: 700;
    font-display: block;
}

@font-face {
    font-family: "Nimbus Sans Solo";
    src: url("fonts/NimbusSans-Semibold.otf") format("opentype");
    font-style: normal;
    font-weight: 600;
    font-display: block;
}

:root {
    --solo-document-background: #e9edf4;
    --solo-document-foreground: #111827;
    color-scheme: only light;
    font-family: "Nimbus Sans Solo", Arial, sans-serif;
    font-synthesis: none;
}

* { box-sizing: border-box; }

html,
body,
#app {
    min-width: 0;
    min-height: 100%;
    margin: 0;
    color: var(--solo-document-foreground);
    background-color: var(--solo-document-background);
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

html[data-solo-theme="light"] {
    --solo-document-background: #e9edf4;
    --solo-document-foreground: #111827;
    color-scheme: only light;
}

html[data-solo-theme="dark"] {
    --solo-document-background: #020c1a;
    --solo-document-foreground: #f6f8fc;
    color-scheme: dark;
}

button,
input,
select,
textarea {
    color-scheme: inherit;
    font: inherit;
}

button,
select { cursor: pointer; }

:where(button, input, select, textarea, a[href], [tabindex]:not([tabindex="-1"])) {
    -webkit-tap-highlight-color: transparent;
}

:where(button, input, select, textarea, a[href], [tabindex]:not([tabindex="-1"])):focus:not(:focus-visible) {
    outline: none;
}

:where(button, input, select, textarea, a[href], [tabindex]:not([tabindex="-1"])):focus-visible {
    outline: none;
    box-shadow:
        0 0 0 max(2px, .352cqw) var(--solo-focus-surface, #fff),
        0 0 0 max(5px, .821cqw) color-mix(in srgb, var(--solo-focus-color, #0060d8) 78%, transparent);
}

@media (forced-colors: active) {
    :where(button, input, select, textarea, a[href], [tabindex]:not([tabindex="-1"])):focus-visible {
        outline: 2px solid Highlight;
        outline-offset: 2px;
        box-shadow: none;
    }
}

.solo-app {
    --solo-blue: #0060d8;
    --solo-blue-action: #0865df;
    --solo-text: #111827;
    --solo-muted: #596a86;
    --solo-canvas: #f3f6fb;
    --solo-panel: rgba(255, 255, 255, .94);
    --solo-panel-solid: #fff;
    --solo-border: #7589aa;
    --solo-soft: #e9f1fd;
    --solo-error: #c62d36;
    --solo-focus-color: var(--solo-blue);
    --solo-focus-surface: var(--solo-canvas);
    min-height: 100vh;
    min-height: 100dvh;
    color: var(--solo-text);
    background: var(--solo-canvas);
    font-family: "Nimbus Sans Solo", Arial, sans-serif;
    line-height: 1.2;
}

.solo-app.theme-dark,
html[data-solo-theme="dark"] .solo-app.theme-system {
    --solo-text: #f6f8fc;
    --solo-muted: #b8c6d8;
    --solo-canvas: #020c1a;
    --solo-panel: rgba(2, 28, 43, .96);
    --solo-panel-solid: #021c2b;
    --solo-border: #5f7898;
    --solo-soft: #0b335f;
    --solo-error: #ff7a83;
    color-scheme: dark;
}

html[data-solo-theme="light"] .solo-app.theme-system { color-scheme: only light; }

@media (prefers-color-scheme: dark) {
    html:not([data-solo-theme]) .solo-app.theme-system {
        --solo-text: #f6f8fc;
        --solo-muted: #b8c6d8;
        --solo-canvas: #020c1a;
        --solo-panel: rgba(2, 28, 43, .96);
        --solo-panel-solid: #021c2b;
        --solo-border: #5f7898;
        --solo-soft: #0b335f;
        --solo-error: #ff7a83;
        color-scheme: dark;
    }
}

.solo-screen {
    position: relative;
    width: 100%;
    max-width: none;
    height: 100vh;
    height: 100dvh;
    min-height: 100svh;
    margin-inline: auto;
    overflow: hidden;
    container-type: inline-size;
    background: var(--solo-canvas);
    isolation: isolate;
}

@media (min-width: 768px) {
    .solo-screen {
        width: min(100%, 853px);
        max-width: 853px;
        height: auto;
        min-height: max(100svh, 216.1782cqw);
    }
}

.theme-dark-asset { display: none !important; }
.solo-app.theme-dark .theme-light-asset,
html[data-solo-theme="dark"] .solo-app.theme-system .theme-light-asset { display: none !important; }
.solo-app.theme-dark .theme-dark-asset,
html[data-solo-theme="dark"] .solo-app.theme-system .theme-dark-asset { display: block !important; }

@media (prefers-color-scheme: dark) {
    html:not([data-solo-theme]) .solo-app.theme-system .theme-light-asset { display: none !important; }
    html:not([data-solo-theme]) .solo-app.theme-system .theme-dark-asset { display: block !important; }
}

.canonical-scene,
.canonical-illustration {
    position: absolute;
    z-index: -1;
    pointer-events: none;
}

.canonical-scene img,
.canonical-illustration img,
.solo-wordmark img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
    user-select: none;
}

.solo-wordmark { display: block; }

.icon-button svg,
.language-control svg,
.field-shell svg,
.field-action svg,
.login-submit svg,
.security-note svg,
.quick-icon svg,
.overview-icon svg,
.overview-row button > svg,
.today-nav svg,
.empty-check svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.solo-system-status {
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    display: flex;
    width: 100%;
    height: 9.3787cqw;
    align-items: center;
    justify-content: space-between;
    padding: 1.1723cqw 4.6893cqw 0 6.7995cqw;
    color: #050912;
    font-size: 4.1032cqw;
    font-weight: 700;
}

.theme-dark .solo-system-status,
html[data-solo-theme="dark"] .theme-system .solo-system-status { color: #f8fafc; }

.solo-system-status__indicators {
    display: flex;
    align-items: center;
    gap: 1.4068cqw;
}

.solo-system-status svg {
    width: 4.2204cqw;
    height: 3.2825cqw;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.5;
}

.solo-system-status .status-signal { width: 4.4549cqw; fill: currentColor; stroke: none; }
.solo-system-status svg:last-child { width: 5.6272cqw; }
.solo-system-status .battery-fill { fill: currentColor; stroke: none; }

.visually-hidden {
    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;
}

/* A01 — exact 853x1844 coordinate mapping. */
.welcome-screen {
    --solo-text: #08275e;
    --solo-muted: #465e82;
    --solo-canvas: #fcfcfd;
    --solo-blue: #1677f3;
    background: var(--solo-canvas);
}

.theme-dark .welcome-screen,
html[data-solo-theme="dark"] .theme-system .welcome-screen {
    --solo-text: #edf4ff;
    --solo-muted: #a7b9d5;
    --solo-canvas: #000f29;
    --solo-blue: #3395ff;
}

@media (prefers-color-scheme: dark) {
    html:not([data-solo-theme]) .theme-system .welcome-screen {
        --solo-text: #edf4ff;
        --solo-muted: #a7b9d5;
        --solo-canvas: #000f29;
        --solo-blue: #3395ff;
    }
}

.welcome-header {
    position: absolute;
    top: 12.3095cqw;
    left: 20.8675cqw;
    width: 58.2649cqw;
    height: 17.2333cqw;
}

.solo-wordmark--a01,
.solo-wordmark--primary-menu {
    --solo-a01-wordmark-image: url("canonical/a01-wordmark-light.png");
    --solo-a01-optical-half-gap: 2.5px;
    --solo-a01-optical-half-gap-negative: -2.5px;
    position: relative;
    width: 100%;
    height: 100%;
}

.theme-dark .solo-wordmark--a01,
.theme-dark .solo-wordmark--primary-menu,
html[data-solo-theme="dark"] .theme-system .solo-wordmark--a01,
html[data-solo-theme="dark"] .theme-system .solo-wordmark--primary-menu {
    --solo-a01-wordmark-image: url("canonical/a01-wordmark-dark.png");
}

@media (prefers-color-scheme: dark) {
    html:not([data-solo-theme]) .theme-system .solo-wordmark--a01,
    html:not([data-solo-theme]) .theme-system .solo-wordmark--primary-menu {
        --solo-a01-wordmark-image: url("canonical/a01-wordmark-dark.png");
    }
}

.solo-wordmark--a01 > img,
.solo-wordmark--primary-menu > img { visibility: hidden; }

.solo-wordmark--a01 > .solo-wordmark__layer,
.solo-wordmark--primary-menu > .solo-wordmark__layer {
    position: absolute;
    inset: 0;
    background: var(--solo-a01-wordmark-image) center / 100% 100% no-repeat;
    pointer-events: none;
}

.solo-wordmark--a01 > .solo-wordmark__layer--s,
.solo-wordmark--primary-menu > .solo-wordmark__layer--s {
    clip-path: inset(0 67.4044% 0 0);
    transform: translateX(var(--solo-a01-optical-half-gap-negative));
}

.solo-wordmark--a01 > .solo-wordmark__layer--olo,
.solo-wordmark--primary-menu > .solo-wordmark__layer--olo {
    clip-path: inset(0 0 0 32.5956%);
    transform: translateX(var(--solo-a01-optical-half-gap));
}

.welcome-copy {
    position: absolute;
    z-index: 1;
    top: 37.6319cqw;
    left: 5.3927cqw;
    width: 89.2145cqw;
    text-align: center;
}

.welcome-copy h1 {
    margin: 0;
    color: var(--solo-text);
    font-size: 7.5029cqw;
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1.08;
    transform: translateY(.8206cqw) scaleX(.982);
    transform-origin: center top;
}

.welcome-copy h1 span { color: var(--solo-blue); }

.welcome-copy p {
    width: 69.1676cqw;
    margin: 7.0339cqw auto 0;
    color: var(--solo-muted);
    font-size: 3.2825cqw;
    font-weight: 600;
    line-height: 1.34;
    transform: translateY(1.1723cqw) scaleX(.802);
    transform-origin: center top;
}

.a01-illustration {
    top: 84.4080cqw;
    left: 0;
    width: 100cqw;
    height: 63.8921cqw;
}

.welcome-actions { position: absolute; inset: 0; }

.solo-button,
.solo-link-button,
.card-action {
    border: 0;
    font-weight: 700;
}

.welcome-actions > .solo-button {
    position: absolute;
    left: 6.9168cqw;
    width: 85.5803cqw;
    height: 13.5991cqw;
    border-radius: 3.2825cqw;
    font-size: 4.1032cqw;
}

.welcome-actions > .solo-button--primary {
    top: 155.2169cqw;
    color: #fff;
    background: linear-gradient(100deg, #0457d8, #006ceb, #0457d8);
    box-shadow: 0 2.8136cqw 5.8617cqw rgba(0, 81, 220, .20);
}

.welcome-actions > .solo-button--outline {
    top: 172.2158cqw;
    color: #0457d8;
    border: .3517cqw solid #0457d8;
    background: color-mix(in srgb, var(--solo-canvas) 92%, transparent);
}

.welcome-actions > .solo-link-button {
    position: absolute;
    top: 191.0903cqw;
    left: 25cqw;
    width: 50cqw;
    height: 6.4478cqw;
    color: #0457d8;
    background: transparent;
    font-size: 3.7515cqw;
}

.theme-dark .welcome-actions > .solo-button--primary,
html[data-solo-theme="dark"] .theme-system .welcome-actions > .solo-button--primary {
    background: linear-gradient(100deg, #0052dd, #087cf5, #0052dd);
}

.theme-dark .welcome-actions > .solo-button--outline,
.theme-dark .welcome-actions > .solo-link-button,
html[data-solo-theme="dark"] .theme-system .welcome-actions > .solo-button--outline,
html[data-solo-theme="dark"] .theme-system .welcome-actions > .solo-link-button { color: #3395ff; border-color: #0052dd; }

.scope-notice {
    position: absolute;
    z-index: 8;
    right: 7cqw;
    bottom: 1.5cqw;
    left: 7cqw;
    margin: 0;
    color: var(--solo-muted);
    font-size: 2.1cqw;
    text-align: center;
}

/* A02a — canonical form composition. */
.login-screen {
    --solo-text: #111827;
    --solo-muted: #42536d;
    --solo-canvas: #f3f6fb;
    --solo-border: #9cbfff;
    background: var(--solo-canvas);
}

.theme-dark .login-screen,
html[data-solo-theme="dark"] .theme-system .login-screen {
    --solo-text: #f4f7fd;
    --solo-muted: #aebed4;
    --solo-canvas: #000716;
    --solo-border: #1c58c7;
}

@media (prefers-color-scheme: dark) {
    html:not([data-solo-theme]) .theme-system .login-screen {
        --solo-text: #f4f7fd;
        --solo-muted: #aebed4;
        --solo-canvas: #000716;
        --solo-border: #1c58c7;
    }
}

.a02-scene { inset: 0; width: 100cqw; height: 216.1782cqw; }

.entry-header {
    position: absolute;
    z-index: 2;
    top: 11.3716cqw;
    left: 4.4549cqw;
    width: 91.0903cqw;
    height: 11.2544cqw;
}

.entry-header .solo-wordmark {
    position: absolute;
    top: -4.2204cqw;
    left: 34.3494cqw;
    width: 22.2743cqw;
    height: 8.5580cqw;
}

.icon-button {
    display: grid;
    place-items: center;
    border: 0;
    color: var(--solo-text);
    background: transparent;
}

.entry-back {
    position: absolute;
    top: 0;
    left: 0;
    width: 11.2544cqw;
    height: 11.2544cqw;
    justify-items: start;
    padding-left: .4690cqw;
    background: transparent;
}

.entry-back svg { width: 4.6893cqw; height: 4.6893cqw; }

.language-control {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    width: 19.2263cqw;
    height: 11.2544cqw;
    align-items: center;
    justify-content: center;
    gap: 1.0551cqw;
    color: var(--solo-text);
}

.language-control > svg { width: 4.2204cqw; height: 4.2204cqw; }

.language-control select {
    width: 8.7925cqw;
    border: 0;
    appearance: none;
    color: inherit;
    background: transparent;
    font-size: 3.2825cqw;
    font-weight: 700;
}

.language-control::after {
    margin-left: -3.5170cqw;
    content: "⌄";
    font-size: 2.8136cqw;
    pointer-events: none;
}

.login-copy {
    position: absolute;
    z-index: 1;
    top: 55.5686cqw;
    left: 6.7995cqw;
}

.login-copy h1 {
    margin: 0;
    font-size: 7.5029cqw;
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1;
}

.login-copy p {
    margin: 2.8136cqw 0 0;
    color: var(--solo-muted);
    font-size: 3.2825cqw;
}

.login-card {
    position: absolute;
    z-index: 1;
    top: 75.4982cqw;
    left: 4.5721cqw;
    width: 90.8558cqw;
    min-height: 94.3728cqw;
    border: .2345cqw solid rgba(255,255,255,.92);
    border-radius: 3.7515cqw;
    padding: 7.5029cqw 5.3927cqw 5.2755cqw;
    background: var(--solo-panel);
    box-shadow: 0 2.8136cqw 7.0339cqw rgba(15, 53, 105, .11);
    backdrop-filter: blur(1.8757cqw);
}

.theme-dark .login-card,
html[data-solo-theme="dark"] .theme-system .login-card { border-color: #17448d; }

.field-group { position: relative; }
.field-group + .field-group { margin-top: 7.3857cqw; }

.field-group > label {
    display: block;
    margin: 0 0 2.8136cqw .5862cqw;
    font-size: 2.9308cqw;
    font-weight: 700;
}

.field-shell {
    display: grid;
    width: 79.7186cqw;
    height: 14.0680cqw;
    grid-template-columns: 8.6753cqw 1fr 8.6753cqw;
    align-items: center;
    gap: 2.9308cqw;
    border: .2345cqw solid var(--solo-border);
    border-radius: 2.2274cqw;
    padding: 0 2.1102cqw;
    color: #1133a0;
    background: color-mix(in srgb, var(--solo-panel-solid) 68%, transparent);
}

.field-shell > svg {
    width: 8.6753cqw;
    height: 9.3787cqw;
    border-radius: 1.4068cqw;
    padding: 2.2274cqw;
    color: #0565e6;
    background: #e2eeff;
    stroke-width: 1.8;
}

.theme-dark .field-shell > svg,
html[data-solo-theme="dark"] .theme-system .field-shell > svg { background: #092d69; color: #4c9cff; }

.field-shell input {
    min-width: 0;
    width: 100%;
    border: 0;
    outline: 0;
    color: var(--solo-text);
    background: transparent;
    font-size: 3.7515cqw;
}

.field-shell input::placeholder { color: #9cadc6; opacity: 1; }
.field-shell:focus-within { border-color: #0060d8; }
.field-shell:has(:focus-visible) {
    box-shadow: 0 0 0 .469cqw var(--solo-focus-surface), 0 0 0 .938cqw color-mix(in srgb, var(--solo-focus-color) 78%, transparent);
}
.field-shell :where(input, button):focus-visible { box-shadow: none; }
.field-shell.has-error { border-color: var(--solo-error); }

.field-action {
    display: grid;
    width: 8.6753cqw;
    height: 9.3787cqw;
    place-items: center;
    border: 0;
    color: #0b258e;
    background: transparent;
}

.field-action svg { width: 5.6272cqw; height: 5.6272cqw; }

.field-error,
.login-error {
    margin: 1.1723cqw .5862cqw 0;
    color: var(--solo-error);
    font-size: 2.3447cqw;
    font-weight: 700;
}

.login-error { margin-block: 1.4cqw -2.3cqw; }

.login-submit {
    display: flex;
    width: 79.7186cqw;
    height: 16.0610cqw;
    align-items: center;
    justify-content: center;
    margin-top: 5.2755cqw;
    border: .3517cqw solid #6ea0ff;
    border-radius: 2.1102cqw;
    color: #fff;
    background: linear-gradient(180deg, #2e73e7, #0452cc);
    box-shadow: 0 1.8757cqw 3.7515cqw rgba(0, 55, 150, .22);
    font-size: 4.1032cqw;
}

.login-submit > span:first-child { margin-inline: auto; padding-left: 9.3787cqw; }

.login-submit > svg,
.button-spinner {
    width: 10.5510cqw;
    height: 11.7233cqw;
    margin-right: .7034cqw;
    border-radius: 1.4068cqw;
    padding: 3.1653cqw;
    background: rgba(255,255,255,.06);
}

.button-spinner { border: .4cqw solid rgba(255,255,255,.35); border-top-color: #fff; animation: solo-spin .8s linear infinite; }

.security-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.3447cqw;
    margin: 6.2134cqw 0 0;
    color: var(--solo-text);
    font-size: 2.9308cqw;
}

.security-note svg { width: 5.3927cqw; height: 5.3927cqw; color: #0767e6; }

/* A07 — current application shell and Danes states. */
.today-screen { background: var(--solo-canvas); }

.primary-menu-shell {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
}

.primary-menu-background-stage {
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.primary-menu-background-stage > img {
    position: absolute;
    top: var(--primary-menu-background-top, 0);
    left: var(--primary-menu-background-left, 0);
    display: block;
    width: var(--primary-menu-background-width, 100%);
    height: var(--primary-menu-background-height, 100%);
    object-fit: fill;
    transform: var(--primary-menu-background-transform, none);
    user-select: none;
}

.primary-menu-foreground-scroll {
    position: absolute;
    z-index: 2;
    inset: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding-bottom: 32.4736cqw;
    background: transparent;
    overscroll-behavior-y: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.primary-menu-foreground-scroll::-webkit-scrollbar { display: none; }

.primary-menu-content-stage { background: transparent; }

.primary-menu-background-stage--a07 {
    --primary-menu-background-width: 100cqw;
    --primary-menu-background-height: 216.1782cqw;
}

.today-header {
    position: absolute;
    z-index: 4;
    top: 0;
    left: 0;
    width: 100%;
    height: 19.8124cqw;
    background: color-mix(in srgb, var(--solo-canvas) 96%, transparent);
}

.today-header__row { display: contents; }

.today-header .solo-wordmark {
    position: absolute;
    width: 22.2743cqw;
    height: 8.5580cqw;
}

.today-header--bootstrap .solo-wordmark { top: 7.1512cqw; left: 4.4549cqw; }
.today-header--ready .solo-wordmark { top: 7.1512cqw; left: 19.9297cqw; }

.primary-menu-header {
    position: relative;
    top: auto;
    height: auto;
    min-height: 19.8124cqw;
    padding-top: 5.7444cqw;
}

.primary-menu-header__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    width: 100%;
    min-height: 11.2544cqw;
}

.primary-menu-header__side { min-width: 0; }

.primary-menu-header__side--end {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 5.2755cqw;
}

.primary-menu-header .solo-wordmark {
    position: relative;
    top: auto;
    left: auto;
    width: 3.380952em;
    height: 1em;
    margin: 0;
    font-size: 24px;
}

.primary-menu-header .solo-wordmark--primary-menu > .solo-wordmark__layer {
    inset: auto;
    top: 50%;
    left: 50%;
    width: 31.8276cqw;
    height: 9.4138cqw;
}

.primary-menu-header .solo-wordmark--primary-menu > .solo-wordmark__layer--s {
    transform: translate(calc(-50% + var(--solo-a01-optical-half-gap-negative)), -50%);
}

.primary-menu-header .solo-wordmark--primary-menu > .solo-wordmark__layer--olo {
    transform: translate(calc(-50% + var(--solo-a01-optical-half-gap)), -50%);
}

.primary-menu-header .theme-toggle {
    position: relative;
    top: auto;
    right: auto;
    margin: 0;
}

.theme-toggle {
    position: absolute;
    top: 5.7444cqw;
    right: 5.2755cqw;
    width: 11.2544cqw;
    height: 11.2544cqw;
    border: .2345cqw solid var(--solo-border);
    border-radius: 50%;
    background: color-mix(in srgb, var(--solo-panel-solid) 18%, transparent);
}

.theme-toggle svg { width: 4.6893cqw; height: 4.6893cqw; stroke-width: 1.35; }
.theme-toggle .theme-icon--dark { display: none; }
.theme-dark .theme-toggle .theme-icon--light,
html[data-solo-theme="dark"] .theme-system .theme-toggle .theme-icon--light { display: none; }
.theme-dark .theme-toggle .theme-icon--dark,
html[data-solo-theme="dark"] .theme-system .theme-toggle .theme-icon--dark { display: block; }

.today-content {
    position: absolute;
    z-index: 2;
    top: 19.8124cqw;
    left: 5.3927cqw;
    width: 89.2145cqw;
}

.today-content > h1 {
    margin: 0;
    font-size: 7.5029cqw;
    font-weight: 700;
    letter-spacing: -.025em;
    line-height: 1;
    transform: translateY(-.5862cqw) scale(1.045, 1.022);
    transform-origin: left top;
}

.today-lead {
    margin: 0;
    color: var(--solo-muted);
    font-size: 3.2825cqw;
    transform: scaleX(1.035);
    transform-origin: left center;
}

.workspace-chip {
    display: inline-flex;
    height: 6.5651cqw;
    align-items: center;
    gap: 1.4068cqw;
    width: 40.3283cqw;
    margin-top: 1.1723cqw;
    border: .2345cqw solid var(--solo-border);
    border-radius: 999px;
    padding: 0 2.6964cqw;
    color: var(--solo-muted);
    background: color-mix(in srgb, var(--solo-panel-solid) 80%, transparent);
    font-size: 2.9308cqw;
}

.workspace-chip > span {
    width: 1.6413cqw;
    height: 1.6413cqw;
    border-radius: 50%;
    background: #079362;
}

.next-action-card,
.quick-section,
.overview-section {
    border: .2345cqw solid var(--solo-border);
    background: var(--solo-panel);
    backdrop-filter: blur(.7034cqw);
}

.next-action-card {
    min-height: 39.0387cqw;
    margin-top: 2.1102cqw;
    border-radius: 2.3447cqw;
    padding: 2.6964cqw 3.5170cqw;
}

.next-action-card .eyebrow {
    margin: 0;
    color: #0867e8;
    font-size: 2.9308cqw;
    font-weight: 700;
    letter-spacing: -.02em;
}

.next-action-card h2 {
    margin: 1.2896cqw 0 0;
    font-size: 4.6893cqw;
    letter-spacing: -.012em;
    line-height: 1.05;
}

.next-action-card > p:not(.eyebrow) {
    margin: 1.6413cqw 0 0;
    color: var(--solo-muted);
    font-size: 3.2825cqw;
}

.card-action {
    display: flex;
    width: 100%;
    height: 11.2544cqw;
    align-items: center;
    justify-content: center;
    gap: 1.8757cqw;
    margin-top: 5.0410cqw;
    border-radius: 1.8757cqw;
    color: #fff;
    background: linear-gradient(100deg, #0865e7, #3f7fff);
    font-size: 4.1032cqw;
}

.theme-dark .card-action,
html[data-solo-theme="dark"] .theme-system .card-action { background: linear-gradient(100deg, #075ddd, #4095ff); }

.quick-section {
    height: 30.7140cqw;
    margin-top: 2.2274cqw;
    border-radius: 2.3447cqw;
    overflow: hidden;
}

.quick-section > h2,
.overview-section > h2 {
    height: 8.0891cqw;
    margin: 0;
    padding: 1.8757cqw 3.2825cqw;
    border-bottom: .2345cqw solid var(--solo-border);
    font-size: 3.7515cqw;
    line-height: 1;
}

.quick-grid {
    display: grid;
    height: 22.625cqw;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
}

.quick-grid button {
    display: flex;
    align-items: center;
    gap: 1.8757cqw;
    border: 0;
    color: var(--solo-text);
    background: transparent;
    padding: 0 2.1102cqw;
    font-size: 2.9308cqw;
    font-weight: 700;
    text-align: left;
}

.quick-grid button:nth-child(even) { border-left: .1172cqw solid var(--solo-border); }
.quick-grid button:nth-child(n+3) { border-top: .1172cqw solid var(--solo-border); }

.quick-icon,
.overview-icon,
.empty-check {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border: .2345cqw solid var(--solo-border);
    border-radius: 1.7585cqw;
    color: #0767e8;
    background: #edf4ff;
}

.theme-dark .quick-icon,
.theme-dark .overview-icon,
.theme-dark .empty-check,
html[data-solo-theme="dark"] .theme-system .quick-icon,
html[data-solo-theme="dark"] .theme-system .overview-icon,
html[data-solo-theme="dark"] .theme-system .empty-check { background: #0b335f; color: #4a9cff; }

.quick-icon { width: 6.9168cqw; height: 6.9168cqw; }
.quick-icon svg { width: 3.7515cqw; height: 3.7515cqw; stroke-width: 1.5; }

.overview-section {
    height: 29.5428cqw;
    margin-top: 1.7585cqw;
    border-radius: 2.3447cqw;
    overflow: hidden;
}

.overview-row { height: 21.4537cqw; }

.overview-row button {
    display: grid;
    width: 100%;
    height: 10.7268cqw;
    grid-template-columns: 8.2063cqw 1fr 3.7515cqw;
    align-items: center;
    gap: 1.7585cqw;
    border: 0;
    color: var(--solo-text);
    background: transparent;
    padding: 0 3.2825cqw 0 2.5791cqw;
    text-align: left;
}

.overview-row button + button { border-top: .1172cqw solid var(--solo-border); }
.overview-icon { width: 7.1512cqw; height: 7.1512cqw; }
.overview-icon svg { width: 3.7515cqw; height: 3.7515cqw; }
.overview-row button > span:nth-child(2) { display: grid; }
.overview-row strong { font-size: 3.7515cqw; line-height: 1; }
.overview-row small { margin-top: .5862cqw; color: var(--solo-muted); font-size: 2.9308cqw; }
.overview-row button > svg { width: 2.3447cqw; height: 2.3447cqw; color: var(--solo-muted); }

.next-action-card--empty {
    min-height: 52.5205cqw;
    padding-top: 4.3376cqw;
    text-align: center;
}

.empty-check { width: 13.7163cqw; height: 13.7163cqw; margin: 0 auto; }
.empty-check svg { width: 6.5651cqw; height: 6.5651cqw; stroke-width: 1.8; }
.next-action-card--empty h2 { margin-top: 3.2825cqw; font-size: 4.3376cqw; }
.next-action-card--empty > p:not(.eyebrow) { margin-top: 2.1102cqw; line-height: 1.16; }
.next-action-card--empty .card-action {
    height: 11.2544cqw;
    margin-top: 3.2825cqw;
    color: #0767e8;
    border: .2345cqw solid #0767e8;
    background: transparent;
    font-size: 3.7515cqw;
}

.next-action-card--empty + .quick-section { margin-top: 2.6964cqw; }
.next-action-card--empty ~ .overview-section { display: none; }

.today-nav {
    position: absolute;
    z-index: 5;
    right: 3.2825cqw;
    bottom: 12.4267cqw;
    left: 3.2825cqw;
    display: grid;
    height: 17.7022cqw;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    border: .2345cqw solid var(--solo-border);
    border-radius: 4.6893cqw;
    padding: 1.7585cqw 2.3447cqw;
    background: rgba(255,255,255,.96);
    box-shadow: 0 1.0551cqw 0 rgba(74, 94, 124, .18);
}

.theme-dark .today-nav,
html[data-solo-theme="dark"] .theme-system .today-nav { background: #021c2b; }

.today-nav button {
    display: grid;
    height: 13.7163cqw;
    place-items: center;
    align-content: center;
    gap: 1.0551cqw;
    border: 0;
    border-radius: 3.7515cqw;
    color: var(--solo-muted);
    background: transparent;
    font-size: 3.2825cqw;
    font-weight: 700;
}

.today-nav button.is-active {
    color: #0872f5;
    border: .2345cqw solid #0872f5;
    background: #e9f3ff;
}

.theme-dark .today-nav button.is-active,
html[data-solo-theme="dark"] .theme-system .today-nav button.is-active { background: #0a315f; }

.today-nav svg { width: 4.6893cqw; height: 4.6893cqw; stroke-width: 1.65; }
.today-nav svg text { fill: currentColor; stroke: none; font-family: inherit; font-size: 9px; font-weight: 700; }

.system-safe-area {
    position: absolute;
    z-index: 5;
    right: 0;
    bottom: 0;
    left: 0;
    height: 11.2544cqw;
    background: var(--solo-canvas);
}

.system-safe-area span {
    position: absolute;
    bottom: 3.1653cqw;
    left: 37.0457cqw;
    width: 25.9086cqw;
    height: .9379cqw;
    border-radius: 999px;
    background: #5d6574;
}

.scope-notice--today {
    right: 3cqw;
    bottom: -3.5cqw;
    left: 3cqw;
    border-radius: 999px;
    padding: 1cqw 2cqw;
    color: var(--solo-text);
    background: var(--solo-panel-solid);
}

/* A07 loading and bootstrap share canonical shell tokens. */
.today-content--loading { top: 19.8124cqw; }
.today-skeletons { display: grid; gap: 2.9308cqw; margin-top: 8.0891cqw; }

.skeleton-card {
    display: grid;
    height: 28.4877cqw;
    align-content: start;
    gap: 3.0481cqw;
    border: .2345cqw solid var(--solo-border);
    border-radius: 2.3447cqw;
    padding: 3.5170cqw 3.2825cqw;
    background: var(--solo-panel);
}

.skeleton-card--large { height: 36.8113cqw; }
.skeleton-card span { display: block; height: 3.6342cqw; border-radius: 999px; background: var(--solo-soft); }
.skeleton-card span:first-child { width: 27%; }
.skeleton-card span:nth-child(2) { width: 100%; }
.skeleton-card span:nth-child(3) { width: 84%; }
.skeleton-card span:nth-child(4) { width: 100%; height: 11.2544cqw; margin-top: 1.7585cqw; border-radius: 1.7585cqw; }

.status-chip {
    display: inline-flex;
    height: 6.5651cqw;
    align-items: center;
    gap: 1.4068cqw;
    border: .2345cqw solid #0872f5;
    border-radius: 999px;
    padding: 0 2.6964cqw;
    color: #0767e8;
    background: color-mix(in srgb, var(--solo-panel-solid) 70%, transparent);
    font-size: 2.6964cqw;
    font-weight: 700;
}

.status-chip::before { width: 1.6413cqw; height: 1.6413cqw; border-radius: 50%; background: #0767e8; content: ""; }
.today-content--loading > .status-chip { margin-top: 5.3927cqw; }

.bootstrap-screen {
    background:
        radial-gradient(circle at 82% 23%, rgba(93, 152, 240, .16), transparent 24%),
        var(--solo-canvas);
}

.bootstrap-content {
    position: absolute;
    top: 60.9613cqw;
    left: 7.0339cqw;
    width: 85.9320cqw;
    text-align: center;
}

.bootstrap-content::after {
    position: absolute;
    z-index: -1;
    top: 24cqw;
    left: -2cqw;
    width: 90cqw;
    height: 30cqw;
    border-top: .2345cqw solid #cbe0ff;
    border-radius: 50%;
    content: "";
    transform: rotate(-17deg);
}

.solo-loader {
    display: grid;
    width: 19.4607cqw;
    height: 19.4607cqw;
    place-items: center;
    margin: 0 auto;
    border: .3517cqw solid #0767e8;
    border-radius: 50%;
    color: #0767e8;
}

.solo-loader span { font-size: 7.5029cqw; font-weight: 700; }
.bootstrap-content h1 { margin: 2.8136cqw 0 0; font-size: 5.6272cqw; }
.bootstrap-content > p { margin: 2.1102cqw 0 0; color: var(--solo-muted); font-size: 3.2825cqw; }

.bootstrap-progress {
    width: 70.3399cqw;
    height: 2.1102cqw;
    overflow: hidden;
    margin: 7.8546cqw auto 0;
    border-radius: 999px;
    background: var(--solo-soft);
}

.bootstrap-progress span { display: block; width: 65%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#0865e7,#3f7fff); }
.bootstrap-content .status-chip { margin-top: 4.9238cqw; }
.bootstrap-return { width: 60cqw; height: 10cqw; margin-top: 5cqw; color: #0767e8; border: .2345cqw solid #0767e8; border-radius: 2cqw; background: transparent; }

@keyframes solo-spin { to { transform: rotate(360deg); } }

/*
 * Mobile rendering model.
 *
 * The 853x1844 canonical raster is a coordinate reference, not a CSS-sized
 * page. X/size geometry maps to the live inline container (cqw). Each Y anchor
 * uses the larger of its width-derived canonical position and its safe
 * viewport position. Browser chrome can therefore shorten the visual viewport
 * without squeezing the composition; the canonical-width stage scrolls
 * instead. Tall/narrow phones still use their available safe height.
 *
 * OS status and home-indicator artwork belong to the reference device frame.
 * A real browser/installed app supplies that chrome, so it is not duplicated
 * in the mobile DOM presentation. Desktop retains the locked reference frame.
 */
@media (max-width: 767.98px) {
    html,
    body,
    #app,
    .solo-app {
        min-width: 0;
        overflow-x: clip;
    }

    .solo-screen {
        --solo-safe-top: env(safe-area-inset-top, 0px);
        --solo-safe-right: env(safe-area-inset-right, 0px);
        --solo-safe-bottom: env(safe-area-inset-bottom, 0px);
        --solo-safe-left: env(safe-area-inset-left, 0px);
        width: 100%;
        max-width: none;
        height: auto;
        min-height: max(100svh, calc(216.1782cqw + var(--solo-safe-top) + var(--solo-safe-bottom)));
        overflow-x: clip;
        overflow-y: visible;
    }

    .primary-menu-screen {
        height: 100dvh;
        min-height: 100svh;
        overflow: hidden;
    }

    .primary-menu-foreground-scroll {
        padding-bottom: calc(
            var(--solo-safe-bottom)
            + max(17.7022cqw, 64px)
            + max(8px, 1.1723cqw)
            + max(12px, 2.3447cqw)
        );
    }

    .primary-menu-content-stage {
        min-height: 100%;
    }

    button,
    select {
        touch-action: manipulation;
    }

    .solo-system-status {
        display: none;
    }

    .canonical-scene,
    .a02-scene {
        inset: 0;
        width: 100%;
        height: max(100svh, 216.1782cqw);
    }

    .canonical-scene img {
        object-fit: fill;
    }

    .welcome-header {
        top: calc(var(--solo-safe-top) + max(5.6941svh, 12.3095cqw));
    }

    .welcome-copy {
        top: calc(var(--solo-safe-top) + max(17.4089svh, 37.6319cqw));
    }

    .welcome-copy h1 {
        font-size: clamp(24px, 7.5029cqw, 64px);
    }

    .welcome-copy p {
        font-size: clamp(14px, 3.2825cqw, 28px);
    }

    .a01-illustration {
        top: calc(var(--solo-safe-top) + max(39.0456svh, 84.4080cqw));
    }

    .welcome-actions > .solo-button {
        min-height: 48px;
        font-size: clamp(16px, 4.1032cqw, 35px);
    }

    .welcome-actions > .solo-button--primary {
        top: calc(var(--solo-safe-top) + max(71.8004svh, 155.2169cqw));
    }

    .welcome-actions > .solo-button--outline {
        top: calc(var(--solo-safe-top) + max(79.6637svh, 172.2158cqw));
    }

    .welcome-actions > .solo-link-button {
        top: calc(var(--solo-safe-top) + max(88.3947svh, 191.0903cqw));
        bottom: auto;
        min-height: 44px;
        font-size: clamp(14px, 3.7515cqw, 32px);
    }

    .login-screen {
        min-height: max(100svh, calc(216.1782cqw + var(--solo-safe-top) + var(--solo-safe-bottom)));
        overflow-y: visible;
        overscroll-behavior-y: contain;
    }

    .entry-header {
        top: calc(var(--solo-safe-top) + max(5.2603svh, 11.3716cqw));
        height: max(44px, 11.2544cqw);
    }

    .entry-header .solo-wordmark {
        top: min(-1.9523svh, -4.2204cqw);
    }

    .entry-back,
    .language-control {
        min-height: 44px;
    }

    .entry-back {
        width: max(44px, 11.2544cqw);
        height: max(44px, 11.2544cqw);
    }

    .language-control {
        height: max(44px, 11.2544cqw);
    }

    .language-control select {
        min-height: 44px;
        font-size: 16px;
    }

    .login-copy {
        top: calc(var(--solo-safe-top) + max(25.7049svh, 55.5686cqw));
    }

    .login-copy h1 {
        font-size: clamp(24px, 7.5029cqw, 64px);
    }

    .login-copy p {
        font-size: clamp(14px, 3.2825cqw, 28px);
    }

    .login-card {
        top: calc(var(--solo-safe-top) + max(34.9241svh, 75.4982cqw));
        min-height: 0;
    }

    .field-group > label {
        font-size: clamp(12px, 2.9308cqw, 25px);
    }

    .field-shell {
        min-height: 48px;
    }

    .field-shell input {
        font-size: max(16px, 3.7515cqw);
    }

    .field-action {
        min-width: 44px;
        min-height: 44px;
    }

    .field-error,
    .login-error {
        font-size: clamp(12px, 2.3447cqw, 20px);
    }

    .login-submit {
        min-height: 54px;
        font-size: clamp(16px, 4.1032cqw, 35px);
    }

    .security-note {
        font-size: clamp(12px, 2.9308cqw, 25px);
    }

    .today-header {
        --solo-a07-control-top-clearance: max(8px, 1.8757cqw);
        height: calc(var(--solo-safe-top) + max(9.1649svh, 19.8124cqw));
    }

    .today-header--bootstrap .solo-wordmark {
        top: calc(var(--solo-safe-top) + var(--solo-a07-control-top-clearance) + max(3.3080svh, 7.1512cqw));
    }

    .theme-toggle {
        top: calc(var(--solo-safe-top) + var(--solo-a07-control-top-clearance) + max(2.6573svh, 5.7444cqw));
        width: max(44px, 11.2544cqw);
        height: max(44px, 11.2544cqw);
    }

    .today-content--ready {
        position: relative;
        top: auto;
        margin-top: 8px;
    }

    .today-header--ready {
        position: relative;
        top: auto;
        height: auto;
        min-height: 0;
        padding-top: calc(var(--solo-safe-top) + var(--solo-a07-control-top-clearance) + max(2.6573svh, 5.7444cqw));
    }

    .primary-menu-header__row {
        min-height: max(44px, 11.2544cqw);
    }

    .today-content--ready > h1 {
        transform: scale(1.045, 1.022);
    }

    .today-content > h1 {
        font-size: clamp(24px, 7.5029cqw, 64px);
    }

    .today-lead {
        font-size: clamp(12px, 3.2825cqw, 28px);
    }

    .workspace-chip {
        width: max(40.3283cqw, 160px);
        min-height: 28px;
        font-size: clamp(12px, 2.9308cqw, 25px);
    }

    .next-action-card {
        min-height: max(39.0387cqw, 146px);
    }

    .next-action-card .eyebrow {
        font-size: clamp(11px, 2.9308cqw, 25px);
    }

    .next-action-card h2 {
        font-size: clamp(16px, 4.6893cqw, 40px);
    }

    .next-action-card > p:not(.eyebrow) {
        font-size: clamp(13px, 3.2825cqw, 28px);
    }

    .card-action {
        min-height: 48px;
        font-size: clamp(14px, 4.1032cqw, 35px);
    }

    .quick-section {
        height: max(30.7140cqw, 116px);
    }

    .quick-section > h2,
    .overview-section > h2 {
        min-height: 28px;
        font-size: clamp(14px, 3.7515cqw, 32px);
    }

    .quick-grid {
        height: calc(100% - max(8.0891cqw, 28px));
    }

    .quick-grid button {
        min-height: 44px;
        font-size: clamp(11px, 2.9308cqw, 25px);
    }

    .overview-section {
        height: max(29.5428cqw, 120px);
    }

    .overview-row {
        height: calc(100% - max(8.0891cqw, 28px));
    }

    .overview-row button {
        height: 50%;
        min-height: 44px;
    }

    .overview-row strong {
        font-size: clamp(13px, 3.7515cqw, 32px);
    }

    .overview-row small {
        font-size: clamp(11px, 2.9308cqw, 25px);
    }

    .next-action-card--empty {
        min-height: max(52.5205cqw, 180px);
    }

    .today-nav {
        position: fixed;
        right: max(3.2825cqw, var(--solo-safe-right));
        bottom: calc(var(--solo-safe-bottom) + max(8px, 1.1723cqw));
        left: max(3.2825cqw, var(--solo-safe-left));
        height: max(17.7022cqw, 64px);
        padding-right: max(2.3447cqw, var(--solo-safe-right));
        padding-left: max(2.3447cqw, var(--solo-safe-left));
    }

    .today-nav button {
        min-width: 44px;
        min-height: 48px;
        font-size: clamp(11px, 3.2825cqw, 28px);
    }

    .system-safe-area {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
