:root { color-scheme:light; --paper:#f7f4ed; --ink:#17241d; --muted:#5f6d65; --line:#ccd3ca; --accent:#176b45; --accent-dark:#0f5033; --accent-soft:#dcecdf; --warm:#fff8e7; --warm-line:#e6d6ad; --bad:#8a342a; --pending:#735e18; }
.youtube-auth { background:#18212b; }
#video-editor-assets { padding:20px; margin:16px 0; border:1px solid var(--line); background:#fff; font-family:system-ui,sans-serif; line-height:1.5; }
#video-asset-links { display:flex; flex-wrap:wrap; gap:8px; }
#video-asset-links a { display:inline-flex; align-items:center; min-height:44px; padding:10px 14px; border:1px solid var(--line); color:var(--ink); text-decoration:underline; }
#video-asset-links a:focus-visible, .youtube-auth:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; color:var(--ink); background:var(--paper); }
header, main, footer { width:min(1040px,calc(100% - 32px)); margin-inline:auto; }
header { height:72px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { color:var(--ink); font-weight:800; text-decoration:none; letter-spacing:-.04em; font-size:20px; }
.brand span,.network,footer { color:var(--muted); font-weight:400; font-size:12px; }
.hero { padding:80px 0 56px; max-width:850px; }
.eyebrow { color:var(--accent); font-size:11px; font-weight:800; letter-spacing:.16em; }
h1 { font-family:Georgia,serif; font-weight:500; font-size:clamp(42px,7vw,72px); line-height:.98; letter-spacing:-.05em; margin:18px 0 24px; }
h2 { font-family:Georgia,serif; font-weight:500; font-size:32px; margin:4px 0; }
h3 { font-family:Georgia,serif; font-weight:500; font-size:24px; margin:4px 0 8px; }
.hero>p:not(.eyebrow) { max-width:690px; color:var(--muted); font-family:system-ui,sans-serif; font-size:18px; line-height:1.6; }
label { display:block; font-size:12px; font-weight:700; margin:24px 0 8px; }
.optional { color:var(--muted); font-weight:400; }
.lookup { display:flex; gap:8px; }
input,select,textarea { min-width:0; width:100%; min-height:44px; padding:13px 14px; border:1px solid var(--line); border-radius:0; background:#fff; color:var(--ink); font:inherit; }
input[type="checkbox"] { width:auto; min-height:0; padding:0; margin-right:8px; accent-color:var(--accent); }
textarea { resize:vertical; line-height:1.45; }
button { min-height:44px; border:0; padding:13px 18px; white-space:nowrap; background:var(--accent); color:#fff; font:inherit; font-weight:700; cursor:pointer; touch-action:manipulation; }
button:disabled { cursor:not-allowed; opacity:.55; }
button.secondary { background:transparent; color:var(--ink); border:1px solid var(--line); }
.social-login { display:grid; gap:8px; margin-top:20px; }
.signup-provider { display:grid; gap:8px; }
.signup-provider>.check-label { width:max-content; margin:0 0 8px; }
.signup-provider>.helper { margin:0; }
.auth-button { min-height:44px; display:flex; align-items:center; justify-content:center; padding:13px 18px; color:#fff; font-weight:800; text-decoration:none; }
.x-auth { background:#0f1419; }
.facebook-auth { background:#1877f2; }
.google-auth { border:1px solid #dadce0; background:#fff; color:#3c4043; }
.auth-divider { display:flex; align-items:center; gap:12px; margin:20px 0 0; color:var(--muted); font-size:11px; text-transform:uppercase; }
.auth-divider::before,.auth-divider::after { content:""; height:1px; flex:1; background:var(--line); }
#logout { width:100%; margin-top:10px; }
.panel { background:#fff; border:1px solid var(--line); padding:28px; }
.onboarding { margin-bottom:28px; padding:36px; border-radius:20px; box-shadow:0 18px 60px rgba(23,36,29,.08); }
.is-onboarding .hero,.is-onboarding .account-panel,.is-onboarding .community-panel,.is-onboarding .share-panel,.is-onboarding .principles { display:none; }
.is-onboarding main { display:grid; min-height:calc(100vh - 150px); place-items:center; }
.is-onboarding .onboarding { display:block; width:min(680px,100%); margin:40px 0; }
.wizard-progress { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:28px; }
.wizard-progress p { margin:0; }
.wizard-progress progress { width:min(280px,50%); height:8px; accent-color:var(--accent); }
.wizard-window { min-height:420px; }
.wizard-step>h2 { font-size:clamp(30px,5vw,44px); line-height:1.08; }
.wizard-step>.helper { font-size:15px; }
.wizard-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:32px; }
.wizard-actions>div { display:flex; gap:8px; }
.inline-error { min-height:20px; color:var(--bad); font-family:system-ui,sans-serif; font-size:13px; line-height:1.45; }
.returning-login { margin-top:28px; padding-top:20px; border-top:1px solid var(--line); }
.returning-login summary { cursor:pointer; color:var(--accent-dark); font-weight:800; }
.identity-options { display:grid; gap:10px; margin-top:24px; }
.identity-options label { display:flex; align-items:flex-start; gap:10px; margin:0; padding:14px; border:1px solid var(--line); border-radius:10px; cursor:pointer; }
.identity-options input { flex:0 0 auto; width:auto; min-height:0; margin:3px 0 0; accent-color:var(--accent); }
.identity-options strong,.identity-options small { display:block; }
.identity-options small { margin-top:4px; color:var(--muted); font:13px/1.4 system-ui,sans-serif; }
#custom-identity-fields { margin:20px 0 0; padding:0; border:0; }
.verification-count { display:flex; align-items:end; gap:12px; margin-top:36px; padding:24px; background:var(--accent-soft); }
.verification-count strong { font:500 52px/1 Georgia,serif; }
.verification-count span { color:var(--muted); font-family:system-ui,sans-serif; }
.account-panel { margin-bottom:28px; border-radius:20px; }
.onboarding-intro { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.onboarding-intro h2 { max-width:680px; font-size:clamp(30px,5vw,46px); line-height:1.05; }
.how-it-works { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:30px 0 18px; }
.how-it-works>div { padding:20px; border-radius:14px; background:var(--paper); }
.how-it-works span { display:grid; place-items:center; width:30px; height:30px; margin-bottom:16px; border-radius:50%; background:var(--accent); color:#fff; font-weight:800; }
.how-it-works strong { display:block; font-family:Georgia,serif; font-size:21px; }
.how-it-works p { margin:8px 0 0; color:var(--muted); font-family:system-ui,sans-serif; font-size:14px; line-height:1.5; }
.warm-note { margin:0 0 30px; padding:15px 18px; border:1px solid var(--warm-line); border-radius:12px; background:var(--warm); font-family:system-ui,sans-serif; line-height:1.5; }
.role-picker { margin:0 0 20px; padding:20px; border:1px solid var(--line); border-radius:14px; }
.role-picker legend { padding:0 8px; font-family:Georgia,serif; font-size:20px; }
.role-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.role-options label { display:flex; align-items:flex-start; gap:8px; margin:0; padding:14px; border:1px solid var(--line); border-radius:10px; cursor:pointer; }
.role-options input { flex:0 0 auto; width:auto; min-height:0; margin:3px 0 0; accent-color:var(--accent); }
.role-options strong,.role-options small { display:block; }
.role-options small { margin-top:4px; color:var(--muted); font:13px/1.4 system-ui,sans-serif; }
.role-options.compact { margin:18px 0 14px; }
.identity-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:20px; }
.identity-card { padding:24px; border:1px solid var(--line); border-radius:14px; }
.identity-card.primary-card { border-color:#a9c7b4; background:#f7fbf8; }
.identity-card.quiet-card { background:#fff; }
.identity-card h3 { font-size:25px; }
.identity-card p:last-child { min-height:18px; color:var(--muted); overflow-wrap:anywhere; }
.check-label { display:flex; align-items:flex-start; gap:2px; line-height:1.45; }
.passkey-login { margin-top:20px; }
.member-banner { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; border-radius:14px; background:var(--accent-soft); }
.member-banner>div { display:flex; align-items:center; gap:14px; }
.member-banner strong { font-family:Georgia,serif; font-size:24px; }
.member-banner p { margin:4px 0 0; color:var(--muted); font-family:system-ui,sans-serif; }
.member-mark { display:grid; place-items:center; flex:0 0 auto; width:42px; height:42px; border-radius:50%; background:var(--accent); color:#fff; font-size:22px; font-weight:800; }
.setup-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }
.setup-card { padding:24px; border:1px solid var(--line); border-radius:14px; }
.identity-reference { display:grid; gap:5px; margin:18px 0 0; padding:12px 14px; background:var(--paper); }
.identity-reference span { color:var(--muted); font-size:11px; font-weight:800; text-transform:uppercase; }
.identity-reference code { overflow-wrap:anywhere; font-weight:800; }
.binding-fields { margin:18px 0 0; padding:0; border:0; }
.binding-fields legend { padding:0; color:var(--accent); font-size:12px; font-weight:800; }
.notification-guide { margin-top:20px; padding:20px; border:1px solid var(--warm-line); border-radius:12px; background:var(--warm); }
.notification-guide p { font-family:system-ui,sans-serif; line-height:1.5; }
.notification-guide a { display:inline-flex; align-items:center; min-height:44px; padding:12px 16px; background:var(--accent); color:#fff; font-weight:700; text-decoration:none; }
.circle-stat { display:flex; align-items:end; gap:12px; margin-top:24px; padding-top:18px; border-top:1px solid var(--line); }
.circle-stat strong { font-family:Georgia,serif; font-size:42px; line-height:1; }
.circle-stat span { max-width:170px; color:var(--muted); font-family:system-ui,sans-serif; font-size:14px; line-height:1.35; }
.community-panel { margin-bottom:28px; border-radius:20px; }
.community-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:26px; }
.community-grid h3 { padding-bottom:12px; border-bottom:1px solid var(--line); }
.people-list,.review-list { display:grid; gap:10px; }
.person-row,.review-row,.empty-state { padding:14px; border:1px solid var(--line); border-radius:12px; }
.person-row { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.person-row strong,.person-row span { display:block; overflow-wrap:anywhere; }
.person-row span,.review-row p,.empty-state { margin:4px 0 0; color:var(--muted); font-family:system-ui,sans-serif; font-size:13px; line-height:1.4; }
.person-row button { min-height:38px; padding:9px 13px; }
.review-row button { margin-top:10px; }
.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; }
.share-panel { margin-bottom:48px; border-radius:20px; }
.notice { padding:14px 16px; border-left:3px solid var(--pending); background:#eee8ce; color:var(--pending); line-height:1.45; }
.share-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:28px; }
.share-grid.single { grid-template-columns:minmax(0,680px); }
.share-step { min-width:0; }
.share-grid .share-step { border-top:2px solid var(--ink); padding-top:18px; }
.step-number { margin:0 0 10px; color:var(--accent); font-size:11px; font-weight:800; letter-spacing:.14em; }
.helper,.field-meta { color:var(--muted); font-family:system-ui,sans-serif; font-size:13px; line-height:1.45; }
.media-status { min-height:18px; margin:8px 0 18px; color:var(--muted); font-family:system-ui,sans-serif; font-size:13px; line-height:1.45; }
.field-meta { display:flex; justify-content:space-between; gap:16px; margin:7px 0 18px; }
.share-step>p[role="status"] { min-height:18px; color:var(--muted); overflow-wrap:anywhere; }
.handoff,.bind-step { margin-top:28px; padding:22px; border:1px solid var(--line); background:var(--paper); }
.handoff code { overflow-wrap:anywhere; }
.share-actions,.bind-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.bind-step { background:#fff; }
.hidden { display:none; }
.proof-heading { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.status { padding:7px 10px; background:var(--accent-soft); color:var(--accent); text-transform:uppercase; font-weight:800; font-size:11px; }
.status.unverified,.status.revoked { background:#f1ded8; color:var(--bad); }
.status.pending { background:#eee8ce; color:var(--pending); }
.disclosure { color:var(--muted); font-family:system-ui,sans-serif; line-height:1.5; }
.post-link { display:inline-block; margin-top:4px; color:var(--accent-dark); font-weight:800; text-underline-offset:3px; }
.facts { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); margin:28px 0; }
.facts div { padding:16px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
dt,.hash span { color:var(--muted); font-size:11px; text-transform:uppercase; }
dd { margin:8px 0 0; font-weight:800; overflow-wrap:anywhere; }
.hash { background:var(--paper); padding:16px; }
.hash code { display:block; margin-top:8px; overflow-wrap:anywhere; }
.attachment-proof { margin-top:1px; }
.attachment-proof div { margin-top:8px; }
.attachment-proof code { margin-top:5px; }
.actions { display:grid; grid-template-columns:1fr auto auto; gap:8px; align-items:end; margin-top:20px; }
.actions label { grid-column:1/-1; margin-bottom:0; }
#message { color:var(--muted); min-height:20px; overflow-wrap:anywhere; }
.principles { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; padding:56px 0; }
.principles div { border-top:2px solid var(--ink); padding-top:12px; }
.principles strong,.principles span { display:block; }
.principles span { color:var(--muted); font-family:system-ui,sans-serif; margin-top:8px; line-height:1.4; }
footer { border-top:1px solid var(--line); padding:24px 0 max(48px,env(safe-area-inset-bottom)); }

@media(max-width:700px) {
  header,main,footer { width:calc(100% - 32px); }
  header { height:auto; min-height:64px; gap:12px; padding:12px 0; }
  .network { max-width:110px; text-align:right; line-height:1.35; }
  .hero { padding:48px 0 44px; }
  h1 { font-size:clamp(38px,12vw,56px); line-height:1; }
  h2 { font-size:28px; overflow-wrap:anywhere; }
  .hero>p:not(.eyebrow) { font-size:16px; line-height:1.55; }
  .facts,.principles,.identity-grid,.share-grid,.how-it-works,.setup-grid,.community-grid,.role-options { grid-template-columns:minmax(0,1fr); }
  .identity-grid { gap:12px; margin-bottom:36px; }
  .identity-card { padding:18px 0; }
  .panel { padding:20px; }
  .onboarding { padding:22px; border-radius:16px; }
  .onboarding-intro { display:block; }
  .onboarding-intro .status { margin-bottom:16px; }
  .member-banner { align-items:flex-start; }
  .proof-heading { display:block; }
  .status { display:inline-block; max-width:100%; margin-top:12px; overflow-wrap:anywhere; }
  .facts { border-right:1px solid var(--line); }
  .facts div { border-right:0; }
  .actions { grid-template-columns:minmax(0,1fr); }
  .actions label { grid-column:auto; }
  .actions button { width:100%; }
  .share-actions,.bind-actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .share-actions button,.bind-actions button { width:100%; }
  .principles { gap:22px; padding:44px 0; }
}

@media(max-width:520px) {
  header,main,footer { width:calc(100% - 24px); }
  .lookup { flex-direction:column; }
  .lookup button,.identity-card button { width:100%; }
  input,select,textarea,button { font-size:16px; }
  label { margin-top:20px; }
  .panel { padding:16px; }
  .identity-card,.setup-card,.how-it-works>div { padding:18px; }
  .member-banner { display:block; }
  .member-banner button { width:100%; margin-top:16px; }
  .person-row { align-items:flex-start; }
  .facts { margin:22px 0; }
  .facts div,.hash { padding:14px; }
  .field-meta { display:block; }
  .field-meta span { display:block; margin-top:4px; }
  .handoff,.bind-step { padding:16px; }
  .wizard-progress { display:block; }
  .wizard-progress progress { width:100%; margin-top:14px; }
  .wizard-actions,.wizard-actions>div { align-items:stretch; flex-direction:column-reverse; }
  .wizard-actions button { width:100%; }
}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; }
}
