:root { --paper:#f2f2ef; --ink:#111210; --muted:#6d6e69; --line:#d3d4cf; --soft:#e7e7e2; --white:#fbfbf8; --serif:Iowan Old Style,Baskerville,"Times New Roman",serif; --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; }
* { box-sizing:border-box; }
html,body { min-height:100%; margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); }
a { color:inherit; text-underline-offset:3px; }
button,input,select { font:inherit; color:inherit; }
button { cursor:pointer; }
:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.profile-masthead { min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 28px; border-bottom:1px solid var(--line); }
.profile-masthead > a:last-child { font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.profile-wordmark { display:flex; align-items:center; gap:8px; text-decoration:none; }
.profile-wordmark svg { width:28px; height:28px; fill:currentColor; }
.profile-wordmark strong { font:25px/.9 var(--serif); }
.profile-wordmark span { margin-left:3px; padding-left:10px; border-left:1px solid var(--line); color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.15em; }
main { display:grid; grid-template-columns:minmax(300px,.78fr) minmax(540px,1.22fr); min-height:calc(100dvh - 68px); }
.profile-intro { position:sticky; top:0; align-self:start; min-height:calc(100dvh - 68px); padding:clamp(48px,7vw,106px) 6vw; border-right:1px solid var(--line); display:flex; flex-direction:column; justify-content:center; }
.eyebrow { margin:0 0 11px; color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
h1,h2 { font-family:var(--serif); font-weight:400; }
h1 { margin:0; font-size:clamp(54px,7vw,96px); line-height:.88; letter-spacing:-.055em; }
.profile-intro > p:last-child { max-width:520px; margin:34px 0 0; color:#444541; font:21px/1.38 var(--serif); }
.profile-panel { min-width:0; padding:clamp(38px,6vw,88px); background:var(--white); }
.profile-form { max-width:820px; }
.form-heading { margin-bottom:38px; }
.form-heading h2,.feeds h2 { margin:0 0 12px; font-size:48px; line-height:.96; letter-spacing:-.035em; }
.form-heading > p:last-child,.feeds p { color:var(--muted); line-height:1.55; }
.profile-form > label,.field-grid > label { display:block; margin-bottom:26px; }
label > span,fieldset legend { display:block; margin-bottom:8px; color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
label small { font-weight:500; letter-spacing:0; text-transform:none; }
input:not([type="checkbox"]):not([type="radio"]),select { width:100%; min-height:52px; border:0; border-bottom:1px solid var(--ink); border-radius:0; background:transparent; padding:0; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 26px; }
.field-grid.two { margin-bottom:16px; }
fieldset { min-width:0; margin:0 0 26px; border:0; padding:0; }
.radio { min-height:30px; display:flex; align-items:center; gap:9px; }
.radio span { margin:0; color:var(--ink); font-size:12px; letter-spacing:0; text-transform:none; }
.checks { display:flex; flex-wrap:wrap; gap:8px; }
.checks label,.free-check { min-height:42px; display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); padding:0 12px; font-size:11px; }
.free-check span { margin:0; color:var(--ink); letter-spacing:0; text-transform:none; }
.privacy-controls { margin:0 0 34px; padding:20px; border:1px solid var(--ink); }
.privacy-controls > p { max-width:680px; margin:0 0 16px; color:var(--muted); font-size:11px; line-height:1.55; }
.privacy-controls .checks span { margin:0; color:var(--ink); font-size:11px; letter-spacing:0; text-transform:none; }
.privacy-controls .checks label:has(input:checked) { background:var(--ink); color:var(--white); }
.planning-lenses { margin:0 0 38px; padding:22px 0; border-top:1px solid var(--ink); border-bottom:1px solid var(--line); }
.planning-lenses h3 { margin:0; font:34px/1 var(--serif); }
.planning-lenses > div > p:last-child { max-width:680px; color:var(--muted); font-size:11px; line-height:1.55; }
.planning-lenses ul { list-style:none; margin:18px 0 12px; padding:0; }
.planning-lenses li { min-height:62px; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:14px; border-top:1px solid var(--line); padding:9px 0; }
.planning-lenses li strong,.planning-lenses li small { display:block; }
.planning-lenses li small { max-width:520px; margin-top:4px; color:var(--muted); font-size:9px; line-height:1.4; }
.planning-lenses li b { border-radius:999px; background:var(--soft); padding:5px 7px; font-size:7px; letter-spacing:.08em; text-transform:uppercase; }
.planning-lenses li em { color:var(--muted); font-size:8px; font-style:normal; white-space:nowrap; }
.planning-lenses .planning-lens-empty { display:block; min-height:0; color:var(--muted); font-size:11px; line-height:1.5; }
.planning-lenses > button { min-height:44px; border:0; background:transparent; padding:0; font-size:9px; font-weight:800; text-decoration:underline; text-transform:uppercase; }
.primary { min-height:52px; border:0; background:var(--ink); color:var(--white); padding:0 20px; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.primary:disabled { opacity:.45; }
.form-status,.feed-status { min-height:20px; color:var(--muted); font-size:11px; }
.favorite-summary { display:flex; justify-content:space-between; gap:20px; margin:22px 0; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.favorite-summary span { max-width:430px; color:var(--muted); font-size:11px; line-height:1.5; text-align:right; }
.saved-plans { margin:38px 0 24px; padding:30px 0; border-top:1px solid var(--ink); border-bottom:1px solid var(--line); }
.saved-plans h3 { margin:0; font:34px/1 var(--serif); }
.saved-plans > div > p:last-child { max-width:660px; color:var(--muted); font-size:11px; line-height:1.55; }
.saved-plan-list { display:grid; margin-top:18px; border-top:1px solid var(--line); }
.saved-plan { min-height:62px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; border-bottom:1px solid var(--line); padding:10px 0; }
.saved-plan strong,.saved-plan small { display:block; }
.saved-plan small { margin-top:4px; color:var(--muted); font-size:9px; }
.saved-plan button { min-height:44px; border:0; background:transparent; padding:0 4px; font-size:9px; font-weight:800; text-decoration:underline; text-transform:uppercase; }
.saved-plan-empty { margin:16px 0 0; color:var(--muted); font-size:11px; }
.feeds { max-width:820px; margin-top:70px; padding-top:48px; border-top:1px solid var(--ink); }
.feed-row { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.feed-row div { display:grid; gap:5px; }
.feed-row span { color:var(--muted); font-size:11px; }
.feed-row button,.text-button,.profile-actions button { min-height:44px; border:1px solid var(--line); background:transparent; padding:0 14px; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.text-button { margin-top:20px; }
.profile-actions { margin-top:54px; padding-top:22px; border-top:1px solid var(--line); }
.profile-actions button { border:0; padding:0; text-decoration:underline; }
.card-collection { max-width:820px; margin:0 0 62px; padding:0 0 42px; border-bottom:1px solid var(--ink); }
.card-collection + .profile-form { padding-top:8px; }
.profile-form + .card-collection { margin-top:70px; padding-top:48px; border-top:1px solid var(--ink); }
.collection-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.62fr); align-items:end; gap:32px; }
.collection-heading h2 { margin:0; font-size:clamp(40px,5vw,64px); line-height:.92; letter-spacing:-.045em; }
.collection-heading .collection-trust { margin:0; color:var(--muted); font-size:10px; line-height:1.6; }
.collection-status { min-height:17px; margin:24px 0 0; color:var(--muted); font-size:9px; letter-spacing:.04em; }
.series-tabs { display:flex; gap:7px; margin:22px 0 0; overflow:auto; scrollbar-width:thin; }
.series-tabs button { flex:0 0 auto; min-height:40px; border:1px solid var(--line); border-radius:999px; background:transparent; padding:0 13px; font-size:9px; font-weight:750; }
.series-tabs button[aria-pressed="true"] { border-color:var(--ink); background:var(--ink); color:var(--white); }
.series-tabs span { margin-left:5px; opacity:.66; font-variant-numeric:tabular-nums; }
.series-progress { display:grid; gap:10px; margin:24px 0 18px; }
.series-progress > div:first-child { display:flex; justify-content:space-between; gap:20px; font-size:10px; }
.series-progress > div:first-child span { color:var(--muted); font-variant-numeric:tabular-nums; }
.series-progress-track { height:2px; overflow:hidden; background:var(--soft); }
.series-progress-track i { display:block; width:calc(var(--series-progress) * 100%); height:100%; background:var(--ink); transition:width .45s ease; }
.virtual-card-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,2vw,24px); }
.virtual-card { min-width:0; }
.virtual-card-button { width:100%; border:0; background:transparent; padding:0; text-align:left; }
.virtual-card-art { position:relative; display:block; aspect-ratio:2 / 3; overflow:hidden; border:1px solid #b9bab4; background:#e7e7e2; box-shadow:0 15px 40px rgba(17,18,16,.08); transition:transform .22s ease,box-shadow .22s ease; }
.virtual-card-button:hover .virtual-card-art,.virtual-card-button:focus-visible .virtual-card-art { transform:translateY(-4px) rotate(-.35deg); box-shadow:0 22px 42px rgba(17,18,16,.15); }
.virtual-card-art canvas,.virtual-card-detail-art canvas { display:block; width:100%; height:100%; object-fit:cover; }
.card-sequence { position:absolute; right:11px; bottom:10px; border:1px solid currentColor; background:rgba(244,242,233,.84); padding:4px 6px; font-size:7px; font-weight:800; letter-spacing:.08em; font-variant-numeric:tabular-nums; }
.virtual-card-meta { display:grid; gap:4px; padding:12px 1px 0; }
.virtual-card-meta strong { overflow:hidden; font:20px/1.05 var(--serif); text-overflow:ellipsis; white-space:nowrap; }
.virtual-card-meta small { color:var(--muted); font-size:8px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.virtual-card.is-locked .virtual-card-art { background:repeating-linear-gradient(135deg,#ebeae4 0,#ebeae4 12px,#deded8 12px,#deded8 13px); box-shadow:none; }
.virtual-card-lock { position:absolute; inset:0; display:grid; place-items:center; color:#777872; font-size:8px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.virtual-card-lock::before { content:""; position:absolute; width:38px; height:52px; border:1px solid currentColor; border-radius:24px 24px 4px 4px; opacity:.34; }
.collection-empty { grid-column:1 / -1; min-height:220px; display:grid; place-items:center; align-content:center; gap:12px; border:1px dashed var(--line); padding:32px; text-align:center; }
.collection-empty > span { display:grid; place-items:center; width:56px; height:56px; border:1px solid var(--ink); font:34px/1 var(--serif); }
.collection-empty p { margin:0; font:25px/1 var(--serif); }
.collection-empty a { font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.virtual-card-dialog { width:min(960px,calc(100vw - 34px)); max-height:calc(100dvh - 34px); border:1px solid var(--ink); background:var(--white); color:var(--ink); padding:0; }
.virtual-card-dialog::backdrop { background:rgba(17,18,16,.68); backdrop-filter:blur(5px); }
.dialog-close { position:absolute; z-index:2; top:12px; right:12px; width:44px; height:44px; border:1px solid var(--ink); border-radius:50%; background:var(--white); font-size:24px; line-height:1; }
.virtual-card-dialog-layout { display:grid; grid-template-columns:minmax(270px,.82fr) minmax(320px,1.18fr); min-height:600px; }
.virtual-card-detail-art { position:relative; min-height:600px; background:repeating-linear-gradient(135deg,#ebeae4 0,#ebeae4 12px,#deded8 12px,#deded8 13px); }
.virtual-card-detail-copy { align-self:center; padding:clamp(44px,6vw,78px); }
.virtual-card-detail-copy h2 { margin:0 0 18px; font-size:clamp(44px,6vw,72px); line-height:.9; letter-spacing:-.045em; }
.virtual-card-detail-copy > p { color:var(--muted); font:18px/1.42 var(--serif); }
.virtual-card-detail-copy dl { margin:30px 0; border-top:1px solid var(--line); }
.virtual-card-detail-copy dl div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:16px; border-bottom:1px solid var(--line); padding:12px 0; }
.virtual-card-detail-copy dt { color:var(--muted); font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.virtual-card-detail-copy dd { margin:0; font-size:10px; overflow-wrap:anywhere; }
.authenticity-note { margin:28px 0; border-left:2px solid var(--ink); padding:2px 0 2px 16px; }
.authenticity-note strong { display:block; font-size:9px; letter-spacing:.07em; text-transform:uppercase; }
.authenticity-note p { margin:7px 0 0; color:var(--muted); font-size:10px; line-height:1.55; }
.card-open-link { display:inline-grid; place-items:center; text-decoration:none; }
.honeypot { position:absolute!important; left:-9999px!important; }
[hidden] { display:none!important; }
@media (max-width:800px) {
  .profile-masthead { min-height:56px; padding:0 16px; }
  .profile-masthead > a:last-child { font-size:8px; }
  main { display:block; }
  .profile-intro { position:static; min-height:auto; padding:42px 18px 46px; border-right:0; border-bottom:1px solid var(--line); }
  h1 { font-size:58px; }
  .profile-panel { padding:38px 18px 72px; }
  .field-grid { grid-template-columns:1fr; }
  .form-heading h2,.feeds h2 { font-size:40px; }
  .favorite-summary { display:grid; }
  .favorite-summary span { text-align:left; }
  .privacy-controls { padding:16px; }
  .privacy-controls .checks { display:grid; }
  .planning-lenses li { grid-template-columns:minmax(0,1fr) auto; }
  .planning-lenses li em { grid-column:1 / -1; }
  .collection-heading { grid-template-columns:1fr; align-items:start; gap:16px; }
  .collection-heading h2 { font-size:44px; }
  .virtual-card-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 11px; }
  .virtual-card-meta strong { font-size:17px; }
  .virtual-card-dialog { width:calc(100vw - 18px); max-height:calc(100dvh - 18px); }
  .virtual-card-dialog-layout { display:block; }
  .virtual-card-detail-art { min-height:0; height:min(62vh,540px); }
  .virtual-card-detail-copy { padding:34px 20px 44px; }
  .virtual-card-detail-copy h2 { font-size:46px; }
  .feed-row { align-items:flex-start; padding:18px 0; }
}
@media (prefers-reduced-motion:reduce) {
  .series-progress-track i,.virtual-card-art { transition:none; }
  .virtual-card-button:hover .virtual-card-art,.virtual-card-button:focus-visible .virtual-card-art { transform:none; }
}
