:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#080d17;color:#fff}button,a{font:inherit}button{cursor:pointer}a{color:inherit}
.page{min-height:100vh;display:grid;place-items:center;padding:36px 16px;position:relative;isolation:isolate;background:#08101e;overflow:hidden}
.theme-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.tone{position:absolute;inset:0;opacity:0;transition:opacity .65s cubic-bezier(.22,.7,.25,1)}
.tone-space{background:radial-gradient(ellipse at 78% 10%,#244c79 0,transparent 48%),linear-gradient(145deg,#071222,#172b4b 65%,#070d19)}
.tone-rose{background:radial-gradient(ellipse at 12% 10%,#964a80 0,transparent 51%),linear-gradient(140deg,#201225,#5b3054,#211526)}
.tone-graphite{background:radial-gradient(ellipse at 80% 5%,#48525d 0,transparent 50%),linear-gradient(140deg,#161b22,#323b46,#161a20)}
.theme-space .tone-space,.theme-rose .tone-rose,.theme-graphite .tone-graphite{opacity:1}
.page::before{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background-image:radial-gradient(1px 1px at 10% 15%,#fff9 97%,transparent),radial-gradient(1px 1px at 72% 26%,#fff7 97%,transparent),radial-gradient(1px 1px at 48% 80%,#fffb 97%,transparent),radial-gradient(2px 2px at 85% 70%,#fff5 97%,transparent),radial-gradient(1px 1px at 32% 49%,#fff6 97%,transparent);background-size:280px 300px;opacity:.48}
.theme-space{--accent:#bbdaff;--muted:#b5c9e2;--surface:#ffffff0c;--stroke:#ffffff26}
.theme-rose{--accent:#ffd5ef;--muted:#f4c8e1;--surface:#ffffff12;--stroke:#ffffff2a}
.theme-graphite{--accent:#eef3f8;--muted:#c4cdd5;--surface:#ffffff0d;--stroke:#ffffff29}
.card{position:relative;z-index:2;width:min(100%,410px);border:1px solid var(--stroke);background:linear-gradient(135deg,#ffffff17,#ffffff08);box-shadow:0 28px 85px #0006;backdrop-filter:blur(18px);border-radius:28px;padding:26px 26px 21px;transition:border-color .5s,box-shadow .5s}
.topline{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;letter-spacing:.14em;font-weight:750;text-transform:uppercase;transition:color .5s}.topline .dot{width:7px;height:7px;background:var(--accent);display:inline-block;border-radius:50%;margin-right:7px;box-shadow:0 0 15px var(--accent);transition:background-color .5s,box-shadow .5s}
.top-tools{display:flex;gap:8px;align-items:center;letter-spacing:0;text-transform:none}.home-link{text-decoration:none;border:1px solid var(--stroke);border-radius:9px;padding:8px 9px;font-size:11px;transition:background-color .2s}.home-link:hover{background:#ffffff1a}.bookmark{background:#ffffff11;border:1px solid var(--stroke);border-radius:9px;padding:7px 9px;color:#fff;font-size:11px;font-weight:650;display:flex;align-items:center;gap:5px;white-space:nowrap;transition:background-color .2s,border-color .4s}.bookmark:hover{background:#ffffff27}.bookmark[aria-pressed="true"]{background:#fff2}.bookmark-symbol{font-size:17px;line-height:1;color:var(--accent);transition:color .5s}
.avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;border:2px solid var(--stroke);display:block;margin:28px auto 16px}.identity{text-align:center;padding-top:28px;will-change:transform,opacity}.identity.with-photo{padding-top:0}.identity h1{font-size:clamp(25px,6vw,31px);line-height:1.15;font-weight:730;margin:0;letter-spacing:-.04em}.job{color:var(--accent);font-size:14px;font-weight:650;margin:10px 0 6px;transition:color .5s}.bio{color:var(--muted);font-size:13px;line-height:1.65;white-space:pre-line;margin:10px auto 0;max-width:330px;transition:color .5s}
.toggle{display:grid;grid-template-columns:1fr 1fr;position:relative;isolation:isolate;padding:4px;background:#0004;border:1px solid var(--stroke);border-radius:14px;gap:4px;margin:26px 0 20px;transition:border-color .5s}
.toggle::before{content:"";position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:calc((100% - 12px)/2);border-radius:10px;background:#ffffff24;box-shadow:0 3px 10px #0003;transform:translateX(0);transition:transform .37s cubic-bezier(.22,1,.36,1),background-color .45s,box-shadow .45s;pointer-events:none}
.toggle[data-active="personal"]::before{transform:translateX(calc(100% + 4px))}
.toggle button{position:relative;z-index:1;border:0;background:transparent;color:var(--muted);border-radius:10px;padding:11px 4px;font-weight:650;font-size:13px;transition:color .35s}.toggle button[aria-selected=true]{color:#fff}.toggle button:disabled{cursor:default}
.links{display:grid;gap:10px;margin-top:22px;will-change:transform,opacity}.link{background:var(--surface);border:1px solid var(--stroke);border-radius:13px;padding:14px 15px;text-decoration:none;display:flex;align-items:center;gap:13px;transition:background .3s,border-color .4s,transform .2s}.link:hover{background:#ffffff21;border-color:#ffffff55;transform:translateY(-1px)}.link .label{font-weight:610;font-size:14px;flex:1}.link .sub{color:var(--muted);font-size:11px;display:block;font-weight:400;margin-top:3px;transition:color .5s}.glyph{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--accent);transition:color .5s}.glyph svg{width:21px;height:21px;fill:currentColor}.chev{color:var(--muted);font-size:19px;transition:color .5s}
.actions{border-top:1px solid var(--stroke);margin-top:23px;padding-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:10px;transition:border-color .5s}.action{display:flex;justify-content:center;align-items:center;gap:8px;border:1px solid var(--stroke);border-radius:11px;background:#ffffff12;color:white;padding:12px 7px;font-size:12px;font-weight:640;text-decoration:none;transition:background-color .2s,border-color .4s}.action:hover{background:#ffffff27}.action svg{width:17px;height:17px}.small-footer{margin-top:21px;text-align:center;font-size:11px;color:var(--muted);transition:color .5s}.status-note{font-size:11px;text-align:center;color:var(--accent);margin:8px 0 0}.status-note:empty{display:none}
.dialog-backdrop{position:fixed;inset:0;background:#02050bd9;display:grid;place-items:center;padding:20px;z-index:10}.dialog-backdrop[hidden]{display:none}.dialog{width:min(100%,360px);padding:26px;background:#f7f9fd;color:#0c1a2e;border-radius:20px;text-align:center;box-shadow:0 20px 90px #0009}.dialog h2{margin:0 0 8px;font-size:20px}.dialog p{margin:0 0 18px;font-size:12px;color:#526178}.qr-canvas{width:232px;height:232px;background:white;display:flex;align-items:center;justify-content:center;padding:10px;margin:0 auto 18px;border-radius:9px}.qr-canvas img,.qr-canvas canvas{max-width:100%;height:auto}.dialog-buttons{display:flex;gap:8px}.dialog-buttons button{flex:1;border:1px solid #ccd6e2;background:#fff;padding:11px 4px;border-radius:10px;color:#203249;font-weight:650}.notice{font-size:13px;color:#f2d6a4;text-align:center;position:relative;z-index:2}
.home{max-width:940px;width:100%;text-align:center;position:relative;z-index:2}.eyebrow{font-size:12px;letter-spacing:.25em;color:#bdd6f1;margin-bottom:20px}.home h1{font-size:clamp(34px,8vw,55px);letter-spacing:-.05em;margin:0 0 12px}.home-intro{line-height:1.65;color:#bdd0e6;max-width:560px;margin:0 auto 24px}.home-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.home-cta a{display:inline-block;text-decoration:none;border:1px solid #ffffff60;padding:13px 20px;border-radius:12px;background:#ffffff23;font-weight:650;transition:background-color .2s}.home-cta a.secondary{background:#ffffff0e}.home-cta a:hover{background:#ffffff36}
.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:42px;text-align:left;align-items:start}.library-panel{background:#0d1930b8;border:1px solid #ffffff26;box-shadow:0 20px 60px #0002;border-radius:21px;padding:20px;backdrop-filter:blur(10px)}.library-heading{display:flex;align-items:center;gap:10px}.library-heading h2{font-size:19px;letter-spacing:-.025em;margin:0}.library-count{font-size:11px;border:1px solid #ffffff45;color:#bdd9f5;border-radius:20px;min-width:26px;text-align:center;padding:4px 7px}.library-caption{font-size:12px;color:#a9c1df;margin:8px 0 15px}.library-list{display:grid;gap:9px}.library-row{display:flex;align-items:center;border:1px solid #ffffff22;background:#ffffff0c;border-radius:12px;min-width:0;transition:background-color .2s}.library-row:hover{background:#ffffff1b}.library-entry{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:11px;text-decoration:none}.library-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.avatar-space{background:#36577e;color:#f3f9ff}.avatar-rose{background:#854e78;color:#fff}.avatar-graphite{background:#545d6a;color:#fff}.library-info{display:grid;gap:4px;min-width:0}.library-info strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-info small{font-size:11px;color:#b7cbe3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-mode{font-size:10px;color:#bed2ed;flex-shrink:0}.library-remove{background:transparent;border:0;border-left:1px solid #ffffff22;color:#c5d7ed;align-self:stretch;padding:0 10px;font-size:10px}.library-remove:hover{color:#fff}.library-empty{font-size:12px;color:#b9cae0;line-height:1.6;margin:0;padding:7px 2px}.subtle-button{background:none;border:0;color:#aecaec;font-size:11px;padding:11px 0 0}.subtle-button:hover{text-decoration:underline}.upcoming{margin:28px auto 0;border:1px dashed #ffffff3a;border-radius:16px;padding:19px 15px}.upcoming h2{font-size:16px;margin:0 0 5px}.upcoming p{font-size:12px;color:#b6cce3;margin:0}.privacy-note{margin:20px auto 0;font-size:11px;color:#a2bad5;line-height:1.5}
.error{max-width:400px;text-align:center}.error a{color:#b6d9ff}
a:focus-visible,button:focus-visible{outline:2px solid #eaf3ff;outline-offset:3px}
[hidden]{display:none!important}
@media(max-width:650px){.library-grid{grid-template-columns:1fr;gap:14px}.home{max-width:470px}}
@media(max-width:430px){.page{padding:16px 12px}.card{padding:22px 19px 20px;border-radius:23px}.avatar{margin-top:23px}.topline{font-size:9px}.library-panel{padding:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.create-secondary-link{display:inline-block;color:#d4e9ff;font-size:12px;margin-top:7px}.request-update-link{display:inline-block;margin-top:9px;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:3px}

.my-card-panel{margin:29px auto 0;text-align:left;background:linear-gradient(125deg,#1a385dce,#1c2748dd);border:1px solid #9bc6ff66;border-radius:20px;padding:21px;box-shadow:0 18px 40px #0003}
.my-card-panel .library-heading{margin-bottom:12px}.my-card-info{display:flex;flex-direction:column;gap:4px;margin-bottom:15px}.my-card-info strong{font-size:19px}.my-card-info span{font-size:12px;color:#bacfe6}
.my-card-actions{display:flex;gap:9px;flex-wrap:wrap}.my-card-action{display:inline-block;border:1px solid #b5d5ff77;background:#ffffff30;color:#fff;border-radius:11px;font-size:12px;font-weight:680;text-decoration:none;padding:11px 14px;cursor:pointer}.my-card-action.secondary{background:#ffffff0d}.my-card-action:hover{background:#ffffff35}
