.harbor{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(var(--hm-sky-top),var(--hm-sky-low) 78%)}.harbor img{position:absolute;display:block;max-inline-size:none;image-rendering:pixelated}.harbor__stars{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:2px;block-size:2px;opacity:var(--hm-star);background:#fff;box-shadow:10vw 10vh #fff,22vw 24vh #cfe8ff,36vw 8vh #fff,50vw 18vh #ffe9a8,64vw 6vh #fff,76vw 26vh #cfe8ff,92vw 14vh #fff,6vw 40vh #ffe9a8,28vw 46vh #fff,58vw 38vh #cfe8ff,86vw 44vh #fff,18vw 60vh #cfe8ff,44vw 64vh #fff,70vw 56vh #ffe9a8}.harbor__sun,.harbor__moon{inset-block-start:11%;inset-inline-end:9%}.harbor__sun{opacity:var(--hm-sun)}.harbor__moon{opacity:var(--hm-moon)}.harbor__cloud{opacity:var(--hm-cloud);animation:harbor-drift 70s ease-in-out infinite alternate}.harbor__cloud--a{inset-block-start:9%;inset-inline-start:6%}.harbor__cloud--b{inset-block-start:30%;inset-inline-end:4%;animation-duration:90s;animation-direction:alternate-reverse}.harbor__cloud--c{inset-block-start:52%;inset-inline-start:3%;animation-duration:56s}.harbor__gull--a{inset-block-start:20%;inset-inline-start:18%;animation:harbor-glide 9s ease-in-out infinite alternate}.harbor__gull--b{inset-block-start:16%;inset-inline-end:22%;animation:harbor-glide 7s ease-in-out -3s infinite alternate}.harbor__isle{position:absolute;inset-block-end:104px;inset-inline-end:4%;inline-size:128px;block-size:172px}.harbor__isle img{inset-block-end:0;inset-inline-start:0}.harbor__isle .harbor__light{inset-block-end:64px;inset-inline-start:40px}.harbor__sea{position:absolute;inset:auto 0 0;block-size:120px;background:linear-gradient(var(--hm-sea),var(--hm-sea-deep));border-block-start:4px solid color-mix(in srgb,#fff 45%,var(--hm-sea))}.harbor__sea:before{content:"";position:absolute;inset:16px 4% auto;block-size:3px;background:repeating-linear-gradient(90deg,color-mix(in srgb,#fff 45%,var(--hm-sea)) 0 26px,transparent 26px 74px);opacity:.7}.harbor__boat{inset-block-end:66px;inset-inline-start:4%;animation:harbor-bob 4.2s ease-in-out infinite}.harbor__buoy{inset-block-end:54px;inset-inline-start:24%;animation:harbor-bob 3.2s ease-in-out -1.4s infinite}@keyframes harbor-drift{to{translate:60px 0}}@keyframes harbor-glide{to{translate:40px -12px}}@keyframes harbor-bob{50%{translate:0 4px;rotate:2deg}}@media(max-width:760px){.harbor__sea{block-size:84px}.harbor__isle,.harbor__buoy,.harbor__cloud--c{display:none}.harbor__boat{inset-block-end:40px;inline-size:80px;block-size:44px}.harbor__sun,.harbor__moon{inline-size:64px;block-size:64px}}@media(prefers-reduced-motion:reduce){.harbor img{animation:none}}.pf-page{--surface-raised: var(--hm-paper);--surface-sunken: var(--hm-paper-deep);--border-strong: var(--hm-line);--accent: var(--hm-sail);--accent-contrast: #fff;--hm-accent-deep: var(--hm-sail-deep);position:relative;z-index:1;max-inline-size:980px;min-block-size:calc(100dvh - 140px);margin-inline:auto;padding:var(--space-6) var(--space-4) 140px}.pf-loading{display:grid;place-items:center;gap:var(--space-3);min-block-size:50vh;color:var(--hm-sky-text)}.pf{display:grid;gap:var(--space-4);animation:auth-rise-in .5s cubic-bezier(.2,.8,.2,1) both}.pf-pass{filter:drop-shadow(0 8px 0 var(--hm-sail-deep))}.pf-pass__ticket{--stub: 168px;display:grid;grid-template-columns:minmax(0,1fr) var(--stub);overflow:hidden;background:var(--hm-paper);border:3px solid var(--hm-line);border-radius:16px;mask:radial-gradient(circle 13px at calc(100% - var(--stub)) 0,#0000 97%,#000) top / 100% 51% no-repeat,radial-gradient(circle 13px at calc(100% - var(--stub)) 100%,#0000 97%,#000) bottom / 100% 51% no-repeat}.pf-pass__main{display:grid;align-content:start;min-inline-size:0;padding-block-end:var(--space-4)}.pf-pass__bar{display:flex;justify-content:space-between;gap:var(--space-3);margin:0;padding:10px 20px;font:10px/1.4 "Press Start 2P",ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:#ffe7b0;background:var(--hm-sail-deep)}.pf-pass__body{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-4) 20px 0}.pf-pass__who{display:grid;gap:4px;min-inline-size:0}.pf-pass__label{font:9px/1.4 "Press Start 2P",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--hm-sail)}.pf-pass__name{margin:0;font:700 clamp(24px,4vw,34px) / 1.1 "Sora",ui-sans-serif,system-ui,sans-serif;color:var(--text-primary);overflow-wrap:anywhere}.pf-pass__handle{margin:0;font:700 15px/1.3 Silkscreen,ui-monospace,monospace;color:var(--hm-pink)}.pf-pass__pick{justify-self:start;padding:6px 10px;font:700 var(--text-size-xs) / 1.3 inherit;color:var(--accent);text-align:start;cursor:pointer;background:color-mix(in srgb,var(--accent) 10%,transparent);border:2px dashed color-mix(in srgb,var(--accent) 55%,transparent);border-radius:10px}.pf-pass__fields{display:flex;flex-wrap:wrap;gap:8px 22px;margin:8px 0 0}.pf-pass__fields dt{font:8px/1.4 "Press Start 2P",ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.pf-pass__fields dd{margin:4px 0 0;font-weight:700;color:var(--text-primary)}.pf-pass__fields a{color:var(--hm-sail);text-decoration-thickness:2px;text-underline-offset:3px}.pf-pass__email{font-weight:600;overflow-wrap:anywhere}.pf-pass__stub{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 12px;text-align:center;background:var(--hm-paper-deep);border-inline-start:3px dashed var(--hm-line)}.pf-pass__gates{display:flex;gap:8px}.pf-pass__gates img{inline-size:40px;block-size:40px;image-rendering:pixelated;opacity:.35;filter:grayscale(1)}.pf-pass__gates img.is-on{opacity:1;filter:none}.pf-pass__stamp{padding:5px 7px;font:8px/1.5 "Press Start 2P",ui-monospace,monospace;text-transform:uppercase;color:var(--hm-pink);border:2px solid currentColor;border-radius:4px;rotate:-5deg}.pf-pass__barcode{align-self:stretch;block-size:34px;margin-block-start:auto;background:repeating-linear-gradient(90deg,var(--hm-line) 0 2px,transparent 2px 4px,var(--hm-line) 4px 7px,transparent 7px 9px,var(--hm-line) 9px 10px,transparent 10px 13px)}.pf-porthole{position:relative;flex:none;padding:12px;border-radius:50%;background:radial-gradient(circle,#ffd27a 58%,var(--hm-brass) 62%,#8a5a12 74%);box-shadow:0 0 0 3px #5a3a0c,inset 0 0 0 2px #fff3c9}.pf-porthole:before{content:"";position:absolute;inset:3px;border-radius:50%;background:radial-gradient(circle 3.5px at 50% 3px,#5a3a0c 98%,#0000),radial-gradient(circle 3.5px at 50% calc(100% - 3px),#5a3a0c 98%,#0000),radial-gradient(circle 3.5px at 3px 50%,#5a3a0c 98%,#0000),radial-gradient(circle 3.5px at calc(100% - 3px) 50%,#5a3a0c 98%,#0000)}.pf-porthole .pf-avatar{border:3px solid #5a3a0c;border-radius:50%;background:radial-gradient(circle at 50% 35%,var(--hm-sky-low),var(--hm-sky-top));animation:pf-bob 3.2s ease-in-out infinite}@media(max-width:640px){.pf-pass__ticket{grid-template-columns:minmax(0,1fr);mask:none}.pf-pass__body{flex-direction:column;text-align:center}.pf-pass__who{justify-items:center}.pf-pass__fields{justify-content:center}.pf-pass__pick{justify-self:center;text-align:center}.pf-pass__stub{flex-direction:row;flex-wrap:wrap;justify-content:center;border-inline-start:0;border-block-start:3px dashed var(--hm-line)}.pf-pass__barcode{flex-basis:100%;block-size:24px}}.pf-avatar{display:grid;place-items:center;flex:none;overflow:hidden;background:var(--surface-sunken);border:3px solid var(--border-strong);border-radius:18px}.pf-avatar img{inline-size:84%;block-size:84%;object-fit:contain;image-rendering:pixelated}.pf-avatar img.is-bust{inline-size:100%;block-size:100%}.pf-avatar__initial{font-family:"Press Start 2P",ui-monospace,monospace;color:var(--accent)}.pf-ring{display:grid;place-items:center;padding:12px;border-radius:50%;background:conic-gradient(#e8443a 0 12.5%,#fff 0 25%,#e8443a 0 37.5%,#fff 0 50%,#e8443a 0 62.5%,#fff 0 75%,#e8443a 0 87.5%,#fff 0);box-shadow:0 0 0 3px var(--hm-wood-deep),inset 0 0 0 3px var(--hm-wood-deep)}.pf-ring .pf-avatar{border:3px solid var(--hm-wood-deep);border-radius:50%;background:radial-gradient(circle at 50% 35%,var(--hm-sky-low),var(--hm-sky-top))}.pf-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pf-tabs__tab{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-inline-size:0;padding:11px 10px 11px 26px;font:9px/1.4 "Press Start 2P",ui-monospace,monospace;text-transform:uppercase;color:var(--text-primary);cursor:pointer;background:var(--hm-paper-deep);border:3px solid var(--hm-line);border-radius:4px 12px 12px 4px;clip-path:polygon(14px 0,100% 0,100% 100%,14px 100%,0 50%);transition:translate .12s ease,background-color .14s ease}.pf-tabs__tab:before{content:"";position:absolute;inset-inline-start:12px;inset-block-start:50%;inline-size:7px;block-size:7px;margin-block-start:-3.5px;border-radius:50%;background:var(--hm-line)}.pf-tabs__tab img{flex:none;inline-size:18px;block-size:18px;object-fit:contain;image-rendering:pixelated}.pf-tabs__tab span{overflow-wrap:anywhere;text-align:center}.pf-tabs__tab:hover{translate:0 -2px}.pf-tabs__tab[aria-selected=true]{color:#fff;background:var(--hm-pink);translate:0 -3px}.pf-tabs__tab[aria-selected=true]:before{background:#fff}.pf-tabs__tab:focus-visible{outline:3px solid color-mix(in srgb,var(--hm-pink) 60%,transparent);outline-offset:2px}@media(max-width:560px){.pf-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}.pf-panel{display:grid;gap:var(--space-4);min-inline-size:0;animation:auth-in .28s cubic-bezier(.2,.8,.2,1) backwards}.pf-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:var(--space-4);align-items:start}.pf-profile{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:var(--space-5)}.pf-profile__fields{display:grid;gap:var(--space-4);min-inline-size:0}.pf-preview{position:sticky;inset-block-start:var(--space-5);display:grid;justify-items:center;gap:10px;padding:var(--space-4) var(--space-3);text-align:center;background:var(--hm-paper-deep);border:3px solid var(--hm-wood-deep);border-radius:12px}.pf-preview__name{max-inline-size:100%;font:700 16px/1.3 Sora,ui-sans-serif,system-ui,sans-serif;overflow-wrap:anywhere}.pf-preview__handle{font-family:Silkscreen,ui-monospace,monospace;font-size:12px;color:var(--hm-pink)}@media(max-width:720px){.pf-profile{grid-template-columns:minmax(0,1fr)}.pf-preview{position:static}}.pf-card{display:grid;gap:var(--space-4);padding:clamp(16px,3vw,26px);background:var(--hm-paper);border:3px solid var(--hm-line);border-radius:14px;box-shadow:0 6px 0 var(--hm-sail-deep);scroll-margin-block-start:90px}.pf-card__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-2) var(--space-4)}.pf-card__title{margin:0 0 6px;font-family:"Press Start 2P",ui-monospace,monospace;font-size:13px;line-height:1.5}.pf-card__lead{margin:0;font-size:var(--text-size-sm);color:var(--text-secondary)}.pf-form{display:grid;gap:var(--space-4)}.pf-form .auth-msg{margin:0}.pf-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.pf-row .auth-btn,.pf-empty__links .auth-btn{inline-size:auto}.pf-avatars,.pf-choice{display:grid;gap:var(--space-2);margin:0;padding:0;border:0;min-inline-size:0}.pf-avatars__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:12px}.pf-avatars__item{position:relative;display:grid;place-items:center;aspect-ratio:1;overflow:hidden;background:radial-gradient(circle at 50% 35%,var(--hm-sky-low),var(--hm-sky-top));border:5px solid var(--hm-brass);border-radius:50%;box-shadow:0 0 0 2px #5a3a0c,inset 0 0 0 2px #5a3a0c;cursor:pointer;transition:translate .12s ease,border-color .12s ease,box-shadow .12s ease}.pf-avatars__item input{position:absolute;opacity:0;pointer-events:none}.pf-avatars__item>img{inline-size:78%;block-size:78%;object-fit:contain;image-rendering:pixelated}.pf-avatars__item>img.is-bust{inline-size:100%;block-size:100%}.pf-avatars__item.is-on>img.is-bust{animation:none}.pf-avatars__group{grid-column:1 / -1;display:flex;align-items:center;gap:10px;margin:4px 0 -2px;font:9px/1.4 "Press Start 2P",ui-monospace,monospace;text-transform:uppercase;color:var(--text-secondary)}.pf-avatars__group:after{content:"";flex:1;border-block-start:2px dashed color-mix(in srgb,var(--hm-line) 45%,transparent)}.pf-avatars__group--exclusive{color:var(--hm-pink)}.pf-avatars__item .pf-avatar{inline-size:78%!important;block-size:78%!important;border-width:0;background:none}.pf-avatars__item:hover{translate:0 -2px}.pf-avatars__item.is-on{border-color:var(--hm-pink);box-shadow:0 0 0 3px var(--hm-line),0 0 0 7px color-mix(in srgb,var(--hm-pink) 25%,transparent);translate:0 -2px}.pf-avatars__item.is-on>img{animation:pf-bob 1.6s ease-in-out infinite}.pf-avatars__item:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--accent) 60%,transparent);outline-offset:2px}.pf-choice__options{display:inline-flex;flex-wrap:wrap;gap:6px;padding:4px;inline-size:fit-content;max-inline-size:100%;background:var(--surface-sunken);border:2px solid var(--border-strong);border-radius:12px}.pf-choice__options label{position:relative;padding:8px 14px;font-size:var(--text-size-sm);font-weight:700;color:var(--text-secondary);border-radius:8px;cursor:pointer;transition:background-color .14s ease,color .14s ease}.pf-choice__options input{position:absolute;opacity:0;pointer-events:none}.pf-choice__options label.is-on{color:var(--accent-contrast);background:var(--accent);box-shadow:0 3px 0 var(--hm-accent-deep)}.pf-choice__options label:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--accent) 60%,transparent);outline-offset:2px}.pf-input__at{font-family:"Press Start 2P",ui-monospace,monospace;font-size:13px;color:var(--hm-cyan)}.pf-input--plain{grid-template-columns:minmax(0,1fr)}.pf-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font:700 10px/1.2 Silkscreen,ui-monospace,monospace;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;color:var(--text-secondary);background:var(--surface-sunken);border:2px solid var(--border-strong);border-radius:8px}.pf-chip--ok{color:color-mix(in srgb,var(--hm-lime) 55%,var(--text-primary));border-color:color-mix(in srgb,var(--hm-lime) 60%,transparent);background:color-mix(in srgb,var(--hm-lime) 12%,var(--surface-raised))}.pf-chip--gold{margin-inline-start:8px;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,transparent);vertical-align:middle}.pf-chip--toggle{cursor:pointer}.pf-chip--toggle.is-on{color:var(--hm-cyan);border-color:color-mix(in srgb,var(--hm-cyan) 55%,transparent);background:color-mix(in srgb,var(--hm-cyan) 10%,var(--surface-raised))}.pf-chip--toggle:disabled{cursor:progress;opacity:.6}.pf-accounts{display:grid;gap:10px;margin:0;padding:0;list-style:none}.pf-account{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;background:var(--hm-paper-deep);border:2px solid var(--hm-line);border-radius:10px;transition:opacity .14s ease}.pf-account__actions{padding-inline-start:12px;border-inline-start:2px dashed color-mix(in srgb,var(--hm-line) 55%,transparent)}.pf-account[aria-busy=true]{opacity:.6}.pf-account__icon{inline-size:32px;block-size:32px;object-fit:contain;image-rendering:pixelated;justify-self:center}.pf-account__text{display:grid;gap:2px;min-inline-size:0}.pf-account__text b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-account__text small{font-size:var(--text-size-xs);color:var(--text-muted)}.pf-account__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 12px}@media(max-width:560px){.pf-account{grid-template-columns:36px minmax(0,1fr)}.pf-account__actions{grid-column:1 / -1;justify-content:flex-start;padding:8px 0 0;border-inline-start:0;border-block-start:2px dashed color-mix(in srgb,var(--hm-line) 55%,transparent)}}.pf-empty{display:grid;gap:var(--space-3);color:var(--text-secondary)}.pf-empty p{margin:0}.pf-empty__links{display:flex;flex-wrap:wrap;gap:var(--space-3)}.pf-empty__links img{image-rendering:pixelated}.pf-btn--ghost{inline-size:auto;padding:11px 18px;font-weight:700;font-size:var(--text-size-sm);background:var(--surface-sunken);border-color:var(--hm-line);box-shadow:0 4px 0 var(--hm-sail-deep)}.pf-btn--ghost:hover:not(:disabled){box-shadow:0 7px 0 var(--hm-sail-deep)}.pf-btn--danger{color:#fff;background:linear-gradient(180deg,#e2475f,#b8233b 60%);border-color:#7d1426;box-shadow:0 6px #7d1426}.pf-btn--danger:hover:not(:disabled){box-shadow:0 9px #7d1426,0 0 30px color-mix(in srgb,#e2475f 40%,transparent)}.pf-btn--danger:active:not(:disabled){box-shadow:0 1px #7d1426}.pf-btn--danger:disabled{cursor:not-allowed;opacity:.45;filter:grayscale(.4)}.pf-link--danger{color:color-mix(in srgb,#e0405a 72%,var(--text-primary))}.pf-mfa__setup{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.pf-mfa__qr{padding:8px;background:#fff;border:3px solid var(--border-strong);border-radius:14px;image-rendering:pixelated}.pf-mfa__manual{display:grid;gap:6px;min-inline-size:0;flex:1 1 200px}.pf-mfa__manual small{color:var(--text-secondary)}.pf-mfa__manual code{padding:8px 10px;font-size:13px;letter-spacing:.08em;overflow-wrap:anywhere;user-select:all;background:var(--surface-sunken);border:2px dashed var(--border-strong);border-radius:10px}.pf-danger{display:grid;gap:var(--space-3);padding:var(--space-4);background:color-mix(in srgb,#d1314a 6%,var(--surface-raised));border:2px solid color-mix(in srgb,#d1314a 45%,transparent);border-radius:16px}.pf-danger .auth-msg{margin:0}.pf-danger__title{margin:0;font-family:"Press Start 2P",ui-monospace,monospace;font-size:11px;line-height:1.5;color:color-mix(in srgb,#e0405a 72%,var(--text-primary))}@keyframes pf-bob{0%,to{translate:0 0}50%{translate:0 -4px}}@media(prefers-reduced-motion:reduce){.pf,.pf-panel,.pf-porthole .pf-avatar,.pf-avatars__item.is-on>img{animation:none}}
