.app-shell{display:grid;grid-template-columns:var(--rail-width, 15rem) minmax(0,1fr);min-height:100vh;align-items:stretch}.app-rail{display:flex;flex-direction:column;gap:1.125rem;position:sticky;top:0;align-self:start;min-height:100vh;max-height:100vh;overflow-y:auto;padding:var(--space-md) .875rem 1.125rem;background:var(--colour-accent-ink);border-right:4px solid var(--colour-accent);color:var(--colour-on-dark);font-family:var(--font-ui)}.rail-brand{display:flex;flex-direction:column;gap:var(--space-3xs);padding-bottom:.75rem;border-bottom:3px solid var(--colour-rule-gold)}.rail-body{display:flex;flex-direction:column;gap:1.125rem;flex:1 1 auto;min-height:0}.rail-toggle{display:none}html:root .app-rail a{text-decoration:none}html:root .rail-brand a{font-size:var(--size-md);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--colour-surface)}.rail-brand-note{font-size:var(--size-3xs);letter-spacing:.08em;text-transform:uppercase;color:var(--colour-rule-gold)}.rail-identity{display:flex;gap:.625rem;align-items:flex-start;padding-bottom:.875rem;border-bottom:1px solid var(--colour-rail-line)}.rail-avatar{flex:none;display:grid;place-items:center;width:2.125rem;height:2.125rem;background:var(--colour-rule-gold);color:var(--colour-accent-ink);font-size:var(--size-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps)}.rail-identity-text{display:flex;flex-direction:column;gap:.0625rem;min-width:0}.rail-name{font-size:var(--size-sm);font-weight:var(--weight-bold);color:var(--colour-surface)}.rail-email,.rail-plan{font-size:var(--size-3xs);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.rail-name,.rail-email,.rail-plan,.rail-upgrade{min-height:1lh}.rail-email{color:var(--colour-rail-ink-soft)}.rail-plan{letter-spacing:.06em;text-transform:uppercase;font-weight:var(--weight-bold);color:var(--colour-rule-gold)}.rail-upgrade{font-size:var(--size-3xs)}html:root .rail-upgrade a{color:var(--colour-rule-gold);text-decoration:underline;text-underline-offset:.15em}.rail-nav-title{margin:0 0 .375rem;font-size:var(--size-3xs);font-weight:var(--weight-bold);letter-spacing:.08em;text-transform:uppercase;color:var(--colour-rail-ink-faint)}.rail-nav>ul{list-style:none;margin:0;padding:0}html:root .rail-nav a{display:block;padding:var(--space-xs) .625rem;border-left:4px solid transparent;font-size:var(--size-xs);font-weight:var(--weight-bold);color:var(--colour-on-dark)}html:root .rail-nav a[aria-current=page]{background:var(--colour-accent);border-left-color:var(--colour-rule-gold);color:var(--colour-surface)}@media(hover:hover){html:root .rail-nav a:hover{color:var(--colour-surface);border-left-color:var(--colour-rule-gold)}html:root .rail-nav a:not([aria-current=page]):hover{background:var(--colour-rail-line)}}.rail-meters{margin:.3125rem 0 var(--space-xs);padding:0 0 0 .625rem;border-left:1px solid var(--colour-rail-line);list-style:none}.rail-meter{margin-bottom:.375rem}.rail-meter-track,.rail-meter-fill{display:block}.rail-meter-head{display:flex;justify-content:space-between;gap:.375rem;font-size:var(--size-3xs);color:var(--colour-rail-ink-soft)}.rail-meter-value{font-weight:var(--weight-bold);color:var(--colour-on-dark)}.rail-meter-track{position:relative;height:var(--space-xs);margin-top:var(--space-3xs);background:var(--colour-rail-line);border:1px solid var(--colour-rail-line-strong)}.rail-meter-fill{height:100%;background:var(--meter-fill)}.rail-meter-fill[data-below=true]{background:var(--meter-fill-below)}.rail-meter-target{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--colour-rule-gold)}.rail-spacer{flex:1 1 auto}.rail-signout{margin:0}.rail-signout-button{width:100%;padding:var(--space-xs) .75rem;border:1px solid var(--colour-rail-line-strong);border-radius:var(--radius-sm);background:transparent;color:var(--colour-on-dark);font-family:inherit;font-size:var(--size-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);cursor:pointer}.app-topbar{background:var(--colour-surface);border-bottom:var(--border-hairline);font-family:var(--font-ui);font-size:var(--size-2xs)}.app-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);min-height:2.75rem;max-width:var(--width-app-content);margin-inline:auto;padding:0 1.375rem}.app-topbar-here{font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps)}.app-topbar-here .app-topbar-crumb{font-weight:var(--weight-regular);color:var(--colour-ink-faint)}.app-topbar-clock{color:var(--colour-ink-soft)}.app-topbar-clock strong{color:var(--colour-ink)}.app-banner{padding:var(--space-sm) var(--space-md);border-left:4px solid var(--colour-rule-gold);border-bottom:var(--border-hairline);background:var(--colour-warn-soft);color:var(--colour-warn);font-family:var(--font-ui);font-size:var(--size-2xs);font-weight:var(--weight-bold);margin-bottom:var(--space-lg)}.app-banner[data-state=good]{background:var(--colour-correct-soft);border-left-color:var(--colour-correct);color:var(--colour-correct)}.app-banner[data-closing]{overflow:hidden;padding-top:0;padding-bottom:0;margin-bottom:0;transition:height .16s ease-in}@media(prefers-reduced-motion:reduce){.app-banner[data-closing]{transition:none}}.app-banner-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center;margin-top:var(--space-xs)}.app-banner-actions a,.app-banner-actions button{font-family:var(--font-ui);font-size:var(--size-2xs);font-weight:var(--weight-bold);padding:var(--space-2xs) var(--space-sm);border:1px solid var(--colour-accent);border-radius:var(--radius-md);background:var(--colour-surface);color:var(--colour-accent);text-decoration:none;cursor:pointer}@media(hover:hover){.app-banner-actions a:hover,.app-banner-actions button:hover{background:var(--colour-accent-soft);border-color:var(--colour-accent-deep);color:var(--colour-accent-deep)}}@media(max-width:60rem){.app-banner-actions a,.app-banner-actions button{display:inline-flex;align-items:center;min-height:2.75rem}}.app-banner-actions .is-quiet{padding:var(--space-2xs) 0;border-color:transparent;background:transparent;color:var(--colour-accent);text-decoration:underline;text-decoration-color:var(--colour-rule-gold);text-decoration-thickness:2px;text-underline-offset:.2em}@media(hover:hover){.app-banner-actions .is-quiet:hover{background:transparent;color:var(--colour-accent-deep);text-decoration-color:var(--colour-citation)}}.exam-date{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.app-main{padding:var(--space-lg) 1.375rem var(--space-2xl);max-width:var(--width-app-content);margin-inline:auto}.app-main-study{max-width:var(--width-study)}html.has-banner .app-main{--banner-slot-reserve: 6.25rem;padding-top:calc(var(--space-lg) + var(--banner-slot-reserve))}.run-row{display:flex;flex-wrap:wrap;gap:var(--space-2xs) var(--space-sm);align-items:baseline;padding:var(--space-sm) 0;text-decoration:none;color:var(--colour-ink);background:none;border:0}@media(hover:hover){.run-row:hover{background:var(--colour-surface-sunk)}}.run-when{font-family:var(--font-mono);font-size:var(--size-2xs);color:var(--colour-ink-faint);min-width:6.5rem}.run-what{font-weight:var(--weight-bold)}.run-score{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}.run-score[data-verdict=pass]{color:var(--colour-correct)}.run-score[data-verdict=fail]{color:var(--colour-wrong)}.run-score[data-verdict=none]{color:var(--colour-ink-faint)}.app-foot{margin-top:var(--space-2xl);padding-top:var(--space-md);border-top:var(--border-hairline);font-family:var(--font-ui);font-size:var(--size-2xs);color:var(--colour-ink-faint)}.app-trademark{margin:0;max-width:var(--measure-text)}.app-foot-links{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-sm)}@media(max-width:60rem){.app-shell{grid-template-columns:minmax(0,1fr)}.app-rail{position:static;min-height:0;max-height:none;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-sm);border-right:0;border-bottom:4px solid var(--colour-accent)}.rail-brand{flex:1 1 auto;padding-bottom:0;border-bottom:0}.rail-identity{display:contents}.rail-identity-text{order:1;flex:0 0 100%;display:none;padding-top:var(--space-sm);border-top:1px solid var(--colour-rail-line)}.app-rail[data-rail-open] .rail-identity-text{display:flex}html:root .rail-upgrade a{display:inline-flex;align-items:center;min-height:2.75rem}.rail-toggle{display:inline-flex;align-items:center;min-height:2.75rem;padding:var(--space-2xs) var(--space-md);border:1px solid var(--colour-rail-line-strong);border-radius:var(--radius-sm);background:transparent;color:var(--colour-on-dark);font-family:inherit;font-size:var(--size-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-caps);cursor:pointer}.rail-toggle[aria-expanded=true]{background:var(--colour-accent);border-color:var(--colour-accent)}.rail-body{order:2;flex:0 0 100%;display:none;padding-top:var(--space-sm);border-top:1px solid var(--colour-rail-line)}.app-rail[data-rail-open] .rail-body{display:flex}.rail-spacer,.rail-meters{display:none}html.has-banner .app-main{--banner-slot-reserve: 12rem}.app-topbar,.app-banner{font-size:var(--size-sm)}}.rail-email{overflow-wrap:normal;word-break:normal}
