:root{--bg:#f0ede4;--ink:#0a0a0a;--panel:#fffdf7;--blue:#2b4bff;--yellow:#ffd400;--pink:#ff5c8a;--line:#0a0a0a;--sans:"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Microsoft YaHei", sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0a0a0a;--ink:#f4f1e8;--panel:#141414;--blue:#6b82ff;--yellow:#ffe14d;--pink:#ff7ba3;--line:#f4f1e8}}:root[data-theme=dark]{--bg:#0a0a0a;--ink:#f4f1e8;--panel:#141414;--blue:#6b82ff;--yellow:#ffe14d;--pink:#ff7ba3;--line:#f4f1e8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);margin:0;padding-top:64px;line-height:1.6;transition:background .35s,color .35s}a{color:inherit;text-decoration:none}.wrap{max-width:1000px;margin:0 auto;padding:0 22px 90px}.floatnav{z-index:60;background:var(--panel);border-bottom:3px solid var(--line);position:fixed;top:0;left:0;right:0}.fn-in{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;max-width:1000px;height:58px;margin:0 auto;padding:0 22px;display:grid}.fn-brand{letter-spacing:-.5px;justify-self:start;font-size:18px;font-weight:900}.fn-brand span{background:var(--blue);color:#fff;padding:0 6px}.fn-links{border:3px solid var(--line);background:var(--panel);justify-self:center;display:flex}.fn-links a{text-transform:uppercase;letter-spacing:.5px;border-right:3px solid var(--line);padding:7px 14px;font-size:12px;font-weight:800;transition:background .18s,color .18s}.fn-links a:last-child{border-right:none}.fn-links a:hover,.fn-links a.active{background:var(--yellow);color:#0a0a0a}.fn-tools{justify-self:end;align-items:center;gap:6px;display:flex}.tool{color:var(--ink);font:inherit;text-transform:uppercase;cursor:pointer;background:0 0;border:3px solid #0000;align-items:center;gap:7px;padding:7px 12px;font-size:12px;font-weight:800;text-decoration:none;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.tool:hover{background:var(--yellow);border-color:var(--line);color:#0a0a0a}.tool .ti{font-size:14px}.fn-progress{background:color-mix(in srgb, var(--ink) 14%, transparent);height:5px}.fn-progress i{background:var(--blue);width:0;height:100%;display:block}.ticker{background:var(--ink);color:var(--bg);border-bottom:3px solid var(--line);display:flex;overflow:hidden}.ticker .track{letter-spacing:2px;text-transform:uppercase;white-space:nowrap;will-change:transform;flex:none;justify-content:space-around;align-items:center;min-width:100%;padding:8px 0;font-size:13px;font-weight:800;animation:26s linear infinite slide;display:flex}.ticker span{padding:0 18px}.ticker b{color:var(--yellow)}@keyframes slide{0%{transform:translate(0)}to{transform:translate(-100%)}}header{border:3px solid var(--line);background:var(--panel);border-top:none;justify-content:space-between;align-items:stretch;display:flex}.brand{letter-spacing:-1px;border-right:3px solid var(--line);padding:14px 20px;font-size:26px;font-weight:900}.brand span{background:var(--blue);color:#fff;padding:0 8px}.nav{display:flex}.nav a{text-transform:uppercase;letter-spacing:1px;border-left:3px solid var(--line);padding:16px;font-size:13px;font-weight:800;transition:background .18s,color .18s}.nav a:hover{background:var(--yellow);color:#0a0a0a}.hero{border:3px solid var(--line);background:var(--panel);border-top:none;grid-template-columns:1fr 300px;display:grid}.hero .txt{padding:40px 34px}.tag-row{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.stamp{border:3px solid var(--line);background:var(--pink);color:#0a0a0a;text-transform:uppercase;letter-spacing:1px;padding:4px 11px;font-size:12px;font-weight:900;transform:rotate(-2deg)}.stamp.b{background:var(--blue);color:#fff;transform:rotate(1.5deg)}.stamp.y{background:var(--yellow);color:#0a0a0a}.hero h1{letter-spacing:-3px;text-transform:uppercase;margin:0 0 20px;font-size:clamp(38px,7.5vw,84px);font-weight:900;line-height:.94}.hero h1 .box{background:var(--ink);color:var(--bg);padding:0 12px;display:inline-block}.hero .txt p{max-width:46ch;margin:0;font-size:15px}.hero .pic{border-left:3px solid var(--line);background:var(--yellow);position:relative}.hero .pic img{object-fit:cover;filter:saturate(1.18)contrast(1.08);width:100%;height:100%}.hero .pic .badge{background:var(--yellow);color:#0a0a0a;border:3px solid var(--line);text-transform:uppercase;padding:6px 12px;font-size:12px;font-weight:900;position:absolute;bottom:0;right:0}h2.sec{text-transform:uppercase;letter-spacing:-1px;margin:46px 0 0;font-size:30px;font-weight:900}h2.sec i{background:var(--yellow);color:#0a0a0a;padding:0 8px;font-style:normal}.about{border:3px solid var(--line);background:var(--panel);border-top:none;padding:28px 30px}.head-meta{text-transform:uppercase;letter-spacing:1px;opacity:.7;padding:16px;font-size:12px;font-weight:800}.about .origin{color:var(--muted);border-top:2px dashed var(--line);margin:6px 0 0;padding-top:12px;font-size:13px}.about p{max-width:68ch;margin:0 0 14px;font-size:15.5px}.about p:last-child{margin:0}.thesis{border:3px solid var(--line);background:var(--ink);color:var(--bg);letter-spacing:-.5px;margin-top:16px;padding:18px 24px;font-size:clamp(20px,3vw,30px);font-weight:900}.thesis span{color:var(--yellow)}.works{gap:20px;margin-top:26px;display:grid}.work{border:3px solid var(--line);background:var(--panel);box-shadow:10px 10px 0 var(--line);padding:24px 26px;transition:transform .18s,box-shadow .18s;position:relative}.work:hover{box-shadow:16px 16px 0 var(--line);transform:translate(-3px,-3px)}.work.main{background:var(--blue);color:#fff}.work.main .desc{color:#ffffffe6}.work h3{text-transform:uppercase;letter-spacing:-.5px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 10px;font-size:24px;font-weight:900;display:flex}.work .chip{text-transform:uppercase;letter-spacing:1px;border:2px solid;padding:2px 9px;font-size:11px;font-weight:900}.work .desc{margin:0;font-size:14.5px}.work .go{text-transform:uppercase;letter-spacing:1px;border-bottom:3px solid;margin-top:16px;font-size:13px;font-weight:900;display:inline-block}.work .no{opacity:.18;font-size:40px;font-weight:900;position:absolute;top:16px;right:22px}.misc{border:3px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;margin-top:22px;display:grid}.misc div{border-right:3px solid var(--line);border-bottom:3px solid var(--line);padding:18px 20px;font-size:13.5px}.misc b{text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:13px;font-weight:900;display:block}.colophon{border:3px solid var(--line);background:var(--panel);margin-top:46px;padding:22px 24px;font-size:13px}.col-note{max-width:70ch;margin-bottom:16px;font-weight:700}.col-grid{border:3px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.col-grid div{border-right:3px solid var(--line);padding:12px 16px}.col-grid div:last-child{border-right:none}.col-grid b{text-transform:uppercase;letter-spacing:.5px;opacity:.7;font-size:11px;font-weight:900;display:block}.col-bottom{letter-spacing:.5px;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:16px;font-size:12px;font-weight:800;display:flex}.col-links{text-transform:none;letter-spacing:0;flex-wrap:wrap;gap:14px;display:flex}.colophon a{border-bottom:2px solid var(--blue)}.colophon a:hover{color:var(--blue)}.col-beian{flex-wrap:wrap;gap:12px;display:inline-flex}.col-beian a{border-bottom-color:var(--ink)}.col-copy{opacity:.7;margin-left:auto}.reveal{opacity:0;transition:opacity .38s,transform .5s cubic-bezier(.16,1.02,.3,1.16);transform:translate(-80px)rotate(-3.5deg)}.reveal.in{opacity:1;transform:none}.works .work:nth-child(2){transition-delay:70ms}.works .work:nth-child(3){transition-delay:.14s}.works .work:nth-child(4){transition-delay:.21s}.misc>div:nth-child(2){transition-delay:50ms}.misc>div:nth-child(3){transition-delay:.1s}.misc>div:nth-child(4){transition-delay:.15s}@media (width<=720px){.hero{grid-template-columns:1fr}.hero .pic{border-left:none;border-top:3px solid var(--line);height:260px}.nav a{padding:14px 10px;font-size:12px}.brand{font-size:20px}.fn-links{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}.reveal{opacity:1!important;transform:none!important}}
