:root{--ink:#36302a;--ink-soft:#6d6358;--ink-faint:#9b9084;--cream:#f6f0e5;--hair:#7a695629;--sage:#7d9b86;--sage-deep:#5c7d67;--ease:cubic-bezier(.22,.85,.2,1);--ease-soft:cubic-bezier(.4,0,.2,1);--serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC","STSong",ui-serif,Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--hero-out:0}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}[hidden]{display:none!important}body{background:var(--cream);color:var(--ink);font:16px/1.85 var(--sans);-webkit-font-smoothing:antialiased;letter-spacing:.01em;margin:0}a{color:var(--sage-deep);text-decoration:none}.site-bg{z-index:0;pointer-events:none;will-change:transform;background:linear-gradient(#cfe0e6,#f6ead6);border:0;width:100%;height:100%;position:fixed;inset:0}.site-veil{z-index:1;pointer-events:none;background:radial-gradient(125% 85% at 50% 4%,#fff0 44%,#f6f0e58c 100%),linear-gradient(#f6f0e500 52%,#f6f0e56b 76%,#f6f0e5b8 100%);position:fixed;inset:0}.site-grain{z-index:2;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");position:fixed;inset:0}.site-header{z-index:30;transition:background .7s var(--ease),border-color .7s var(--ease),backdrop-filter .7s var(--ease);background:0 0;border-bottom:1px solid #0000;position:fixed;top:0;left:0;right:0}.site-header.is-scrolled{-webkit-backdrop-filter:blur(16px)saturate(1.1);backdrop-filter:blur(16px)saturate(1.1);border-bottom-color:var(--hair);background:#f6f0e5c7}.bar{align-items:center;gap:18px;max-width:1080px;height:66px;margin:0 auto;padding:0 24px;display:flex}.brand{font-family:var(--serif);letter-spacing:.07em;color:var(--ink);opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease);margin-right:auto;font-size:16px;font-weight:600;transform:translateY(-6px)}.site-header.is-scrolled .brand{opacity:1;transform:none}.brand span{color:var(--sage-deep)}.env{flex:none;margin-left:auto;position:relative}.env-btn{border:1px solid var(--hair);height:30px;color:var(--ink-soft);font:inherit;letter-spacing:.04em;cursor:pointer;transition:box-shadow .45s var(--ease),border-color .45s var(--ease),transform .45s var(--ease), background .45s var(--ease);background:#ffffffb3;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:12.5px;line-height:1;display:inline-flex}.env-btn:hover{color:var(--ink);background:#ffffffe6;border-color:#7d9b868c;transform:translateY(-1px);box-shadow:0 5px 20px #5c7d6729}.env-btn:focus-visible{outline:2px solid var(--sage);outline-offset:3px}.dot{background:var(--ink-faint);width:7px;height:7px;transition:background .6s var(--ease),box-shadow .6s var(--ease);border-radius:50%;flex:none}body[data-env=checking] .dot{animation:blink 1.5s var(--ease-soft) infinite}body[data-env=internal] .dot{background:#5c9a74;box-shadow:0 0 0 3px #5c9a742e}body[data-env=external] .dot{background:#c99a5b;box-shadow:0 0 0 3px #c99a5b29}body[data-env=failed] .dot{background:#b9745f;box-shadow:0 0 0 3px #b9745f29}@keyframes blink{50%{opacity:.2}}.env-pop{z-index:40;text-align:left;border:1px solid var(--hair);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-width:176px;animation:popIn .42s var(--ease) both;background:#fffdf9f7;border-radius:14px;padding:10px;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 18px 48px #5a483229,0 2px 8px #5a48320d}@keyframes popIn{0%{opacity:0;transform:translateY(-10px)scale(.96)}to{opacity:1;transform:none}}.actions{flex-direction:column;gap:8px;display:flex}.btn{border:1px solid var(--hair);width:100%;color:var(--ink);font:inherit;text-align:center;cursor:pointer;transition:all .4s var(--ease);background:#ffffffeb;border-radius:10px;padding:8px 14px;font-size:12.5px;line-height:1.5;display:block}.btn:hover{border-color:var(--sage);transform:translateY(-1px);box-shadow:0 5px 16px #5c7d6729}.btn-primary{background:var(--sage-deep);border-color:var(--sage-deep);color:#fff}.btn-primary:hover{filter:brightness(1.06);box-shadow:0 7px 20px #5c7d674d}.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.hero{justify-content:center;align-items:center;min-height:100vh;padding:0 24px 14vh;display:flex;position:relative}.logo{opacity:calc(1 - var(--hero-out));transform:translateY(calc(var(--hero-out) * 46px)) scale(calc(1 - var(--hero-out) * .05));filter:blur(calc(var(--hero-out) * 6px));will-change:transform,opacity,filter;animation:logoIn 1.35s var(--ease) both;flex-direction:column;align-items:center;gap:22px;display:flex}@keyframes logoIn{0%{opacity:0;filter:blur(10px);transform:translateY(26px)scale(.96)}to{opacity:1;filter:none;transform:none}}.mark{fill:none;width:92px;height:92px;stroke:var(--sage-deep);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 8px 22px #5c7d672e);overflow:visible}.mark .thin{stroke-width:1.2px;opacity:.55}.logo h1{font-family:var(--serif);text-align:center;letter-spacing:.05em;color:#332d26;text-shadow:0 2px 30px #fffffff2,0 1px 3px #ffffffe6;margin:0;font-size:clamp(30px,4.2vw,46px);font-weight:600;line-height:1.2}.logo h1 em{color:var(--sage-deep);font-style:normal}.scroll-hint{letter-spacing:.34em;color:var(--ink-soft);opacity:calc(.7 - var(--hero-out) * .7);flex-direction:column;align-items:center;gap:10px;font-size:10px;transition:opacity .4s linear;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.scroll-hint i{background:linear-gradient(transparent,var(--ink-soft) 45%,transparent);width:1px;height:40px;animation:drop 2.6s var(--ease-soft) infinite;display:block}@keyframes drop{0%{opacity:0;transform:translateY(-10px)}40%{opacity:1}to{opacity:0;transform:translateY(16px)}}main{z-index:5;position:relative}.content{max-width:760px;margin:0 auto;padding:0 24px}.focus{--focus:1;opacity:calc(.1 + var(--focus) * .9);transform:translate3d(0, calc((1 - var(--focus)) * 34px), 0) scale(calc(.968 + var(--focus) * .032));filter:blur(calc((1 - var(--focus)) * 4px));will-change:opacity,transform,filter;transition:opacity .18s linear,transform .18s linear,filter .18s linear}.section{border:1px solid var(--hair);-webkit-backdrop-filter:blur(18px)saturate(1.05);backdrop-filter:blur(18px)saturate(1.05);background:#ffffffb8;border-radius:24px;margin:0 0 26px;padding:34px 36px;position:relative;box-shadow:0 16px 54px #5a483212,0 2px 10px #5a48320a}.section h2{font-family:var(--serif);letter-spacing:.12em;color:#3b342c;align-items:center;gap:12px;margin:0 0 20px;font-size:16.5px;font-weight:600;display:flex}.section h2 .rule{background:var(--sage);transform-origin:0;width:26px;height:1px;transform:scaleX(calc(.35 + var(--focus) * .65));transition:transform .3s var(--ease);flex:none}.posts{margin:0;padding:0;list-style:none}.post{border-top:1px solid var(--hair);padding:18px 0}.post:first-child{border-top:0;padding-top:2px}.post:last-child{padding-bottom:0}.post-head{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.date{letter-spacing:.08em;color:var(--ink-faint);flex:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.post-title{color:#3b342c;letter-spacing:.01em;transition:color .45s var(--ease);font-size:15.5px;font-weight:600}.post:hover .post-title{color:var(--sage-deep)}.post p{color:var(--ink-soft);margin:7px 0 0;font-size:13.5px;line-height:1.8}.site-footer{z-index:5;text-align:center;background:linear-gradient(#f6f0e500,#f6f0e5d9 42%);margin:60px 0 0;padding:34px 0 42px;position:relative}.site-footer p{color:var(--ink-soft);letter-spacing:.05em;margin:5px 0;font-size:12px}.site-footer a{color:var(--ink-soft);transition:color .4s var(--ease)}.site-footer a:hover{color:var(--sage-deep)}.sep{opacity:.5;margin:0 9px}.still .logo{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}.still .scroll-hint i{animation:none}.still .focus{opacity:1!important;filter:none!important;transition:none!important;transform:none!important}.still .env-pop{animation:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.logo,.scroll-hint i{animation:none}.focus{opacity:1!important;filter:none!important;transition:none!important;transform:none!important}.env-pop{animation:none}}@media (width<=720px){.bar{height:58px;padding:0 16px}.brand{font-size:15px}.hero{min-height:92vh}.mark{width:64px;height:64px}.content{padding:0 16px}.section{border-radius:18px;padding:26px 20px}.focus{filter:none}}
