:root{--bg-light:#ffffff;--bg-dark:#121212;--text-light:#1a1a1a;--text-dark:#eaeaea;--muted-light:#5a5a5a;--muted-dark:#bdbdbd;--surface-light:#f6f6f6;--surface-dark:#1e1e1e;--border-light:#e6e6e6;--border-dark:#2a2a2a;--accent:#7a7a7a;--header-h:64px;--content-w:900px;--nav-w:860px}[data-theme=light]{background-color:var(--bg-light);color:var(--text-light);color-scheme:light}[data-theme=dark]{background-color:var(--bg-dark);color:var(--text-dark);color-scheme:dark}[data-theme=light] body,[data-theme=light] main{background-color:var(--bg-light)}[data-theme=dark] body,[data-theme=dark] main{background-color:var(--bg-dark)}.sidebar{border-right:1px solid var(--border-dark)}[data-theme=light] .sidebar{background-color:var(--bg-light);border-right-color:var(--border-light);color:var(--text-light)}[data-theme=dark] .sidebar{background-color:var(--bg-dark);color:var(--text-dark)}.sidebar .container{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}@media(min-width:48em){.sidebar .container{height:100vh}}.sidebar h1,.sidebar h2,.sidebar p,.sidebar a{color:inherit}.site-logo{width:100px;height:auto;margin-bottom:1rem;border-radius:12px}.topbar{background:var(--bg-dark);padding:calc(.25rem + env(safe-area-inset-top,0px)).75rem .25rem;border-bottom:1px solid transparent;position:fixed;top:0;left:0;right:0;z-index:1000;min-height:48px}[data-theme=light] .topbar{background:var(--bg-light);border-bottom-color:transparent}.topbar .main-nav{max-width:none;margin:0 .75rem;position:relative;z-index:1001}@media(min-width:721px){.topbar{background:0 0;border-bottom-color:transparent}.topbar .main-nav{background:0 0;border:0;border-radius:0;padding:.25rem 1rem;box-shadow:none;margin:0 auto;max-width:var(--nav-w);position:relative}.main-nav{justify-content:center}.nav-links{gap:1.2rem}}@media(min-width:721px){.topbar .main-nav{margin:0 auto;max-width:var(--nav-w)}.main-nav{justify-content:center !important}}.main-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;width:100%}.nav-links{list-style:none;display:flex;align-items:center;gap:1.5rem;margin:0;padding:0}.site-title{font-weight:700;text-decoration:none;color:inherit}.nav-links li a{text-decoration:none;font-weight:600;color:var(--accent)}.nav-links li a:hover{color:inherit;opacity:.9}.theme-toggle{background:0 0;border:none;font-size:1.2rem;cursor:pointer;color:var(--accent)}.topbar>.theme-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1100}.burger,.theme-toggle{min-width:44px;min-height:44px;padding:.25rem .5rem}:where(a,button,input,select,textarea):focus-visible{outline:2px solid #3b82f6;outline-offset:2px}:where(a,button,input,select,textarea):focus{outline:none}.no-scroll{overflow:hidden}.nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;z-index:900}.nav-overlay.active{display:block}.content.container{max-width:var(--content-w);padding:calc(2rem + var(--header-h) + env(safe-area-inset-top,0px))2rem 2rem}[data-theme=light] .content,[data-theme=light] .content p,[data-theme=light] .content li,[data-theme=light] .content td{color:var(--text-light)}[data-theme=dark] .content,[data-theme=dark] .content p,[data-theme=dark] .content li,[data-theme=dark] .content td{color:var(--text-dark)}.burger{display:none;font-size:1.35rem;cursor:pointer;color:inherit;background:var(--surface-dark);border:1px solid var(--border-dark);border-radius:10px;padding:.35rem .6rem;line-height:1;box-shadow:0 2px 10px -8px rgba(0,0,0,.5);transition:background-color .15s ease,border-color .15s ease,box-shadow .2s ease,transform .05s ease}[data-theme=light] .burger{background:var(--surface-light);border-color:var(--border-light);box-shadow:0 2px 10px -8px rgba(0,0,0,.18)}.burger:active{transform:translateY(1px)}.burger:hover{box-shadow:0 4px 14px -8px rgba(0,0,0,.6)}[data-theme=light] .burger:hover{box-shadow:0 4px 14px -8px rgba(0,0,0,.25)}.burger[aria-expanded=true]{border-color:#60a5fa;box-shadow:0 0 0 2px rgba(96,165,250,.25)}@media(max-width:720px){.topbar .main-nav{position:relative}.burger{display:inline-block;order:0;position:absolute;left:.5rem;transform:none}.topbar>.theme-toggle{right:.5rem;left:auto}.nav-links{order:1;flex-direction:column;width:100%;margin-top:.6rem;display:flex;background:var(--surface-dark);border-top:1px solid var(--border-dark);padding:.5rem 0;max-height:0;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-6px);transition:max-height .25s ease,opacity .2s ease,transform .25s ease}[data-theme=light] .nav-links{background:var(--surface-light);border-top-color:var(--border-light)}.nav-links.active{max-height:70vh;opacity:1;visibility:visible;transform:translateY(0)}.nav-links li a{padding:.6rem 1rem;display:block}}@media(min-width:48em){.content.fullwidth{margin-left:auto !important;margin-right:auto !important}}@media(min-width:64em){.content.fullwidth{margin-left:auto !important;margin-right:auto !important}}.article-list-container{max-width:900px;margin:0 auto;padding:2rem 1.25rem;text-align:center}.article-title{font-size:2rem;margin-bottom:1.25rem}#search{width:100%;max-width:640px;padding:.7rem .9rem;margin:0 0 .75rem;border-radius:10px;border:1px solid var(--border-dark);background:var(--surface-dark);color:inherit}[data-theme=light] #search{border-color:var(--border-light);background:var(--surface-light)}#sort{padding:.55rem .75rem;border-radius:10px;border:1px solid var(--border-dark);background:var(--surface-dark);color:inherit}[data-theme=light] #sort{border-color:var(--border-light);background:var(--surface-light)}.article-item{border:1px solid var(--border-dark);border-radius:12px;padding:1rem;margin:1rem 0;text-align:left;background:var(--surface-dark)}[data-theme=light] .article-item{border-color:var(--border-light);background:var(--surface-light)}.tags{margin-top:.5rem}.tag{display:inline-block;margin:.2rem;padding:.2rem .55rem;border-radius:999px;background:#666;color:#fff;font-size:.85rem;cursor:pointer;user-select:none}[data-theme=light] .tag{background:#4a4a4a}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6{color:var(--text-dark) !important}[data-theme=dark] .post-title,[data-theme=dark] .page-title,[data-theme=dark] .post-title a{color:var(--text-dark) !important}[data-theme=dark] strong,[data-theme=dark] b{color:var(--text-dark);font-weight:700}[data-theme=dark] .lead{color:var(--muted-dark)}[data-theme=dark] blockquote{color:var(--muted-dark);border-left:4px solid var(--border-dark);background:0 0}[data-theme=dark] hr{border-color:var(--border-dark)}[data-theme=dark] table{background-color:var(--surface-dark);color:var(--text-dark)}[data-theme=dark] table th,[data-theme=dark] table td{border-color:var(--border-dark);color:var(--text-dark)}[data-theme=dark] pre,[data-theme=dark] code,[data-theme=dark] pre code{background-color:var(--surface-dark);color:var(--text-dark);border-color:var(--border-dark)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--surface-dark);color:var(--text-dark);border:1px solid var(--border-dark)}.content img{max-width:100%;height:auto}.content table{width:100%;display:block;overflow-x:auto;border-spacing:0}.content pre{overflow:auto}.has-big-bullets .content ul{list-style:disc;padding-left:1.35rem;margin:.75rem 0 1rem}.has-big-bullets .content ul li{margin:.35rem 0;line-height:1.6}.has-big-bullets .content ul li::marker{font-size:1.35em;color:currentColor}.has-big-bullets .content ul ul{margin-top:.25rem;margin-bottom:.25rem}.has-big-bullets .content ul ul li::marker{font-size:1.15em;opacity:.9}.has-big-bullets .content ol{padding-left:1.5rem;margin:.75rem 0 1rem}.has-big-bullets .content ol li{margin:.35rem 0;line-height:1.6}.has-big-bullets .content ol li::marker{font-weight:700;color:var(--accent)}.content h1::before{content:"•";display:inline-block;margin-right:.5rem;transform:translateY(-2px);font-size:1.3em;color:var(--accent)}.content h2::before,.content h3::before{will-change:transform}@media(max-width:420px){.content h1::before{font-size:1.15em}.content h2::before{font-size:1.05em}}.content h2::before{content:"•";display:inline-block;margin-right:.45rem;transform:translateY(-2px);font-size:1.2em;color:var(--accent)}.content h3::before{content:"—";display:inline-block;margin-right:.4rem;transform:translateY(-1px);font-size:1em;color:var(--accent);opacity:.85}.article-title::before,.nft-title::before{content:none !important}.post>h1::before{content:none !important}.content blockquote{padding:.75rem 1rem;border-left:4px solid var(--border-dark);background:var(--surface-dark);border-radius:10px}[data-theme=light] .content blockquote{border-left-color:var(--border-light);background:var(--surface-light)}.content p{text-indent:1.25em;margin-top:.6em}@media(max-width:420px){.content p{text-indent:1em}}.content :is(h1,h2,h3,h4,h5,h6,blockquote,li,dt)+p,.content blockquote p,.content li p{text-indent:0}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{position:fixed;left:1rem;top:1rem;width:auto;height:auto;padding:.5rem .75rem;background:#3b82f6;color:#fff;border-radius:6px;z-index:10000}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}.nft-section{max-width:1100px;margin:0 auto;padding:2rem 1.25rem}.nft-title{font-size:2rem;margin-bottom:.75rem}.nft-intro{color:var(--muted-dark)}[data-theme=light] .nft-intro{color:var(--muted-light)}.nft-subtitle{margin:1.25rem 0 .75rem;font-size:1.25rem}.nft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:900px){.nft-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.nft-grid{grid-template-columns:1fr}}.nft-card{background:var(--surface-dark);border:1px solid var(--border-dark);border-radius:12px;overflow:hidden}[data-theme=light] .nft-card{background:var(--surface-light);border-color:var(--border-light)}.nft-card-link{display:block;color:inherit;text-decoration:none}.nft-img{width:100%;height:auto;display:block;aspect-ratio:1/1;object-fit:cover}.nft-card-title{margin:.5rem .75rem 0;font-weight:600}.nft-card-meta{margin:0 .75rem .75rem;color:var(--muted-dark);font-size:.9rem}[data-theme=light] .nft-card-meta{color:var(--muted-light)}.nft-empty{opacity:.8}.nft-grid .nft-empty{grid-column:1/-1;text-align:center;margin:.5rem 0 1rem}[data-theme=light] .nft-controls input,[data-theme=light] .nft-controls select{border-color:var(--border-light);background:var(--surface-light)}.nft-count{margin:.25rem 0 1rem;color:var(--muted-dark)}[data-theme=light] .nft-count{color:var(--muted-light)}.nft-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem;margin:.5rem 0 .75rem;padding:.4rem .6rem;border:1px solid var(--border-dark);background:var(--surface-dark);border-radius:10px;box-shadow:0 4px 12px -10px rgba(0,0,0,.25);transition:opacity .2s ease,transform .2s ease}[data-theme=light] .nft-toolbar{border-color:var(--border-light);background:var(--surface-light);box-shadow:0 4px 12px -10px rgba(0,0,0,.12)}.nft-toolbar input,.nft-toolbar select{padding:.4rem .55rem;border-radius:8px;border:1px solid var(--border-dark);background:var(--surface-dark);color:inherit;font-size:.92rem}[data-theme=light] .nft-toolbar input,[data-theme=light] .nft-toolbar select{border-color:var(--border-light);background:var(--surface-light)}.nft-toolbar #nft-count{padding:.2rem .4rem;opacity:.8;font-size:.9rem;flex:1 0 100%;text-align:center}.nft-toolbar select[multiple]{min-width:200px;max-height:6rem}@media(max-width:600px){.nft-toolbar select[multiple]{min-width:160px}}.nft-toolbar.hidden{opacity:0;transform:translateY(-8px);pointer-events:none}.nft-card.new{border-color:#60a5fa;box-shadow:0 0 0 1px rgba(96,165,250,.25)inset,0 6px 18px -8px rgba(96,165,250,.45)}.nft-badge{position:absolute;margin:.5rem;padding:.2rem .5rem;background:#60a5fa;color:#0b1220;border-radius:999px;font-size:.8rem;font-weight:700}.nft-card{position:relative}@media(prefers-reduced-motion:no-preference){.nft-card.new{transition:box-shadow .25s ease,border-color .25s ease}}.nft-cats{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.nft-cat-link{display:inline-block;padding:.35rem .6rem;border:1px solid var(--border-dark);border-radius:999px;text-decoration:none;color:inherit;background:var(--surface-dark)}[data-theme=light] .nft-cat-link{border-color:var(--border-light);background:var(--surface-light)}.nft-cat-count{margin-left:.4rem;color:var(--muted-dark);font-size:.9rem}[data-theme=light] .nft-cat-count{color:var(--muted-light)}.nft-single{max-width:800px;margin:0 auto;padding:2rem 1.25rem}.nft-single-title{font-size:2rem;margin-bottom:.5rem}.nft-single-meta{color:var(--muted-dark);margin-bottom:1rem}[data-theme=light] .nft-single-meta{color:var(--muted-light)}.nft-single-figure{margin:0 0 1rem}.nft-single-img{width:100%;height:auto;border-radius:12px;border:1px solid var(--border-dark);background:var(--surface-dark)}[data-theme=light] .nft-single-img{border-color:var(--border-light);background:var(--surface-light)}.nft-external a{display:inline-block;margin-top:.25rem}.nft-single-cats a{text-decoration:none;border-bottom:1px dashed}body.no-scroll{overflow:hidden}