.sf-shell{min-height:100dvh;display:flex;flex-direction:column}.sf-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:8px;height:var(--topbar-h);padding:0 var(--gutter);background:var(--bg-panel);border-bottom:1px solid var(--line-1)}.sf-topbar-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--fg-1)}.sf-topbar-spacer{flex:1}.sf-topbar-actions{display:flex;align-items:center;gap:8px}.sf-topbar-avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--bg-selected);color:var(--fg-2);font:var(--voice-meta-sm);letter-spacing:0;text-decoration:none}.sf-topbar-avatar:hover{color:var(--fg-1);box-shadow:inset 0 0 0 1px var(--line-3)}.sf-topbar-avatar:focus-visible{outline:none;box-shadow:var(--ring-focus)}.sf-body{flex:1;min-width:0;width:100%;max-width:1120px;margin:0 auto}.sf-banner{display:block;width:100%;height:clamp(120px,18vw,200px);object-fit:cover;border:1px solid var(--line-1);border-radius:var(--radius-sheet);margin-bottom:24px}.sf-seller{display:inline-flex;align-items:center;gap:12px;min-width:0}.sf-avatar{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--bg-inset);color:var(--fg-2);font:var(--voice-title-sm)}.sf-avatar[data-size=sm]{width:32px;height:32px;font:var(--voice-meta-sm);letter-spacing:0}.sf-url{font:var(--voice-mono);color:var(--fg-3);white-space:nowrap}.sf-bio{font:var(--voice-prose);color:var(--fg-2);max-width:62ch;white-space:pre-line}.sf-panel{padding:24px;background:var(--bg-sheet);border:1px solid var(--line-1);border-radius:var(--radius-sheet)}.sf-plan{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr);gap:24px;align-items:center}.sf-plan-copy{font:var(--voice-ui);color:var(--fg-2);max-width:48ch}.sf-plan-closed{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.sf-plan-offer{margin-top:8px;font:var(--voice-ui-sm);color:var(--fg-3);max-width:48ch}.sf-price{display:flex;align-items:baseline;gap:4px}.sf-price-amount{font:var(--voice-title-xl);letter-spacing:var(--title-tracking);color:var(--fg-1);font-variant-numeric:tabular-nums}.sf-price-cadence{font:var(--voice-meta);color:var(--fg-3)}.sf-actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.sf-actions .ui-btn{width:100%}.sf-secure{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;font:var(--voice-ui-sm);color:var(--fg-3)}.sf-secure svg{width:12px;height:12px;flex:none}.sf-programs .ui-table tbody tr{position:relative}.sf-programs .ui-td-subject a:after{content:"";position:absolute;inset:0}.sf-program-cell{display:flex;align-items:center;gap:12px;min-width:0}.sf-program-thumb,.sf-program-thumb-slot{flex:none;width:48px;height:48px}.sf-program-thumb{object-fit:cover;border-radius:var(--radius-control);background:var(--bg-inset)}.sf-programs[data-media=true] .ui-table[data-density=rich] td{height:64px}.sf-program-name{display:inline-flex;align-items:center;gap:8px;min-width:0}.sf-program-offer{display:none}.sf-socials{display:flex;gap:32px;flex-wrap:wrap}.sf-social{display:flex;flex-direction:column;gap:2px;min-width:0}.sf-social a{font:var(--voice-ui);color:var(--fg-2);text-decoration:none;overflow-wrap:anywhere}.sf-social a:hover{color:var(--fg-1);text-decoration:underline}.sf-note{display:flex;gap:12px;align-items:flex-start;padding-top:16px;border-top:1px solid var(--line-1);font:var(--voice-ui-sm);color:var(--fg-3)}.sf-note svg{width:14px;height:14px;flex:none;margin-top:2px}.sf-buy{position:sticky;top:calc(var(--topbar-h) + 16px);display:flex;flex-direction:column;gap:12px}.sf-seller-row{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;align-self:flex-start;border-radius:var(--radius-control)}.sf-seller-row:hover strong{text-decoration:underline}.sf-seller-row:focus-visible{outline:none;box-shadow:var(--ring-focus)}.sf-seller-row strong{display:block;font:var(--voice-ui);font-weight:500;color:var(--fg-1)}.sf-preview-img{display:block;width:100%;max-width:100%;object-fit:cover}.sf-preview,.sf-preview-img{aspect-ratio:16/9;background:var(--bg-inset);border:1px solid var(--line-1);border-radius:var(--radius-sheet)}.sf-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--fg-4)}.sf-preview svg{width:26px;height:26px}.sf-prose{font:var(--voice-prose);color:var(--fg-2);white-space:pre-line}.sf-hairline-note{padding-top:12px;border-top:1px solid var(--line-1);font:var(--voice-ui-sm);color:var(--fg-3);text-align:center}.sf-hairline-note a{color:var(--brand-ink);text-decoration:none}.sf-hairline-note a:hover{text-decoration:underline}.sf-popularity{display:block;margin-top:12px}.sf-aside-note{font:var(--voice-ui-sm);color:var(--fg-3)}.sf-aside-note strong{display:block;margin-bottom:4px;font:var(--voice-ui);font-weight:500;color:var(--fg-1)}.sf-aside-note code{font:var(--voice-mono);text-transform:none;letter-spacing:0;padding:0 4px;background:var(--bg-inset);border-radius:var(--radius-chip)}.sf-done{display:flex;flex-direction:column;gap:16px;max-width:620px;margin-inline:auto;padding:32px;background:var(--bg-sheet);border:1px solid var(--line-1);border-radius:var(--radius-sheet)}.sf-done h1{font:var(--voice-title-xl);letter-spacing:var(--title-tracking);color:var(--fg-1)}.sf-done>p{font:var(--voice-prose);color:var(--fg-2)}.sf-done-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.sf-done-foot[data-align=end]{justify-content:flex-end}.sf-apps{padding:16px;background:var(--bg-inset);border:1px solid var(--line-1);border-radius:var(--radius-control)}.sf-apps strong{display:block;font:var(--voice-ui);font-weight:500;color:var(--fg-1)}.sf-apps p{margin-top:2px;font:var(--voice-ui-sm);color:var(--fg-3)}.sf-apps-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}@media (max-width:760px){.sf-buy{position:static}}@media (max-width:720px){.sf-topbar{padding:0 16px}.sf-plan{grid-template-columns:minmax(0,1fr);gap:16px}.sf-programs .ui-table td:nth-child(2),.sf-programs .ui-table td:nth-child(3),.sf-programs .ui-table thead{display:none}.sf-program-offer{display:block}.sf-programs .ui-cell-lines>.sf-program-name{white-space:normal;overflow:visible}.sf-programs .ui-table{table-layout:fixed;width:100%}.sf-program-name{display:flex;flex-wrap:wrap;row-gap:4px}.sf-socials{gap:16px}.sf-done{padding:24px}}