:root{--bg: #ffffff;--bg-2: #fafafa;--bg-3: #f4f4f4;--ink: #0a0a0a;--ink-2: #5e5e5e;--muted: #9b9b9b;--line: #eaeaea;--line-2: #f4f4f4;--ph: #dedede;--sans: "Inter", "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", -apple-system, system-ui, sans-serif;--mono: "SF Mono", "JetBrains Mono", ui-monospace, Consolas, monospace;--wrap: 1240px;--pad: 36px;--ease: cubic-bezier(.22,.61,.36,1)}[data-theme=dark]{--bg: #0b0b0c;--bg-2: #121214;--bg-3: #17171a;--ink: #f2f2f0;--ink-2: #a8a8a6;--muted: #6e6e6c;--line: #202023;--line-2: #17171a;--ph: #1b1b1e}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .35s var(--ease),color .35s var(--ease)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{font:inherit}::selection{background:var(--ink);color:var(--bg)}:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px;border-radius:1px}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}.narrow{max-width:760px;margin:0 auto}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hdr{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-bottom:1px solid var(--line)}.hdr-in{display:flex;align-items:center;height:74px;gap:40px}.logo{display:flex;align-items:center;gap:11px;flex:0 0 auto}.logo svg{width:17px;height:17px;color:var(--ink);flex:none}.logo .nm{font-size:15px;font-weight:600;letter-spacing:.06em}.logo .en{font:9px var(--mono);letter-spacing:.28em;color:var(--muted);padding-left:11px;margin-left:2px;border-left:1px solid var(--line);line-height:1}.nav{display:flex;gap:34px;margin-left:auto;font-size:13.5px;color:var(--ink-2)}.nav a{position:relative;padding:6px 0;transition:color .25s var(--ease)}.nav a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--ink);transition:width .35s var(--ease)}.nav a:hover{color:var(--ink)}.nav a:hover:after,.nav a.on:after{width:100%}.nav a.on{color:var(--ink)}.act{display:flex;align-items:center;gap:4px}.ibtn{width:34px;height:34px;display:grid;place-items:center;border:0;background:none;cursor:pointer;color:var(--ink-2);border-radius:50%;transition:.25s var(--ease)}.ibtn:hover{background:var(--line-2);color:var(--ink)}.ibtn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}[data-theme=light] .i-sun,[data-theme=dark] .i-moon{display:none}.hero{display:grid;grid-template-columns:1fr 1.02fr;gap:64px;align-items:center;padding:86px 0 96px}.eyebrow{font:10.5px var(--mono);letter-spacing:.22em;color:var(--muted);text-transform:uppercase}.hero h1{margin:22px 0 0;font-size:clamp(42px,5.2vw,74px);line-height:1.05;font-weight:600;letter-spacing:-.035em}.hero h1 em{font-style:normal;color:var(--muted)}.dek{margin:26px 0 0;max-width:440px;font-size:15.5px;line-height:1.95;color:var(--ink-2)}.hmeta{display:flex;gap:16px;align-items:center;margin-top:30px;font:11px var(--mono);letter-spacing:.1em;color:var(--muted)}.hmeta i{width:3px;height:3px;border-radius:50%;background:var(--line)}.readmore{display:inline-flex;align-items:center;gap:10px;margin-top:34px;font-size:13.5px;border-bottom:1px solid var(--ink);padding-bottom:4px}.readmore span{transition:transform .3s var(--ease)}.readmore:hover span{transform:translate(5px)}.hero-media{position:relative}.hero-media .frame{position:relative;overflow:hidden;border-radius:2px;aspect-ratio:4 / 5;background:var(--ph)}.hero-media .cap{display:flex;justify-content:space-between;margin-top:12px;font:10px var(--mono);letter-spacing:.12em;color:var(--muted)}.zoom{transition:transform 1.1s var(--ease);will-change:transform}a:hover .zoom,.card:hover .zoom{transform:scale(1.045)}.cover-wrap{position:relative;overflow:hidden;background:var(--ph);border-radius:2px}.cover-wrap img{width:100%;height:100%;object-fit:cover}.ph-blank{position:absolute;inset:0;background:linear-gradient(135deg,var(--bg-3) 0%,var(--line) 55%,var(--bg-3) 100%)}.sec{padding:0 0 92px}.sec-hd{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:34px}.sec-hd .l{display:flex;align-items:baseline;gap:12px}.sec-hd .n{font:10px var(--mono);color:var(--muted);letter-spacing:.1em}.sec-hd h2{margin:0;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.sec-hd a{font:11px var(--mono);letter-spacing:.08em;color:var(--muted);transition:color .2s}.sec-hd a:hover{color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.card{display:block}.card .frame{aspect-ratio:4 / 3}.card .body{padding-top:16px}.card .k{display:flex;gap:10px;align-items:center;font:10px var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.card h3{margin:9px 0 0;font-size:17px;font-weight:500;line-height:1.55;letter-spacing:-.01em;transition:color .2s}.card:hover h3{color:var(--ink-2)}.card p{margin:7px 0 0;font-size:13.5px;line-height:1.8;color:var(--ink-2)}.rows{list-style:none;margin:0;padding:0}.rows li{border-bottom:1px solid var(--line-2)}.rows a{display:grid;grid-template-columns:48px 1fr 120px 84px;gap:20px;align-items:baseline;padding:19px 0;transition:padding .3s var(--ease),background .3s var(--ease)}.rows a:hover{background:var(--bg-2);padding-left:14px;padding-right:14px}.rows .i{font:10.5px var(--mono);color:var(--muted)}.rows .t{font-size:15.5px}.rows .g{font:10px var(--mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.rows .d{font:10.5px var(--mono);color:var(--muted);text-align:right}.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.strip a{display:block}.strip .frame{aspect-ratio:3 / 4}.strip .t{margin-top:9px;display:flex;justify-content:space-between;font:10.5px var(--mono);letter-spacing:.08em;color:var(--muted)}.page-hd{padding:74px 0 30px;border-bottom:1px solid var(--ink)}.page-hd .eyebrow{display:block;margin-bottom:18px}.page-hd h1{margin:0;font-size:clamp(32px,4vw,48px);font-weight:600;letter-spacing:-.03em;line-height:1.15}.page-hd p{margin:16px 0 0;max-width:560px;color:var(--ink-2);font-size:14.5px;line-height:1.9}.page-hd .meta{margin-top:22px;display:flex;gap:18px;font:10.5px var(--mono);letter-spacing:.12em;color:var(--muted)}.crumb{display:flex;gap:9px;align-items:center;padding:28px 0 0;font:10px var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.crumb span{opacity:.45}.art-hd{max-width:760px;margin:36px auto 0;text-align:center}.art-hd .cat{font:10px var(--mono);letter-spacing:.24em;color:var(--muted);text-transform:uppercase}.art-hd h1{margin:20px 0 16px;font-size:clamp(30px,3.8vw,48px);line-height:1.22;font-weight:600;letter-spacing:-.03em}.art-hd .dek{margin:0 auto;max-width:560px;font-size:15.5px;line-height:1.9;color:var(--ink-2)}.art-meta{display:flex;justify-content:center;gap:20px;margin-top:24px;font:10.5px var(--mono);letter-spacing:.12em;color:var(--muted)}.art-cover{max-width:1000px;margin:38px auto 0}.art-cover .frame{aspect-ratio:16 / 8}.art-cover figcaption{text-align:center;margin-top:12px;font:10.5px var(--mono);letter-spacing:.1em;color:var(--muted)}.prose{max-width:680px;margin:54px auto 0;font-size:16.5px;line-height:2;color:var(--ink);letter-spacing:.01em}.prose>*:first-child{margin-top:0}.prose p{margin:0 0 26px}.prose h2{font-size:22px;font-weight:600;letter-spacing:-.01em;margin:48px 0 18px;padding-top:20px;border-top:1px solid var(--line)}.prose h3{font-size:18px;font-weight:600;margin:34px 0 14px}.prose blockquote{margin:36px 0;padding:2px 0 2px 22px;border-left:2px solid var(--ink);color:var(--ink-2);font-size:17px;line-height:1.9}.prose ul,.prose ol{margin:0 0 24px;padding-left:22px}.prose li{margin:8px 0}.prose img{margin:34px 0;border-radius:2px;width:100%}.prose a{border-bottom:1px solid var(--ink-2)}.prose a:hover{border-color:var(--ink)}.prose hr{border:0;border-top:1px solid var(--line);margin:46px 0}.prose code{font-family:var(--mono);font-size:.88em;background:var(--bg-3);padding:2px 6px;border-radius:3px}.prose pre.code{margin:30px 0;padding:20px 22px;background:var(--bg-2);border:1px solid var(--line);border-radius:3px;overflow-x:auto;font-size:13px;line-height:1.75}.prose pre.code code{background:none;padding:0;font-size:inherit}.prose table{width:100%;border-collapse:collapse;margin:30px 0;font-size:14px}.prose th,.prose td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}.prose th{font-weight:600;background:var(--bg-2)}.hljs-comment,.hljs-quote{color:#8a8a8a}.hljs-keyword,.hljs-selector-tag,.hljs-built_in{color:#8c3a2b}.hljs-string,.hljs-attr{color:#2f5d50}.hljs-number,.hljs-literal{color:#7a5c1e}.hljs-title,.hljs-section{color:#1f4e79}.hljs-tag,.hljs-name{color:#6b3fa0}[data-theme=dark] .hljs-comment{color:#6e6e6c}[data-theme=dark] .hljs-keyword{color:#d99a5b}[data-theme=dark] .hljs-string{color:#8fbfae}[data-theme=dark] .hljs-number{color:#d6b47a}[data-theme=dark] .hljs-title{color:#8ab4d8}.art-foot{max-width:680px;margin:46px auto 0;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags a{border:1px solid var(--line);border-radius:99px;padding:5px 13px;font-size:11.5px;color:var(--ink-2);letter-spacing:.04em;transition:.2s}.tags a:hover{border-color:var(--ink);color:var(--ink)}.tags a b{font:10px var(--mono);color:var(--muted);margin-left:6px}.pager{max-width:1000px;margin:56px auto 0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.pager a{padding:24px 0;display:block}.pager a+a{text-align:right;padding-left:30px}.pager .k{font:10px var(--mono);letter-spacing:.16em;color:var(--muted)}.pager .t{font-size:15px;margin-top:8px}.comments{max-width:680px;margin:68px auto 0}.cbox{border:1px solid var(--line);padding:20px;margin-top:22px;background:var(--bg-2);border-radius:2px}.cbox .row2{display:flex;gap:12px;margin-bottom:12px}.cbox input,.cbox textarea{width:100%;border:1px solid var(--line);background:var(--bg);padding:11px 13px;font:13.5px var(--sans);color:var(--ink);outline:none;border-radius:2px}.cbox textarea{resize:vertical;min-height:96px;line-height:1.8}.cbox input:focus,.cbox textarea:focus{border-color:var(--ink)}.cbox .foot2{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:14px}.cbox .hint{font:10px var(--mono);color:var(--muted);letter-spacing:.06em}.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}.btn{display:inline-block;background:var(--ink);color:var(--bg);border:1px solid var(--ink);padding:10px 22px;font:11px var(--mono);letter-spacing:.16em;cursor:pointer;border-radius:2px;transition:.2s}.btn:hover,.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--bg)}.btn:disabled{opacity:.45;cursor:default}.cmm{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:20px 0;border-bottom:1px solid var(--line-2)}.av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:600;background:var(--bg-3);color:var(--ink-2)}.cmm .who{display:flex;align-items:baseline;gap:10px}.cmm .who b{font-size:13.5px;font-weight:600}.cmm .who time{font:10px var(--mono);color:var(--muted)}.cmm p{margin:7px 0 0;font-size:14.5px;line-height:1.9;color:var(--ink-2);white-space:pre-wrap}.cform-msg{font-size:12.5px;color:var(--ink-2);margin-left:10px}.cform-msg.err{color:#b03a2b}.arc-group{padding:34px 0 8px;border-bottom:1px solid var(--line-2)}.arc-group h3{margin:0 0 8px;font:600 12px var(--mono);letter-spacing:.16em;color:var(--muted);text-transform:uppercase}.arc-item{display:grid;grid-template-columns:74px 1fr auto;gap:18px;align-items:baseline;padding:15px 0;border-top:1px solid var(--line-2)}.arc-item:first-of-type{border-top:0}.arc-item .d{font:10.5px var(--mono);color:var(--muted)}.arc-item .t{font-size:15.5px}.arc-item a:hover .t{color:var(--ink-2)}.arc-item .c{font:10px var(--mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.search-box{display:flex;gap:0;border-bottom:1px solid var(--ink);padding-bottom:12px;margin:30px 0 40px}.search-box input{flex:1;border:0;background:none;outline:none;font-size:26px;letter-spacing:-.02em;color:var(--ink);font-family:var(--sans)}.search-box input::placeholder{color:var(--muted)}.search-box button{border:0;background:none;cursor:pointer;font:11px var(--mono);letter-spacing:.16em;color:var(--ink-2)}.search-box button:hover{color:var(--ink)}mark{background:color-mix(in srgb,var(--ink) 12%,transparent);color:inherit;padding:0 2px}.alb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;padding-top:40px}.alb-card .frame{aspect-ratio:4 / 3}.alb-card h3{margin:14px 0 4px;font-size:16px;font-weight:500}.alb-card .m{font:10px var(--mono);letter-spacing:.1em;color:var(--muted);display:flex;gap:12px}.masonry{columns:3;column-gap:14px;padding-top:36px}.masonry .ph-item{break-inside:avoid;margin:0 0 14px;display:block;position:relative;overflow:hidden;border-radius:2px;background:var(--ph);cursor:zoom-in}.masonry .ph-item img{width:100%;display:block;transition:transform .9s var(--ease)}.masonry .ph-item:hover img{transform:scale(1.03)}.masonry .ph-item .cap{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;font:10px var(--mono);letter-spacing:.08em;color:#fff;background:linear-gradient(180deg,transparent,rgba(0,0,0,.55));opacity:0;transition:opacity .3s}.masonry .ph-item:hover .cap{opacity:1}.lightbox{position:fixed;inset:0;z-index:100;display:none;background:#0a0a0a;color:#f2f2f0}.lightbox.on{display:grid;grid-template-rows:auto 1fr auto}.lb-top{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;font:10.5px var(--mono);letter-spacing:.12em;color:#9a9a98}.lb-top button{background:none;border:0;color:#f2f2f0;cursor:pointer;font-size:22px;line-height:1}.lb-stage{display:grid;place-items:center;padding:0 60px;min-height:0}.lb-stage img{max-width:100%;max-height:100%;object-fit:contain}.lb-nav{display:flex;align-items:center;justify-content:center;gap:26px;padding:18px;font:11px var(--mono);letter-spacing:.1em;color:#9a9a98}.lb-nav button{background:none;border:1px solid #333;color:#f2f2f0;width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:15px}.lb-nav button:hover{border-color:#f2f2f0}.lb-cap{text-align:center;font-size:12.5px;color:#b9b9b7;padding-bottom:22px;min-height:40px}.empty{padding:90px 0;text-align:center;color:var(--muted);font-size:14px}.empty b{display:block;font-size:15px;color:var(--ink-2);font-weight:500;margin-bottom:6px}.pagination{display:flex;justify-content:center;gap:10px;margin-top:56px}.pagination a,.pagination span{font:11px var(--mono);padding:8px 14px;border:1px solid var(--line);border-radius:2px;color:var(--ink-2)}.pagination a:hover,.pagination .on{border-color:var(--ink);color:var(--ink)}footer{border-top:1px solid var(--line);margin-top:10px}.f-in{display:flex;align-items:center;justify-content:space-between;padding:34px 0 46px;gap:20px}.f-in .c{font:10.5px var(--mono);letter-spacing:.1em;color:var(--muted)}.f-links{display:flex;gap:26px;font-size:12px;color:var(--ink-2)}.f-links a:hover{color:var(--ink)}.reveal{opacity:0;transform:translateY(14px)}.reveal.in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}@media(max-width:900px){.hero{grid-template-columns:1fr;gap:40px;padding:52px 0 64px}.hero-media .frame{aspect-ratio:4 / 3}.cards,.strip,.alb-grid{grid-template-columns:1fr 1fr}.masonry{columns:2}.nav{display:none}.rows a{grid-template-columns:36px 1fr 74px}.rows .g{display:none}.lb-stage{padding:0 16px}}@media(max-width:560px){:root{--pad: 20px}.cards,.alb-grid{grid-template-columns:1fr}.hero h1{font-size:40px}.logo .en{display:none}.sec{padding-bottom:64px}.prose{font-size:16px;line-height:1.95}.art-foot{flex-direction:column;align-items:flex-start}.pager{grid-template-columns:1fr}.pager a+a{text-align:left;padding-left:0;border-top:1px solid var(--line)}.masonry{columns:1}.search-box input{font-size:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
