:root{--bg:#fafaf8;--surface:#fff;--ink:#171717;--muted:#737373;--soft:#a3a3a3;--line:#e5e5e2;--blue:#2563eb;--blue-soft:#eff4ff;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--sans:Inter, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--serif:"Noto Serif SC", "Songti SC", SimSun, serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--sans);margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}::selection{color:#fff;background:var(--blue)}.site-loading-screen{background:var(--bg);text-align:center;place-content:center;justify-items:center;gap:20px;min-height:100vh;padding:30px;display:grid}.initial-site-loading-overlay,.cloudbase-initial-loading{z-index:2000;clip-path:inset(0);background:var(--bg);pointer-events:all;will-change:clip-path;position:fixed;inset:-4px;overflow:hidden}.initial-site-loading-overlay.revealing,.cloudbase-initial-loading.revealing{animation:.42s cubic-bezier(.76,0,.24,1) both site-initial-reveal}.site-route-sweep{z-index:2100;contain:strict;background:var(--route-transition-color,var(--ink));pointer-events:all;backface-visibility:hidden;will-change:transform;position:fixed;inset:-4px;overflow:hidden;transform:translate(0,0)}.site-route-sweep.covering{transform-origin:0;animation:.34s cubic-bezier(.76,0,.24,1) both site-route-cover}.site-route-sweep.covered{transform-origin:0;transform:translate(0,0)scaleX(1.01)}.site-route-sweep.revealing{transform-origin:100%;animation:.34s cubic-bezier(.76,0,.24,1) both site-route-reveal}.site-loading-word{color:#0000;letter-spacing:-.08em;-webkit-text-stroke:1px color-mix(in srgb, var(--route-transition-color,var(--ink)) 38%, transparent);white-space:nowrap;font-size:clamp(58px,12vw,150px);font-weight:850;line-height:.9;position:relative}.site-loading-word:before{content:attr(data-text);width:0;color:var(--route-transition-color,var(--ink));-webkit-text-stroke:0;animation:2.4s cubic-bezier(.22,1,.36,1) forwards site-loading-fill;position:absolute;inset:0;overflow:hidden}.site-loading-track{background:var(--line);width:min(420px,72vw);height:2px;overflow:hidden}.site-loading-track span{background:var(--route-transition-color,var(--ink));width:0;height:100%;animation:2.4s cubic-bezier(.22,1,.36,1) forwards site-loading-fill;display:block}.site-loading-screen p{color:var(--muted);margin:0;font-size:10px}.site-loading-screen.reconnecting .site-loading-word:before,.site-loading-screen.reconnecting .site-loading-track span{animation-iteration-count:infinite;animation-direction:alternate}@keyframes site-loading-fill{0%{width:0}72%{width:78%}to{width:100%}}@keyframes site-initial-reveal{0%{clip-path:inset(0)}to{clip-path:inset(0 0 0 100%)}}@keyframes site-route-cover{0%{transform:translate(0,0)scaleX(0)}to{transform:translate(0,0)scaleX(1.01)}}@keyframes site-route-reveal{0%{transform:translate(0,0)scaleX(1.01)}to{transform:translate(0,0)scaleX(0)}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mono-label{color:var(--muted);font-family:var(--mono);letter-spacing:.14em;font-size:10px}.site-home-main{isolation:isolate;position:relative;overflow:hidden}.site-home-main>section{z-index:1;position:relative}.site-decoration-layer{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.site-decoration-image{top:var(--decoration-top-desktop,0);transform-origin:0 0;-webkit-user-select:none;user-select:none;max-width:none;height:auto;display:block;position:absolute}.site-header{z-index:30;background:color-mix(in srgb, var(--bg) 92%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0}.header-inner{align-items:center;width:min(1120px,100% - 48px);height:66px;margin:auto;display:flex}.simple-brand{font-family:var(--mono);letter-spacing:-.08em;font-size:17px;font-weight:800}.main-nav{color:#525252;gap:34px;margin-left:auto;margin-right:40px;font-size:13px;display:flex}.main-nav a{border-bottom:1px solid #0000;padding:23px 0;transition:color .2s,border-color .2s}.main-nav a:hover,.main-nav a:focus-visible{color:var(--ink);border-color:var(--ink)}.admin-link{border:1px solid var(--line);color:var(--muted);padding:7px 12px;font-size:11px;transition:border-color .2s,color .2s}.admin-link:hover{border-color:var(--ink);color:var(--ink)}.minimal-hero{grid-template-columns:minmax(0, 1fr) minmax(240px, var(--profile-card-width,300px));align-items:center;gap:clamp(48px,9vw,110px);width:min(1120px,100% - 48px);min-height:630px;margin:auto;padding:100px 0;display:grid}.hero-intro h1{letter-spacing:-.075em;white-space:pre-line;margin:24px 0 28px;font-size:clamp(54px,7vw,86px);font-weight:750;line-height:1.08}.hero-intro>p{max-width:610px;color:var(--muted);font-family:var(--serif);margin:0;font-size:17px;line-height:1.9}.minimal-actions{gap:12px;margin-top:38px;display:flex}.minimal-actions a{border:1px solid var(--ink);padding:12px 18px;font-size:12px;font-weight:650;transition:background .2s cubic-bezier(.22,1,.36,1),color .2s,border-color .2s,transform .2s}.minimal-actions a:first-child{background:var(--ink);color:#fff}.minimal-actions a:hover{background:var(--blue);border-color:var(--blue);color:#fff}.minimal-actions a:active{transform:translateY(1px)}.minimal-actions span{margin-left:24px}.hero-profile{width:100%;min-height:var(--profile-card-min-height,260px);border-top:1px solid var(--ink);align-self:end;margin-bottom:13px;padding:27px 0 0}.profile-heading{align-items:center;gap:13px;display:flex}.profile-heading>img,.profile-heading>span{width:var(--profile-avatar-size,45px);height:var(--profile-avatar-size,45px);object-fit:cover;border-radius:50%;flex:none}.profile-heading>span{background:var(--ink);color:#fff;place-items:center;font-weight:700;display:grid}.profile-heading div{flex-direction:column;gap:4px;display:flex}.profile-heading strong{font-size:14px}.profile-heading small{color:var(--muted);font-size:10px}.hero-profile>p{color:var(--muted);font-family:var(--serif);margin:24px 0;font-size:13px;line-height:1.8}.hero-profile dl{margin:0}.hero-profile dl>div{border-top:1px solid var(--line);grid-template-columns:62px 1fr;padding:8px 0;font-size:10px;display:grid}.hero-profile dt{color:var(--soft)}.hero-profile dd{text-overflow:ellipsis;margin:0;overflow:hidden}.profile-social{border-bottom:1px solid var(--ink);margin-top:20px;padding-bottom:3px;font-size:10px;transition:color .2s,border-color .2s,transform .2s cubic-bezier(.22,1,.36,1);display:inline-block}.profile-social:hover{color:var(--blue);border-color:var(--blue);transform:translateY(-1px)}.notes-section,.projects-section,.about-section{border-top:1px solid var(--line);width:min(1120px,100% - 48px);margin:auto;padding:105px 0}.minimal-section-head{justify-content:space-between;align-items:flex-end;margin-bottom:47px;display:flex}.minimal-section-head h2{letter-spacing:-.055em;margin:12px 0 0;font-size:37px}.minimal-section-head>p{color:var(--muted);margin:0;font-size:11px}.notes-tools{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.category-tabs{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.category-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;padding:7px 11px;font-size:10px;transition:background .2s,color .2s,border-color .2s}.category-tabs button:hover{color:var(--ink)}.category-tabs button.active{background:var(--ink);color:#fff}.minimal-search{border-bottom:1px solid var(--line);align-items:center;gap:7px;width:170px;padding:7px 0;transition:border-color .2s;display:flex}.minimal-search:focus-within{border-color:var(--blue)}.minimal-search input{background:0 0;border:0;outline:0;width:100%;font-size:11px}.notes-list{width:min(100%, var(--note-card-width,1120px));border-top:1px solid var(--ink);margin-inline:auto}.note-row{z-index:0;min-height:var(--note-card-min-height,160px);border-bottom:1px solid var(--line);color:inherit;grid-template-columns:120px 1fr;gap:30px;padding:34px 18px;transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1),background .28s;display:grid;position:relative;transform:translateY(0)}.note-row:hover{background:var(--surface);transform:translateY(-4px);box-shadow:0 16px 36px #00000014}.note-date{color:var(--muted);font-family:var(--mono);padding-top:4px;font-size:10px}.note-copy>div:first-child{color:var(--muted);gap:12px;font-size:9px;display:flex}.note-copy>div:first-child span:first-child{color:var(--blue)}.note-copy h3{letter-spacing:-.035em;margin:12px 0 10px;font-size:24px;line-height:1.35;transition:color .2s}.note-row:hover .note-copy h3{color:var(--blue)}.note-cover-frame{aspect-ratio:16/9;width:100%;max-height:300px;margin:14px 0 4px;display:block}.note-copy .note-cover{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.note-copy .note-cover-video{background:var(--surface)}.note-copy>p{max-width:700px;color:var(--muted);font-family:var(--serif);margin:0 0 15px;font-size:13px;line-height:1.75}.tag-row{color:var(--soft);flex-wrap:wrap;gap:9px;font-size:9px;display:flex}.empty-state{color:var(--muted);text-align:center;padding:60px 0;font-size:12px}.notes-list{animation:.42s cubic-bezier(.22,1,.36,1) both notes-in}@keyframes notes-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.pagination-bar{justify-content:space-between;align-items:center;gap:20px;padding-top:26px;display:flex}.pagination-count{color:var(--muted);font-family:var(--mono);font-size:9px}.pagination{align-items:center;gap:14px;display:flex}.pagination-pages{gap:4px;display:flex}.pagination-pages button,.pagination-arrow{border:1px solid var(--line);min-width:31px;height:31px;color:var(--muted);cursor:pointer;background:0 0;place-items:center;padding:0 9px;font-size:10px;transition:background .18s cubic-bezier(.22,1,.36,1),color .18s,border-color .18s,transform .18s;display:inline-grid}.pagination-pages button:hover:not(:disabled),.pagination-arrow:hover:not(:disabled){border-color:var(--ink);color:var(--ink)}.pagination-pages button:active:not(:disabled),.pagination-arrow:active:not(:disabled){transform:scale(.94)}.pagination-pages button.active{background:var(--ink);border-color:var(--ink);color:#fff}.pagination-arrow:disabled{opacity:.32;cursor:default}.pagination-gap{width:18px;color:var(--soft);place-items:center;font-size:10px;display:grid}.project-tools{justify-content:space-between;align-items:center;gap:18px;margin:-20px 0 18px;display:flex}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;animation:.42s cubic-bezier(.22,1,.36,1) both notes-in;display:grid}.project-card{z-index:0;background:var(--surface);border:1px solid var(--line);transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1),border-color .28s;position:relative;transform:translateY(0)}.project-card:hover{z-index:1;border-color:var(--ink);transform:translateY(-6px);box-shadow:0 18px 42px #00000017}.project-media-frame,.project-placeholder{border-bottom:1px solid var(--line);width:100%;height:270px;display:block}.project-media-frame .project-media{object-fit:cover;background:var(--surface);width:100%;height:100%;display:block}.project-video-poster{cursor:pointer;background:#111;border:0;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.project-video-poster.fallback{background:linear-gradient(135deg, color-mix(in srgb, var(--ink) 92%, var(--blue)), var(--ink));color:#fff}.project-video-fallback-copy{text-align:left;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:8px;padding:24px;display:flex;position:absolute;inset:0}.project-video-fallback-copy small{color:#ffffff94;font-family:var(--mono);letter-spacing:.16em;font-size:8px}.project-video-fallback-copy strong{color:#fff;max-width:calc(100% - 78px);font-size:17px;line-height:1.35}.project-video-poster>.project-video-play{color:#fff;background:#0000007a;border:1px solid #ffffffb8;border-radius:50%;place-items:center;width:58px;height:58px;font-size:18px;transition:transform .22s,background .22s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-video-poster:hover>.project-video-play{background:var(--blue);transform:translate(-50%,-50%)scale(1.08)}.project-placeholder{background:#f0f1f3;place-items:center;display:grid;position:relative;overflow:hidden}.project-placeholder:before{content:"";aspect-ratio:1;border:1px solid #c4c8d0;width:46%;position:absolute;transform:rotate(16deg)}.project-placeholder:after{content:"";background:#c4c8d0;width:1px;height:120%;position:absolute;transform:rotate(42deg)}.project-placeholder span{color:var(--muted);font-family:var(--mono);font-size:9px;position:absolute;top:18px;left:20px}.project-placeholder i{z-index:1;background:var(--blue);color:#fff;width:72px;height:72px;font-family:var(--mono);place-items:center;font-size:18px;font-style:normal;display:grid;position:relative}.progressive-cover{background:color-mix(in srgb, var(--bg) 86%, var(--ink));position:relative;overflow:hidden}.progressive-cover>img,.progressive-cover>video,.progressive-cover>.project-video-poster{opacity:0;transition:opacity .42s cubic-bezier(.22,1,.36,1)}.progressive-cover>video{max-width:100%}.progressive-cover.ready>img,.progressive-cover.ready>video,.progressive-cover.ready>.project-video-poster{opacity:1}.media-load-placeholder{z-index:1;color:var(--muted);font-family:var(--mono);justify-content:space-between;align-items:flex-end;padding:17px 19px;display:flex;position:absolute;inset:0;overflow:hidden}.media-load-placeholder:before{content:"";background:linear-gradient(110deg,#0000 20%,#ffffffb8 45%,#0000 70%);animation:1.1s ease-in-out infinite media-placeholder-sweep;position:absolute;inset:0;transform:translate(-100%)}.media-load-placeholder span,.media-load-placeholder small{z-index:1;position:relative}.media-load-placeholder span{font-size:10px}.media-load-placeholder small{letter-spacing:.12em;font-size:8px}@keyframes media-placeholder-sweep{to{transform:translate(100%)}}.project-copy{padding:26px}.project-meta{color:var(--blue);font-family:var(--mono);letter-spacing:.08em;gap:10px;margin-bottom:12px;font-size:8px;display:flex}.project-meta span+span{color:var(--soft)}.project-title-row{justify-content:space-between;gap:20px;display:flex}.project-title-row h3{letter-spacing:-.03em;margin:0;font-size:20px}.project-title-row>span{color:var(--soft);font-family:var(--mono);font-size:9px}.project-copy>p{min-height:50px;color:var(--muted);font-family:var(--serif);margin:15px 0 20px;font-size:12px;line-height:1.75}.project-stack{flex-wrap:wrap;gap:6px;display:flex}.project-stack span{color:#525252;background:#f2f2ef;padding:5px 8px;font-size:9px}.project-links{border-top:1px solid var(--line);gap:20px;margin-top:25px;padding-top:18px;display:flex}.project-links a{color:var(--blue);border-bottom:1px solid #0000;font-size:10px;font-weight:650;transition:color .2s,border-color .2s,transform .2s cubic-bezier(.22,1,.36,1)}.project-links a:hover{border-color:var(--blue);transform:translateY(-1px)}.project-empty{border:1px solid var(--line);grid-column:1/-1}.about-section>div{grid-template-columns:1.1fr .9fr;gap:100px;margin-top:30px;display:grid}.about-section h2{letter-spacing:-.07em;white-space:pre-line;margin:0;font-size:clamp(43px,6vw,70px);line-height:1.16}.about-section p{color:var(--muted);font-family:var(--serif);margin:0 0 18px;font-size:14px;line-height:1.9}.about-section a{border-bottom:1px solid var(--ink);margin-top:10px;padding-bottom:4px;font-size:11px;transition:color .2s,border-color .2s,transform .2s cubic-bezier(.22,1,.36,1);display:inline-block}.about-section a:hover{color:var(--blue);border-color:var(--blue);transform:translateY(-1px)}.site-footer{border-top:1px solid var(--line)}.footer-inner{width:min(1120px,100% - 48px);min-height:120px;color:var(--muted);font-family:var(--mono);grid-template-columns:1fr 1fr 1fr;align-items:center;row-gap:16px;margin:auto;padding:26px 0 20px;font-size:9px;display:grid}.footer-inner>span:nth-child(2){text-align:center}.footer-inner>div{justify-content:flex-end;gap:18px;display:flex}.footer-inner a{transition:color .2s}.footer-inner a:hover{color:var(--ink)}.footer-inner>.footer-filings{text-align:center;grid-column:1/-1;justify-content:center;gap:14px 22px}.article-page{width:min(1440px, calc(100% - var(--article-page-gutter,32px)));margin:auto}.article-breadcrumb{color:var(--muted);gap:9px;padding-top:30px;font-size:10px;display:flex}.article-breadcrumb a{color:var(--blue);transition:color .2s,transform .2s cubic-bezier(.22,1,.36,1);display:inline-block}.article-breadcrumb a:hover{color:var(--ink);transform:translate(1px)}.article-hero{max-width:min(100%, calc(var(--article-content-width,820px) + 80px));text-align:center;margin:95px auto 74px}.article-hero .article-cover{object-fit:cover;border:1px solid var(--line);width:100%;max-height:460px;margin:0 auto 30px;display:block}.article-hero .article-cover-video{aspect-ratio:16/9;background:#111}.article-kicker{color:var(--muted);font-family:var(--mono);justify-content:center;gap:16px;font-size:9px;display:flex}.article-kicker span:first-child{color:var(--blue)}.article-hero h1{font-size:clamp(40px, 6vw, var(--article-title-size,68px));letter-spacing:-.07em;margin:26px 0 22px;line-height:1.16}.article-hero>p{max-width:700px;color:var(--muted);font-family:var(--serif);margin:auto;font-size:16px;line-height:1.9}.article-author{text-align:left;justify-content:center;align-items:center;gap:11px;margin-top:30px;display:flex}.mini-avatar{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:11px;display:grid;overflow:hidden}.mini-avatar img{object-fit:cover;width:100%;height:100%}.article-author div:last-child{flex-direction:column;gap:3px;font-size:10px;display:flex}.article-author span{color:var(--muted);font-size:8px}.article-layout{grid-template-columns:82px minmax(0, min(var(--article-content-width,820px), calc(100% - 320px))) 114px;border-top:1px solid var(--line);justify-content:center;gap:40px;padding:70px 0 100px;display:grid}#article-content,.markdown-body{min-width:0;max-width:100%}.article-aside,.article-toc{color:var(--muted);font-family:var(--mono);flex-direction:column;align-self:start;gap:11px;font-size:8px;display:flex;position:sticky;top:105px}.article-toc{border-left:1px solid var(--line);padding-left:16px}.article-side-action{border:1px solid var(--line);background:var(--surface);width:78px;min-height:36px;color:var(--ink);font-family:var(--sans);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;padding:8px 10px;font-size:10px;line-height:1.2;transition:color .2s,border-color .2s,transform .2s cubic-bezier(.22,1,.36,1);display:inline-flex}.article-side-action:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}.markdown-body{color:#292929;font-family:var(--serif);font-size:16px;line-height:1.7}.markdown-body>h1:first-child{display:none}.markdown-body h2{font-family:var(--sans);letter-spacing:-.04em;margin:56px 0 19px;font-size:26px;line-height:1.4}.markdown-body h3{font-family:var(--sans);margin:40px 0 14px;font-size:20px}.markdown-body p{margin:0 0 23px}.markdown-body a{color:var(--blue);border-bottom:1px solid;transition:color .2s,border-color .2s}.markdown-body a:hover{color:var(--ink);border-color:var(--ink)}.markdown-body code{color:#1d4ed8;font-family:var(--mono);background:#eeeeeb;border-radius:3px;padding:2px 6px;font-size:.85em}.markdown-body pre{color:#d4d4d4;background:#1e1e1e;margin:0;padding:25px 24px 27px;font-size:12px;line-height:1.75;overflow-x:auto}.markdown-body pre code{color:inherit;background:0 0;padding:0}.code-shell{background:#1e1e1e;border:1px solid #343434;border-radius:6px;width:100%;min-width:0;max-width:100%;margin:30px 0;overflow:hidden;box-shadow:0 14px 34px #0000001f}.code-toolbar{color:#9d9d9d;height:39px;font-family:var(--mono);letter-spacing:.09em;background:#252526;border-bottom:1px solid #343434;justify-content:space-between;align-items:center;padding:0 12px 0 16px;font-size:9px;display:flex}.code-toolbar-actions{align-items:center;gap:7px;display:flex}.code-toolbar button{color:#d4d4d4;cursor:pointer;background:#2d2d30;border:1px solid #4b4b4b;border-radius:3px;padding:5px 9px;font-size:9px}.code-toolbar button:hover{color:#fff;background:#37373d;border-color:#777}.code-shell.collapsed .code-toolbar{border-bottom-color:#0000}.code-shell.collapsed pre{display:none}.markdown-body .hljs-keyword,.markdown-body .hljs-selector-tag,.markdown-body .hljs-literal,.markdown-body .hljs-doctag,.rich-text-editor .hljs-keyword,.rich-text-editor .hljs-selector-tag,.rich-text-editor .hljs-literal,.rich-text-editor .hljs-doctag{color:#c586c0!important}.markdown-body code.language-csharp .hljs-keyword,.markdown-body code.language-csharp .hljs-literal,.rich-text-editor code.language-csharp .hljs-keyword,.rich-text-editor code.language-csharp .hljs-literal{color:#569cd6!important}.markdown-body .hljs-string,.markdown-body .hljs-meta .hljs-string,.markdown-body .hljs-template-tag,.markdown-body .hljs-template-variable,.markdown-body .hljs-char.escape_,.rich-text-editor .hljs-string,.rich-text-editor .hljs-meta .hljs-string,.rich-text-editor .hljs-template-tag,.rich-text-editor .hljs-template-variable,.rich-text-editor .hljs-char.escape_{color:#ce9178!important}.markdown-body .hljs-number,.markdown-body .hljs-symbol,.markdown-body .hljs-bullet,.rich-text-editor .hljs-number,.rich-text-editor .hljs-symbol,.rich-text-editor .hljs-bullet{color:#b5cea8!important}.markdown-body .hljs-title,.markdown-body .hljs-section,.rich-text-editor .hljs-title,.rich-text-editor .hljs-section{color:#dcdcaa!important}.markdown-body .hljs-built_in,.markdown-body .hljs-type,.rich-text-editor .hljs-built_in,.rich-text-editor .hljs-type{color:#569cd6!important}.markdown-body .hljs-class .hljs-title,.markdown-body .hljs-title.class_,.markdown-body .hljs-title.class_.inherited__,.rich-text-editor .hljs-class .hljs-title,.rich-text-editor .hljs-title.class_,.rich-text-editor .hljs-title.class_.inherited__{color:#4ec9b0!important}.markdown-body .hljs-attr,.markdown-body .hljs-attribute,.markdown-body .hljs-variable,.markdown-body .hljs-property,.markdown-body .hljs-params,.rich-text-editor .hljs-attr,.rich-text-editor .hljs-attribute,.rich-text-editor .hljs-variable,.rich-text-editor .hljs-property,.rich-text-editor .hljs-params{color:#9cdcfe!important}.markdown-body .hljs-comment,.markdown-body .hljs-quote,.rich-text-editor .hljs-comment,.rich-text-editor .hljs-quote{font-style:italic;color:#6a9955!important}.markdown-body .hljs-tag,.markdown-body .hljs-name,.rich-text-editor .hljs-tag,.rich-text-editor .hljs-name{color:#569cd6!important}.markdown-body .hljs-selector-class,.markdown-body .hljs-selector-id,.markdown-body .hljs-selector-attr,.rich-text-editor .hljs-selector-class,.rich-text-editor .hljs-selector-id,.rich-text-editor .hljs-selector-attr{color:#d7ba7d!important}.markdown-body .hljs-selector-pseudo,.rich-text-editor .hljs-selector-pseudo{color:#c586c0!important}.markdown-body .hljs-meta,.markdown-body .hljs-meta .hljs-keyword,.rich-text-editor .hljs-meta,.rich-text-editor .hljs-meta .hljs-keyword{color:#569cd6!important}.markdown-body .hljs-regexp,.markdown-body .hljs-link,.rich-text-editor .hljs-regexp,.rich-text-editor .hljs-link{color:#d16969!important}.hljs-operator,.hljs-punctuation,.hljs-subst{color:#d4d4d4}.hljs-deletion{color:#f44747;background:#f447471f}.hljs-addition{color:#b5cea8;background:#b5cea81a}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.markdown-body blockquote{background:var(--blue-soft);border-left:3px solid var(--blue);margin:36px 0;padding:22px 26px;font-size:18px;line-height:1.8}.markdown-list-item{grid-template-columns:25px 1fr;display:grid}.markdown-list-item>span{color:var(--blue)}.markdown-list-item p{margin:0 0 8px}.markdown-body figure{margin:40px 0}.markdown-body figure img,.markdown-body>img{object-fit:contain;width:100%;height:auto;max-height:620px;display:block}.markdown-body figcaption{color:var(--muted);text-align:center;font-family:var(--sans);margin-top:9px;font-size:9px}.markdown-body figure.img-left{float:left;margin:10px 28px 18px 0}.markdown-body figure.img-right{float:right;margin:10px 0 18px 28px}.markdown-body figure.img-center{margin-left:auto;margin-right:auto}.markdown-body figure.img-wide{margin-left:0;margin-right:0}.markdown-body figure.img-wide img{max-height:720px}.markdown-body figure video,.markdown-body>video{background:#111;width:100%;max-height:min(72vh,720px);display:block}.article-end{border-top:1px solid var(--line);text-align:center;padding:75px 20px 95px}.article-end>span{color:var(--blue);font-family:var(--mono);letter-spacing:.12em;font-size:9px}.article-end h2{letter-spacing:-.05em;margin:23px 0 32px;font-size:clamp(26px,4vw,40px);line-height:1.45}.article-end a{background:var(--ink);color:#fff;padding:11px 16px;font-size:10px;transition:background .2s,transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s;display:inline-block}.article-end a:hover{background:var(--blue);transform:translateY(-2px);box-shadow:0 8px 22px #0000001f}.login-page{background:var(--surface);grid-template-columns:minmax(420px,560px) 1fr;min-height:100vh;display:grid}.login-panel{border-right:1px solid var(--line);flex-direction:column;justify-content:center;min-height:100vh;padding:70px clamp(35px,8vw,100px);display:flex}.login-brand{font-family:var(--mono);font-size:18px;font-weight:800;position:absolute;top:36px}.login-kicker{color:var(--blue);font-family:var(--mono);letter-spacing:.13em;font-size:9px}.login-panel h1{letter-spacing:-.05em;margin:15px 0 10px;font-size:36px}.login-panel>div>p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.login-form{flex-direction:column;gap:18px;margin-top:38px;display:flex}.login-form label{color:var(--muted);flex-direction:column;gap:8px;font-size:10px;display:flex}.login-form input{border:0;border-bottom:1px solid var(--line);color:var(--ink);background:0 0;outline:0;padding:12px 0}.login-form input:focus{border-color:var(--blue)}.login-form button{background:var(--ink);color:#fff;cursor:pointer;border:0;margin-top:10px;padding:12px;font-size:11px}.login-form button:hover{background:var(--blue)}.login-form button:disabled{opacity:.55;cursor:wait}.login-error{color:#b91c1c;margin:0;font-size:10px}.login-message{color:var(--blue);margin:0;font-size:10px;line-height:1.65}.login-step{color:var(--ink);margin:0;font-size:12px;font-weight:650;line-height:1.6}.login-security-note{color:var(--muted);margin:-6px 0 0;font-size:9px;line-height:1.7}.captcha-preview{align-items:stretch;gap:10px;display:flex}.captcha-preview canvas{border:1px solid var(--line);border-radius:2px;width:140px;height:52px}.login-form .captcha-refresh{border:1px solid var(--line);width:auto;color:var(--muted);white-space:nowrap;background:0 0;margin:0;padding:0 12px}.login-form .captcha-refresh:hover{border-color:var(--blue);color:var(--blue);background:0 0}.login-form .login-secondary{border:1px solid var(--line);color:var(--ink);background:0 0;margin-top:-8px}.login-form .login-secondary:hover{border-color:var(--blue);color:var(--blue);background:0 0}.back-link{color:var(--muted);margin-top:27px;font-size:10px}.login-aside{color:var(--muted);font-family:var(--mono);background:#f1f2f4;justify-content:space-between;align-items:flex-end;padding:45px;font-size:9px;display:flex}.login-aside strong{background:var(--blue);color:#fff;place-items:center;width:140px;height:140px;font-size:30px;display:grid}.studio-shell{background:var(--bg);min-height:100vh}.studio-header{z-index:20;color:#fff;background:#18181b;grid-template-columns:240px 1fr auto;align-items:center;gap:24px;height:64px;padding:0 22px;display:grid;position:sticky;top:0}.brand{align-items:center;gap:11px;font-weight:750;display:inline-flex}.brand-mark{color:#18181b;width:38px;height:29px;font-family:var(--mono);background:#fff;place-items:center;font-size:11px;display:grid}.brand-name{font-size:14px}.studio-status{color:#a1a1aa;justify-self:center;align-items:center;gap:7px;font-size:10px;display:flex}.status-dot{background:#22c55e;border-radius:50%;width:6px;height:6px}.status-dot.warning{background:#f59e0b}.studio-header-actions{color:#a1a1aa;align-items:center;gap:14px;font-size:9px;display:flex}.studio-header-actions .build-tag{color:#71717a;font-family:var(--mono);letter-spacing:.08em;font-size:8px}.studio-header-actions a,.studio-header-actions button{color:#fff;cursor:pointer;background:0 0;border:1px solid #3f3f46;padding:7px 9px;font-size:9px}.studio-layout{grid-template-columns:250px 1fr;min-height:calc(100vh - 64px);display:grid}.studio-sidebar{background:color-mix(in srgb, var(--bg) 94%, var(--ink));border-right:1px solid var(--line);padding:22px 15px}.studio-sidebar>button{color:#525252;text-align:left;cursor:pointer;background:0 0;border:0;gap:11px;width:100%;padding:11px 12px;font-size:11px;display:flex}.studio-sidebar>button.active{background:var(--surface);color:var(--ink);font-weight:750}.draft-heading{color:var(--muted);font-family:var(--mono);letter-spacing:.09em;justify-content:space-between;align-items:center;margin:30px 6px 10px;font-size:8px;display:flex}.draft-heading button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:9px}.draft-list{flex-direction:column;gap:4px;display:flex}.draft-list>button{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;padding:10px 9px}.draft-list>button:hover,.draft-list>button.selected{background:var(--surface);border-color:var(--line)}.draft-list strong,.draft-list span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.draft-list strong{margin-bottom:4px;font-size:10px}.draft-list span,.draft-list>p{color:var(--muted);font-size:8px}.articles-manager{width:min(1120px,100% - 64px);min-width:0;margin:48px auto 90px}.articles-manager-heading{justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.articles-manager-heading>div>span{color:var(--blue);font-family:var(--mono);letter-spacing:.12em;font-size:8px}.articles-manager-heading h1{letter-spacing:-.06em;margin:13px 0 8px;font-size:42px}.articles-manager-heading p{color:var(--muted);margin:0;font-size:11px}.articles-manager-heading>button{background:var(--blue);color:#fff;cursor:pointer;border:0;padding:11px 16px;font-size:10px;font-weight:650}.articles-tools{border:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:18px;margin-top:34px;padding:14px 17px;display:grid}.articles-tools input{border:0;border-bottom:1px solid var(--line);background:0 0;outline:0;width:100%;padding:7px 0;font-size:11px}.articles-tools>span{color:var(--muted);font-family:var(--mono);font-size:9px}.article-filters{background:#f0f0ed;gap:3px;padding:3px;display:flex}.article-filters button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px 10px;font-size:9px}.article-filters button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #00000014}.articles-table{border:1px solid var(--line);background:var(--surface);margin-top:14px}.articles-table-head,.articles-table-row{grid-template-columns:minmax(280px,1fr) 90px 120px 110px 290px;align-items:center;gap:18px;padding:0 20px;display:grid}.articles-table-head{border-bottom:1px solid var(--line);min-height:40px;color:var(--soft);font-family:var(--mono);letter-spacing:.06em;font-size:8px}.articles-table-row{border-bottom:1px solid var(--line);min-height:106px}.articles-table-row[draggable=true]{cursor:grab;transition:opacity .18s,background .18s,transform .18s}.articles-table-row[draggable=true]:active{cursor:grabbing}.articles-table-row.dragging{opacity:.42;background:var(--blue-soft);transform:scale(.995)}.articles-table-row:last-child{border-bottom:0}.articles-table-row>div{min-width:0;padding:17px 0}.article-drag-copy{grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;display:grid}.article-drag-copy>div{min-width:0}.drag-grip{color:var(--soft);font-family:var(--mono);letter-spacing:-4px;cursor:grab;-webkit-user-select:none;user-select:none;font-size:13px}.articles-table-row strong,.articles-table-row p,.articles-table-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.articles-table-row strong{font-size:13px}.articles-table-row p{color:var(--muted);font-family:var(--serif);margin:7px 0 5px;font-size:10px}.articles-table-row small{color:var(--soft);font-size:8px}.articles-table-row>span{color:var(--muted);font-size:9px}.article-status{border-radius:99px;justify-self:start;padding:5px 8px}.article-status.published{color:#15803d;background:#ecfdf3}.article-status.draft{color:#666;background:#f1f1ef}.articles-table-row>button{border:1px solid var(--line);color:var(--blue);cursor:pointer;background:0 0;padding:7px 9px;font-size:9px}.articles-table-row>button:hover{border-color:var(--blue)}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.row-actions button{border:1px solid var(--line);color:var(--blue);cursor:pointer;background:0 0;padding:7px 9px;font-size:9px}.row-actions button:hover{border-color:var(--blue)}.row-actions button:disabled{opacity:.35;cursor:default;border-color:var(--line)}.row-actions button.danger,.editor-actions .danger-button{color:#b91c1c}.row-actions button.danger:hover,.editor-actions .danger-button:hover{border-color:#b91c1c}.articles-empty{color:var(--muted);text-align:center;padding:70px 20px;font-size:11px}.category-sidebar-note{color:var(--muted);margin:29px 8px 0;font-size:9px;line-height:1.7}.editor-main,.project-editor{min-width:0}.editor-topbar{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex}.view-toggle{background:#ecece8;padding:3px;display:flex}.view-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:7px 16px;font-size:10px}.view-toggle button.active{color:var(--ink);background:#fff}.editor-actions{gap:8px;display:flex}.editor-actions .danger-button{border-color:var(--line);cursor:pointer;background:0 0;font-size:10px}.editor-actions button{border:1px solid var(--line);cursor:pointer;background:0 0;padding:8px 14px;font-size:10px;font-weight:650}.editor-actions .publish-button{background:var(--blue);border-color:var(--blue);color:#fff}.editor-actions button:disabled,.save-profile:disabled{opacity:.5;cursor:wait}.editor-canvas{background:var(--surface);border:1px solid var(--line);width:min(900px,100% - 64px);margin:34px auto 70px}.title-input{width:100%;color:var(--ink);letter-spacing:-.05em;background:0 0;border:0;outline:0;padding:38px 44px 15px;font-size:clamp(28px,4vw,42px);font-weight:750}.excerpt-input{resize:vertical;width:100%;min-height:78px;color:var(--muted);font-family:var(--serif);background:0 0;border:0;outline:0;padding:8px 44px 21px;font-size:13px;line-height:1.7}.post-settings{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f5f5f2;grid-template-columns:1fr 1.3fr 1.7fr 1.2fr;gap:12px;padding:17px 44px;display:grid}.post-settings label,.profile-form>label,.project-form>label,.account-form>label{color:var(--muted);letter-spacing:.05em;flex-direction:column;gap:6px;font-size:8px;font-weight:650;display:flex}.post-settings input,.post-settings select{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:0 0;outline:0;padding:7px 0;font-size:10px}.cover-upload{position:relative}.cover-upload input{padding-right:50px}.cover-upload button{color:var(--blue);cursor:pointer;background:0 0;border:0;font-size:9px;position:absolute;bottom:5px;right:0}.line-height-setting>span{grid-template-columns:minmax(50px,1fr) 48px;align-items:center;gap:8px;display:grid}.post-settings .line-height-setting input[type=range]{border-bottom:0;padding:7px 0}.post-settings .line-height-setting input[type=number]{border:1px solid var(--line);text-align:center;background:#fff;padding:5px 3px}.editor-scroll-actions{z-index:20;flex-direction:column;gap:7px;display:flex;position:fixed;bottom:28px;right:24px}.editor-scroll-top,.editor-scroll-bottom{border:1px solid var(--line);min-width:78px;min-height:38px;color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#fffffff0;padding:8px 12px;font-size:10px;transition:color .2s,border-color .2s,transform .2s;box-shadow:0 8px 24px #18181b1f}.editor-scroll-top:hover,.editor-scroll-bottom:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}.cover-preview{object-fit:cover;border:1px solid var(--line);width:100%;max-height:150px;margin-top:8px;display:block}.cover-position-editor{border-bottom:1px solid var(--line);background:#f8f8f5;grid-template-columns:minmax(0,1.6fr) minmax(220px,.9fr);gap:18px;padding:18px 44px;display:grid}.cover-position-stage{border:1px solid var(--line);cursor:crosshair;touch-action:none;background:#111;width:100%;height:230px;padding:0;position:relative;overflow:hidden}.cover-position-stage img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%}.cover-video-editor{gap:10px;margin-top:18px;display:grid}.cover-video-editor video{aspect-ratio:16/9;border:1px solid var(--line);background:#111;width:100%;max-height:460px;display:block}.cover-video-editor small{color:var(--muted);font-size:10px;line-height:1.6}.video-upload-optimization{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,1fr) minmax(190px,.7fr);align-items:center;gap:10px 18px;margin:0 44px;padding:14px 0;display:grid}.project-form .video-upload-optimization{border-bottom:0;margin:0;padding:16px 0 0}.video-upload-optimization>label{color:var(--ink);align-items:center;gap:9px;font-size:10px;display:flex}.video-upload-optimization input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue)}.video-upload-optimization select{border:1px solid var(--line);background:var(--surface);flex:1;min-width:120px;padding:8px 10px}.video-upload-optimization>small{color:var(--muted);grid-column:1/-1;font-size:9px;line-height:1.65}.transition-color-setting>input[type=color]{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:100%;min-width:100px;height:34px;padding:2px}.transition-color-setting .transition-color-hex{width:100%;min-width:92px}.cover-position-marker{background:color-mix(in srgb, var(--blue) 75%, transparent);pointer-events:none;border:2px solid #fff;border-radius:50%;width:20px;height:20px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #00000059}.cover-position-controls{flex-direction:column;justify-content:center;gap:16px;display:flex}.cover-position-controls>label{color:var(--muted);gap:7px;font-size:9px;display:grid}.cover-position-controls label>span{grid-template-columns:minmax(70px,1fr) 48px auto;align-items:center;gap:7px;display:grid}.cover-position-controls input[type=range]{width:100%;accent-color:var(--blue)}.cover-position-controls input[type=number]{border:1px solid var(--line);text-align:center;background:#fff;outline:0;width:48px;min-width:0;padding:6px 3px;font-size:9px}.cover-position-controls small{color:var(--soft);font-size:8px;line-height:1.65}.format-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:3px;padding:8px 38px;display:flex}.format-toolbar button,.toolbar-upload{color:#525252;cursor:pointer;text-align:center;background:0 0;border:0;min-width:30px;padding:7px;font-size:10px}.format-toolbar button:hover,.toolbar-upload:hover{background:#eeeeea}.format-toolbar button:disabled{opacity:.32;cursor:not-allowed}.format-toolbar button.active{background:var(--ink);color:#fff}.toolbar-upload{margin-left:4px;position:relative}.toolbar-upload input{opacity:0;width:1px;height:1px;position:absolute}.toolbar-tip{color:var(--soft);margin-left:auto;font-size:8px}.editor-sticky-tools{z-index:12;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;position:sticky;top:64px;box-shadow:0 8px 22px #18181b12}.rich-toolbar{background:0 0;flex-wrap:wrap}.rich-toolbar select{border:1px solid var(--line);color:#525252;background:#fff;max-width:110px;padding:6px 24px 6px 7px;font-size:9px}.rich-toolbar .code-block-insert{color:var(--blue);white-space:nowrap}.rich-toolbar .code-block-collapse{color:#8a5a00;white-space:nowrap}.rich-toolbar .code-block-delete{color:#b91c1c;white-space:nowrap}.rich-toolbar .code-block-delete:hover{background:#fef2f2}.toolbar-divider{background:var(--line);width:1px;height:20px;margin:0 5px}.text-color-label{color:var(--muted);white-space:nowrap;margin-left:2px;font-size:8px}.text-color-presets{align-items:center;gap:2px;display:inline-flex}.format-toolbar .text-color-swatch{border:1px solid #0000;border-radius:3px;place-items:center;width:24px;min-width:24px;height:26px;padding:0;display:grid}.format-toolbar .text-color-swatch:hover{border-color:var(--line);background:#f2f2ef}.format-toolbar .text-color-swatch.active{border-color:var(--ink);background:#ecece8;box-shadow:inset 0 0 0 1px #fff}.text-color-swatch>span{border:1px solid #ffffffe6;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 1px #18181b2e}.rich-text-editor{color:#292929;width:100%;min-height:560px;font-family:var(--serif);background:0 0;border:0;outline:0;padding:38px 44px 80px;font-size:15px;line-height:1.7}.rich-text-editor:empty:before{content:attr(data-placeholder);color:var(--soft);pointer-events:none}.rich-text-editor h2{font-family:var(--sans);letter-spacing:-.04em;margin:40px 0 15px;font-size:27px;line-height:1.4}.rich-text-editor h3{font-family:var(--sans);margin:32px 0 12px;font-size:20px}.rich-text-editor p{margin:0 0 18px}.rich-text-editor blockquote{border-left:3px solid var(--blue);background:var(--blue-soft);margin:28px 0;padding:17px 22px}.rich-text-editor ul,.rich-text-editor ol{padding-left:24px}.rich-text-editor code:not(pre code){color:#1d4ed8;font-family:var(--mono);background:#eeeeeb;border-radius:3px;padding:2px 6px;font-size:.86em}.rich-text-editor pre{color:#d4d4d4;font-family:var(--mono);white-space:pre;background:#1e1e1e;border-radius:5px;margin:26px 0;padding:47px 22px 22px;font-size:12px;line-height:1.7;position:relative;overflow-x:auto}.rich-text-editor pre:before{content:attr(data-language);color:#a3a3a3;text-transform:uppercase;background:#252526;border-bottom:1px solid #343434;height:34px;padding:0 14px;font-size:9px;line-height:34px;position:absolute;top:0;left:0;right:0}.rich-text-editor pre[data-collapsed=true]{cursor:pointer;height:36px;min-height:36px;padding:36px 0 0;overflow:hidden}.rich-text-editor pre[data-collapsed=true]:before{content:attr(data-language) " · 已折叠（点击后可在工具栏展开）";border-bottom:0}.rich-text-editor pre[data-collapsed=true] code{display:none}.rich-text-editor figure{clear:both;margin:30px 0;position:relative}.rich-text-editor figure img{object-fit:contain;width:100%;height:auto;max-height:560px;display:block}.rich-text-editor figure video{background:#111;width:100%;max-height:560px;display:block}.rich-text-editor figcaption{color:var(--muted);text-align:center;font-family:var(--sans);margin-top:7px;font-size:9px}.rich-text-editor figure.img-left{float:left;margin:10px 28px 18px 0}.rich-text-editor figure.img-right{float:right;margin:10px 0 18px 28px}.rich-text-editor figure.img-center{margin-left:auto;margin-right:auto}.rich-text-editor figure.img-wide{margin-left:0;margin-right:0}.rich-text-editor figure.img-wide img{max-height:640px}.rich-text-editor figure.selected{outline:2px solid var(--blue);outline-offset:7px;cursor:grab}.rich-text-editor figure.selected:after{content:"";background:var(--blue);cursor:nwse-resize;border:2px solid #fff;border-radius:50%;width:16px;height:16px;position:absolute;bottom:-9px;right:-9px}.rich-text-editor.drag-active{outline:2px dashed var(--blue);outline-offset:-10px}.image-panel{border-bottom:1px solid var(--line);background:#f7f7f4;flex-wrap:wrap;align-items:center;gap:7px;padding:9px 38px;font-size:9px;display:flex}.image-panel-title{color:var(--blue);font-family:var(--mono);letter-spacing:.08em;font-size:8px}.image-panel button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;padding:5px 9px;font-size:9px}.image-panel button:hover{border-color:var(--blue);color:var(--blue)}.image-panel button.active{background:var(--ink);border-color:var(--ink);color:#fff}.image-panel button.danger{color:#b91c1c}.image-panel button.danger:hover{color:#b91c1c;border-color:#b91c1c}.image-size{color:var(--muted);align-items:center;gap:6px;display:flex}.image-size input[type=range]{width:110px}.image-size-number{color:var(--muted);align-items:center;gap:3px;display:inline-flex}.image-size-number input{border:1px solid var(--line);width:49px;color:var(--ink);text-align:right;background:#fff;outline:0;padding:5px 4px;font-size:9px}.image-size-number input:focus{border-color:var(--blue)}.image-panel-tip{color:var(--soft);margin-left:auto;font-size:8px}.crop-overlay{z-index:90;background:#00000075;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.crop-backdrop{cursor:default;background:0 0;border:0;padding:0;position:absolute;inset:0}.crop-dialog{background:#fff;border-radius:8px;width:min(720px,100%);padding:22px;position:relative;box-shadow:0 24px 70px #0000004d}.exit-prompt-overlay{z-index:95;background:#00000075;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.exit-prompt-backdrop{cursor:default;background:0 0;border:0;padding:0;position:absolute;inset:0}.exit-prompt{background:var(--surface);border-radius:8px;width:min(440px,92vw);padding:34px 38px 30px;position:relative;box-shadow:0 24px 70px #0000004d}.exit-prompt-label{color:var(--blue);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-size:9px}.exit-prompt h2{letter-spacing:0;margin:12px 0 8px;font-size:24px;line-height:1.4}.exit-prompt p{color:var(--muted);margin:0 0 22px;font-size:13px;line-height:1.8}.exit-prompt-actions{flex-wrap:wrap;gap:9px;display:flex}.exit-prompt-actions button{border:1px solid var(--line);background:var(--ink);color:#fff;cursor:pointer;padding:10px 16px;font-size:12px}.exit-prompt-actions button.danger{color:#b91c1c;background:0 0}.exit-prompt-actions button:last-child{color:var(--muted);background:0 0}.exit-prompt-actions button:hover{border-color:var(--blue)}.exit-prompt-actions button:disabled{opacity:.5;cursor:default}.crop-heading{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.crop-heading span{color:var(--blue);font-family:var(--mono);letter-spacing:.1em;font-size:9px}.crop-heading button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:20px;line-height:1}.crop-aspect{gap:5px;margin-bottom:12px;display:flex}.crop-aspect button{border:1px solid var(--line);cursor:pointer;background:#fff;padding:6px 10px;font-size:9px}.crop-aspect button.active{background:var(--ink);border-color:var(--ink);color:#fff}.crop-stage{cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none;background:#111;border:0;place-items:center;width:100%;min-height:220px;max-height:62vh;padding:0;display:grid;position:relative;overflow:hidden}.crop-stage img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:62vh;display:block}.crop-box{pointer-events:none;background:#ffffff24;border:1.5px dashed #fff;position:absolute;box-shadow:0 0 0 9999px #0000006b}.crop-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.crop-hint{color:var(--muted);font-size:9px}.crop-hint.crop-error{color:#b42318}.crop-actions button{background:var(--blue);color:#fff;cursor:pointer;border:0;padding:9px 16px;font-size:10px;font-weight:650}.crop-actions button:disabled{cursor:wait;opacity:.45}.word-count{border-top:1px solid var(--line);color:var(--soft);text-align:right;padding:11px 44px;font-size:8px}.editor-preview{background:var(--surface);border:1px solid var(--line);width:min(780px,100% - 64px);margin:45px auto 85px;padding:56px 64px}.preview-label{color:var(--blue);font-family:var(--mono);letter-spacing:.13em;font-size:8px}.editor-preview>h1{letter-spacing:-.06em;margin:18px 0 13px;font-size:42px;line-height:1.25}.preview-excerpt{color:var(--muted);font-family:var(--serif);margin-bottom:42px;line-height:1.8}.profile-editor,.project-form{width:min(880px,100% - 64px);margin:50px auto 85px}.profile-editor-heading>span,.project-form-heading>span,.account-form>div>span{color:var(--blue);font-family:var(--mono);letter-spacing:.12em;font-size:8px}.profile-editor-heading h1,.project-form-heading h1{letter-spacing:-.055em;margin:13px 0 8px;font-size:39px}.profile-editor-heading p,.project-form-heading p,.account-form>div>p{color:var(--muted);font-size:11px}.studio-error-banner{color:#b91c1c;background:#fef2f2;border:1px solid #f3c6c6;flex-direction:column;gap:6px;margin:0 0 22px;padding:13px 15px;font-size:11px;line-height:1.6;display:flex}.studio-error-banner strong{letter-spacing:.06em;font-size:10px}.profile-form,.project-form,.account-form{background:var(--surface);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:22px 28px;padding:34px;display:grid}.project-form-heading,.account-form>div{grid-column:1/-1;margin-bottom:10px}.profile-form{margin-top:32px}.profile-form>label input,.profile-form>label textarea,.project-form>label input,.project-form>label textarea,.project-form>label select,.account-form>label input{border:0;border-bottom:1px solid var(--line);color:var(--ink);background:0 0;outline:0;padding:9px 0;font-size:12px}.profile-form>label small{color:var(--soft);letter-spacing:0;font-weight:400;line-height:1.5}.profile-form>label textarea,.project-form>label textarea{resize:vertical;min-height:96px;line-height:1.7}.full-field{grid-column:1/-1}.avatar-editor{border-bottom:1px solid var(--line);grid-column:1/-1;align-items:center;gap:16px;padding-bottom:22px;display:flex}.avatar-editor img,.avatar-editor>div:first-child{object-fit:cover;border-radius:50%;width:68px;height:68px}.avatar-editor>div:first-child{background:var(--ink);color:#fff;place-items:center;font-size:24px;display:grid}.avatar-fields{flex-direction:column;gap:9px;display:flex}.avatar-upload-row{align-items:center;display:flex}.avatar-upload-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;padding:7px 10px;font-size:9px}.avatar-upload-button:hover{border-color:var(--blue);color:var(--blue)}.avatar-url-input{border:0;border-bottom:1px solid var(--line);min-width:240px;color:var(--ink);background:0 0;outline:0;padding:8px 0;font-size:11px}.avatar-url-input:focus{border-bottom-color:var(--blue)}.appearance-field{border-top:1px solid var(--line);padding:18px 0 4px}.theme-field-head{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:15px;display:flex}.theme-field-head label{font-size:12px;font-weight:650}.theme-field-head small{color:var(--soft);letter-spacing:0;font-size:9px;font-weight:400;line-height:1.5}.appearance-switch{gap:10px;margin:16px 0 18px;display:flex}.appearance-switch button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;align-items:center;gap:9px;padding:9px 14px;font-size:10px;display:inline-flex}.appearance-switch button.active{border-color:var(--ink);color:var(--ink);font-weight:650}.appearance-switch i{border:1px solid #0000001f;border-radius:50%;width:16px;height:16px}.color-picker-panel{gap:14px;display:grid}.theme-swatches{flex-wrap:wrap;align-items:center;gap:11px;display:flex}.theme-swatches>button,.theme-custom{cursor:pointer;border:2px solid #0000;border-radius:50%;width:34px;height:34px;padding:0}.theme-swatches>button.active{border-color:var(--ink)}.theme-custom{border-color:var(--line);place-items:center;display:grid;position:relative;overflow:hidden}.theme-custom span{color:#fff;text-shadow:0 0 3px #00000080;pointer-events:none;font-size:16px;line-height:1}.theme-custom input[type=color]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.theme-hex{color:var(--muted);align-items:center;gap:12px;margin-top:15px;font-size:10px;display:flex}.theme-hex input{border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--ink);font-family:var(--mono);outline:0;flex:0 150px;padding:8px 10px;font-size:11px}.theme-hex input:focus{border-color:var(--blue)}.text-colors{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.text-colors-head{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:12px;display:flex}.text-colors-head>span{font-size:12px;font-weight:650}.text-colors-head small{color:var(--soft);font-size:9px;font-weight:400}.text-color-row{grid-template-columns:88px 34px 1fr;align-items:center;gap:12px;padding:7px 0;display:grid}.text-color-row>span{color:var(--muted);font-size:10px}.text-color-row input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;width:34px;height:28px;padding:0}.text-color-hex{border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--ink);font-family:var(--mono);outline:0;padding:8px 10px;font-size:11px}.text-color-hex:focus{border-color:var(--blue)}.site-texts-field,.display-settings-field{border-top:1px solid var(--line);margin-top:20px;padding:18px 0 4px}.display-settings-list{gap:4px;margin-top:18px;display:grid}.display-setting-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,1fr) minmax(180px,1.5fr) 92px;align-items:center;gap:18px;padding:13px 0;display:grid}.display-setting-row>span:first-child{flex-direction:column;gap:4px;display:flex}.display-setting-row strong{color:var(--ink);font-size:11px}.display-setting-row small{color:var(--soft);font-size:9px;line-height:1.5}.display-setting-row>input[type=range]{width:100%;accent-color:var(--blue)}.display-setting-value{border:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:5px;padding:6px 8px;display:grid}.display-setting-value input{width:100%;min-width:0;color:var(--ink);text-align:right;background:0 0;border:0;outline:0;font-size:11px}.display-setting-value i{color:var(--soft);font-size:9px;font-style:normal}.site-text-group{border-top:1px solid var(--line);padding:14px 0}.site-text-group h3{color:var(--muted);letter-spacing:.08em;margin:0 0 12px;font-size:10px;font-weight:650}.site-text-grid{grid-template-columns:1fr 1fr;gap:12px 20px;display:grid}.site-text-grid label{gap:6px;display:grid}.site-text-grid label.wide{grid-column:1/-1}.site-text-grid label>span{color:var(--muted);font-size:10px}.site-text-grid input,.site-text-grid textarea{border:0;border-bottom:1px solid var(--line);color:var(--ink);background:0 0;outline:0;padding:8px 0;font-size:12px}.site-text-grid textarea{resize:vertical;min-height:56px;line-height:1.6}.site-text-grid input:focus,.site-text-grid textarea:focus{border-bottom-color:var(--blue)}.save-profile{background:var(--ink);color:#fff;cursor:pointer;border:0;grid-column:1/-1;justify-self:start;padding:10px 15px;font-size:10px}.account-form{margin-top:22px}.account-form h2{letter-spacing:-.04em;margin:10px 0 6px;font-size:26px}.account-form>button{background:var(--ink);color:#fff;cursor:pointer;border:0;align-self:end;padding:10px 14px;font-size:10px}.backup-editor{width:min(920px,100% - 64px);margin:50px auto 85px}.backup-heading>span,.backup-card-index{color:var(--blue);font-family:var(--mono);letter-spacing:.12em;font-size:8px}.backup-heading h1{letter-spacing:-.055em;margin:13px 0 8px;font-size:39px}.backup-heading p{max-width:650px;color:var(--muted);font-size:11px;line-height:1.75}.backup-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:32px;display:grid}.backup-card{border:1px solid var(--line);background:var(--surface);flex-direction:column;align-items:flex-start;min-height:270px;padding:30px;display:flex}.backup-card h2{letter-spacing:-.04em;margin:18px 0 10px;font-size:25px}.backup-card p{color:var(--muted);margin:0 0 24px;font-size:10px;line-height:1.8}.backup-card button{background:var(--ink);color:#fff;cursor:pointer;border:0;margin-top:auto;padding:11px 15px;font-size:10px}.backup-card .restore-button{border:1px solid var(--ink);color:var(--ink);background:0 0}.backup-card button:disabled{opacity:.48;cursor:wait}.backup-progress{border:1px solid color-mix(in srgb, var(--blue) 28%, var(--line));background:color-mix(in srgb, var(--blue) 5%, var(--surface));color:var(--ink);align-items:center;gap:9px;margin-top:16px;padding:13px 15px;font-size:10px;display:flex}.backup-progress>span{background:#22c55e;border-radius:50%;flex:none;width:7px;height:7px}.backup-progress>span.working{background:var(--blue);animation:1s ease-in-out infinite backup-pulse}.backup-notes{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 94%, var(--ink));margin-top:20px;padding:22px 26px}.backup-notes strong{letter-spacing:.08em;font-size:10px}.backup-notes ul{color:var(--muted);gap:7px;margin:13px 0 0;padding-left:18px;font-size:9px;line-height:1.65;display:grid}@keyframes backup-pulse{50%{opacity:.35;transform:scale(.75)}}.resource-deadline-manager{width:min(1180px,100% - 64px);margin:50px auto 90px}.resource-deadline-heading{justify-content:space-between;align-items:flex-end;gap:32px;display:flex}.resource-deadline-heading>div{max-width:720px}.resource-deadline-heading span,.resource-section-head span,.resource-deadline-form>div>span{color:var(--blue);font-family:var(--mono);letter-spacing:.14em;font-size:8px}.resource-deadline-heading h1{letter-spacing:-.06em;margin:13px 0 8px;font-size:42px}.resource-deadline-heading p{color:var(--muted);margin:0;font-size:11px;line-height:1.75}.resource-heading-actions{flex:none;gap:8px;display:flex}.resource-heading-actions button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;min-height:40px;padding:10px 16px;font-size:10px}.resource-heading-actions button.secondary{color:var(--ink);background:0 0}.resource-heading-actions button:disabled{opacity:.5;cursor:wait}.resource-detection-status{color:var(--muted);align-items:center;gap:9px;margin-top:18px;font-size:9px;display:flex}.resource-detection-status>span{background:#22c55e;border-radius:50%;width:7px;height:7px}.resource-detection-status>span.working{background:var(--blue);animation:1s ease-in-out infinite backup-pulse}.resource-management-links{border:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0 0;display:grid}.resource-management-links a{border-right:1px solid var(--line);gap:7px;min-width:0;padding:17px 18px;transition:background .2s,color .2s;display:grid}.resource-management-links a:last-child{border-right:0}.resource-management-links a:hover{background:var(--blue-soft);color:var(--blue)}.resource-management-links small{color:var(--soft);font-size:8px}.resource-management-links strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.resource-management-links span{color:var(--blue);font-size:8px}.resource-summary{border:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(4,1fr);margin:32px 0 22px;display:grid}.resource-summary>div{border-right:1px solid var(--line);min-width:0;padding:20px 22px}.resource-summary>div:last-child{border-right:0}.resource-summary span,.resource-summary small{color:var(--muted);font-size:8px;display:block}.resource-summary strong{text-overflow:ellipsis;margin:8px 0 5px;font-size:29px;line-height:1;display:block;overflow:hidden}.resource-summary .warning strong{color:#d97706}.resource-summary .expired strong{color:#dc2626}.resource-summary small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resource-deadline-layout{grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:22px;display:grid}.resource-deadline-list,.resource-deadline-form{border:1px solid var(--line);background:var(--surface)}.resource-section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:20px;padding:23px 24px;display:flex}.resource-section-head h2,.resource-deadline-form h2{letter-spacing:-.04em;margin:7px 0 0;font-size:22px}.resource-section-head>small{color:var(--soft);font-size:8px}.resource-deadline-card{border-bottom:1px solid var(--line);border-left:3px solid #0000;grid-template-columns:105px minmax(0,1fr) 125px auto;align-items:center;gap:16px;min-height:104px;padding:18px 20px;display:grid}.resource-deadline-card:last-child{border-bottom:0}.resource-deadline-card.warning{border-left-color:#d97706}.resource-deadline-card.urgent,.resource-deadline-card.expired{border-left-color:#dc2626}.resource-type{color:var(--muted);align-items:center;gap:8px;font-size:9px;display:flex}.resource-type i{background:#22c55e;border-radius:50%;width:6px;height:6px}.resource-deadline-card.warning .resource-type i{background:#d97706}.resource-deadline-card.urgent .resource-type i,.resource-deadline-card.expired .resource-type i{background:#dc2626}.resource-main{min-width:0}.resource-main strong,.resource-main span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.resource-main strong{font-size:12px}.resource-main .resource-auto-badge{border:1px solid color-mix(in srgb, var(--blue) 35%, var(--line));color:var(--blue);vertical-align:middle;margin-left:7px;padding:2px 5px;font-size:7px;font-weight:500;display:inline-block}.resource-main span{color:var(--muted);font-family:var(--mono);margin-top:6px;font-size:8px}.resource-main p{color:var(--soft);margin:7px 0 0;font-size:8px;line-height:1.55}.resource-remaining{text-align:right}.resource-remaining strong,.resource-remaining span{display:block}.resource-remaining strong{font-size:12px}.resource-deadline-card.warning .resource-remaining strong{color:#d97706}.resource-deadline-card.urgent .resource-remaining strong,.resource-deadline-card.expired .resource-remaining strong{color:#dc2626}.resource-remaining span{color:var(--soft);margin-top:5px;font-size:8px}.resource-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.resource-actions button,.resource-actions a{border:1px solid var(--line);color:var(--blue);cursor:pointer;white-space:nowrap;background:0 0;padding:6px 8px;font-size:8px}.resource-actions .danger{color:#b91c1c}.resource-empty{min-height:230px;color:var(--muted);text-align:center;align-content:center;justify-items:center;padding:30px;display:grid}.resource-empty strong{color:var(--ink);font-size:13px}.resource-empty p{margin:9px 0 0;font-size:9px}.resource-deadline-form{gap:14px;padding:24px;display:grid;position:sticky;top:86px}.resource-deadline-form>div:first-child{padding-bottom:4px}.resource-deadline-form>div:first-child p{color:var(--muted);margin:8px 0 0;font-size:8px;line-height:1.6}.resource-deadline-form label{color:var(--muted);gap:6px;font-size:9px;display:grid}.resource-deadline-form input,.resource-deadline-form select,.resource-deadline-form textarea{border:1px solid var(--line);background:var(--bg);width:100%;min-width:0;color:var(--ink);resize:vertical;outline:0;padding:9px 10px}.resource-deadline-form input:focus,.resource-deadline-form select:focus,.resource-deadline-form textarea:focus{border-color:var(--blue)}.resource-form-error{color:#b91c1c;margin:0;font-size:9px}.resource-form-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.resource-form-actions button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;min-height:38px;font-size:9px}.resource-form-actions .secondary{color:var(--ink);background:0 0}.project-cover-field{position:relative}.project-media-upload{background:var(--surface);color:var(--blue);cursor:pointer;border:0;padding:5px 0 5px 12px;font-size:9px;position:absolute;top:20px;right:0}.project-media-upload:hover{color:var(--ink)}.project-cover-field>small{color:var(--soft);letter-spacing:0;margin-top:5px;font-size:8px;font-weight:400;line-height:1.55}.project-frame-picker{border:1px solid var(--line);background:#f8f8f5;grid-template-columns:minmax(0,1.45fr) minmax(230px,.8fr);gap:20px;margin-top:8px;padding:18px;display:grid}.project-frame-picker video{aspect-ratio:16/9;object-fit:contain;background:#111;width:100%;min-width:0;max-height:420px;display:block}.project-frame-controls{flex-direction:column;justify-content:center;gap:14px;min-width:0;display:flex}.project-frame-controls>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.project-frame-controls strong{font-size:12px}.project-frame-controls span{color:var(--muted);font-family:var(--mono);white-space:nowrap;font-size:8px}.project-frame-controls input[type=range]{width:100%;accent-color:var(--blue);cursor:pointer}.project-frame-controls button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;min-height:38px;font-size:9px}.project-frame-controls button:hover{border-color:var(--blue);background:var(--blue)}.project-frame-controls button:disabled{opacity:.45;cursor:wait}.project-frame-controls small{color:var(--muted);font-size:9px;line-height:1.65}.category-editor{min-width:0}.category-panel{background:var(--surface);border:1px solid var(--line);width:min(960px,100% - 64px);margin:50px auto 85px;padding:36px}.category-heading>span{color:var(--blue);font-family:var(--mono);letter-spacing:.12em;font-size:8px}.category-heading h1{letter-spacing:-.055em;margin:13px 0 8px;font-size:39px}.category-heading p{max-width:560px;color:var(--muted);font-size:11px;line-height:1.7}.category-add{grid-template-columns:1fr auto;gap:10px;margin:32px 0 22px;display:grid}.category-add input{border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--ink);outline:0;padding:11px 13px}.category-add input:focus{border-color:var(--blue)}.category-add button{background:var(--ink);color:#fff;cursor:pointer;border:0;padding:0 18px;font-size:10px}.category-add button:disabled{opacity:.5;cursor:wait}.category-list{border-top:1px solid var(--line)}.category-board{border-top:1px solid var(--line);gap:14px;padding-top:14px;display:grid}.category-card{border:1px solid var(--line);background:var(--bg);transition:opacity .18s,border-color .18s,box-shadow .18s,transform .18s;overflow:hidden}.category-card[draggable=true]{cursor:grab}.category-card.dragging{opacity:.45;border-color:var(--blue);transform:scale(.995)}.category-card:has(.category-article-row:hover){border-color:color-mix(in srgb, var(--blue) 45%, var(--line))}.category-row{border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;gap:20px;padding:15px 16px;display:flex}.category-row>div{align-items:center;gap:12px;display:flex}.category-row>div>span:last-child{flex-direction:column;gap:3px;display:flex}.category-row strong{font-size:12px}.category-row small{color:var(--muted);font-size:8px}.category-row button{border:1px solid var(--line);color:#b91c1c;cursor:pointer;background:0 0;padding:6px 10px;font-size:9px}.category-row button:disabled{color:var(--soft);cursor:default}.category-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.category-row .rename-category,.category-row .rename-save{color:var(--blue)}.category-name-input{border:1px solid var(--blue);background:var(--bg);width:min(240px,32vw);min-width:120px;color:var(--ink);font:inherit;outline:none;padding:6px 8px}.category-articles{min-height:48px;padding:7px}.category-article-row{border-bottom:1px solid var(--line);background:var(--surface);cursor:grab;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:7px 9px;transition:opacity .18s,background .18s,transform .18s;display:grid}.category-article-row:last-child{border-bottom:0}.category-article-row:hover{background:var(--blue-soft)}.category-article-row.dragging{opacity:.4;transform:scale(.995)}.category-article-row>span:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.category-article-row strong,.category-article-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.category-article-row strong{font-size:10px}.category-article-row small{color:var(--muted);font-size:8px}.category-article-row button{border:1px solid var(--line);color:var(--blue);cursor:pointer;background:0 0;padding:5px 9px;font-size:8px}.category-drop-empty{border:1px dashed var(--line);min-height:52px;color:var(--soft);place-items:center;font-size:9px;display:grid}.diy-editor{width:min(1500px,100% - 40px);margin:34px auto 80px}.diy-heading{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:24px;display:flex}.diy-heading>div:first-child>span{color:var(--blue);font-family:var(--mono);letter-spacing:.12em;font-size:8px}.diy-heading h1{letter-spacing:-.055em;margin:12px 0 7px;font-size:39px}.diy-heading p{max-width:720px;color:var(--muted);margin:0;font-size:11px;line-height:1.75}.diy-heading-actions{flex:none;gap:9px;display:flex}.diy-heading-actions button{border:1px solid var(--ink);min-height:38px;color:var(--ink);cursor:pointer;background:0 0;padding:9px 14px;font-size:10px}.diy-heading-actions .diy-save{background:var(--ink);color:#fff}.diy-heading-actions button:disabled{opacity:.45;cursor:wait}.diy-workspace{border:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(0,1fr);min-height:720px;display:grid}.diy-preview-scroll{background:var(--bg);scrollbar-gutter:stable;min-width:0;max-height:calc(100vh - 150px);overflow:hidden auto}.diy-preview-frame{width:100%;min-height:1px;position:relative;overflow:hidden}.diy-preview-stage{background:var(--bg);isolation:isolate;transform-origin:0 0;width:100vw;min-width:0;position:absolute;top:0;left:0;overflow:hidden}.diy-preview-content{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;position:relative}.diy-edit-layer{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.diy-decoration{cursor:move;touch-action:none;pointer-events:auto;min-width:1%;position:absolute}.diy-decoration>img{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;max-width:none;height:auto;display:block}.diy-decoration.selected{outline:2px solid var(--blue);outline-offset:2px}.diy-decoration-label{background:var(--blue);color:#fff;max-width:180px;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;opacity:0;pointer-events:none;padding:4px 6px;font-size:8px;line-height:1;position:absolute;bottom:calc(100% + 5px);left:0;overflow:hidden}.diy-decoration.selected .diy-decoration-label{opacity:1}.diy-resize-handle{background:var(--blue);width:16px;height:16px;box-shadow:0 0 0 1px var(--blue);cursor:nwse-resize;touch-action:none;opacity:0;border:2px solid #fff;border-radius:50%;padding:0;position:absolute;bottom:-7px;right:-7px}.diy-decoration.selected .diy-resize-handle{opacity:1}.diy-controls{border-top:1px solid var(--line);background:var(--surface);grid-template-columns:minmax(140px,.75fr) minmax(170px,1fr) minmax(210px,1.1fr) minmax(360px,2.2fr) minmax(160px,.9fr);align-items:start;gap:16px;min-width:0;padding:22px;display:grid}.diy-selected-head{border-bottom:1px solid var(--line);flex-direction:column;gap:5px;padding-bottom:16px;display:flex}.diy-selected-head span{color:var(--soft);letter-spacing:.08em;font-size:8px}.diy-selected-head strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.diy-name-field{color:var(--muted);gap:6px;margin-top:0;font-size:9px;display:grid}.diy-name-field input{border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--ink);outline:0;padding:8px 9px;font-size:10px}.diy-name-field input:focus{border-color:var(--blue)}.diy-position-grid{grid-template-columns:1fr 1fr;gap:9px;margin:0;display:grid}.diy-position-grid label{color:var(--muted);gap:6px;font-size:8px;display:grid;position:relative}.diy-position-grid input{border:1px solid var(--line);background:var(--bg);min-width:0;color:var(--ink);outline:0;padding:8px 22px 8px 8px;font-size:10px}.diy-position-grid label>span{color:var(--soft);position:absolute;bottom:9px;right:8px}.diy-control-list{border-top:1px solid var(--line)}.diy-control-row{border-bottom:1px solid var(--line);grid-template-columns:64px minmax(70px,1fr) 62px;align-items:center;gap:8px;padding:11px 0;display:grid}.diy-control-row>label{color:var(--muted);font-size:8px}.diy-control-row>input[type=range]{width:100%;accent-color:var(--blue)}.diy-control-row>span{color:var(--soft);grid-template-columns:1fr auto;align-items:center;gap:2px;font-size:8px;display:grid}.diy-control-row>span input{border:1px solid var(--line);background:var(--bg);width:100%;min-width:0;color:var(--ink);text-align:right;outline:0;padding:5px 3px;font-size:9px}.diy-layer-actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:0;display:grid}.diy-layer-actions button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;padding:8px 7px;font-size:8px}.diy-layer-actions button:hover{border-color:var(--blue);color:var(--blue)}.diy-layer-actions .danger{color:#b91c1c}.diy-empty-controls{flex-direction:column;grid-column:1/-1;justify-content:center;align-items:flex-start;min-height:160px;display:flex}@media (width<=1250px){.diy-controls{grid-template-columns:1fr 1fr}.diy-control-list{grid-column:1/-1}}.diy-empty-controls strong{font-size:14px}.diy-empty-controls p{color:var(--muted);margin:10px 0 20px;font-size:9px;line-height:1.7}.diy-empty-controls span{color:var(--blue);font-family:var(--mono);font-size:9px}@media (width<=920px){.minimal-hero{grid-template-columns:1fr;gap:60px}.hero-profile{max-width:min(100%, var(--profile-card-width,300px));margin:0}.article-layout{grid-template-columns:minmax(0, min(100%, var(--article-content-width,820px)))}.article-aside,.article-toc{display:none}.studio-layout{grid-template-columns:190px 1fr}.studio-header{grid-template-columns:190px 1fr auto}.post-settings{grid-template-columns:1fr 1fr}.cover-upload,.line-height-setting{grid-column:1/-1}.resource-deadline-layout{grid-template-columns:1fr}.resource-deadline-form{position:static}.articles-table-head,.articles-table-row{grid-template-columns:minmax(220px,1fr) 78px 100px 220px}.articles-table-head>span:nth-child(4),.articles-table-row>span:nth-child(4){display:none}.diy-controls{grid-template-columns:1fr}.diy-control-list{grid-column:auto}}@media (width<=700px){.header-inner,.minimal-hero,.notes-section,.projects-section,.about-section,.footer-inner,.article-page{width:min(100% - 30px,1120px)}.header-inner{height:60px}.main-nav{gap:18px;margin-right:18px}.minimal-hero{min-height:0;padding:75px 0 85px}.hero-intro h1{font-size:47px}.hero-intro>p{font-size:15px}.notes-section,.projects-section,.about-section{padding:75px 0}.minimal-section-head{align-items:flex-start}.notes-tools{align-items:flex-start;gap:16px}.minimal-search{width:110px}.note-row{grid-template-columns:1fr;gap:12px;padding:28px 14px}.note-date{grid-column:1/-1}.note-copy h3{font-size:21px}.project-tools{align-items:flex-start}.projects-grid{grid-template-columns:1fr}.project-media-frame,.project-placeholder{height:230px}.video-upload-optimization{grid-template-columns:1fr;margin-inline:18px}.project-form .video-upload-optimization{margin-inline:0}.video-upload-optimization>small{grid-column:1}.project-frame-picker{grid-template-columns:1fr;padding:12px}.site-decoration-image{top:var(--decoration-top-mobile,var(--decoration-top-desktop,0))}.about-section>div{grid-template-columns:1fr;gap:35px}.footer-inner{grid-template-columns:1fr;align-content:center;gap:12px;min-height:170px}.footer-inner>span:nth-child(2){text-align:left}.footer-inner>div{justify-content:flex-start}.footer-inner>.footer-filings{flex-wrap:wrap;grid-column:1;justify-content:flex-start}.article-hero{margin:65px auto 50px}.article-hero h1{font-size:clamp(34px, 10vw, var(--article-title-size,68px))}.article-layout{padding-top:45px}.login-page{display:block}.login-panel{border:0;padding:60px 28px}.login-aside{display:none}.studio-header{grid-template-columns:1fr auto;padding:0 14px}.studio-header .studio-status,.studio-header-actions>span{display:none}.studio-layout{display:block}.studio-sidebar{z-index:10;border-right:0;border-bottom:1px solid var(--line);gap:5px;padding:8px 11px;display:flex;position:sticky;top:64px;overflow-x:auto}.studio-sidebar>button{white-space:nowrap;width:auto}.draft-heading,.draft-list{display:none}.articles-manager{width:calc(100% - 20px);margin-top:26px}.articles-manager-heading{align-items:flex-start}.articles-manager-heading h1{font-size:34px}.articles-tools{grid-template-columns:1fr;gap:10px}.articles-tools>span,.articles-table-head{display:none}.articles-table-row{grid-template-columns:1fr auto;gap:8px;padding:14px 16px}.articles-table-row>div{grid-column:1/-1;padding:0}.articles-table-row>span:nth-of-type(2),.articles-table-row>span:nth-of-type(3){display:none}.editor-topbar{padding:0 13px}.editor-canvas,.editor-preview,.profile-editor,.project-form,.category-panel,.backup-editor{width:calc(100% - 20px);margin-top:11px}.title-input{padding:28px 20px 14px}.excerpt-input,.rich-text-editor{padding-left:20px;padding-right:20px}.post-settings{grid-template-columns:1fr;padding:14px 20px}.cover-upload,.line-height-setting{grid-column:auto}.cover-position-editor{grid-template-columns:1fr;padding:14px 20px}.cover-position-stage{height:200px}.format-toolbar{padding:7px 13px;overflow-x:auto}.editor-sticky-tools{top:116px}.text-color-label,.toolbar-tip{display:none}.editor-preview{padding:32px 22px}.editor-scroll-actions{bottom:16px;right:12px}.profile-form,.project-form,.account-form{grid-template-columns:1fr;padding:22px}.display-setting-row{grid-template-columns:1fr 78px;gap:10px 14px}.display-setting-row>span:first-child{grid-column:1/-1}.full-field,.avatar-editor,.save-profile,.project-form-heading,.account-form>div{grid-column:auto}.category-panel{padding:22px}.category-add{grid-template-columns:1fr}.category-add button{padding:11px}.category-row{padding:13px 11px}.category-article-row{grid-template-columns:18px minmax(0,1fr) auto;padding-inline:5px}.backup-grid{grid-template-columns:1fr}.backup-card{min-height:230px;padding:22px}.resource-deadline-manager{width:calc(100% - 20px);margin-top:26px}.resource-deadline-heading{flex-direction:column;align-items:flex-start}.resource-deadline-heading h1{font-size:34px}.resource-heading-actions{flex-wrap:wrap;width:100%}.resource-heading-actions button{flex:150px}.resource-management-links{grid-template-columns:1fr 1fr}.resource-management-links a:nth-child(2){border-right:0}.resource-management-links a:nth-child(-n+2){border-bottom:1px solid var(--line)}.resource-summary{grid-template-columns:1fr 1fr}.resource-summary>div:nth-child(2){border-right:0}.resource-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.resource-deadline-card{grid-template-columns:1fr auto;gap:10px;padding:16px}.resource-main{grid-area:2/1/auto/-1}.resource-remaining{grid-area:1/2}.resource-actions{grid-area:3/1/auto/-1;justify-content:flex-end}.diy-editor{width:calc(100% - 20px);margin-top:18px}.diy-heading{flex-direction:column;align-items:flex-start}.diy-heading-actions{flex-wrap:wrap;width:100%}.diy-heading-actions button{flex:150px}.diy-preview-scroll{max-height:62vh}}@media (width<=560px){.pagination-bar{flex-direction:column;align-items:flex-start;gap:14px}.pagination{justify-content:space-between;width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.cloudbase-state{text-align:center;place-content:center;gap:18px;min-height:calc(100vh - 66px);padding:40px;display:grid}.cloudbase-state h1{letter-spacing:-.055em;margin:0;font-size:clamp(30px,6vw,54px)}.cloudbase-state a{border-bottom:1px solid var(--ink);color:var(--blue);justify-self:center;padding-bottom:4px}
