:root{color-scheme:light;--jf-ink:#233128;--jf-muted:#626b64;--jf-paper:#fffef9;--jf-page:#f3f4ef;--jf-cover:#327d6b;--jf-line:#e7e9e2;--jf-soft:#eef0e6;--jf-accent:#28735f}*{box-sizing:border-box}body{margin:0;color:var(--jf-ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--jf-page)}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #657642;outline-offset:4px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:disabled{opacity:.5;cursor:not-allowed}[hidden]{display:none!important}.contact-card{max-width:440px;margin:0 auto;background:var(--jf-paper);min-height:100svh;overflow:hidden}.cover{position:relative;aspect-ratio:2/1;height:auto;background:var(--jf-cover);display:grid;place-items:center;color:#45513e;overflow:hidden}.cover img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover}.cover-placeholder{font:12px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.03em}.card-body{padding:0 26px 24px}.identity-top{display:flex;justify-content:space-between;align-items:flex-end;position:relative;margin-top:-50px;margin-bottom:18px;gap:20px}.portrait{width:104px;height:104px;flex-shrink:0;border:5px solid var(--jf-paper);border-radius:50%;background:var(--jf-soft);color:var(--jf-accent);display:grid;place-items:center;font:500 30px/1 system-ui;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover}.card-name{font-size:32px;line-height:1.15;letter-spacing:-.045em;font-weight:650;margin:0 0 10px}.card-title{font-size:15px;line-height:1.5;color:var(--jf-muted);margin:0;max-width:320px}.card-org{font-size:15px;line-height:1.5;color:var(--jf-muted);margin:0}.contact-links{margin-top:29px;display:flex;flex-direction:column}.contact-link{min-height:62px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--jf-line);padding:10px 0}.contact-link:last-child{border:0}.contact-link:hover .contact-label{text-decoration:underline;text-underline-offset:4px}.contact-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--jf-soft);color:var(--jf-accent);font:600 14px system-ui}.contact-label{flex:1;min-width:0;font-size:15px;font-weight:500;overflow-wrap:anywhere}.contact-arrow{font-size:18px;color:var(--jf-muted);padding-left:4px}.actions{padding-top:27px}.save{background:var(--jf-accent);color:#fff;border:0;border-radius:999px;min-height:56px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;font-size:16px;font-weight:600;cursor:pointer}.save:hover{background:#205d4d}.save-help{margin:10px 0 0;text-align:center;font-size:12px;color:var(--jf-muted)}.notice{padding:10px 12px;margin:18px 0 0;background:var(--jf-soft);border-radius:8px;font-size:12px;color:var(--jf-muted)}.status{font-size:13px;line-height:1.5;color:var(--jf-muted);margin:0}.status:not(:empty){margin-top:12px}.home-page{background:white;color:#252525;font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;padding:24px;min-height:100svh}.home-main{max-width:540px;margin:40px 0 0}.home-name{font:inherit;margin:0 0 9px}.home-role{margin:0 0 24px}.home-role a{text-decoration:underline;text-underline-offset:3px}.home-links{display:flex;flex-direction:column;align-items:flex-start;gap:0}.home-links a{display:flex;align-items:center;min-height:44px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.home-links a:hover{text-decoration-style:dotted}@media(min-width:600px){.contact-card{margin:48px auto;min-height:0;border-radius:26px;box-shadow:0 6px 42px #2431270a;border:1px solid var(--jf-line)}.card-body{padding:0 30px 16px}.home-page{padding:28px 32px}.home-links a{min-height:32px}}@media(max-width:359px){.identity-top{margin-top:-40px}.card-body{padding-left:22px;padding-right:22px}.card-name{font-size:30px}.card-title{font-size:14px}.identity-top{margin-bottom:15px}.contact-links{margin-top:22px}}@media(prefers-reduced-motion:no-preference){.save{transition:background .15s ease}}

.physical-card{margin-top:24px;text-align:center}
.card-flip{display:block;width:100%}
.card-flip summary{display:block;list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.card-flip summary::-webkit-details-marker{display:none}
.card-flip summary:focus-visible{outline:3px solid #31836f;outline-offset:6px;border-radius:5px}
.card-flip summary{perspective:1400px}
.card-flip-inner{display:block;position:relative;aspect-ratio:1.67;transform-style:preserve-3d;transition:transform .6s ease}
.card-face{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:fill;border-radius:5px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 3px 12px #0002}
.card-back{transform:rotateY(180deg)}
.card-flip[open] .card-flip-inner{transform:rotateY(180deg)}
.card-flip .show-front{display:none}
.card-flip[open] .show-back{display:none}
.card-flip[open] .show-front{display:inline}
.flip-hint{display:block;margin-top:12px;color:var(--jf-accent);font-size:13px;font-weight:600}

.card-welcome{padding:0;margin:0;border:0;background:transparent;color:white;width:100vw;height:100dvh;max-width:none;max-height:none;overflow:hidden}
.card-welcome::backdrop{background:rgb(18 31 27 / .78);backdrop-filter:blur(5px);transition:background .7s ease,backdrop-filter .7s ease}
.card-welcome.is-landing::backdrop{background:transparent;backdrop-filter:blur(0)}
body.welcome-open{overflow:hidden}
.welcome-content{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-align:center}
.welcome-card{display:block;padding:0;border:0;background:transparent;cursor:pointer;perspective:1400px;width:min(712px,calc(100% - 48px),calc((100dvh - 48px)*1.67))}
.welcome-rotor{display:block;position:relative;aspect-ratio:1.67;transform-style:preserve-3d;transition:transform .6s ease}
.welcome-card.is-flipped .welcome-rotor{transform:rotateY(180deg)}
.welcome-face{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;border-radius:8px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 14px 50px #0003}
.welcome-contact{transform:rotateY(180deg)}
@media(prefers-reduced-motion:reduce){.welcome-rotor,.card-flip-inner{transition:none}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.card-welcome.is-landing .welcome-face{border-radius:5px;box-shadow:0 3px 12px #0002;transition:border-radius .7s ease,box-shadow .7s ease}

html{scrollbar-gutter:stable}

.share-actions{text-align:center;margin-top:8px}
.share-card{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:var(--jf-muted);font-size:13px;cursor:pointer}
.share-card:hover{color:var(--jf-accent);text-decoration:underline;text-underline-offset:3px}
.share-url{display:block;width:100%;margin:4px 0 0;padding:10px;border:1px solid var(--jf-line);border-radius:6px;background:white;color:var(--jf-ink);font:inherit;font-size:13px}

.share-divider{display:inline-block;height:20px;width:1px;vertical-align:middle;background:var(--jf-line);margin:0 4px}
.qr-share{padding:48px 24px 24px;border:0;border-radius:20px;background:var(--jf-paper);width:330px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto}
.qr-share::backdrop{background:rgb(18 31 27 / .65)}
.qr-share img{display:block;width:100%;height:auto;background:white}
.qr-close{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--jf-muted);cursor:pointer}
.qr-close:hover{color:var(--jf-ink)}
body.qr-open{overflow:hidden}
