@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/p/fonts/ibm-plex-mono-v20-latin-regular.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/p/fonts/ibm-plex-mono-v20-latin-700.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/p/fonts/ibm-plex-sans-v23-latin-regular.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/p/fonts/ibm-plex-sans-v23-latin-700.woff2) format("woff2")}:root{--color-nb-black: #0a0a0a;--color-nb-white: #fafafa;--color-nb-yellow: #ffe600;--color-nb-yellow-dark: #c4a000;--color-nb-yellow-pale: #fefce8;--color-nb-yellow-deep: #2e2100;--color-nb-lime: #b6ff00;--color-nb-lime-pale: #ecfccb;--color-nb-lime-deep: #0e2800;--color-nb-red: #ff2222;--color-nb-red-dark: #c81e1e;--color-nb-red-light: #ff6b6b;--color-nb-red-pale: #fee2e2;--color-nb-red-deep: #350000;--color-nb-blue: #1a6bff;--color-nb-blue-pale: #dbeafe;--color-nb-blue-deep: #0f2744;--color-nb-gray-100: #f0f0f0;--color-nb-gray-200: #d4d4d4;--color-nb-gray-300: #a0a0a0;--color-nb-gray-400: #707070;--color-nb-gray-500: #404040;--color-nb-gray-600: #2a2a2a;--color-nb-gray-700: #1c1c1c;--color-nb-gray-800: #111111;--font-nb-mono: "IBM Plex Mono", monospace;--font-nb-sans: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif}:root{--nb-surface-0: var(--color-nb-white);--nb-surface-1: var(--color-nb-gray-100);--nb-text-primary: var(--color-nb-black);--nb-text-secondary: var(--color-nb-gray-500);--nb-text-muted: var(--color-nb-gray-400);--nb-text-danger: var(--color-nb-red-dark);--nb-border-color: var(--color-nb-black);--nb-border-width: 2px;--nb-card-shadow: var(--color-nb-black);--nb-shadow-1: 1px 1px 0 var(--nb-card-shadow);--nb-shadow-2: 2px 2px 0 var(--nb-card-shadow);--nb-shadow-3: 3px 3px 0 var(--nb-card-shadow);--nb-shadow-4: 4px 4px 0 var(--nb-card-shadow);--nb-shadow-5: 5px 5px 0 var(--nb-card-shadow);--nb-shadow-6: 6px 6px 0 var(--nb-card-shadow);--nb-accent-primary: var(--color-nb-yellow);--nb-accent-success: var(--color-nb-lime);--nb-accent-danger: var(--color-nb-red);--nb-danger-fill: var(--color-nb-red-dark);--nb-on-danger: var(--color-nb-gray-100);--nb-accent-info: var(--color-nb-blue);--nb-alert-info-bg: var(--color-nb-blue-pale);--nb-alert-info-border: var(--color-nb-blue);--nb-alert-success-bg: var(--color-nb-lime-pale);--nb-alert-success-border: var(--color-nb-lime);--nb-alert-warning-bg: var(--color-nb-yellow-pale);--nb-alert-warning-border: var(--color-nb-yellow-dark);--nb-alert-danger-bg: var(--color-nb-red-pale);--nb-alert-danger-border: var(--color-nb-red);--nb-font-mono: var(--font-nb-mono);--nb-font-sans: var(--font-nb-sans);--nb-font-size-base: .875rem;--nb-font-size-sm: .75rem;--nb-font-size-lg: 1rem;--nb-font-size-xl: 1.25rem;--nb-letter-spacing-wide: .05em;--nb-letter-spacing-wider: .1em;--nb-gap-xs: .25rem;--nb-gap-sm: .5rem;--nb-gap-md: 1rem;--nb-gap-lg: 1.5rem;--nb-gap-xl: 2rem;--nb-gap-2xl: 3rem}@media(prefers-color-scheme:dark){:root{--nb-surface-0: var(--color-nb-gray-800);--nb-surface-1: var(--color-nb-gray-700);--nb-text-primary: var(--color-nb-white);--nb-text-secondary: var(--color-nb-gray-300);--nb-text-muted: var(--color-nb-gray-300);--nb-text-danger: var(--color-nb-red-light);--nb-border-color: var(--color-nb-white);--nb-card-shadow: color-mix(in srgb, var(--color-nb-white) 75%, transparent);--nb-alert-info-bg: var(--color-nb-blue-deep);--nb-alert-success-bg: var(--color-nb-lime-deep);--nb-alert-warning-bg: var(--color-nb-yellow-deep);--nb-alert-danger-bg: var(--color-nb-red-deep)}}*,*:before,*:after{box-sizing:border-box}html{color-scheme:light dark;font-family:var(--nb-font-mono);font-size:var(--nb-font-size-base);color:var(--nb-text-primary);background-color:var(--nb-surface-0);transition:background-color .15s ease,color .15s ease}body{margin:0;min-height:100dvh;background-color:var(--nb-surface-0);color:var(--nb-text-primary)}app-root{min-height:100dvh;display:block}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-3rem;left:var(--nb-gap-md);z-index:200;background-color:var(--nb-accent-primary);color:var(--color-nb-black);border:var(--nb-border-width) solid var(--nb-border-color);box-shadow:var(--nb-shadow-3);padding:.6rem 1rem;font-family:var(--nb-font-mono);font-weight:700;text-transform:uppercase;letter-spacing:var(--nb-letter-spacing-wide);text-decoration:none;transition:top .1s ease}.skip-link:focus-visible,.skip-link:focus{top:var(--nb-gap-md);outline:3px solid var(--nb-accent-info);outline-offset:2px}.page-shell{min-height:100dvh;background-color:var(--nb-surface-0);color:var(--nb-text-primary)}.page-shell--main:focus{outline:none}.page-shell__center{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--nb-gap-lg);padding:var(--nb-gap-xl)}.page-shell__nav{width:min(100%,clamp(32rem,38vw,52rem));display:flex}.page-shell__nav--end{justify-content:flex-end}.page{width:min(100%,32rem);background-color:var(--nb-surface-0);border:var(--nb-border-width) solid var(--nb-border-color);box-shadow:var(--nb-shadow-6);padding:var(--nb-gap-xl);display:flex;flex-direction:column;gap:var(--nb-gap-md)}.page--form{width:min(100%,clamp(32rem,38vw,52rem))}.page__eyebrow{margin-bottom:var(--nb-gap-sm)}.page__mark{display:inline-block;padding:.1em .45em;border:var(--nb-border-width) solid var(--nb-border-color);box-shadow:var(--nb-shadow-2);font-size:var(--nb-font-size-lg);font-weight:800;line-height:1.3}.page__title{margin:0;font-size:clamp(var(--nb-font-size-xl),4vw,2rem);font-weight:800;line-height:1.1;letter-spacing:var(--nb-letter-spacing-wider);text-transform:uppercase}.page__subtitle{margin:0;font-size:var(--nb-font-size-sm);color:var(--nb-text-secondary);text-transform:uppercase;letter-spacing:var(--nb-letter-spacing-wide)}.page__text{margin:0;font-family:var(--nb-font-sans);font-size:var(--nb-font-size-base);line-height:1.6;color:var(--nb-text-primary)}.page__text--muted{color:var(--nb-text-secondary);border-left:3px solid var(--nb-accent-primary);padding-left:.75rem}.page__details{margin:0;font-family:var(--nb-font-sans);padding:.75rem 1rem;border:var(--nb-border-width) solid var(--nb-border-color);background-color:var(--nb-surface-1);box-shadow:var(--nb-shadow-2);line-height:1.6}.page__details strong{font-weight:800}.page__actions{display:flex;flex-wrap:wrap;gap:var(--nb-gap-sm)}.alert{border:var(--nb-border-width) solid var(--nb-border-color);padding:var(--nb-gap-sm) var(--nb-gap-md);display:flex;flex-direction:column;gap:var(--nb-gap-xs);box-shadow:var(--nb-shadow-3)}.page .alert{box-shadow:var(--nb-shadow-2)}.alert__title{margin:0;font-size:var(--nb-font-size-sm);font-weight:700;letter-spacing:var(--nb-letter-spacing-wide);text-transform:uppercase}.alert__body{margin:0;font-family:var(--nb-font-sans);color:var(--nb-text-secondary);line-height:1.5}.alert__action-row{display:flex;flex-wrap:wrap;gap:var(--nb-gap-sm);margin-top:var(--nb-gap-xs)}.alert--error{background-color:var(--nb-alert-danger-bg);border-color:var(--nb-alert-danger-border)}.alert--success{background-color:var(--nb-alert-success-bg);border-color:var(--nb-alert-success-border)}.alert--info{background-color:var(--nb-alert-info-bg);border-color:var(--nb-alert-info-border)}.alert--warning{background-color:var(--nb-alert-warning-bg);border-color:var(--nb-alert-warning-border)}.session-warning-banner{position:fixed;top:var(--nb-gap-md);left:50%;transform:translate(-50%);z-index:100;width:min(100%,32rem);padding:0 var(--nb-gap-md)}.session-warning-banner__alert{box-shadow:none}.session-warning-banner--compact{left:auto;right:var(--nb-gap-md);transform:none;width:auto;padding:0}.session-warning-banner__status{display:flex;align-items:center;gap:var(--nb-gap-sm);padding:var(--nb-gap-xs) var(--nb-gap-sm);color:var(--nb-text-secondary);background:var(--nb-surface-0);border:1px solid var(--nb-text-muted);font-size:var(--nb-font-size-sm)}.session-warning-banner__logout{padding:0;color:inherit;background:none;border:0;font:inherit;text-decoration:underline;cursor:pointer}.session-warning-banner__logout:disabled{cursor:wait;opacity:.5}.form{display:flex;flex-direction:column;gap:var(--nb-gap-lg)}.form__field{display:flex;flex-direction:column;gap:var(--nb-gap-xs)}.form__label{font-size:var(--nb-font-size-base);font-weight:700;text-transform:uppercase;letter-spacing:var(--nb-letter-spacing-wider);color:var(--nb-text-primary)}.form__label--required:after{content:" *";color:var(--nb-accent-danger)}.form__input,.form__input--readonly,.form__textarea{width:100%;font-family:var(--nb-font-mono);font-size:var(--nb-font-size-xl);color:var(--nb-text-primary);background-color:var(--nb-surface-0);border:var(--nb-border-width) solid var(--nb-border-color);border-radius:0;padding:.85rem 1rem;min-height:3.15rem;outline:none;transition:box-shadow .1s ease;box-shadow:var(--nb-shadow-2)}.form__input:focus,.form__input--readonly:focus,.form__textarea:focus{box-shadow:var(--nb-shadow-4)}.form__input:focus-visible,.form__textarea:focus-visible{outline:3px solid var(--nb-accent-info);outline-offset:2px}.form__input::placeholder,.form__textarea::placeholder{color:var(--nb-text-muted);font-style:italic}.form__input--readonly,.form__input[readonly]{background-color:var(--nb-surface-1);color:var(--nb-text-secondary);cursor:default}.form__input--error,.form__textarea--error{border-color:var(--nb-accent-danger);box-shadow:2px 2px 0 var(--nb-accent-danger)}.form__input--error:focus,.form__textarea--error:focus{box-shadow:4px 4px 0 var(--nb-accent-danger)}.form__input:disabled,.form__textarea:disabled{opacity:.5;cursor:not-allowed;background-color:var(--nb-surface-1)}.form__input--full{flex:1}.form__textarea{min-height:8rem;resize:vertical}.form__hint{font-size:var(--nb-font-size-base);color:var(--nb-text-muted);line-height:1.5}.form__error{display:flex;align-items:center;gap:var(--nb-gap-xs);font-size:var(--nb-font-size-base);color:var(--nb-text-danger);font-weight:700;letter-spacing:var(--nb-letter-spacing-wide);text-transform:uppercase}.form__error:before{content:"\2715";font-size:.6rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--nb-gap-xs);border:var(--nb-border-width) solid var(--nb-border-color);border-radius:0;background:transparent;color:var(--nb-text-primary);font-family:var(--nb-font-mono);font-size:var(--nb-font-size-lg);font-weight:700;letter-spacing:var(--nb-letter-spacing-wider);line-height:1.4;text-transform:uppercase;text-decoration:none;cursor:pointer;padding:.7rem 1.35rem;transition:transform .08s ease,box-shadow .08s ease,background-color .08s ease}.btn:focus-visible{outline:3px solid var(--nb-accent-info);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none;transform:none!important;box-shadow:var(--nb-shadow-1)!important}.btn--primary{background-color:var(--nb-accent-primary);color:var(--color-nb-black);box-shadow:var(--nb-shadow-4)}.btn--primary:hover:not(:disabled){transform:translate(2px,2px);box-shadow:var(--nb-shadow-2)}.btn--primary:active:not(:disabled){transform:translate(4px,4px);box-shadow:var(--nb-shadow-1)}.btn--secondary{background-color:var(--nb-surface-0);color:var(--nb-text-primary);box-shadow:var(--nb-shadow-3)}.btn--secondary:hover:not(:disabled){transform:translate(2px,2px);box-shadow:var(--nb-shadow-1);background-color:var(--nb-surface-1)}.btn--secondary:active:not(:disabled){transform:translate(3px,3px);box-shadow:none}.btn--copied{background-color:var(--nb-accent-success);color:var(--color-nb-black);box-shadow:var(--nb-shadow-4)}.btn--copied:hover:not(:disabled){transform:translate(2px,2px);box-shadow:var(--nb-shadow-2)}.btn--copied:active:not(:disabled){transform:translate(4px,4px);box-shadow:var(--nb-shadow-1)}.btn--danger{background-color:var(--nb-danger-fill);color:var(--nb-on-danger);box-shadow:var(--nb-shadow-3)}.btn--danger:hover:not(:disabled){transform:translate(2px,2px);box-shadow:var(--nb-shadow-1)}.btn--small{font-size:var(--nb-font-size-base);padding:.45rem .95rem}.btn.confirm-button{display:inline-grid;justify-items:center;gap:0;white-space:nowrap}.confirm-button>span{grid-area:1 / 1}.confirm-button__label--hidden{visibility:hidden}.btn.confirm-button--armed{background:var(--nb-accent-primary);color:var(--color-nb-black)}.btn--block{width:100%}.btn--link{display:inline;border:none;background:none;font-family:inherit;font-size:inherit;font-weight:700;color:var(--nb-text-primary);text-transform:none;letter-spacing:normal;padding:0;cursor:pointer;box-shadow:none;text-decoration:underline}.page-shell__wide{min-height:100dvh;display:flex;flex-direction:column;padding:var(--nb-gap-2xl) var(--nb-gap-xl);max-width:64rem;margin:0 auto;gap:var(--nb-gap-xl)}.portal-header{display:flex;flex-direction:column;gap:var(--nb-gap-sm)}.app-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:var(--nb-gap-lg)}.app-card{background-color:var(--nb-surface-0);border:var(--nb-border-width) solid var(--nb-border-color);box-shadow:var(--nb-shadow-5);transition:transform .08s ease,box-shadow .08s ease}.app-card:has(.app-card__link:hover){transform:translate(2px,2px);box-shadow:var(--nb-shadow-3)}.app-card:has(.app-card__link:active){transform:translate(4px,4px);box-shadow:var(--nb-shadow-1)}.app-card--yellow{border-top:4px solid var(--color-nb-yellow)}.app-card--lime{border-top:4px solid var(--color-nb-lime)}.app-card--red{border-top:4px solid var(--color-nb-red)}.app-card--blue{border-top:4px solid var(--color-nb-blue)}.app-card__link{display:flex;flex-direction:column;gap:var(--nb-gap-md);height:100%;padding:var(--nb-gap-lg);color:inherit;text-decoration:none}.app-card__link:focus-visible{outline:3px solid var(--nb-accent-info);outline-offset:2px}.app-card__link--disabled{opacity:.45;cursor:not-allowed}.app-card__content{display:contents}.app-card__body{flex:1;display:flex;flex-direction:column;gap:var(--nb-gap-xs)}.app-card__name{margin:0;font-size:var(--nb-font-size-xl);font-weight:800;letter-spacing:var(--nb-letter-spacing-wide);text-transform:uppercase}.app-card__external{margin-left:var(--nb-gap-xs);color:var(--nb-text-muted)}.app-card__description{margin:0;font-family:var(--nb-font-sans);font-size:var(--nb-font-size-base);color:var(--nb-text-secondary);line-height:1.6}.app-card__cta{align-self:flex-start;font-size:var(--nb-font-size-sm);font-weight:700;letter-spacing:var(--nb-letter-spacing-wide);text-transform:uppercase;color:var(--nb-text-primary);border-bottom:2px solid currentColor}.help__actions{margin-top:var(--nb-gap-md)}.help__footer{width:min(100%,clamp(32rem,38vw,52rem));text-align:center}.help__footer-text{margin:0;font-size:var(--nb-font-size-sm);color:var(--nb-text-secondary);line-height:1.6}.invite-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,26rem),1fr));gap:var(--nb-gap-lg);margin:0;padding:0;list-style:none}.invite-card{display:flex;flex-direction:column;gap:var(--nb-gap-md);padding:var(--nb-gap-lg);border:var(--nb-border-width) solid var(--nb-border-color);box-shadow:var(--nb-shadow-5);background:var(--nb-surface-0)}.invite-card__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--nb-gap-sm)}.invite-card__status{padding:.2rem .5rem;border:var(--nb-border-width) solid var(--nb-border-color);color:var(--color-nb-black);font-size:var(--nb-font-size-sm);font-weight:700}.invite-card__status--new{background:var(--nb-accent-primary)}.invite-card__status--claimed{background:var(--nb-accent-info);color:var(--color-nb-white)}.invite-card__status--used{background:var(--nb-accent-success)}.invite-card__status--expired{background:var(--color-nb-gray-300)}.invite-card__token{overflow-wrap:anywhere;font-weight:700}.invite-card__comment{margin:0;min-height:2.5rem;font-family:var(--nb-font-sans);font-size:var(--nb-font-size-lg);line-height:1.5}.invite-card__details{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--nb-gap-xs) var(--nb-gap-md);margin:0;color:var(--nb-text-secondary);font-size:var(--nb-font-size-sm)}.invite-card__details dt{font-weight:700;text-transform:uppercase}.invite-card__details dd{margin:0;overflow-wrap:anywhere}.avatar-page__stage{display:grid;grid-template-columns:minmax(8rem,16rem) minmax(0,1fr);gap:var(--nb-gap-lg);align-items:end;padding:var(--nb-gap-md);border:var(--nb-border-width) solid var(--nb-border-color);background:var(--nb-surface-1);box-shadow:var(--nb-shadow-4)}.avatar-page__image{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border:4px solid var(--nb-border-color);background:var(--nb-surface-0);box-shadow:var(--nb-shadow-5)}.avatar-page__status{min-width:0;display:flex;flex-direction:column;gap:var(--nb-gap-sm)}.avatar-page__badge{align-self:flex-start;padding:.25rem .55rem;border:var(--nb-border-width) solid var(--nb-border-color);background:var(--nb-accent-primary);color:var(--color-nb-black);font-size:var(--nb-font-size-sm);font-weight:700;letter-spacing:var(--nb-letter-spacing-wide);text-transform:uppercase}.avatar-page__key{overflow-wrap:anywhere;color:var(--nb-text-secondary);font-size:var(--nb-font-size-sm)}.avatar-page__file{font-size:var(--nb-font-size-base)}@media(max-width:640px){.page-shell__center{padding:var(--nb-gap-md);align-items:flex-start}.page-shell__wide{padding:var(--nb-gap-lg) var(--nb-gap-md)}.app-list{grid-template-columns:1fr}.page{padding:var(--nb-gap-lg);box-shadow:var(--nb-shadow-3)}.alert__action-row,.page__actions{flex-direction:column}.alert__action-row>*,.page__actions>*,.btn--small{width:100%}.avatar-page__stage{grid-template-columns:1fr;align-items:stretch}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
