@font-face{font-family:Schibsted;src:url(/assets/schibsted.woff2);font-weight:400 900}@font-face{font-family:Fell;src:url(/assets/fell-italic.woff2);font-style:italic}@font-face{font-family:Sono;src:url(/assets/sono.woff2);font-weight:200 800}*{box-sizing:border-box}:root{--bg:#f4f4f0;--text:#2b2b22;--muted:#858577;--line:#deded5;--green:#52634c;--surface:#eaece4}html.dark{--bg:#1d1d16;--text:#f4f4f0;--muted:#aaa99a;--line:#38382e;--green:#aec09a;--surface:#272b22}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Schibsted,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.85;transition:background .25s,color .25s}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:5px}.shell{width:min(100%,632px);margin:auto;padding:64px 24px 30px}header{margin-bottom:48px}.identity{flex-direction:column;align-items:flex-start;gap:17px;font-size:21px;font-weight:500;line-height:1.4;display:flex}.identity img{filter:saturate(.65);border-radius:50%;width:42px;height:42px}i{font-family:Fell,serif;font-size:1.12em;font-weight:400}.handle{font-weight:400}.navline{justify-content:space-between;align-items:center;margin-top:18px;display:flex}nav{gap:24px;line-height:24px;display:flex}nav a{color:var(--muted);transition:color .2s}nav a:hover,nav a.active{color:var(--text)}nav a.active{font-weight:600}#theme{color:var(--muted);background:0 0;border:0;padding:2px 6px;font-size:23px;line-height:24px}p{margin:0 0 19px}.intro{font-size:15px;line-height:1.95}.intro a,.inline-link{color:var(--green);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:5px}.intro a:hover,.inline-link:hover{-webkit-text-decoration-color:var(--green);text-decoration-color:var(--green)}.brand-icon{vertical-align:-3px;background:#000;border-radius:4px;margin:0 6px 0 1px;display:inline-block}html.dark .brand-icon{box-shadow:0 0 0 1px var(--line)}.status{color:var(--green);letter-spacing:.02em;align-items:center;gap:8px;margin-bottom:17px;font:11px Sono,monospace;display:inline-flex}.status b{background:var(--green);border-radius:50%;width:6px;height:6px}.tagline{letter-spacing:-.4px;margin:0 0 24px;font:italic 37px/1.18 Fell,serif}.muted{color:var(--muted)}.divider{justify-content:center;gap:8px;margin:38px 0;display:flex}.divider b{background:#d5755b;border-radius:50%;width:6px;height:6px}.divider b:nth-child(2){background:#c5b16b}.divider b:nth-child(3){background:#829676}.section-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font:11px Sono,monospace}.section-head a{color:var(--muted);font-size:12px}.section-head a:hover{color:var(--text)}.product{border-bottom:1px solid var(--line);align-items:flex-start;gap:13px;padding:14px 0;display:flex}.product:last-child{border:0}.mark{background:var(--surface);width:34px;height:34px;color:var(--green);border:1px solid var(--line);border-radius:9px;flex:0 0 34px;place-items:center;margin-top:2px;font:italic 22px Fell,serif;display:grid;overflow:hidden}.mark img{object-fit:contain;width:100%;height:100%;display:block}.product .detail{flex:1;min-width:0}.product strong{font-size:14px;font-weight:600}.product:hover strong{text-underline-offset:4px;text-decoration:underline}.product p{color:var(--muted);margin:2px 0 0;font-size:13px;line-height:1.8}.meta{color:var(--muted);margin-left:10px;font:10px Sono,monospace}.timeline{grid-template-columns:70px 1fr;gap:18px;padding:12px 0;display:grid}.timeline .year{color:var(--muted);font:11px/24px Sono,monospace}.timeline p{color:var(--muted);margin:2px 0 0;font-size:13px}.timeline strong{font-weight:500}.note{color:var(--muted);border-left:2px solid var(--line);margin:22px 0 28px;padding-left:13px;font-size:12px;line-height:1.8}.page-title{margin:0 0 16px;font:italic 36px/1.2 Fell,serif}.lead{margin-bottom:22px;font-size:14px;line-height:1.95}.filters{flex-wrap:wrap;gap:8px;margin:25px 0 20px;display:flex}.filter{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:20px;padding:4px 13px;font-size:12px}.filter.active{background:var(--surface);color:var(--green);border-color:var(--green)}.sample{background:var(--surface);color:var(--muted);border-radius:4px;padding:3px 6px;font:10px Sono,monospace}.portfolio{margin:0 0 26px}.portfolio-name{margin:0 0 12px;font-size:13px;font-weight:600}.tokens{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.token{border:1px solid var(--line);border-radius:999px;align-items:center;gap:7px;height:34px;padding:0 11px 0 6px;display:inline-flex}.token img{object-fit:contain;background:#fff;border-radius:50%;flex:0 0 22px;width:22px;height:22px}.token b{white-space:nowrap;font-size:13px;font-weight:500}.token .symbol{color:var(--muted);letter-spacing:.02em;font:10px Sono,monospace}.empty{color:var(--muted);padding:30px 0}.collection{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding:14px 0;display:flex}.collection .detail{flex:1}.collection p{color:var(--muted);margin:2px 0 0;font-size:13px}.collection .symbol{text-align:center;width:24px;color:var(--green);font-size:18px}footer{border-top:1px solid var(--line);color:var(--muted);margin-top:48px;padding-top:24px;font-size:12px}footer>div{gap:20px;margin:11px 0 28px;display:flex}footer a:hover{color:var(--text)}footer small{justify-content:space-between;font-size:10px;display:flex}main{animation:.35s ease-out appear}@keyframes appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width:480px){.shell{padding:36px 20px 24px}header{margin-bottom:36px}.identity{font-size:19px}nav{gap:17px;font-size:13px}.tagline{font-size:32px}.intro{font-size:14px}.meta{margin:3px 0 0;display:block}.product{gap:11px}footer small{flex-wrap:wrap;gap:10px}}@media (prefers-reduced-motion:reduce){main{animation:none}body{transition:none}}.name-row{flex-wrap:wrap;align-items:center;gap:18px;width:100%;display:flex}.social-links{align-items:center;gap:12px;display:flex}.social-links a{width:22px;height:28px;color:var(--muted);justify-content:center;align-items:center;transition:color .15s;display:flex}.social-links a:hover{color:var(--text)}.social-links svg{width:16px;height:16px}footer small{margin-top:24px}@media (max-width:480px){.name-row{gap:10px}.social-links{gap:8px}.social-links a{width:20px}.social-links svg{width:15px;height:15px}}.name-row{flex-direction:column;align-items:flex-start;gap:12px}.social-links{flex-wrap:wrap;gap:14px}.social-links a{width:24px;height:28px}.navline{margin-top:20px}@media (max-width:480px){.name-row{gap:12px}.social-links{gap:14px}.social-links a{width:24px}}.header-controls{align-items:center;gap:12px;display:flex}#language{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;width:28px;height:28px;padding:2px;display:flex}#language svg{width:22px;height:22px}#language:hover,#theme:hover{color:var(--text)}html[lang=zh-CN] .tagline,html[lang=zh-CN] .page-title{letter-spacing:1px;font-family:Songti SC,STSong,Noto Serif CJK SC,serif;font-size:30px;font-style:normal;line-height:1.5}.filters{gap:20px}.filter{color:var(--muted);background:0 0;border:0;border-radius:0;padding:4px 0;font-size:13px}.filter.active{color:var(--text);text-underline-offset:6px;background:0 0;border:0;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.filter:hover{color:var(--text)}html[lang=zh-CN] .tagline{display:none}@media (max-width:480px){nav{gap:12px}.header-controls{gap:6px}}.article-body h1{margin:24px 0 12px;font-size:28px}.article-body time{color:var(--muted);font-family:Sono}.article-body>div{margin-top:24px}.article-body a{text-underline-offset:4px;text-decoration:underline}.article-body ul,.article-body ol{padding-left:24px}.article-body pre{background:var(--surface);padding:16px;overflow:auto}.article-body img{max-width:100%}.navline{flex-wrap:wrap;gap:16px}nav{flex-wrap:wrap}.header-controls{margin-left:auto}.shell{flex-direction:column;min-height:100svh;display:flex}.shell>main{flex:1}.shell>header,.shell>footer{flex-shrink:0}
