:root{--col:480px}.page{width:100%;max-width:var(--col);padding:0 var(--s4);margin:0 auto}@media (min-width:768px){body{background:var(--surface-2)}.page{background:var(--bg);border-inline:1px solid var(--line);min-height:100dvh;padding:0 var(--s5)}}.topbar{align-items:center;gap:var(--s2);padding:var(--s3) 0;display:flex}.topbar .brand{min-height:44px}.topbar-actions{gap:var(--s2);margin-left:auto;display:flex}.topbar .btn-sm{min-height:40px}.layout{gap:var(--s5);padding-bottom:var(--s6);grid-template-columns:minmax(0,1fr);display:grid}html,body{overflow-x:clip}.profile{gap:var(--s3);text-align:center;padding-top:var(--s2);justify-items:center;display:grid}.avatar{flex:none;width:88px;height:88px;position:relative}.avatar-disc{background:var(--feature-bg);width:88px;height:88px;color:var(--feature-fg);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:40px;line-height:1;display:grid}.avatar-block{background:var(--accent);border:3px solid var(--bg);border-radius:5px;width:20px;height:20px;margin-top:-10px;position:absolute;top:50%;right:-4px}.profile-name{font-size:clamp(26px,7vw,32px)}.profile-handle{color:var(--muted);font-family:var(--font-mono);font-size:var(--fs-sm)}.profile-bio{color:var(--fg-2);font-size:var(--fs-md);max-width:36ch;line-height:1.55}.profile-loc{color:var(--muted);font-size:var(--fs-sm);align-items:center;gap:6px;display:inline-flex}.socials{gap:var(--s2);padding-top:var(--s1);flex-wrap:wrap;justify-content:center;display:flex}.social{border:1px solid var(--line-strong);background:var(--surface);width:44px;height:44px;color:var(--fg);transition:border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border-radius:50%;place-items:center;text-decoration:none;display:inline-grid}@media (hover:hover){.social:hover{border-color:var(--fg);transform:translateY(-1px)}}.tabs-wrap{z-index:5;background:var(--bg);margin-inline:calc(-1 * var(--s4));padding-block:var(--s2);border-bottom:1px solid #0000;position:sticky;top:0}.tabs-wrap.is-stuck{border-bottom-color:var(--line)}@media (min-width:768px){.tabs-wrap{margin-inline:calc(-1 * var(--s5))}.tabs{--od-rail-pad:24px}}.tabs{--od-rail-pad:16px}.tab{align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);font-weight:700;font-size:var(--fs-sm);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);display:inline-flex}.tab .count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);font-weight:400}.tab[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.tab[aria-selected=true] .count{color:inherit;opacity:.8}.tab[aria-selected=true]:before{content:"";background:var(--accent);border-radius:2px;width:8px;height:8px}@media (hover:hover){.tab:hover{border-color:var(--fg)}}.content{gap:var(--s4);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.tabs-wrap,.tabs,.feed,.section,.links,.products,.newsletter{min-width:0}.feed{gap:var(--s6);grid-template-columns:minmax(0,1fr);scroll-margin-top:72px;display:grid}.section,.links,.products{grid-template-columns:minmax(0,1fr)}.feature h3,.feature p,.product-body h3,.product-desc{overflow-wrap:anywhere}.section{gap:var(--s3);display:grid}.section-head{align-items:baseline;gap:var(--s2);display:flex}.section-head h2{font-size:var(--fs-lg)}.section-head .mono{color:var(--muted)}.links{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.link{align-items:center;gap:var(--s3);min-height:60px;padding:var(--s2) var(--s3) var(--s2) var(--s2);background:var(--surface);border:1px solid var(--line);border-radius:var(--link-radius);color:var(--fg);box-shadow:var(--sh-1);transition:border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);text-decoration:none;display:flex}.link:active{transform:scale(.99)}.link-ico{border-radius:max(4px, calc(var(--link-radius) - 8px));background:var(--surface-2);width:44px;height:44px;color:var(--fg);flex:none;place-items:center;display:grid}.link-title{font-weight:700;line-height:1.35}.link-meta{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted)}.link-go{color:var(--muted);transition:transform var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out)}@media (hover:hover){.link:hover{border-color:var(--fg-2);transform:translateY(-1px)}.link:hover .link-go{color:var(--accent-ink);transform:translate(2px,-2px)}}.feature{gap:var(--s2);padding:var(--s5) var(--s4) var(--s4);border-radius:var(--r-xl);background:var(--feature-bg);color:var(--feature-fg);display:grid;position:relative;overflow:hidden}.feature-deco{opacity:.16;pointer-events:none;width:180px;height:180px;color:var(--feature-fg);position:absolute;top:-48px;right:-48px}.feature-kicker{align-items:center;gap:var(--s2);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--feature-muted);display:inline-flex}.feature-kicker:before{content:"";background:var(--cta);border-radius:2px;width:8px;height:8px}.feature h3{color:var(--feature-fg);font-size:clamp(22px,6vw,26px);position:relative}.feature p{color:var(--feature-muted);position:relative}.feature .btn{width:100%;margin-top:var(--s2);position:relative}.products{gap:var(--s2);display:grid}.product{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);color:var(--fg);box-shadow:var(--sh-1);transition:border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);grid-template-columns:88px minmax(0,1fr);align-items:stretch;text-decoration:none;display:grid;overflow:hidden}.product:active{transform:scale(.99)}@media (hover:hover){.product:hover{border-color:var(--fg-2);transform:translateY(-1px)}}.cover{--cv-bg:#141413;--cv-fg:#f5f4ed;--cv-blk:#d97757;background:var(--cv-bg);min-height:104px;position:relative;overflow:hidden}.cover[data-v="1"]{--cv-bg:#c96442;--cv-fg:#141413;--cv-blk:#faf9f5}.cover[data-v="2"]{--cv-bg:#e8e6dc;--cv-fg:#141413;--cv-blk:#c96442}[data-theme=sombre] .cover[data-v="2"]{--cv-bg:#30302e;--cv-fg:#f5f4ed;--cv-blk:#d97757}.cover svg{width:64px;height:64px;margin:-32px 0 0 -32px;position:absolute;top:50%;left:50%}.cover svg .c{fill:none;stroke:var(--cv-fg);stroke-width:4px}.cover svg .b{fill:var(--cv-blk)}.product-body{gap:var(--s1);padding:var(--s3);align-content:center;display:grid}.product-kick{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.product-body h3{font-size:var(--fs-lg);line-height:1.25}.product-desc{color:var(--fg-2);font-size:var(--fs-sm);line-height:1.45}.product-foot{align-items:center;gap:var(--s2);margin-top:var(--s1);display:flex}.product-price{font-weight:800}.product-cta{font-weight:800;font-size:var(--fs-sm);color:var(--accent-ink);white-space:nowrap;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.newsletter{gap:var(--s3);padding:var(--s5) var(--s4);border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line);display:grid}.newsletter h2{font-size:var(--fs-xl)}.newsletter>p{color:var(--fg-2)}.nl-row{gap:var(--s2);display:grid}.nl-row .btn{width:100%}.nl-success{gap:var(--s3);padding:var(--s4);border-radius:var(--r);background:var(--ok-soft);color:var(--fg);align-items:flex-start;display:flex}.nl-success .icon{color:var(--ok);margin-top:2px}.nl-success strong{display:block}.empty{gap:var(--s3);padding:var(--s5) var(--s4);border-radius:var(--r-xl);border:1px dashed var(--line-strong);justify-items:start;display:grid}.empty h2{font-size:var(--fs-xl)}.empty p{color:var(--fg-2)}.footer{justify-content:center;align-items:center;gap:0 var(--s5);padding:var(--s4) 0 max(var(--s6), env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.footer a{color:var(--fg);align-items:center;gap:6px;min-height:44px;font-weight:700;text-decoration:none;display:inline-flex}@media (hover:hover){.footer a:hover{text-underline-offset:3px;text-decoration:underline}}.reveal{animation:rise .26s var(--ease-out) both;animation-delay:calc(var(--i,0) * 40ms)}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
