/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-soft:#f6f7f9}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.text-soft{color:var(--color-soft)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#171a1f;-webkit-font-smoothing:antialiased;background:#f6f7f9;margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:100%;max-width:1160px;margin:0 auto;padding:0 18px}.site-header{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border-bottom:1px solid #e8eaed;position:sticky;top:0}.header-inner{gap:22px;height:62px}.header-inner,.logo{align-items:center;display:flex}.logo{flex:none;gap:10px}.logo-mark{letter-spacing:-.5px;background:linear-gradient(135deg,#ffb02e,#ff6a00);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:900;display:flex}.logo-text{flex-direction:column;line-height:1.15;display:flex}.logo-text span{color:#8a919b;font-size:11px}.main-nav{flex:1;align-items:center;gap:4px;display:flex;overflow:hidden}.main-nav a{color:#4b5563;white-space:nowrap;border-radius:999px;padding:7px 12px}.header-side{flex:none;gap:10px}.header-search,.header-side{align-items:center;display:flex}.header-search{background:#f2f3f5;border-radius:999px;padding:4px 6px 4px 12px}.header-search input{background:0 0;border:0;outline:none;width:150px;font-size:13px}.header-search button{cursor:pointer;color:#69707a;background:0 0;border:0;padding:2px 6px;font-size:14px}.btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e8eaed;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:13px;transition:all .15s;display:inline-flex}.btn:hover{border-color:#d5d9df}.btn-primary{background:linear-gradient(135deg,#ffb02e,#ff6a00);border:0}.btn-primary:hover{filter:brightness(1.05)}.btn-danger{color:#d94057}.layout-main{grid-template-columns:minmax(0,1fr) 308px;align-items:start;gap:22px;display:grid}.panel{background:#fff;border-radius:14px;padding:18px 20px;box-shadow:0 1px 2px #1018280a,0 6px 24px #1018280a}.panel+.panel{margin-top:16px}.panel-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.panel-head h2,.panel-head h3{margin:0;font-size:16px;font-weight:700}.panel-head .more{color:#8a919b;font-size:12px}.hero{background:linear-gradient(120deg,#fff,#fff7ef 55%,#ffefdd);border-radius:16px;margin-bottom:18px;padding:26px 28px;box-shadow:0 1px 2px #1018280a,0 8px 28px #ff6a000f}.hero h1{letter-spacing:.3px;margin:0 0 6px;font-size:24px}.hero p{color:#69707a;margin:0;font-size:14px}.hero-stats b{color:#171a1f;margin-right:4px;font-size:16px}.hero-tags{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.chip{color:#b45309;background:#fff;border:1px solid #f0dcc8;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;display:inline-flex}.section-title{justify-content:space-between;align-items:center;margin:4px 0 12px;display:flex}.section-title h2{align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.section-title h2:before{content:"";background:linear-gradient(#ffb02e,#ff6a00);width:4px;height:18px}.post-list{flex-direction:column;gap:12px;display:flex}.post-card{padding:18px 20px;transition:all .18s;display:block;box-shadow:0 1px 2px #1018280a,0 6px 24px #1018280a}.post-card:hover{transform:translateY(-2px);box-shadow:0 4px 10px #1018280f,0 12px 32px #10182812}.post-card-top{gap:16px;display:flex}.post-card-body{flex:1;min-width:0}.post-card h3{margin:0 0 6px;font-size:17px;font-weight:700;line-height:1.45}.post-card h3 a:hover{color:#ff6a00}.post-card .summary{color:#69707a;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.65;display:-webkit-box;overflow:hidden}.post-card .meta{color:#8a919b;flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;font-size:12px;display:flex}.post-card .cover{object-fit:cover;background:#f2f3f5;border-radius:10px;flex:none;width:150px;height:100px}.badge{color:#c2410c;background:#fff3e6;border-radius:6px;align-items:center;padding:1px 7px;font-size:11px;display:inline-flex}.badge-pin{color:#b91c1c;background:#fee2e2}.side-cats{flex-wrap:wrap;gap:8px;display:flex}.side-cats a{color:#4b5563;background:#f6f7f9;border-radius:8px;padding:5px 11px;font-size:13px}.hot-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.hot-list li{gap:10px;font-size:13px;line-height:1.5;display:flex}.hot-list .rank{color:#8a919b;background:#f2f3f5;border-radius:5px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;margin-top:2px;font-size:11px;display:flex}.hot-list li:first-child .rank{color:#fff;background:#ff6a00}.hot-list li:nth-child(2) .rank{color:#fff;background:#ff9f1a}.hot-list li:nth-child(3) .rank{color:#fff;background:#ffc069}.tag-cloud{flex-wrap:wrap;gap:7px;display:flex}.tag-cloud a{color:#69707a;background:#f6f7f9;border-radius:999px;padding:3px 9px;font-size:12px}.breadcrumb{color:#8a919b;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;display:flex}.article{background:#fff;padding:30px 34px 26px;box-shadow:0 1px 2px #1018280a,0 6px 24px #1018280a}.article h1{letter-spacing:.2px;margin:0 0 12px;font-size:27px;line-height:1.4}.article-meta{color:#8a919b;border-bottom:1px solid #eef0f3;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:16px;font-size:12px;display:flex}.article-meta .author{color:#4b5563;font-weight:600}.article-tags{flex-wrap:wrap;gap:6px;margin:22px 0 4px;display:flex}.article-nav{color:#69707a;justify-content:space-between;gap:14px;margin-top:18px;font-size:13px;display:flex}.prose{color:#23272e;word-break:break-word;line-height:1.9}.prose>*+*{margin-top:.9em}.prose h2{border-bottom:1px solid #f0f1f3;margin:1.6em 0 .6em;padding-bottom:6px;font-size:21px;line-height:1.4}.prose h3{margin:1.3em 0 .5em;font-size:18px}.prose h4{margin:1.2em 0 .4em;font-size:16px}.prose a{color:#e55e00;text-decoration:underline}.prose ol,.prose ul{margin:.8em 0;padding-left:1.4em}.prose li{margin:.3em 0}.prose blockquote{color:#5b6167;background:#fff8f2;border-left:3px solid #ff6a00;margin:1em 0;padding:10px 16px}.prose code{background:#f4f5f7;padding:.15em .4em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.prose pre{color:#d6dee7;background:#0f1419;border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.6;overflow-x:auto}.prose pre code{color:inherit;background:0 0;padding:0}.prose img{margin:1em auto;display:block}.prose table{border-collapse:collapse;width:100%;font-size:14px}.prose td,.prose th{text-align:left;border:1px solid #e8eaed;padding:8px 10px}.prose hr{border:0;border-top:1px solid #eef0f3;margin:1.6em 0}.reply-list{flex-direction:column;gap:14px;display:flex}.reply-item{gap:12px;display:flex}.reply-avatar{color:#b45309;background:linear-gradient(135deg,#ffe1c2,#ffc78f);border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.reply-body{flex:1;min-width:0}.reply-head{color:#8a919b;align-items:baseline;gap:10px;font-size:12px;display:flex}.reply-head b{color:#374151;font-size:13px}.reply-content{color:#374151;white-space:pre-wrap;word-break:break-word;margin-top:2px;font-size:14px}.reply-form textarea{width:100%;min-height:90px;font:inherit;resize:vertical;border:1px solid #e8eaed;border-radius:10px;outline:none;padding:10px 12px;font-size:14px}.reply-form textarea:focus{border-color:#ff6a00}.form-field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-field label{color:#4b5563;font-size:13px;font-weight:600}.form-field input,.form-field select,.form-field textarea{font:inherit;background:#fff;border:1px solid #e8eaed;border-radius:9px;outline:none;padding:9px 12px;font-size:14px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#ff6a00}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.error-text{color:#d94057;font-size:13px}.success-text{color:#16a34a;font-size:13px}.pagination{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:20px;display:flex}.pagination a,.pagination span{color:#4b5563;background:#fff;border:1px solid #e8eaed;border-radius:8px;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 10px;font-size:13px;display:inline-flex}.pagination .current{color:#fff;background:#171a1f;border-color:#171a1f}.site-footer{color:#8a919b;border-top:1px solid #e8eaed;margin-top:10px;padding:26px 0;font-size:12px}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:20px;display:flex}.footer-links{flex-wrap:wrap;gap:16px;display:flex}.footer-links a:hover{color:#ff6a00}.empty{text-align:center;color:#8a919b;padding:40px 0;font-size:14px}.admin-layout{grid-template-columns:190px minmax(0,1fr);gap:18px;display:grid}.admin-nav{background:#fff;border-radius:14px;align-self:start;padding:10px;position:sticky;top:80px;box-shadow:0 1px 2px #1018280a}.admin-nav a{color:#4b5563;border-radius:9px;padding:9px 12px;font-size:13px;display:block}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table td,.admin-table th{text-align:left;vertical-align:middle;border-bottom:1px solid #eef0f3;padding:10px 8px}.admin-table th{color:#8a919b;font-size:12px;font-weight:600}.admin-table .actions{justify-content:flex-end;gap:8px;display:flex}.editor-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.editor-grid textarea{min-height:460px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.7}.preview-box{background:#fff;border:1px solid #e8eaed;border-radius:10px;min-height:460px;max-height:640px;padding:14px 16px;overflow:auto}.notice{color:#92400e;background:#fff8e6;border:1px solid #ffe1a6;border-radius:9px;padding:10px 14px;font-size:13px}@media (max-width:900px){.layout-main{grid-template-columns:1fr}.sidebar{order:2}.article{padding:22px 18px}.article h1{font-size:22px}.header-search,.main-nav{display:none}.admin-layout{grid-template-columns:1fr}.admin-nav{flex-wrap:wrap;display:flex;position:static}.editor-grid,.form-row{grid-template-columns:1fr}.post-card .cover{width:110px;height:82px}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #ff8a3d}.skip-link{z-index:999;color:#fff;background:#171a1f;border-radius:8px;padding:8px 14px;position:absolute;top:8px;left:-9999px}.skip-link:focus{left:12px}.reading-progress{z-index:60;background:linear-gradient(90deg,#ffb02e,#ff6a00);width:0;height:3px;transition:width .1s linear;position:fixed;top:0;left:0}.back-top{z-index:45;color:#4b5563;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;opacity:0;pointer-events:none;background:#ffffffeb;border:1px solid #e8eaed;border-radius:50%;width:42px;height:42px;font-size:17px;transition:all .2s;position:fixed;bottom:28px;right:22px;transform:translateY(8px);box-shadow:0 6px 20px #1018281f}.back-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}.share-btn{align-items:center;gap:5px;display:inline-flex}.article-cover{object-fit:cover;background:#f2f3f5;width:100%;max-height:420px;margin:4px 0 20px}.mobile-panel{z-index:45;background:#fff;border-bottom:1px solid #e8eaed;padding:12px 18px 18px;display:none;position:fixed;inset:62px 0 auto;box-shadow:0 16px 40px #1018281f}.mobile-panel.open{display:block}.mobile-panel .mobile-search{gap:8px;margin-bottom:12px;display:flex}.mobile-panel .mobile-search input{font:inherit;border:1px solid #e8eaed;border-radius:9px;flex:1;padding:9px 12px}.mobile-links{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mobile-links a{background:#f6f7f9;border-radius:9px;padding:10px 12px;font-size:13px}.toast-stack{z-index:99;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.toast-item{color:#fff;background:#14191e;border-radius:999px;padding:10px 18px;font-size:13px;animation:toast-in .18s ease-out;box-shadow:0 10px 30px #00000047}.toast-item.err{background:#b3261e}.toast-item.ok{background:#17803d}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.editor-toolbar{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.editor-toolbar button{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #e8eaed;border-radius:7px;min-width:32px;height:30px;padding:0 9px;font-size:12px}.draft-bar{color:#92400e;background:#fff8e6;border:1px solid #ffe1a6;border-radius:9px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:8px 12px;font-size:12px;display:flex}mark{color:inherit;background:#ffe4bf;border-radius:3px;padding:0 2px}.skeleton-page{padding:26px 0}.skeleton{background:linear-gradient(90deg,#eef0f3 25%,#f6f7f9 37%,#eef0f3 63%) 0 0/400% 100%;border-radius:10px;animation:shimmer 1.2s infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.skeleton-line{height:14px;margin:10px 0}.skeleton-card{height:118px;margin-bottom:12px}.post-card .cover{aspect-ratio:3/2;height:auto}html.dark{color-scheme:dark}html.dark body{color:#e7e9ee;background:#0e1116}html.dark .logo-text span{color:#8b93a1}html.dark .header-search input{color:#e7e9ee}html.dark .header-search input::placeholder{color:#7d8695}html.dark .btn:hover{border-color:#3a4150}html.dark .btn-primary{background:linear-gradient(135deg,#ffb02e,#ff6a00);border:0}html.dark .hero{background:linear-gradient(120deg,#171b22,#1d1a17 55%,#2a1d12)}html.dark .hero p,html.dark .hero-stats{color:#9aa3b2}html.dark .chip{color:#ffab5e;background:#1c212a;border-color:#3a2c20}html.dark .article,html.dark .mobile-panel,html.dark .panel,html.dark .post-card{background:#151920;box-shadow:0 1px 2px #0000004d,0 8px 28px #00000038}html.dark .panel-head h2,html.dark .panel-head h3,html.dark .section-title h2{color:#eef1f5}html.dark .post-card h3 a:hover{color:#ffab5e}html.dark .hint,html.dark .post-card .summary,html.dark .spider-meta{color:#9aa3b2}html.dark .article-meta,html.dark .breadcrumb,html.dark .post-card .meta{color:#8b93a1}html.dark .article-meta .author,html.dark .kv b,html.dark .reply-head b{color:#d7dce4}html.dark .badge{color:#ffab5e;background:#2a2118}html.dark .badge-pin{color:#ff8f8f;background:#331d1d}html.dark .mobile-links a,html.dark .side-cats a,html.dark .tag-cloud a{color:#aab2bf;background:#1c212a}html.dark .hot-list .rank{color:#8b93a1;background:#232833}html.dark .article-meta,html.dark .prose h2{border-bottom-color:#232833}html.dark .prose a{color:#ffab5e}html.dark .prose code{color:#e7e9ee;background:#232833}html.dark .prose hr{border-top-color:#232833}html.dark .reply-avatar{color:#ffab5e;background:linear-gradient(135deg,#3a2a18,#4a3218)}html.dark .reply-content{color:#c9d0da}html.dark .form-field input,html.dark .form-field select,html.dark .form-field textarea,html.dark .json-area,html.dark .mobile-panel .mobile-search input,html.dark .reply-form textarea,html.dark .rule-head input,html.dark .rule-row input,html.dark .rule-row select{color:#e7e9ee;background:#12161c;border-color:#2a303b}html.dark .check-row,html.dark .form-field label{color:#aab2bf}html.dark .pagination a,html.dark .pagination span{color:#aab2bf;background:#151920;border-color:#2a303b}html.dark .pagination .current{color:#111;background:#e7e9ee;border-color:#e7e9ee}html.dark .site-footer{color:#7d8695;background:#11141a;border-top-color:#232833}html.dark .admin-nav{background:#151920}html.dark .admin-nav a{color:#aab2bf}html.dark .admin-table td,html.dark .admin-table th{border-bottom-color:#232833}html.dark .admin-table th{color:#8b93a1}html.dark .preview-box,html.dark .result-content{background:#12161c;border-color:#2a303b}html.dark .result-content{color:#b9c0cb}html.dark .modal{background:#151920}html.dark .modal-head{border-bottom-color:#232833}html.dark .editor-toolbar button{color:#aab2bf;background:#181c23;border-color:#2a303b}html.dark .draft-bar{color:#f0c671;background:#2a2415;border-color:#4a3a1a}html.dark .skeleton{background:linear-gradient(90deg,#1a1f27 25%,#232833 37%,#1a1f27 63%) 0 0/400% 100%}html.dark .back-top{color:#aab2bf;background:#151920eb;border-color:#2a303b}html.dark .empty,html.dark .hint.small,html.dark .qr-tip{color:#8b93a1}@media (max-width:900px){.menu-btn{display:inline-flex}}.stat-num{color:#171a1f}html.dark .stat-num{color:#fff}.inline-input{font:inherit;color:inherit;background:#fff;border:1px solid #e8eaed;border-radius:9px;outline:none;flex:1;padding:9px 12px}.inline-input:focus{border-color:#ff6a00}html.dark .inline-input{background:#12161c;border-color:#2a303b}.text-soft{color:#4b5563}html.dark .text-soft{color:#aab2bf}body{background:#f5f3ef}.home-hero{background:linear-gradient(135deg,#fffaf3,#fff1df 55%,#ffe3c4);border-radius:26px;grid-template-columns:1.05fr .95fr;align-items:center;gap:30px;margin-bottom:26px;padding:40px 44px;display:grid;overflow:hidden;box-shadow:0 2px 4px #7848140a,0 18px 44px #ff7a0014}.hero-eyebrow{letter-spacing:2px;color:#b45309;background:#ffffffb3;border:1px solid #ffddb8;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;display:inline-flex}.hero-copy h1{letter-spacing:.5px;margin:16px 0 12px;font-size:38px;font-weight:800;line-height:1.32}.hero-copy h1 em{color:#0000;background:linear-gradient(100deg,#ff5c1a,#f97316 60%,#d97706);-webkit-background-clip:text;background-clip:text;font-style:normal}.hero-copy p{color:#6b6257;margin:0 0 20px;font-size:15px}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.hero-actions .btn{padding:10px 18px;font-size:14px}.hero-stats{color:#7c7062;gap:28px;margin-top:24px;font-size:13px;display:flex}.hero-stats b{color:#2b2118;font-size:20px;line-height:1.2;display:block}.hero-art img{border-radius:18px;width:100%;height:auto;display:block}.featured-section{margin-bottom:26px}.featured-card{background:#fff;border-radius:22px;grid-template-columns:1.12fr 1fr;transition:transform .2s,box-shadow .2s;display:grid;overflow:hidden;box-shadow:0 2px 4px #1018280a,0 16px 40px #10182812}.featured-card:hover{transform:translateY(-3px);box-shadow:0 6px 12px #1018280f,0 24px 56px #1018281a}.featured-cover{background:#f3f4f6;min-height:300px;position:relative}.featured-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.featured-badge{color:#fff;background:linear-gradient(135deg,#ffb02e,#ff5c1a);border-radius:999px;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;top:18px;left:18px;box-shadow:0 6px 16px #ff5c1a59}.featured-body{flex-direction:column;justify-content:center;padding:30px 32px;display:flex}.featured-cat{color:#b45309;letter-spacing:1px;align-items:center;gap:6px;font-size:12px;display:flex}.featured-body h2{margin:10px 0 12px;font-size:24px;font-weight:800;line-height:1.42}.featured-body h2 a:hover{color:#ff5c1a}.featured-body p{color:#69707a;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 18px;font-size:14px;line-height:1.75;display:-webkit-box;overflow:hidden}.featured-meta{color:#8a919b;flex-wrap:wrap;align-items:center;gap:18px;font-size:12px;display:flex}.featured-meta>span{align-items:center;gap:4px;display:inline-flex}.featured-more{color:#ff5c1a;margin-left:auto;font-weight:600}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.post-card{background:#fff;border-radius:18px;flex-direction:column;padding:0;display:flex;overflow:hidden;box-shadow:0 1px 2px #1018280a,0 10px 28px #1018280d}.post-cover{aspect-ratio:16/9.6;background:#f1f2f4;position:relative;overflow:hidden}.post-cover img{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.post-card:hover .post-cover img{transform:scale(1.035)}.post-cat{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#11182794;left:12px}.post-cat,.post-pin{color:#fff;border-radius:999px;padding:3px 10px;font-size:11px;position:absolute;top:12px}.post-pin{background:linear-gradient(135deg,#ffb02e,#ff5c1a);font-weight:600;right:12px}.post-body{flex-direction:column;flex:1;padding:16px 18px 18px;display:flex}.post-body h3{margin:0 0 8px;font-weight:700;line-height:1.5}.post-body .summary{color:#69707a;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.65;display:-webkit-box;overflow:hidden}.post-body .meta{gap:14px;margin-top:auto;padding-top:12px}.post-body .meta span{align-items:center;gap:4px;display:inline-flex}.meta-author{color:#4b5563;font-weight:600}.about-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.about-head b{font-size:15px;display:block}.about-head span:not(.logo-mark){color:#8a919b;font-size:11px}.about-card p{color:#69707a;margin:0;font-size:13px;line-height:1.7}.about-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.about-stats div{text-align:center;border:1px solid #f1e4d3;border-radius:10px;padding:8px 4px}.about-stats b{color:#2b2118;font-size:17px;display:block}.about-stats span{color:#8a919b;font-size:11px}.panel-head h3,.side-cats a{align-items:center;gap:6px;display:inline-flex}.cat-banner{background:#f3f4f6;border-radius:22px;height:210px;margin-bottom:22px;position:relative;overflow:hidden;box-shadow:0 2px 4px #1018280a,0 16px 40px #1018280f}.cat-banner img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cat-banner:after{content:"";background:linear-gradient(90deg,#1118279e,#11182742 55%,#0000);position:absolute;inset:0}.cat-banner-body{z-index:1;color:#fff;flex-direction:column;justify-content:center;height:100%;padding:0 34px;display:flex;position:relative}.cat-banner-body .eyebrow{letter-spacing:3px;opacity:.8;font-size:12px}.cat-banner-body h1{margin:6px 0 8px;font-size:30px}.cat-banner-body p{opacity:.88;max-width:560px;margin:0;font-size:14px}.article-banner{background:#f3f4f6;border-radius:14px;height:220px;margin:4px 0 22px;position:relative;overflow:hidden}.article-banner img{object-fit:cover;width:100%;height:100%}.article-banner span{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1118278c;border-radius:999px;padding:4px 12px;font-size:12px;position:absolute;bottom:14px;left:16px}.avatar-badge{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:28px;display:grid}.footer-brand{align-items:flex-start;gap:12px;display:flex}.footer-brand b{color:#374151;font-size:15px}.footer-brand p{color:#8a919b;max-width:340px;margin:6px 0 0;font-size:12px;line-height:1.7}.footer-col h4{color:#4b5563;margin:0 0 10px;font-size:13px}.footer-col a{color:#8a919b;padding:3px 0;font-size:12px;display:block}.footer-bottom{color:#9aa3ad;border-top:1px solid #efece6;flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:12px;margin-top:8px;padding-top:14px;font-size:12px;display:flex}html.dark .home-hero{background:linear-gradient(135deg,#171a20,#221a12 60%,#2c1d10);box-shadow:0 18px 44px #00000059}html.dark .hero-eyebrow{color:#ffab5e;background:#ffffff0f;border-color:#4a361f}html.dark .hero-copy p,html.dark .hero-stats{color:#a8b0bb}html.dark .hero-stats b{color:#fff}html.dark .featured-card,html.dark .post-card{background:#151920}html.dark .featured-body p,html.dark .post-body .summary{color:#9aa3b2}html.dark .featured-meta,html.dark .post-body .meta{color:#8b93a1}html.dark .cat-banner:after{background:linear-gradient(90deg,#000000b8,#00000059 60%,#0000)}html.dark .footer-bottom{border-top-color:#232833}html.dark .footer-brand b,html.dark .footer-col h4{color:#c9d0da}@media (max-width:1000px){.featured-card,.post-grid{grid-template-columns:1fr}.featured-cover{aspect-ratio:16/9;min-height:220px;position:relative}.featured-cover img{height:auto;position:static}}@media (max-width:900px){.home-hero{grid-template-columns:1fr;gap:18px;padding:26px 22px}.hero-copy h1{font-size:27px}.hero-art{order:-1}.hero-art img{object-fit:contain;max-height:220px}.cat-banner{height:170px}.cat-banner-body{padding:0 20px}.cat-banner-body h1{font-size:23px}.footer-grid{grid-template-columns:1fr;gap:18px}}.post-grid>.empty{grid-column:1/-1}.feed-tabs{border-bottom:1px solid #e9e4dc;gap:6px;margin:0 0 16px;padding-bottom:2px;display:flex}.feed-tabs a{color:#6b6257;border-radius:9px 9px 0 0;padding:8px 16px;font-size:14px;position:relative}.feed-tabs a.active{color:#c2410c;font-weight:700}.feed-tabs a.active:after{content:"";background:linear-gradient(90deg,#ffb02e,#ff5c1a);border-radius:3px;height:3px;position:absolute;bottom:-3px;left:14px;right:14px}.feed-tabs.small{margin-bottom:14px}.featured-mosaic{grid-template-rows:1fr 1fr;grid-template-columns:1.65fr 1fr;gap:14px;height:420px;margin-bottom:24px;display:grid}.mosaic-card{background:#eee9e2;border-radius:18px;display:block;position:relative;overflow:hidden}.mosaic-card.main{grid-row:span 2}.mosaic-card img{object-fit:cover;width:100%;height:100%;transition:transform .45s;position:absolute;inset:0}.mosaic-card:hover img{transform:scale(1.035)}.mosaic-overlay{color:#fff;background:linear-gradient(#0000 32%,#0c0a08bd);flex-direction:column;justify-content:flex-end;inset:0}.mosaic-overlay,.mosaic-top{display:flex;position:absolute}.mosaic-top{gap:6px;top:14px;left:14px;right:14px}.mosaic-cat{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fff3}.mosaic-cat,.mosaic-pin{border-radius:999px;padding:3px 10px;font-size:11px}.mosaic-pin{background:linear-gradient(135deg,#ffb02e,#ff5c1a);font-weight:600}.mosaic-overlay h3{margin:0 0 8px;font-size:21px;font-weight:800;line-height:1.42}.mosaic-card:not(.main) .mosaic-overlay h3{margin-bottom:5px;font-size:15px}.mosaic-meta{opacity:.85;gap:12px;font-size:11.5px;display:flex}.featured-mosaic.single{grid-template-rows:auto;grid-template-columns:1fr;height:380px}.featured-mosaic.single .mosaic-card.main{grid-row:auto}.hot-topics{padding:4px 8px}.topic-row{border-bottom:1px solid #f1eeea;border-radius:10px;align-items:center;gap:12px;padding:11px 10px;display:flex}.topic-row:last-child{border-bottom:0}.topic-rank{color:#8a8278;background:#f3f1ed;border-radius:6px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex}.topic-rank.top{background:linear-gradient(135deg,#ffb02e,#ff5c1a)}.topic-main{flex:1;min-width:0}.topic-title{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.topic-meta{color:#9a938a;flex-wrap:wrap;gap:10px;margin-top:3px;font-size:11.5px;display:flex}.topic-cat{color:#b45309;background:#fff3e6;border-radius:6px;padding:1px 7px}.topic-stats{color:#9a938a;flex:none;gap:14px;font-size:12px;display:flex}.topic-stats span{align-items:center;gap:4px;display:inline-flex}.reply-mini-list{flex-direction:column;gap:2px;display:flex}.reply-mini{border-radius:10px;padding:9px 10px;display:block}.reply-mini:hover{background:#fffaf3}.reply-mini-head{color:#9a938a;justify-content:space-between;gap:8px;font-size:12px;display:flex}.reply-mini-head b{color:#4b5563;font-size:12.5px}.reply-mini p{color:#5b534a;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 3px;font-size:12.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.reply-mini-thread{color:#b0a99f;font-size:11px}.author-card{background:#fff;border-radius:14px;align-items:center;gap:14px;margin-top:16px;padding:18px 20px;display:flex;box-shadow:0 1px 2px #1018280a,0 6px 24px #1018280a}.author-info{flex:1;min-width:0}.author-info b{font-size:15px}.author-info span{color:#9a938a;margin-left:8px;font-size:11px}.author-info p{color:#7c7062;margin:5px 0 0;font-size:12.5px}.post-new{color:#fff;letter-spacing:.5px;background:#16a34af0;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;position:absolute;bottom:12px;right:12px}html.dark .mosaic-card{background:#1a1f27}html.dark .mosaic-overlay{background:linear-gradient(#0000 32%,#000c)}html.dark .reply-mini:hover{background:#1a1f27}html.dark .reply-mini-head b{color:#d7dce4}html.dark .reply-mini p{color:#b9c0cb}html.dark .reply-mini-thread{color:#8b93a1}html.dark .author-card{background:#151920}html.dark .author-info p{color:#9aa3b2}@media (max-width:900px){.featured-mosaic{grid-template-rows:auto;grid-template-columns:1fr;height:auto}.mosaic-card.main{aspect-ratio:16/10;grid-row:auto}.mosaic-card:not(.main){aspect-ratio:16/7}.mosaic-overlay h3{font-size:18px}.mosaic-card:not(.main) .mosaic-overlay h3{font-size:14px}.featured-mosaic.single{height:auto}.featured-mosaic.single .mosaic-card.main{aspect-ratio:16/9}.topic-stats span:nth-child(2){display:none}.author-card{flex-wrap:wrap}.author-card .btn{justify-content:center;width:100%}}.category-grid{grid-template-columns:repeat(4,1fr);display:grid}.category-card{aspect-ratio:16/8.5;background:#eee9e2;border-radius:16px;display:block;overflow:hidden;box-shadow:0 1px 2px #1018280a,0 8px 24px #1018280d}.category-card img{object-fit:cover;width:100%;height:100%;transition:transform .4s;position:absolute;inset:0}.category-card:hover img{transform:scale(1.04)}.category-overlay{color:#fff;background:linear-gradient(#0000 35%,#0c0a08b8);flex-direction:column;justify-content:flex-end;padding:14px 16px;display:flex;position:absolute;inset:0}.category-overlay b{font-size:16px;font-weight:700}.category-overlay span{opacity:.82;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11.5px;overflow:hidden}@media (max-width:1000px){.category-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.category-grid{grid-template-columns:1fr}}.home-hero.tech-hero{color:#fff;background:#0b1220 url(/images/gen/hero.jpg) 50%/cover no-repeat;min-height:360px;padding:46px 48px;position:relative}.home-hero.tech-hero:before{content:"";background:linear-gradient(90deg,#060b16f0,#060b16c7 42%,#060b1638);position:absolute;inset:0}.home-hero.tech-hero .hero-copy{z-index:1;max-width:620px;position:relative}.home-hero.tech-hero .hero-eyebrow{color:#bfdbfe;background:#ffffff14;border-color:#93c5fd59}.home-hero.tech-hero .hero-copy h1{color:#fff}.home-hero.tech-hero .hero-copy h1 em{color:#0000;background:linear-gradient(100deg,#93c5fd,#38bdf8 55%,#22d3ee);-webkit-background-clip:text;background-clip:text}.home-hero.tech-hero .hero-copy p{color:#cbd5e1}.home-hero.tech-hero .hero-stats{color:#94a3b8}.home-hero.tech-hero .hero-stats b{color:#fff}.hero-ghost{color:#e2e8f0;background:#ffffff14;border-color:#ffffff38}.hero-ghost:hover{background:#ffffff24;border-color:#ffffff59}.logo-mark{background:linear-gradient(135deg,#3b82f6,#06b6d4)}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb)}.section-title h2:before{background:linear-gradient(#60a5fa,#2563eb)}.feed-tabs a.active:after{background:linear-gradient(90deg,#60a5fa,#2563eb)}.chip,.feed-tabs a:hover{color:#1d4ed8}.badge,.side-cats a:hover,.tag-cloud a:hover{color:#1d4ed8;background:#eff6ff}.featured-badge,.mosaic-pin,.post-pin,.topic-rank.top{background:linear-gradient(135deg,#3b82f6,#2563eb)}mark{background:#dbeafe}html.dark mark{color:#dbeafe;background:#1e3a8a}.author-card .btn:hover,.pagination a:hover{border-color:#93c5fd}.post-card h3 a:hover,.post-card:hover h3{color:#1d4ed8}html.dark .post-card h3 a:hover,html.dark .post-card:hover h3{color:#93c5fd}.prose pre.hljs{color:#e6edf3;background:#0b1220;border-radius:12px;padding:16px 18px;font-size:13.5px;line-height:1.68;overflow-x:auto}.hljs-comment,.hljs-quote{color:#8b949e;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-literal,.hljs-selector-tag{color:#ff7b72}.hljs-attr,.hljs-regexp,.hljs-string,.hljs-template-tag{color:#a5d6ff}.hljs-bullet,.hljs-number,.hljs-symbol{color:#79c0ff}.hljs-name,.hljs-section,.hljs-title,.hljs-title.function_{color:#d2a8ff}.hljs-attribute,.hljs-built_in,.hljs-class .hljs-title,.hljs-template-variable,.hljs-type,.hljs-variable{color:#ffa657}.hljs-meta,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}:root{--brand-blue:#2563eb;--brand-blue-dark:#1d4ed8;--ink-900:#0f172a;--ink-700:#334155;--ink-500:#64748b;--ink-400:#94a3b8;--line-soft:#e6eaf0;--page-bg:#f7f8fa}body{background:var(--page-bg);color:var(--ink-900)}.container{max-width:1180px;padding:0 20px}.site-header{border-bottom-color:var(--line-soft);background:#ffffffe0}.header-inner{gap:18px;height:64px}.logo-mark{background:var(--brand-blue);color:#fff;letter-spacing:-1px;border-radius:9px;width:34px;height:34px;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Consolas,monospace;font-size:12px;font-weight:700;box-shadow:0 4px 12px #2563eb42}.logo-text b{letter-spacing:.4px;font-size:16px}.logo-text span{letter-spacing:.9px;color:#94a3b8;font-size:10px}.main-nav a{color:#475569;border-radius:8px;padding:7px 11px;font-size:14px}.main-nav a:hover{color:var(--brand-blue-dark);background:#eff6ff}.header-side{gap:8px}.header-auth{align-items:center;gap:8px;display:flex}.header-search{background:#f2f4f7;border:1px solid #0000;transition:all .15s}.header-search:focus-within{background:#fff;border-color:#bfdbfe;box-shadow:0 0 0 3px #2563eb14}.header-search button{color:#64748b;align-items:center;display:inline-flex}.btn{border-color:var(--line-soft);border-radius:8px}.btn-primary{background:var(--brand-blue);color:#fff;font-weight:600}.btn-primary:hover{background:var(--brand-blue-dark);filter:none}.menu-btn,.theme-btn{justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.page{padding:24px 0 60px}.home-hero.tech-hero{min-height:0;color:var(--ink-900);background:radial-gradient(circle at 1px 1px,#2563eb21 1px,#0000 0) 0 0/22px 22px,linear-gradient(135deg,#f9fbff,#eff4ff 55%,#e9f0ff);border:1px solid #e2e8f2;border-radius:20px;margin-bottom:24px;padding:44px 46px;display:block;overflow:hidden;box-shadow:0 1px 2px #0f172a08,0 18px 42px #2563eb0f}.home-hero.tech-hero:before{display:none}.hero-main{z-index:1;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:center;gap:46px;display:grid;position:relative}.home-hero.tech-hero .hero-copy{max-width:none}.home-hero.tech-hero .hero-eyebrow{color:var(--brand-blue-dark);letter-spacing:.6px;background:#ffffffd1;border:1px solid #d7e3fb;border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:11.5px;display:inline-flex}.live-dot{background:#22c55e;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #22c55e29}.home-hero.tech-hero .hero-copy h1{letter-spacing:-1.2px;color:#0b1220;margin:18px 0 14px;font-size:clamp(32px,3.4vw,46px);font-weight:800;line-height:1.24}.home-hero.tech-hero .hero-copy h1 em{color:var(--brand-blue-dark);background:linear-gradient(#0000 64%,#2563eb2b 0);-webkit-background-clip:border-box;background-clip:border-box;font-style:normal;display:inline}.home-hero.tech-hero .hero-copy p{color:#475569;margin:0 0 22px;font-size:15px;line-height:1.85}.hero-search{background:#fff;border:1px solid #dbe3f0;border-radius:10px;align-items:center;gap:10px;max-width:470px;padding:5px 6px 5px 14px;transition:all .15s;display:flex;box-shadow:0 2px 10px #0f172a0a}.hero-search:focus-within{border-color:#93b4f8;box-shadow:0 0 0 4px #2563eb14}.hero-search>svg{color:#94a3b8}.hero-search input{color:#0f172a;min-width:0;font:inherit;background:0 0;border:0;outline:none;flex:1;padding:8px 0;font-size:13.5px}.hero-search input::placeholder{color:#94a3b8}.hero-search button{color:#fff;cursor:pointer;background:#0f172a;border:0;border-radius:7px;flex:none;padding:9px 18px;font-size:12.5px;font-weight:600;transition:all .15s}.hero-search button:hover{background:var(--brand-blue)}.home-hero.tech-hero .hero-stats{color:var(--ink-500);gap:0;margin-top:22px;font-size:12.5px;display:flex}.home-hero.tech-hero .hero-stats span{border-left:1px solid #dbe3f0;padding:0 18px}.home-hero.tech-hero .hero-stats span:first-child{border-left:0;padding-left:0}.home-hero.tech-hero .hero-stats b{color:#0f172a;margin-right:4px;font-size:18px;line-height:1;display:inline}.hero-term{background:radial-gradient(520px 200px at 88% -12%,#2563eb57,#0000 62%),#0b1220;border:1px solid #1e293b;border-radius:14px;position:relative;overflow:hidden;box-shadow:0 28px 60px #0f172a3d,0 2px 6px #0f172a2e}.term-bar{color:#7d8da8;border-bottom:1px solid #94a3b824;align-items:center;gap:6px;padding:11px 14px;font:11px/1 ui-monospace,SFMono-Regular,JetBrains Mono,Consolas,monospace;display:flex}.term-bar i{background:#2b3a52;border-radius:50%;width:8px;height:8px}.term-bar span{letter-spacing:.2px;margin-left:8px}.hero-term pre{color:#cbd5e1;white-space:pre;margin:0;padding:18px 20px 20px;font:12.5px/1.95 ui-monospace,SFMono-Regular,JetBrains Mono,Consolas,monospace;overflow-x:auto}.hero-term .t-dim{color:#7d8da8}.hero-term .t-ok{color:#4ade80}.hero-term .t-key{color:#93c5fd}.hero-term .t-num{color:#fbbf24}.hero-term .t-str{color:#67e8f9}.term-foot{color:#94a3b8;border-top:1px solid #94a3b824;align-items:center;gap:7px;padding:10px 16px;font-size:11px;display:flex}.term-pulse{background:#4ade80;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #4ade8024}.term-time{color:#64748b;margin-left:auto;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.feed-tabs{border-bottom-color:#e7ebf1;gap:2px;margin-bottom:18px}.feed-tabs a{color:var(--ink-500);border-radius:8px 8px 0 0;padding:8px 14px;font-size:13.5px}.feed-tabs a:hover{background:#eff6ff}.feed-tabs a.active,.feed-tabs a:hover{color:var(--brand-blue-dark)}.feed-tabs a.active:after{background:var(--brand-blue);height:2px;bottom:-1px;left:13px;right:13px}.featured-mosaic{gap:12px;height:400px;margin-bottom:30px}.mosaic-card{background:#e8edf5;border-radius:14px;box-shadow:0 1px 2px #0f172a0a,0 12px 30px #0f172a0f}.mosaic-overlay{background:linear-gradient(#02061700 10%,#02061742 42%,#020617e6);padding:18px 20px}.mosaic-overlay h3{letter-spacing:-.2px;text-shadow:0 2px 14px #00000052;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 7px;font-size:20px;line-height:1.45;display:-webkit-box;overflow:hidden}.mosaic-card:not(.main) .mosaic-overlay h3{margin-bottom:4px;font-size:15.5px;line-height:1.5}.mosaic-cat{background:#ffffff24;border:1px solid #ffffff38}.mosaic-pin{background:var(--brand-blue)}.mosaic-meta{color:#ffffffd1}.category-section{margin-bottom:30px}.category-grid{gap:14px}.category-card{aspect-ratio:auto;border:1px solid var(--line-soft);background:#fff;border-radius:14px;flex-direction:column;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 1px 2px #0f172a08}.category-card:hover{border-color:#bfdbfe;transform:translateY(-3px);box-shadow:0 14px 30px #2563eb17}.category-thumb{aspect-ratio:16/8.6;background:#eef2f7;overflow:hidden}.category-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block;position:static}.category-card:hover .category-thumb img{transform:scale(1.04)}.category-body{padding:12px 14px 14px}.category-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.category-head b{color:var(--ink-900);font-size:15px}.category-head svg{color:var(--ink-400);transition:all .2s}.category-card:hover .category-head svg{color:var(--brand-blue);transform:translate(2px)}.category-body>span{color:var(--ink-500);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.section-title{margin:2px 0 14px}.section-title h2{letter-spacing:.2px;color:var(--ink-900);font-size:18px}.section-title h2:before{background:var(--brand-blue);border-radius:2px;width:3px;height:16px}.hint{color:var(--ink-400);font-size:12px}.post-grid{gap:18px}.post-card{border:1px solid var(--line-soft);border-radius:14px;transition:transform .2s,border-color .2s,box-shadow .2s;box-shadow:0 1px 2px #0f172a08}.post-card:hover{border-color:#bfdbfe;transform:translateY(-3px);box-shadow:0 16px 34px #0f172a14}.post-cover{aspect-ratio:16/9}.post-cat{background:#0f172a8c;border:1px solid #ffffff29}.post-new{background:var(--brand-blue)}.post-body{padding:16px 18px 17px}.post-body h3{letter-spacing:-.1px;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:16.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.post-body .summary{color:var(--ink-500);font-size:13px;line-height:1.68}.post-body .meta{color:var(--ink-400);border-top:1px solid #f1f4f8;gap:12px;margin-top:14px;padding-top:13px}.meta-author{color:#475569}.sidebar .panel{padding:16px 18px}.panel{border:1px solid var(--line-soft);border-radius:12px;box-shadow:0 1px 2px #0f172a08}.panel-head h2,.panel-head h3{color:var(--ink-900)}.about-card{background:linear-gradient(160deg,#fff,#f4f7ff)}.about-head b{color:var(--ink-900)}.about-head span:not(.logo-mark){color:var(--ink-400);letter-spacing:.4px;font-size:10.5px}.about-card p{color:var(--ink-500)}.about-stats div{background:#fff;border:1px solid #e6ebf3;border-radius:9px}.about-stats b{color:var(--ink-900)}.about-stats span{color:var(--ink-400)}.subscribe-card{background:linear-gradient(135deg,#eff6ff,#f8fbff);border-color:#dbeafe;justify-content:space-between;align-items:center;gap:12px;display:flex}.subscribe-copy b{color:var(--ink-900);font-size:14px;display:block}.subscribe-copy span{color:var(--ink-500);margin-top:2px;font-size:11.5px;line-height:1.5;display:block}.subscribe-card .btn{flex:none;padding:6px 12px;font-size:12px}.side-cats a{color:#475569;background:#f4f6f9}.side-cats a:hover{color:var(--brand-blue-dark);background:#eff6ff}.tag-cloud a{color:var(--ink-500);background:#f4f6f9}.tag-cloud a:hover{color:var(--brand-blue-dark);background:#eff6ff}.hot-topics{border:1px solid var(--line-soft);border-radius:12px}.topic-row{border-bottom-color:#f1f4f8;border-radius:8px}.topic-row:hover{background:#f8faff}.topic-rank{color:var(--ink-500);background:#f1f5f9}.topic-rank.top{background:var(--brand-blue);color:#fff}.topic-cat{color:var(--brand-blue-dark);background:#eff6ff}.topic-stats{color:var(--ink-400)}.topic-new{background:#eff6ff;border-radius:5px;padding:1px 7px;font-size:11px}.breadcrumb a:hover,.topic-new{color:var(--brand-blue-dark)}.article{border:1px solid var(--line-soft);border-radius:14px;padding:32px 36px 28px;box-shadow:0 1px 2px #0f172a08}.article h1{letter-spacing:-.4px;color:var(--ink-900);font-size:30px;font-weight:800;line-height:1.42}.article-meta{color:var(--ink-400);border-bottom-color:#eef2f7;gap:12px}.article-meta .author{color:#334155}.article-cover{max-height:380px;margin:2px 0 24px}.article-banner,.article-cover{border-radius:12px}.article-tags{margin:24px 0 4px}.chip{color:var(--brand-blue-dark);background:#f8fbff;border-color:#dbeafe}.article-nav{border-top:1px solid #eef2f7;padding-top:18px}.article-nav a:hover{color:var(--brand-blue-dark)}.toc-panel{position:sticky;top:84px}.toc-panel .hot-list a{color:var(--ink-500);padding:3px 0;font-size:13px;line-height:1.6;display:block}.toc-panel .hot-list a:hover{color:var(--brand-blue-dark)}.author-card{border:1px solid var(--line-soft);border-radius:12px;box-shadow:0 1px 2px #0f172a08}.author-info p{color:var(--ink-500)}.prose{color:#26303f;font-size:16px;line-height:1.92}.prose p{margin:0 0 1.05em}.prose h2{letter-spacing:-.2px;border-bottom:1px solid #eef2f7;margin:1.8em 0 .7em;padding-bottom:8px;font-size:22px}.prose h2,.prose h3{color:var(--ink-900)}.prose h3{margin:1.5em 0 .6em;font-size:18.5px}.prose h4{color:var(--ink-900)}.prose a{color:var(--brand-blue-dark);text-underline-offset:3px;-webkit-text-decoration:underline #bfdbfe;text-decoration:underline #bfdbfe}.prose a:hover{-webkit-text-decoration-color:var(--brand-blue);text-decoration-color:var(--brand-blue)}.prose code{color:#0f172a;background:#f1f4f9;border:1px solid #e6ebf3;border-radius:5px;padding:2px 6px;font-size:.9em}.prose pre.hljs{border:1px solid #1e293b;border-radius:10px}.prose blockquote{border-left:3px solid var(--brand-blue);color:#475569;background:#f5f8ff;border-radius:0 8px 8px 0}.prose img{border-radius:10px}.prose th{background:#f6f8fb}.prose td,.prose th{border-color:#e8edf4}.site-footer{border-top:1px solid var(--line-soft);background:#fff;padding:32px 0}.footer-col a:hover{color:var(--brand-blue-dark)}.footer-bottom{border-top-color:#eef2f7}.menu-btn{display:none}.mobile-backdrop{z-index:44;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a52;position:fixed;inset:64px 0 0}.mobile-panel{z-index:46;inset:64px 0 auto}.mobile-links a{color:#374151;background:#f4f6f9}.mobile-panel .mobile-search input{background:#fff}html.dark .home-hero.tech-hero{background:radial-gradient(circle at 1px 1px,#60a5fa26 1px,#0000 0) 0 0/22px 22px,linear-gradient(135deg,#111827,#0f172a 60%,#101a2e);border-color:#1e293b;box-shadow:0 18px 44px #0000004d}html.dark .home-hero.tech-hero .hero-copy h1{color:#f8fafc}html.dark .home-hero.tech-hero .hero-copy h1 em{color:#93c5fd;background:linear-gradient(#0000 64%,#3b82f63d 0)}html.dark .home-hero.tech-hero .hero-copy p{color:#94a3b8}html.dark .home-hero.tech-hero .hero-eyebrow{color:#93c5fd;background:#2563eb21;border-color:#1e3a8a}html.dark .home-hero.tech-hero .hero-stats{color:#94a3b8}html.dark .home-hero.tech-hero .hero-stats span{border-left-color:#243044}html.dark .home-hero.tech-hero .hero-stats b{color:#f1f5f9}html.dark .hero-search{box-shadow:none;background:#0f172a;border-color:#243044}html.dark .hero-search input{color:#e2e8f0}html.dark .hero-search button{background:var(--brand-blue)}html.dark .hero-search button:hover{background:#3b82f6}html.dark body{background:#0b0f16}html.dark .site-header{background:#0b0f16e6;border-bottom-color:#1e2635}html.dark .main-nav a{color:#94a3b8}html.dark .main-nav a:hover{color:#e2e8f0;background:#151c28}html.dark .header-search{background:#131a25}html.dark .btn{color:#cbd5e1;background:#111823;border-color:#263141}html.dark .btn-primary{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}html.dark .article,html.dark .author-card,html.dark .category-card,html.dark .hot-topics,html.dark .mobile-panel,html.dark .panel,html.dark .post-card,html.dark .subscribe-card{background:#0f1520;border-color:#1e2836}html.dark .about-head b,html.dark .article h1,html.dark .category-head b,html.dark .panel-head h2,html.dark .panel-head h3,html.dark .post-body h3,html.dark .section-title h2,html.dark .subscribe-copy b{color:#e2e8f0}html.dark .hint{color:#64748b}html.dark .feed-tabs{border-bottom-color:#1e2836}html.dark .feed-tabs a{color:#94a3b8}html.dark .feed-tabs a:hover{color:#93c5fd;background:#151c28}html.dark .feed-tabs a.active{color:#93c5fd}html.dark .feed-tabs a.active:after{background:#3b82f6}html.dark .about-card p,html.dark .author-info p,html.dark .category-body>span,html.dark .post-body .summary{color:#94a3b8}html.dark .post-body .meta{color:#64748b;border-top-color:#1a2432}html.dark .meta-author{color:#cbd5e1}html.dark .category-card:hover,html.dark .post-card:hover{border-color:#2b4a80}html.dark .about-card{background:linear-gradient(160deg,#0f1520,#111b2e)}html.dark .about-stats div{background:#0b111b;border-color:#1e2836}html.dark .about-stats b{color:#f1f5f9}html.dark .subscribe-card{background:linear-gradient(135deg,#0f1a2e,#0d1524);border-color:#1e3a5f}html.dark .side-cats a,html.dark .tag-cloud a{color:#94a3b8;background:#141b26}html.dark .side-cats a:hover,html.dark .tag-cloud a:hover{color:#93c5fd;background:#17233a}html.dark .topic-row{border-bottom-color:#1a2432}html.dark .topic-row:hover{background:#131a25}html.dark .topic-title{color:#e2e8f0}html.dark .topic-rank{color:#94a3b8;background:#1a2330}html.dark .topic-rank.top{background:var(--brand-blue);color:#fff}html.dark .topic-cat{color:#93c5fd;background:#17233a}html.dark .topic-meta,html.dark .topic-stats{color:#64748b}html.dark .topic-new{color:#93c5fd;background:#17233a}html.dark .article-meta{color:#64748b;border-bottom-color:#1e2836}html.dark .article-meta .author{color:#cbd5e1}html.dark .article-nav{border-top-color:#1e2836}html.dark .prose{color:#cbd5e1}html.dark .prose h2,html.dark .prose h3,html.dark .prose h4{color:#f1f5f9;border-bottom-color:#1e2836}html.dark .prose a{color:#93c5fd;text-decoration-color:#1e3a8a}html.dark .prose code{color:#e2e8f0;background:#151c28;border-color:#263141}html.dark .prose blockquote{color:#94a3b8;background:#111a29;border-left-color:#3b82f6}html.dark .prose th{background:#131a25}html.dark .prose td,html.dark .prose th{border-color:#1e2836}html.dark .site-footer{background:#0b0f16;border-top-color:#1e2635}html.dark .footer-col a:hover{color:#93c5fd}html.dark .mobile-panel{border-bottom-color:#1e2836}html.dark .mobile-links a{color:#cbd5e1;background:#141b26}html.dark .mobile-panel .mobile-search input{color:#e2e8f0;background:#0b111b;border-color:#263141}@media (max-width:1080px){.hero-main{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:28px}.home-hero.tech-hero{padding:38px 34px}.hero-term pre{font-size:11.5px}}@media (max-width:1000px){.hero-main{grid-template-columns:1fr;gap:30px}.hero-term{max-width:620px}.category-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.home-hero.tech-hero{padding:30px 22px}.home-hero.tech-hero .hero-copy h1{font-size:31px}.home-hero.tech-hero .hero-stats{gap:0}.article{padding:24px 18px}.article h1{font-size:24px}.post-grid{grid-template-columns:1fr}.category-grid{gap:10px}.menu-btn{display:inline-flex}.toc-panel{position:static}}@media (max-width:700px){.header-inner{gap:10px}.logo-text span{display:none}.header-side{gap:6px}.header-register{display:none}}@media (max-width:520px){.container{padding:0 14px}.home-hero.tech-hero{border-radius:16px}.home-hero.tech-hero .hero-copy h1{letter-spacing:-.6px;font-size:27px}.hero-br{display:none}.hero-search{max-width:100%}.home-hero.tech-hero .hero-stats{flex-wrap:wrap;row-gap:10px}.home-hero.tech-hero .hero-stats span{padding:0 14px}.home-hero.tech-hero .hero-stats b{font-size:17px}.hero-term pre{padding:14px;font-size:10.5px}.hero-term .term-foot{font-size:10px}.category-grid{grid-template-columns:1fr}.mosaic-card:not(.main){aspect-ratio:16/9}.subscribe-card{flex-wrap:wrap}}@media (max-width:900px){.layout-main,.post-grid{grid-template-columns:minmax(0,1fr)}.layout-main>*,.post-body,.post-card,.post-cover{min-width:0}}@media (max-width:520px){.category-grid{grid-template-columns:minmax(0,1fr)}}.hero{background:linear-gradient(135deg,#f9fbff,#eef4ff);border:1px solid #e3e8f2;border-radius:14px;box-shadow:0 1px 2px #0f172a08,0 12px 30px #2563eb0d}.hero h1{color:var(--ink-900)}.hero p{color:var(--ink-500)}.inline-input{border-color:var(--line-soft);border-radius:8px}.inline-input:focus{border-color:#93b4f8;box-shadow:0 0 0 3px #2563eb14}.notice{color:#1e40af;background:#f5f8ff;border-color:#dbeafe}.admin-nav a.active,.admin-nav a:hover,.editor-toolbar button:hover{color:var(--brand-blue-dark);background:#eff6ff}.editor-toolbar button:hover{border-color:#93b4f8}html.dark .hero{background:linear-gradient(135deg,#121826,#0f172a);border-color:#1e293b}html.dark .hero h1{color:#f1f5f9}html.dark .hero p{color:#94a3b8}html.dark .inline-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #2563eb29}html.dark .notice{color:#93c5fd;background:#111a29;border-color:#1e3a5f}html.dark .admin-nav a.active,html.dark .admin-nav a:hover{color:#93c5fd;background:#17233a}html.dark .editor-toolbar button:hover{color:#93c5fd;background:#17233a;border-color:#2b4a80}.prose pre.hljs code{color:inherit;background:0 0;border:0;padding:0;font-size:13.5px}@media (max-width:520px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-thumb{aspect-ratio:16/9.4}.category-body{padding:10px 11px 11px}.category-head b{font-size:14px}.category-body>span{font-size:11px}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--brand-blue)}.reading-progress{background:linear-gradient(90deg,#60a5fa,#2563eb)}.back-top:hover{color:var(--brand-blue);border-color:#bfdbfe}@media (max-width:900px){.featured-mosaic{grid-template-rows:auto;grid-template-columns:minmax(0,1fr);gap:12px;height:auto}.featured-mosaic .mosaic-card.main{aspect-ratio:16/10;grid-row:auto}.featured-mosaic .mosaic-card:not(.main){aspect-ratio:16/9}.featured-mosaic.single{height:auto}}.mosaic-overlay{background:linear-gradient(#02061700 8%,#02061761 38%,#020617d1 62%,#020617f2)}@media (min-width:600px) and (max-width:900px){.featured-mosaic{grid-template-rows:1fr 1fr;grid-template-columns:1.35fr 1fr;height:360px}.featured-mosaic .mosaic-card.main{aspect-ratio:auto;grid-row:span 2}.featured-mosaic .mosaic-card:not(.main){aspect-ratio:auto}}@media (max-width:900px){.toc-panel{display:none}}@media (max-width:520px){.article-nav{flex-direction:column;gap:6px}.article-nav span,.article-nav span:last-child{text-align:left!important}.prose pre.hljs,.prose pre.hljs code{white-space:pre-wrap;word-break:break-word}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}