a{color:inherit}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.header .identity a{pointer-events:auto;text-decoration:none}.kicker{max-width:44vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.journal{top:20%;bottom:155px;width:370px;display:flex;flex-direction:column}.journal-label{font-weight:400;line-height:1.8;margin:0 0 16px}.journal-label:focus{outline:0}.journal-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffe2cb33 transparent;padding-right:12px}.story-link{color:inherit;text-decoration:none;padding:20px 0;flex-shrink:0}.story-copy{flex:1;min-width:0}.story-title{display:block;line-height:1.6;letter-spacing:.06em}.story-meta{display:block;font-size:10px;letter-spacing:.1em;opacity:.5;margin-top:8px}.journal .story-link:nth-of-type(3){display:flex}.site-pages{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;font-size:12px;line-height:2.2;color:#ffe7cf}.site-pages a{text-decoration:none}.site-pages a:hover{color:#fff}
.page-navigator{display:flex;gap:9px;flex-wrap:wrap;list-style:none;padding:0;margin:15px 0;font-size:11px}.page-navigator a{text-decoration:none;padding:5px 7px;border-bottom:1px solid #abc4d62b}.page-navigator .current a{color:#fff;border-color:#ffd0a7}.empty-note{font-family:"Songti SC",serif;font-size:16px;line-height:2;color:#d5ccce}
.site-search{display:flex;align-items:center;gap:8px;border-bottom:1px solid #ffe2cb30;margin-top:12px}.site-search input{min-width:0;flex:1;border:0;background:transparent;padding:10px 0;color:#fff0e2;font-size:11px;outline-offset:3px}.site-search button{background:transparent;border:0;padding:8px;color:#dec9bc}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.passage-back{text-decoration:none}.article-text a{color:#cfddd9;text-underline-offset:4px}.article-text img,.article-text video{max-width:100%;height:auto;border-radius:5px}.article-text iframe{max-width:100%;border:0}.article-text pre{font:12px/1.8 ui-monospace,SFMono-Regular,monospace;padding:18px;background:#0d1825;overflow:auto;letter-spacing:0;border:1px solid #a5bfd520;border-radius:5px}.article-text code{font-family:ui-monospace,SFMono-Regular,monospace;letter-spacing:0;overflow-wrap:anywhere}.article-text pre code{overflow-wrap:normal}.article-text table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;margin:24px 0;font-size:13px}.article-text th,.article-text td{border:1px solid #a5bfd530;padding:8px 12px}.article-text ul,.article-text ol{padding-left:24px}.article-text h3{font-size:18px;font-weight:400;margin-top:30px}.article-meta a{text-decoration:none}.post-tags{font-size:11px;color:#a3b9cd;margin:30px 0}.post-near{border-top:1px solid #a5bfd526;font-size:12px;padding-top:20px;margin:30px 0;line-height:2.5}.post-near a{text-decoration:none}.article-mode .site-footer,.immersive .site-footer{display:none}.site-footer{position:absolute;bottom:10px;left:42px;right:90px;font-size:9px;color:#b7bdc180;pointer-events:auto;z-index:2}.site-footer a{margin-left:10px;text-decoration:none}
.friend-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.friend-name{overflow-wrap:anywhere}.friend-note{overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.friend-link{min-height:72px}.friends-empty,.friends-locked{position:absolute;left:50%;top:35%;transform:translateX(-50%);color:#cedce2b0;text-align:center;font-family:"Songti SC",serif;font-size:18px;line-height:2.1;letter-spacing:.1em;width:min(380px,80vw)}.friends-pagination{position:absolute;bottom:112px;right:42px;display:flex;gap:16px;align-items:center;font-size:10px;pointer-events:auto;color:#dbe5e9b0}.friends-pagination a{text-decoration:none}.friends-foot{max-width:60vw;line-height:1.8}.friends-intro{pointer-events:none}
.comments{border-top:1px solid #a5bfd526;margin-top:35px;padding-top:5px}.comment-list,.comment-list ol{list-style:none;padding-left:0}.comment-list .comment-children{padding-left:18px;border-left:1px solid #a5bfd520}.comment-body{padding:18px 0;border-bottom:1px solid #a5bfd51a;font-size:13px;line-height:1.9}.comment-author{display:flex;align-items:center;gap:9px}.comment-author .avatar{width:26px;height:26px;border-radius:50%}.comment-author cite{font-style:normal}.comment-meta,.comment-reply,.cancel-comment-reply{font-size:11px;color:#96acbf}.comment-content p{margin:13px 0}.comment-form{font-size:12px}.comment-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.comment-fields label:last-child{grid-column:1/-1}.comment-form label{display:block;color:#afc1d0}.comment-form input,.comment-form textarea,.protected input{display:block;width:100%;border:1px solid #a5bfd535;border-radius:4px;padding:10px;background:#0d1927;color:#e5edf1;margin:7px 0 13px;font:inherit;font-size:13px;line-height:1.6}.comment-form textarea{resize:vertical}.submit,.protected button,.protected input[type=submit]{width:auto;border:1px solid #a5bfd540;border-radius:4px;background:#162a3d;color:#e2ecf4;padding:10px 18px;margin:6px 0;font:inherit;font-size:12px;cursor:pointer}.comment-form :focus-visible{outline-color:#8abed6}.protected{font-size:13px}.comments .page-navigator{margin-top:20px}
.error{inset:auto 22px auto auto;top:83px;padding:10px 14px;background:#0d1825e8;border:1px solid #a5bfd52b;border-radius:6px;font-size:11px;pointer-events:none}.error p{margin:0}.no-effects #error{display:flex}.no-effects .controls,.no-effects .passage-tools{display:none}.no-effects{background:linear-gradient(#141222,#143049 48%,#080e17)}body:not(.effects-ready) .article-view{opacity:1}body:not(.effects-ready) .friends-view{opacity:1}body:not(.effects-ready) .friend-list{position:absolute;left:8%;right:8%;top:32%;bottom:175px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;overflow:auto;align-content:start;pointer-events:auto}body:not(.effects-ready) .friend-link{position:relative!important;top:auto!important;left:auto!important;width:100%;opacity:1}.no-effects #sea-scene,.no-effects #passage{display:none}.no-effects .article-view,.no-effects .friends-view{opacity:1}
#site-status{position:absolute;right:42px;top:93px;font-size:11px;color:#d9e5ec;z-index:4;pointer-events:none}.is-loading #site-status::before{content:'正在沿着文字前行…'}.is-loading .journal{opacity:.65}
@media(max-width:1150px){.journal{width:320px;bottom:190px}.friends-pagination{bottom:165px}.caption{max-width:45vw}.caption p{font-size:15px}.friends-foot{bottom:165px}}
@media(max-width:900px){.caption{display:none}.journal{width:min(420px,calc(100vw - 70px));right:35px;top:19%}}
@media(max-width:700px){.journal{left:24px;right:24px;width:auto;top:17%;bottom:245px}.story-link{padding:15px 0}.story-title{font-size:16px}.journal-label{font-size:9px;letter-spacing:.15em;margin-bottom:7px}.site-pages{margin-top:9px}.site-search{margin-top:6px}.site-footer{left:24px;bottom:8px}.article-scroll{width:calc(100% - 42px);padding-left:14px;padding-right:14px}.article-text{font-size:15px}.friends-foot{left:24px;bottom:185px;font-size:9px}.friends-pagination{right:24px;bottom:167px;font-size:9px;gap:10px}.friend-name{font-size:14px}.comment-fields{grid-template-columns:1fr}.comment-fields label:last-child{grid-column:auto}body:not(.effects-ready) .friend-list{left:18px;right:18px;top:221px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;bottom:215px}.friends-empty{position:relative;grid-column:1/-1;left:auto;top:auto;transform:none;width:auto;font-size:16px}.friends-intro{top:96px}#site-status{right:24px;top:85px}}
@media(max-height:650px){.journal{top:18%;bottom:180px}.site-search{display:none}.journal-label{margin-bottom:5px}.story-link{padding:10px 0}.friends-foot{bottom:148px}.friends-pagination{bottom:148px}.friends-intro{top:82px}.friends-foot{max-width:42vw}.friend-list{bottom:180px}.friend-link{min-height:78px}.site-pages{margin-top:7px}}

/* The background fades beyond the reading column; the text stays fully opaque. */
.article-view{--reading-width:min(640px,58vw);--reading-gutter:36px;--reading-fade:56px}
.article-backdrop{position:absolute;top:95px;bottom:42px;left:50%;transform:translateX(-50%);width:calc(var(--reading-width) + var(--reading-fade)*2);max-width:100%;pointer-events:none;background:linear-gradient(90deg,transparent,#070d16f2 var(--reading-fade),#070d16f2 calc(100% - var(--reading-fade)),transparent);mask-image:linear-gradient(transparent,#000 40px,#000 calc(100% - 40px),transparent)}
.article-scroll{width:var(--reading-width);padding-left:var(--reading-gutter);padding-right:var(--reading-gutter);background:transparent;mask-image:none}
.article-text{font-size:17px;line-height:2;letter-spacing:.025em}
.post-content strong,.post-content b{font-weight:700;color:#f4f8fb}
.article-text h2{font-size:24px}.article-text h3{font-size:20px}
.article-reading-info{display:flex;flex-wrap:wrap;gap:8px 20px;margin:-8px 0 28px;color:#93aabd;font-size:12px;line-height:1.8;letter-spacing:.035em}
.article-reading-info time{color:#b6c8d5}
.article-freshness{margin:-4px 0 28px;padding:13px 16px;border:1px solid #d4b78926;border-left:2px solid #d4b7897a;border-radius:6px;background:#c8a66f08;color:#bcc4cb;font-size:13px;line-height:1.85;letter-spacing:.02em}
.article-freshness-label{display:block;margin-bottom:3px;color:#d8bc92;font-size:11px;letter-spacing:.08em}
.post-content img:not(.emoji):not(.smiley){display:block;max-width:92%;height:auto;margin:26px auto;border-radius:8px}
.post-content picture{display:block}.post-content figure{margin:28px 0}.post-content figcaption{text-align:center;font-size:12px;color:#8fa6b9;line-height:1.8;margin-top:-12px}
.post-content img[data-wordsea-zoom]{cursor:zoom-in}.post-content img[data-wordsea-zoom]:focus-visible{outline:2px solid #8abed6;outline-offset:6px}
.code-window{margin:26px 0;border:1px solid #a5bfd529;border-radius:10px;overflow:hidden;background:#0d1825;box-shadow:0 8px 24px #0002}
.code-window-bar{display:flex;align-items:center;gap:8px;height:36px;padding:0 15px;border-bottom:1px solid #a5bfd51a;background:#15212e}
.code-window-dot{width:10px;height:10px;border-radius:50%;background:#ff5f57}.code-window-dot:nth-child(2){background:#febc2e}.code-window-dot:nth-child(3){background:#28c840}
.code-window-label{margin-left:auto;font:10px/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.04em;color:#8fa5b8}
.code-copy{flex-shrink:0;min-width:62px;height:26px;margin-left:8px;padding:0 9px;border:1px solid #a5bfd52b;border-radius:5px;background:#203041;color:#b8cbd9;font-family:inherit;font-size:11px;line-height:1.2;letter-spacing:0}
.code-copy:last-child:nth-child(4){margin-left:auto}.code-copy:hover{background:#2d4358;color:#edf5fb}.code-copy[aria-busy=true]{cursor:progress}.code-copy:focus-visible{outline-offset:2px}
.article-text .code-window pre{margin:0;padding:18px 20px;border:0;border-radius:0;max-width:100%;font-size:13px;line-height:1.85}
.post-content pre code .token.comment,.post-content pre code .token.prolog,.post-content pre code .token.doctype,.post-content pre code .token.cdata{color:#8195a7}
.post-content pre code .token.punctuation{color:#a1b2c2}
.post-content pre code .token.keyword,.post-content pre code .token.atrule{color:#c9a2ef}
.post-content pre code .token.string,.post-content pre code .token.char,.post-content pre code .token.attr-value,.post-content pre code .token.inserted{color:#a5d7ae}
.post-content pre code .token.number,.post-content pre code .token.boolean,.post-content pre code .token.constant,.post-content pre code .token.regex,.post-content pre code .token.symbol{color:#edbc8a}
.post-content pre code .token.function,.post-content pre code .token.function-variable{color:#87c1f4}
.post-content pre code .token.operator,.post-content pre code .token.url,.post-content pre code .token.entity{color:#8ad6de}
.post-content pre code .token.class-name,.post-content pre code .token.attr-name,.post-content pre code .token.builtin{color:#e6cd92}
.post-content pre code .token.property,.post-content pre code .token.tag,.post-content pre code .token.deleted,.post-content pre code .token.important{color:#efaaaa}
.image-lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;color:#e3edf5;background:#050a12f5;overflow:hidden}
.image-lightbox::backdrop{background:#050a12}.image-lightbox[open]{display:flex;flex-direction:column;animation:lightbox-in .16s ease-out}
.lightbox-toolbar{flex-shrink:0;display:flex;justify-content:center;align-items:center;gap:10px;padding:max(18px,env(safe-area-inset-top)) 20px 12px;background:#09121b}
.lightbox-toolbar button{display:grid;place-items:center;min-width:40px;height:40px;border:1px solid #b3c7d62b;border-radius:9px;background:#172331;color:#d8e6ef;font-size:20px;line-height:1}
.lightbox-toolbar button:disabled{opacity:.35;cursor:default}.lightbox-toolbar button:hover:enabled{background:#223448}.lightbox-toolbar [data-zoom="reset"]{font-size:12px;padding:0 13px}
.lightbox-toolbar [data-close]{position:absolute;right:max(20px,env(safe-area-inset-right));font-size:24px}
.lightbox-zoom{min-width:48px;font:12px/1.2 ui-monospace,SFMono-Regular,monospace;text-align:center;color:#9eb6c9}
.lightbox-stage{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;user-select:none;cursor:zoom-in;outline-offset:-5px}
.lightbox-stage.is-zoomed{cursor:grab}.lightbox-stage.is-manipulating{cursor:grabbing}
.lightbox-image{position:absolute;left:50%;top:50%;max-width:none;max-height:none;object-fit:contain;transform-origin:center;transition:transform .12s ease-out;user-select:none;-webkit-user-drag:none}
.is-manipulating .lightbox-image{transition:none}.lightbox-image[hidden]{display:none}
.lightbox-caption{text-align:center;flex-shrink:0;min-height:64px;padding:12px 24px max(18px,env(safe-area-inset-bottom));font-size:12px;line-height:1.7;color:#a8bdcc;overflow-wrap:anywhere}
.lightbox-caption span{display:block;font-size:10px;color:#667f92;margin-top:4px}
@keyframes lightbox-in{from{opacity:0}to{opacity:1}}
@media(max-width:700px){.article-view{--reading-width:calc(100% - 20px);--reading-gutter:24px;--reading-fade:10px}.article-backdrop{top:72px;bottom:32px}.article-text{font-size:16px}.article-text h2{font-size:22px}.article-text h3{font-size:19px}.article-reading-info{font-size:11px;gap:6px 14px}.article-freshness{padding:12px 13px;font-size:12px}.lightbox-toolbar{gap:6px;padding-left:10px;padding-right:56px}.lightbox-toolbar [data-close]{right:10px}.lightbox-toolbar button{min-width:36px;height:36px}.lightbox-caption{font-size:11px}}
@media(max-height:620px){.article-backdrop{top:64px;bottom:25px}}
@media(prefers-reduced-motion:reduce){.image-lightbox[open]{animation:none}.lightbox-image{transition:none}}
