:root{--surface:#f6f7fa;--surface-raised:#fff;--ink:#1a2233;--ink-muted:#5b6472;--accent:#1b4e9c;--accent-hover:#163f80;--success:#1b7a55;--warning:#92600f;--danger:#b3382e;--font-heading:"Space Grotesk", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--text-caption:.8125rem;--text-body:1rem;--text-h4:1.25rem;--text-h3:1.5625rem;--text-h2:2rem;--text-h1:2.5rem;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-6:3rem;--space-8:4rem;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--motion-duration:.18s;--motion-easing:cubic-bezier(.23, 1, .32, 1);--blueprint-grid-size:24px;--blueprint-grid-opacity:.055;--touch-target:44px}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--text-body);color:var(--ink);background-color:var(--surface);background-image:linear-gradient(to right, color-mix(in srgb, var(--accent) calc(var(--blueprint-grid-opacity) * 100%), transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--accent) calc(var(--blueprint-grid-opacity) * 100%), transparent) 1px, transparent 1px);background-size:var(--blueprint-grid-size) var(--blueprint-grid-size);min-height:100vh;margin:0}.app-shell{min-height:100vh;padding:var(--space-2);justify-content:center;align-items:center;display:flex}@media (width>=768px){.app-shell{padding:var(--space-4)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width>=1024px){.app-shell{padding:var(--space-6)}}html,body{max-width:100%;overflow-x:hidden}.blueprint-card{background:var(--surface-raised);border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);border-radius:var(--radius-lg);width:100%;max-width:400px;padding:var(--space-4) var(--space-3);gap:var(--space-3);flex-direction:column;display:flex;position:relative}.blueprint-card__title{font-family:var(--font-heading);font-size:var(--text-h3);color:var(--ink);margin:0}.blueprint-card__footer{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--ink-muted);padding-top:var(--space-2);border-top:1px solid color-mix(in srgb, var(--ink) 10%, transparent);margin:0}.blueprint-card__mark{border:2px solid var(--accent);opacity:.55;width:14px;height:14px;position:absolute}.blueprint-card__mark--tl{border-bottom:0;border-right:0;top:-1px;left:-1px}.blueprint-card__mark--tr{border-bottom:0;border-left:0;top:-1px;right:-1px}.blueprint-card__mark--bl{border-top:0;border-right:0;bottom:-1px;left:-1px}.blueprint-card__mark--br{border-top:0;border-left:0;bottom:-1px;right:-1px}.alert{font-family:var(--font-body);font-size:var(--text-body);padding:var(--space-2);border-radius:var(--radius-md);background:var(--surface);border-left:3px solid}.alert--danger{color:var(--danger)}.alert--warning{color:var(--warning)}.alert--success{color:var(--success)}.btn{font-family:var(--font-body);font-size:var(--text-body);min-height:var(--touch-target);padding:0 var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--motion-duration) var(--motion-easing);border:1px solid #0000;font-weight:500}.btn:disabled{cursor:not-allowed;opacity:.6}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--ghost{color:var(--accent);border-color:var(--accent);background:0 0}.btn--ghost:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 8%, transparent)}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.checkbox{align-items:center;gap:var(--space-1);display:flex}.checkbox__input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex:0 0 18px;margin:0;position:relative}.checkbox__input:before{content:"";position:absolute;inset:-13px}.checkbox__input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checkbox__label{font-family:var(--font-body);font-size:var(--text-body);color:var(--ink);cursor:pointer}.field{flex-direction:column;display:flex}.field__label{font-family:var(--font-body);font-size:var(--text-caption);color:var(--ink);margin-bottom:var(--space-1);font-weight:500}.field__input{font-family:var(--font-body);font-size:var(--text-body);min-height:var(--touch-target);padding:0 var(--space-2);color:var(--ink);background:var(--surface-raised);border:1px solid var(--ink-muted);border-radius:var(--radius-md);width:100%}.field__input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field__input[aria-invalid=true]{border-color:var(--danger)}.field__error{font-family:var(--font-body);font-size:var(--text-caption);color:var(--danger);margin:0;line-height:0}.field__error:not(:empty){margin-top:var(--space-1);line-height:normal}.field--password .field__control{align-items:stretch;gap:var(--space-1);display:flex}.field--password .field__input{flex:1}.field__toggle{min-width:var(--touch-target)}.login-form{gap:var(--space-2);flex-direction:column;display:flex}.login-form__link{font-size:var(--text-caption);color:var(--accent);min-height:var(--touch-target);align-self:flex-start;align-items:center;display:inline-flex}.login-form__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=767.98px){.login-form__link{min-width:var(--touch-target)}}.placeholder__text{font-size:var(--text-body);color:var(--ink);margin:0}.placeholder__note{font-family:var(--font-mono);font-size:var(--text-caption);color:var(--warning);margin:0}.placeholder__link{color:var(--accent);min-height:var(--touch-target);align-items:center;display:inline-flex}.placeholder__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
