* {
    box-sizing:border-box;
}

body {
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font:15px/1.5 system-ui,-apple-system,sans-serif;
}

a {
    color:inherit;
    text-decoration:none;
}

button,input,select {
    font:inherit;
}

button,a,input,select,audio,summary {
    touch-action:manipulation;
}

button {
    cursor:pointer;
}

button:disabled {
    cursor:not-allowed;
    opacity:.5;
}

img {
    max-width:100%;
}

button,input,select {
    color:inherit;
}

button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,[tabindex]:focus-visible {
    outline:3px solid var(--accent);
    outline-offset:4px;
}

h1,h2,h3,h4,p {
    margin:0;
}

h1,h2,h3 {
    font-weight:400;
}

h1 {
    font-family:var(--heading);
    font-size:clamp(56px,7.2vw,108px);
    line-height:1;
    text-transform:uppercase;
    letter-spacing:-.035em;
}

h2 {
    font-family:var(--heading);
    font-size:32px;
    line-height:1.1;
}

h3 {
    font-family:var(--heading);
    font-size:24px;
}

small {
    font-size:11px;
}

em {
    font-style:normal;
}

.eyebrow,.eyebrow-label,.terminal-status,.page-intro,.rail,.topbar,.toolbar,.badge,.section-top,.station-footer,.meta {
    font-family:var(--mono);
}

.eyebrow {
    text-transform:uppercase;
    letter-spacing:.2em;
    font-size:11px;
    color:var(--muted);
    margin-bottom:10px;
}

.page-intro {
    font-size:13px;
    color:var(--muted);
    margin-top:14px;
}

.rail {
    position:fixed;
    inset:0 auto 0 0;
    width:var(--rail);
    border-right:1px solid var(--line);
    display:flex;
    flex-direction:column;
    background:var(--paper);
    z-index:40;
    padding:24px 10px;
    font-size:12px;
}

.brand {
    display:flex;
    justify-content:center;
    margin-bottom:28px;
}

.brand img {
    object-fit:contain;
    height:100px;
    width:86px;
}

.brand-dark {
    display:none;
}

[data-theme=dark] .brand-light {
    display:none;
}

[data-theme=dark] .brand-dark {
    display:block;
}

.rail nav {
    display:grid;
    gap:5px;
}

.rail nav a {
    display:flex;
    align-items:center;
    gap:13px;
    min-height:62px;
    padding:12px;
    border-left:3px solid transparent;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.rail a:hover {
    background:var(--soft);
}

.rail nav a[aria-current] {
    color:var(--accent);
    border-color:var(--accent);
}

.rail nav i {
    font-size:20px;
    width:22px;
    text-align:center;
}

.rail-bottom {
    margin-top:auto;
    display:grid;
    gap:4px;
    padding-top:28px;
}

.rail-bottom a {
    padding:10px 6px;
    font-size:10px;
    overflow-wrap:anywhere;
}

.rail-bottom i {
    margin-right:8px;
}

.station-app {
    margin-left:var(--rail);
}

.topbar {
    height:66px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid var(--line);
    padding:0 32px;
    font-size:11px;
    letter-spacing:.07em;
}

.station-label span {
    color:var(--muted);
}

.topbar-actions {
    display:flex;
    align-items:center;
    gap:24px;
}

.balance {
    font-size:20px;
    font-weight:700;
}

.quiet {
    border:0;
    background:transparent;
    display:inline-flex;
    gap:10px;
    align-items:center;
    padding:10px;
}

.theme-toggle {
    border-left:1px solid var(--line);
    padding-left:22px;
}

.menu-toggle {
    display:none;
}

main {
    padding:32px;
    max-width:1800px;
    margin:auto;
    min-width:0;
    min-height:calc(100vh - 126px);
}

.page-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:30px;
}

.header-vitals {
    display:flex;
    gap:24px;
    flex-shrink:0;
}

.header-vitals span {
    border-left:1px solid var(--line);
    padding-left:20px;
}

.header-vitals small {
    display:block;
    font:10px var(--mono);
    color:var(--muted);
    margin-bottom:6px;
}

.header-vitals strong {
    font-family:var(--heading);
    font-size:28px;
    font-weight:400;
}

.header-vitals em {
    font:11px var(--mono);
    margin-left:5px;
}

.danger {
    color:var(--accent);
}

.terminal-status {
    color:var(--muted);
    font-size:11px;
}

.terminal-status b {
    color:#66805b;
    font-size:10px;
    margin-left:10px;
}

.station-footer {
    display:flex;
    justify-content:space-between;
    padding:20px 32px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:9px;
    letter-spacing:.08em;
}

.rail {
    overflow-y: auto;
}
.brand {
    flex-shrink: 0;
}
.notification-link {
    position: relative;
    font-size: 16px;
}
.notification-link span {
    position: absolute;
    top: 0;
    right: 0;
    background: var(--accent);
    color: var(--on-accent);
    font-size: 9px;
    padding: 1px 4px;
}
.account-verification {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.account-verification p {
    font-size: 13px;
    margin-top: 5px;
}
