*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.absolute{position:absolute}.inline{display:inline}.flex{display:flex}.hidden{display:none}.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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--bg:#0c0c0e;--surface:#141416;--surface-2:#1c1c1f;--surface-3:#242428;--border:hsla(0,0%,100%,.07);--border-hi:hsla(0,0%,100%,.13);--text:#f1f1f3;--text-2:#c4c4cc;--muted:#6b6b76;--accent:#e11d48;--accent-hover:#be123c;--accent-soft:rgba(225,29,72,.1);--accent-glow:rgba(225,29,72,.2);--radius:8px;--radius-sm:6px;--shadow-card:0 2px 12px rgba(0,0,0,.4);--shadow-hover:0 8px 32px rgba(0,0,0,.55),0 0 0 1px rgba(225,29,72,.18);--header-bg:rgba(12,12,14,.94)}[data-theme=light]{--bg:#f2f2f5;--surface:#fff;--surface-2:#f0f0f4;--surface-3:#e4e4ea;--border:rgba(0,0,0,.08);--border-hi:rgba(0,0,0,.14);--text:#18181b;--text-2:#52525b;--muted:#71717a;--accent:#e11d48;--accent-hover:#be123c;--accent-soft:rgba(225,29,72,.08);--accent-glow:rgba(225,29,72,.14);--shadow-card:0 1px 6px rgba(0,0,0,.07),0 2px 12px rgba(0,0,0,.05);--shadow-hover:0 6px 24px rgba(0,0,0,.12),0 0 0 1px rgba(225,29,72,.18);--header-bg:hsla(0,0%,100%,.94)}[data-theme=light] ::-webkit-scrollbar-thumb{background:#d4d4d8}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#a1a1aa}[data-theme=light] .breadcrumb-sep{color:#d4d4d8}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{background:var(--bg)}body{color:var(--text);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#2d2d32;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#3f3f46}.rp-track{position:fixed;top:0;left:0;right:0;z-index:200;height:2px;background:transparent;pointer-events:none}.rp-bar{height:100%;background:linear-gradient(90deg,var(--accent),#f87171);transition:width .08s linear}.site-header{background:var(--header-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.header-top{max-width:980px;margin:0 auto;padding:0 20px;height:54px;display:flex;align-items:center;gap:28px}.site-logo{flex-shrink:0;display:inline-flex;align-items:center}.site-logo-img{height:30px;width:auto;flex-shrink:0}.site-logo-img--light{display:none}.site-logo-img--dark,[data-theme=light] .site-logo-img--light{display:block}[data-theme=light] .site-logo-img--dark{display:none}.logo-cg{color:var(--accent);background:linear-gradient(135deg,#e11d48,#f43f5e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.site-nav{display:flex;align-items:center;flex:1;overflow-x:auto;scrollbar-width:none}.site-nav::-webkit-scrollbar{display:none}.site-nav-link{height:54px;padding:0 16px;display:inline-flex;align-items:center;font-size:15px;font-weight:600;letter-spacing:.2px;color:var(--muted);white-space:nowrap;flex-shrink:0;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .18s,border-color .18s}.site-nav-link:hover{color:var(--text-2)}.site-nav-link.active{color:var(--text);border-bottom-color:var(--accent)}.header-cats{border-top:1px solid var(--border)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;flex-shrink:0;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);font-size:15px;cursor:pointer;transition:background .18s,border-color .18s,color .18s,transform .15s}.theme-toggle:hover{background:var(--surface-3);border-color:var(--border-hi);color:var(--text);transform:rotate(20deg)}.header-cats-inner{max-width:980px;margin:0 auto;padding:0 20px;overflow-x:auto;scrollbar-width:none}.header-cats-inner::-webkit-scrollbar{display:none}.cat-nav{display:flex;align-items:center;gap:6px;padding:8px 0}.cat-pill{display:inline-flex;align-items:center;padding:4px 14px;border-radius:20px;font-size:13px;font-weight:500;color:var(--muted);border:1px solid transparent;white-space:nowrap;flex-shrink:0;transition:color .15s,background .15s,border-color .15s}.cat-pill:hover{color:var(--text-2);background:hsla(0,0%,100%,.05)}.cat-pill.active{color:var(--accent);background:var(--accent-soft);border-color:rgba(225,29,72,.28)}.page-wrap{max-width:980px;margin:0 auto;padding:22px 20px 80px}.post-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.pg-hero{grid-column:span 6}.pg-md{grid-column:span 3}.pg-sm{grid-column:span 2}.pg-full{grid-column:span 6}.post-list{gap:14px}.post-card,.post-list{display:flex;flex-direction:column}.post-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow-card);transition:border-color .22s,transform .22s,box-shadow .22s;height:100%}.post-card:hover{border-color:rgba(225,29,72,.3);transform:translateY(-3px);box-shadow:var(--shadow-hover)}.post-banner{position:relative;width:100%;aspect-ratio:10/3;overflow:hidden;background:var(--surface-2);cursor:pointer;display:block;flex-shrink:0}.banner-img{-o-object-position:center;object-position:center;display:block;transition:transform .55s ease}.banner-img,.post-banner img[data-cg-fail],.post-banner img[data-src]{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.post-banner img[data-cg-fail],.post-banner img[data-src]{max-height:none}.post-card:hover .banner-img{transform:scale(1.04)}.banner-placeholder{position:absolute;inset:0;background:var(--surface-3) url(/icon.png) center /56px no-repeat}.post-banner-hero{aspect-ratio:16/9}.post-banner-md{aspect-ratio:16/10}.banner-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.84) 0,rgba(0,0,0,.32) 52%,rgba(0,0,0,.06))}.banner-text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 40px;text-align:center}.banner-title{font-size:18px;font-weight:500;color:#fff;line-height:1.55;text-align:center;overflow:hidden;max-height:3.2em;text-shadow:0 1px 12px rgba(0,0,0,.9)}.post-banner-hero .banner-title{font-size:22px;-webkit-line-clamp:2}.post-banner-md .banner-title{font-size:16px;-webkit-line-clamp:3}.post-card:hover .banner-title{color:#fca5a5}.banner-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:hsla(0,0%,100%,.55)}.banner-sep{color:hsla(0,0%,100%,.2)}.banner-cat{font-size:12px;font-weight:400;color:hsla(0,0%,100%,.55)}.post-thumb{position:relative;width:100%;padding-top:62%;overflow:hidden;display:block;flex-shrink:0;background:var(--surface-3)}.post-thumb img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .55s ease}.post-card:hover .post-thumb img{transform:scale(1.05)}.card-body{padding:11px 13px 14px;display:flex;flex-direction:column;flex:1}.card-tag{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:3px;color:#fff;margin-bottom:7px;align-self:flex-start;letter-spacing:.3px}.card-title{font-size:13.5px;font-weight:500;color:var(--text);line-height:1.55;margin-bottom:8px;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-card:hover .card-title{color:#fca5a5}.card-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:auto}.hot-badge{position:absolute;top:10px;left:10px;z-index:2;background:linear-gradient(135deg,#f43f5e,#be123c);color:#fff;font-size:10px;font-weight:700;padding:3px 9px;border-radius:4px;letter-spacing:.4px;box-shadow:0 2px 10px rgba(190,18,60,.5)}.hot-ribbon{position:absolute;top:0;right:0;width:80px;height:80px;overflow:hidden;pointer-events:none}.hot-ribbon span{position:absolute;top:18px;right:-20px;background:linear-gradient(135deg,#f43f5e,#e11d48);color:#fff;font-size:11px;font-weight:700;padding:4px 22px;transform:rotate(45deg);white-space:nowrap;letter-spacing:.5px;box-shadow:0 2px 6px rgba(0,0,0,.45)}.pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:32px 0 0}.page-btn{min-width:34px;padding:5px 12px;border-radius:var(--radius-sm);font-size:13px;text-align:center;background:var(--surface);color:var(--muted);border:1px solid var(--border);cursor:pointer;transition:all .15s}.page-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.page-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.page-btn:disabled{opacity:.35;cursor:not-allowed}.page-info{font-size:12px;color:var(--muted);padding:0 4px}.breadcrumb,.cat-breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-bottom:18px}.breadcrumb a:hover,.cat-breadcrumb a:hover{color:var(--text)}.breadcrumb-sep{color:#2e2e34}.detail-card{background:var(--surface);border-radius:var(--radius);padding:30px 34px;border:1px solid var(--border);box-shadow:var(--shadow-card)}.detail-tag{display:inline-block;font-size:11px;font-weight:600;padding:2px 10px;border-radius:4px;color:var(--accent);background:var(--accent-soft);border:1px solid rgba(225,29,72,.45);margin-bottom:14px;letter-spacing:.4px}.detail-title{font-size:22px;font-weight:700;color:var(--text);line-height:1.55;margin-bottom:14px;letter-spacing:-.2px}.detail-meta{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--muted);padding-bottom:18px;border-bottom:1px solid var(--border);margin-bottom:22px}.detail-cover{width:100%;aspect-ratio:16/9;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:22px}.detail-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.detail-summary{background:var(--accent-soft);border-left:3px solid var(--accent);padding:13px 16px;font-size:14px;color:var(--text-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-bottom:24px;line-height:1.9}.detail-body{font-size:15px;color:var(--text-2);line-height:2}.detail-body p{margin-bottom:16px}.detail-body h2{font-size:18px;font-weight:700;color:var(--text);margin:28px 0 12px}.detail-body h3{font-size:16px;font-weight:600;margin:22px 0 10px}.detail-body h3,.detail-body strong{color:var(--text)}.detail-body em{font-style:italic}.detail-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.detail-body a:hover{opacity:.8}.detail-body hr{border:none;border-top:1px solid var(--border);margin:24px 0}.detail-body ol,.detail-body ul{padding-left:22px;margin-bottom:16px;color:var(--text-2)}.detail-body li{margin-bottom:6px;line-height:1.8}.detail-body img{max-width:100%;height:auto;border-radius:var(--radius-sm);display:block;margin:16px 0;transition:opacity .15s;cursor:zoom-in}.detail-body img:hover{opacity:.88}img[data-cg-fail],img[data-src]{background-color:var(--surface-2);background-image:url(/icon.png);background-repeat:no-repeat;background-position:50%;background-size:48px;border-radius:var(--radius-sm)}img[data-cg-fail]{-o-object-fit:cover;object-fit:cover;color:transparent;font-size:0}.detail-body figure{margin:20px 0}.detail-body figure img{margin:0;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.detail-body figcaption{background:var(--surface-2);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);padding:7px 12px;font-size:12px;color:var(--muted);text-align:center;line-height:1.5}.detail-body blockquote{border-left:3px solid var(--accent);background:var(--surface-2);padding:12px 16px;margin:20px 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-2);font-size:14px;line-height:1.8}.detail-body video{height:auto;display:block;outline:none;-o-object-fit:contain;object-fit:contain}.detail-body video,.video-wrap{width:100%;aspect-ratio:16/9;margin:24px 0;background:#000;border-radius:var(--radius)}.video-wrap{position:relative;overflow:hidden;box-shadow:0 6px 24px rgba(0,0,0,.35);transition:box-shadow .25s,transform .25s}.video-wrap:hover{box-shadow:0 10px 32px rgba(225,29,72,.2)}.video-wrap.is-playing{box-shadow:0 8px 28px rgba(225,29,72,.3)}.video-wrap video{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none;background:#000;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;margin:0;border-radius:0;aspect-ratio:auto;max-width:none;max-height:none}.video-poster-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,transparent,rgba(0,0,0,.18) 50%,rgba(0,0,0,.45));cursor:pointer;transition:background .2s;z-index:2;border:0}.video-poster-btn:before{content:"";width:76px;height:76px;border-radius:50%;background:rgba(225,29,72,.92);box-shadow:0 4px 24px rgba(0,0,0,.45),0 0 0 6px rgba(225,29,72,.18);transition:transform .2s,background .2s,box-shadow .2s}.video-poster-btn:after{content:"";position:absolute;border-color:transparent transparent transparent #fff;border-style:solid;border-width:13px 0 13px 22px;margin-left:6px}.video-poster-btn:hover:before{transform:scale(1.08);background:#e11d48;box-shadow:0 4px 28px rgba(225,29,72,.5),0 0 0 10px rgba(225,29,72,.22)}.video-wrap.is-playing .video-poster-btn,.video-wrap.is-started .video-poster-btn{display:none}.video-loading{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:4;background:radial-gradient(120% 120% at 50% 50%,rgba(0,0,0,.42) 0,rgba(0,0,0,.66) 100%);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);pointer-events:none}.video-loading:before{content:"";width:54px;height:54px;border-radius:50%;background:conic-gradient(from 90deg,rgba(225,29,72,0) 0deg,rgba(225,29,72,.12) 90deg,#e11d48 270deg,#fb7185 340deg,#ffd1dc 1turn);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4.5px),#000 calc(100% - 4.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 4.5px),#000 calc(100% - 4.5px));filter:drop-shadow(0 0 8px rgba(225,29,72,.45));animation:video-spin .9s linear infinite}.video-loading:after{content:"加载中…";font-size:12px;font-weight:500;color:hsla(0,0%,100%,.75);letter-spacing:.14em;text-shadow:0 1px 3px rgba(0,0,0,.55);animation:video-loading-pulse 1.6s ease-in-out infinite}.video-wrap.is-buffering .video-loading,.video-wrap.is-loading .video-loading{display:flex}.video-wrap.is-buffering:after{content:none}@keyframes video-spin{to{transform:rotate(1turn)}}@keyframes video-loading-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.video-loading:before{animation-duration:2s}.video-loading:after{animation:none}}.video-error{position:absolute;inset:0;display:none;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:rgba(0,0,0,.88);z-index:5}.video-wrap.is-error .video-error{display:flex}.video-error .video-retry-btn{margin-top:4px;padding:8px 20px;border:none;border-radius:999px;background:#e11d48;color:#fff;font-size:13px;font-weight:500;cursor:pointer}.video-error .video-retry-btn:hover{background:#be123c}.video-error:before{content:"";width:48px;height:48px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f87171' stroke-width='1.5'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Ccircle cx='12' cy='16' r='.5' fill='%23f87171'/%3E%3C/svg%3E") 50%/contain no-repeat}.video-error{color:hsla(0,0%,100%,.6);font-size:13px;letter-spacing:.02em}[data-theme=light] .video-wrap{box-shadow:0 4px 18px rgba(0,0,0,.12)}.detail-body iframe{width:100%;aspect-ratio:16/9;border:none;border-radius:var(--radius-sm);display:block;margin:20px 0}.detail-layout{display:flex;gap:20px;align-items:flex-start}.detail-main{flex:1;min-width:0}.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.94);cursor:zoom-out;display:flex;align-items:center;justify-content:center;animation:lbIn .18s ease}@keyframes lbIn{0%{opacity:0}to{opacity:1}}.lightbox-img{max-width:92vw;max-height:92vh;-o-object-fit:contain;object-fit:contain;border-radius:4px;cursor:zoom-in;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:lbScale .2s ease;transition:transform .3s ease,opacity .2s;transform-origin:center center}@keyframes lbScale{0%{transform:scale(.96)}to{transform:scale(1)}}.lightbox-img--zoomed{transform:scale(1.85);cursor:zoom-out;animation:none}.lightbox-close{position:absolute;top:16px;right:20px;background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.12);color:#fff;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;opacity:.75;transition:opacity .15s,background .15s}.lightbox-close:hover{opacity:1;background:hsla(0,0%,100%,.16)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.12);color:#fff;font-size:28px;line-height:1;width:44px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;opacity:.65;transition:all .15s}.lightbox-nav:hover{opacity:1;background:hsla(0,0%,100%,.18)}.lightbox-prev{left:16px}.lightbox-next{right:16px}.lightbox-counter{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.5);color:hsla(0,0%,100%,.7);font-size:12px;padding:4px 12px;border-radius:20px}.lightbox-spinner{position:absolute;width:32px;height:32px;border:2px solid hsla(0,0%,100%,.18);border-top-color:hsla(0,0%,100%,.85);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.related-title{font-size:14px;font-weight:700;color:var(--text);margin:28px 0 12px;padding-bottom:10px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}.related-title:before{content:"";display:block;width:3px;height:14px;border-radius:2px;background:var(--accent);flex-shrink:0}.related-list{list-style:none;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.related-item{border-bottom:1px solid var(--border)}.related-item:last-child{border-bottom:none}.related-item a{display:block;padding:11px 16px;font-size:13.5px;color:var(--muted);line-height:1.55;transition:color .15s,background .15s,padding-left .15s}.related-item a:hover{color:var(--text);background:var(--surface-2);padding-left:20px}.internal-links{margin:12px 0 16px;padding:10px 14px;font-size:13px;line-height:1.55;background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--border)}.internal-links__label{font-weight:600;color:var(--text-2);margin-bottom:8px}.internal-links__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.internal-links__list li{position:relative;padding-left:14px}.internal-links__list li:before{content:"·";position:absolute;left:0;top:0;color:var(--text-2);font-weight:700}.internal-links a{color:var(--accent);text-decoration:none;transition:color .15s}.internal-links a:hover{color:var(--text);text-decoration:underline}.sidebar{display:flex;flex-direction:column;gap:14px}.side-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow-card)}.side-head{font-size:13px;color:var(--text);padding:11px 16px;border-bottom:1px solid var(--border);display:flex;gap:8px}.side-head,.side-head-badge{font-weight:700;align-items:center}.side-head-badge{background:var(--accent);color:#fff;font-size:10px;width:20px;height:20px;border-radius:4px;display:inline-flex;justify-content:center}.hot-item{display:flex;align-items:flex-start;gap:10px;padding:9px 16px;border-bottom:1px solid var(--border);transition:background .15s}.hot-item:last-child{border-bottom:none}.hot-item:hover{background:var(--surface-2)}.hot-num{font-size:12px;font-weight:800;color:var(--muted);min-width:18px;flex-shrink:0;padding-top:2px}.hot-num.t{color:var(--accent)}.hot-text{font-size:13px;color:var(--muted);line-height:1.5}.hot-item:hover .hot-text{color:var(--text)}.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px}.cat-btn{display:flex;align-items:center;justify-content:center;padding:9px 8px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:#fff;transition:opacity .15s,transform .15s}.cat-btn:hover{opacity:.88;transform:translateY(-1px)}.comment-section{margin-top:28px}.comment-section-title{font-size:14px;font-weight:700;color:var(--text);padding-bottom:12px;margin-bottom:18px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}.comment-section-title:before{content:"";display:block;width:3px;height:14px;border-radius:2px;background:var(--accent);flex-shrink:0}.comment-count{color:var(--muted);font-weight:400;font-size:13px}.comment-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:22px;display:flex;flex-direction:column;gap:10px}.comment-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;font-size:13px;color:var(--text);width:100%;outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit}.comment-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.comment-input::-moz-placeholder{color:var(--muted)}.comment-input::placeholder{color:var(--muted)}.comment-textarea{resize:vertical;min-height:80px;line-height:1.6}.comment-submit{background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:8px 22px;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s}.comment-submit:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.comment-submit:active:not(:disabled){transform:translateY(0)}.comment-submit:disabled{opacity:.4;cursor:not-allowed}.comment-list{display:flex;flex-direction:column}.comment-list--loading{opacity:.45;pointer-events:none;transition:opacity .2s}.comment-item{padding:14px 0;border-bottom:1px solid var(--border)}.comment-item:last-child{border-bottom:none}.comment-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.comment-floor{font-size:10px;font-weight:800;color:var(--accent);background:var(--accent-soft);padding:2px 7px;border-radius:3px;flex-shrink:0;letter-spacing:.3px}.comment-nickname{font-size:13px;font-weight:600;color:var(--text)}.comment-location{background:var(--surface-2);padding:1px 7px;border-radius:3px}.comment-location,.comment-time{font-size:11px;color:var(--muted)}.comment-time{margin-left:auto}.comment-content{font-size:14px;color:var(--text-2);line-height:1.75;margin-bottom:8px}.comment-actions{display:flex;gap:8px}.comment-like{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);cursor:pointer;background:none;border:none;padding:3px 10px;border-radius:20px;transition:all .15s;font-family:inherit}.comment-like.liked,.comment-like:hover{color:var(--accent);background:var(--accent-soft)}.comment-empty,.comment-loading{font-size:13px;color:var(--muted);padding:24px 0;text-align:center}.comment-reply-btn{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);cursor:pointer;background:none;border:none;padding:3px 10px;border-radius:20px;transition:all .15s;font-family:inherit}.comment-reply-btn:hover{color:var(--accent);background:var(--accent-soft)}.reply-form{margin-top:12px;background:var(--surface-2);border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:8px;border:1px solid var(--border)}.comment-reply-cancel{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 14px;font-size:13px;color:var(--muted);cursor:pointer;font-family:inherit;transition:all .15s}.comment-reply-cancel:hover{color:var(--text);border-color:var(--muted)}.comment-replies{margin-top:12px;background:var(--surface-2);border-radius:var(--radius-sm);padding:2px 14px;border-left:2px solid var(--border)}.comment-reply-item{padding:10px 0;border-bottom:1px solid var(--border)}.comment-reply-item:last-child{border-bottom:none}.comment-floor-reply{font-size:10px;font-weight:700;color:var(--muted);background:var(--surface-3);border:1px solid var(--border);padding:1px 7px;border-radius:3px;flex-shrink:0}.reply-to-badge{font-size:11px;color:var(--accent);opacity:.8}.site-footer{max-width:980px;margin:0 auto;padding:24px 20px 44px;text-align:center;font-size:12px;color:var(--muted);border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:6px}.footer-logo{font-size:15px;font-weight:800;color:var(--text-2);margin-bottom:2px}.footer-logo span{color:var(--accent)}.search-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;flex-shrink:0;background:var(--surface-2);border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.search-btn:hover{background:var(--surface-3);border-color:var(--border-hi);color:var(--text)}.search-page{max-width:680px;margin:0 auto}.search-page-bar{margin-bottom:24px}.search-page-bar,.search-page-bar-inner{display:flex;gap:10px;align-items:center}.search-page-bar-inner{flex:1;background:var(--surface);border:1px solid var(--border-hi);border-radius:var(--radius);padding:0 14px;box-shadow:var(--shadow-card);transition:border-color .15s,box-shadow .15s}.search-page-bar-inner:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-modal-icon{color:var(--muted);flex-shrink:0}.search-page-input{flex:1;height:48px;background:none;border:none;outline:none;font-size:15px;color:var(--text);font-family:inherit}.search-page-input::-moz-placeholder{color:var(--muted)}.search-page-input::placeholder{color:var(--muted)}.search-clear{background:none;border:none;color:var(--muted);font-size:18px;cursor:pointer;padding:4px;line-height:1;flex-shrink:0;transition:color .15s}.search-clear:hover{color:var(--text)}.search-go{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:0 22px;height:48px;font-size:14px;font-weight:700;cursor:pointer;flex-shrink:0;transition:background .15s}.search-go:hover:not(:disabled){background:var(--accent-hover)}.search-go:disabled{opacity:.4;cursor:not-allowed}.search-result-info{font-size:13px;color:var(--muted);margin-bottom:4px}.search-result-info strong{color:var(--text)}.search-page-kw{color:var(--accent)}.search-hint{text-align:center;padding:80px 0;font-size:14px;color:var(--muted)}.search-wrap{gap:0}.search-panel,.search-wrap{display:flex;flex-direction:column}.search-panel{margin-top:8px;gap:28px}.search-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.search-section-title{font-size:14px;font-weight:700;color:var(--text)}.search-section-clear{font-size:12px;color:var(--muted);background:none;border:none;cursor:pointer;transition:color .15s;font-family:inherit}.search-section-clear:hover{color:var(--accent)}.search-tags{display:flex;flex-wrap:wrap;gap:8px}.search-tag{display:inline-flex;align-items:center;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:4px 10px 4px 12px;font-size:13px;color:var(--text-2);transition:border-color .15s,background .15s}.search-tag--history span:first-child{cursor:pointer}.search-tag--history:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.search-tag-del{background:none;border:none;color:var(--muted);font-size:14px;cursor:pointer;line-height:1;padding:0 2px;transition:color .15s}.search-tag-del:hover{color:var(--accent)}.search-hot-list{display:grid;grid-template-columns:1fr 1fr;gap:2px}.search-hot-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;width:100%;transition:background .15s}.search-hot-item:hover{background:var(--surface-2)}.search-hot-num{font-size:13px;font-weight:800;color:var(--muted);min-width:20px;flex-shrink:0}.search-hot-num.top{color:var(--accent)}.search-hot-text{font-size:13px;color:var(--text-2);line-height:1.4}.search-hot-item:hover .search-hot-text{color:var(--text)}.bottom-nav{display:none}@media (max-width:768px){.page-wrap{padding:12px 12px 76px}.header-top{padding:0 14px;height:48px;gap:10px}.site-logo-img{height:23px}.site-nav{display:none}.theme-toggle{font-size:14px;margin-left:auto}.search-btn,.theme-toggle{width:30px;height:30px}.search-page-bar{flex-wrap:wrap}.search-go{width:100%;height:44px}.post-list{gap:10px}.post-banner{aspect-ratio:16/9}.banner-title{font-size:15px}.banner-text{padding:12px 14px 16px}.post-card:hover{transform:none;box-shadow:var(--shadow-card)}.pagination{gap:4px;padding-top:20px}.page-btn{min-width:32px;padding:5px 8px;font-size:12px}.detail-card{padding:14px 14px 20px}.detail-title{font-size:19px;letter-spacing:-.1px}.detail-meta{flex-wrap:wrap;gap:6px;font-size:11px}.detail-body{font-size:14px;line-height:1.95}.detail-body h2{font-size:16px}.detail-body h3{font-size:15px}.video-wrap{aspect-ratio:16/9}.video-poster-btn:before{width:60px;height:60px}.video-poster-btn:after{border-width:10px 0 10px 17px}.detail-summary{font-size:13px;padding:11px 13px}.comment-section{margin-top:20px}.comment-time{margin-left:0;width:100%}.comment-form{padding:12px}.comment-submit{padding:9px 18px}.comment-textarea{min-height:72px}.lightbox-close{top:10px;right:12px;width:40px;height:40px;font-size:24px}.lightbox-nav{display:none}.lightbox-counter{font-size:11px;bottom:72px}.breadcrumb{font-size:11px;margin-bottom:12px;flex-wrap:nowrap}.breadcrumb>.breadcrumb-sep,.breadcrumb>a{flex-shrink:0;white-space:nowrap}.breadcrumb>span:last-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.related-item a{font-size:13px;padding:10px 14px}.site-footer{padding:20px 16px 80px;font-size:11px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:150;background:var(--header-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);height:56px;align-items:stretch;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;font-size:10px;color:var(--muted);transition:color .15s;-webkit-tap-highlight-color:transparent}.bottom-nav-item svg{width:22px;height:22px;flex-shrink:0}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-item:active{opacity:.7}.bottom-nav.is-navigating .bottom-nav-item:not(.active){opacity:.45}.post-list-skeleton{pointer-events:none}.post-card-skeleton .post-banner{aspect-ratio:16/9}.skeleton-block{position:absolute;inset:0;background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}}@media (max-width:390px){.page-wrap{padding:10px 10px 76px}.detail-card{padding:12px 12px 18px}.detail-title{font-size:17px}.banner-title{font-size:14px}.bottom-nav-item{font-size:9px}.bottom-nav-item svg{width:20px;height:20px}}body.admin-mode .bottom-nav,body.admin-mode .site-footer,body.admin-mode .site-header{display:none!important}body.admin-mode .page-wrap{padding:0!important;max-width:none!important}.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh;background:var(--bg);color:var(--text)}.admin-side{background:var(--surface);border-right:1px solid var(--border);padding:18px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow-y:auto}.admin-brand{font-weight:800;font-size:18px;margin-bottom:18px;display:flex;align-items:center;gap:8px}.admin-brand .dot{width:10px;height:10px;background:var(--accent);border-radius:50%}.admin-side a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-2);font-size:14px;text-decoration:none;transition:background .12s}.admin-side a:hover{background:var(--surface-2);color:var(--text)}.admin-side a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.admin-side .spacer{flex:1}.admin-side .userbox{font-size:12px;color:var(--muted);padding:8px 12px;border-top:1px solid var(--border);margin-top:8px;display:flex;flex-direction:column;gap:6px}.admin-side .userbox button{background:none;border:1px solid var(--border);color:var(--text-2);padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px}.admin-side .userbox button:hover{background:var(--surface-2);color:var(--text)}.admin-main{padding:22px 28px 60px;min-width:0}.admin-page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}.admin-page-head h1{font-size:20px;font-weight:700;margin:0}.admin-page-head .actions{display:flex;gap:8px}.btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border);padding:7px 14px;border-radius:var(--radius-sm);font-size:13px;cursor:pointer;transition:all .12s}.btn:hover{background:var(--surface-3);border-color:var(--border-hi)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{color:#f87171;border-color:hsla(0,91%,71%,.3)}.btn-danger:hover{background:hsla(0,91%,71%,.1)}.btn-sm{padding:4px 10px;font-size:12px}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.admin-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat .label{font-size:12px;color:var(--muted);margin-bottom:6px}.stat .value{font-size:22px;font-weight:700}.stat .sub{font-size:11px;color:var(--muted);margin-top:4px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table td,.admin-table th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}.admin-table th{font-weight:600;color:var(--text-2)}.admin-table th,.admin-table tr:hover td{background:var(--surface-2)}.admin-table .row-actions{display:flex;gap:6px}.admin-form{display:grid;gap:14px;max-width:760px}.admin-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-2)}.admin-form input,.admin-form select,.admin-form textarea{background:var(--surface-2);border:1px solid var(--border);color:var(--text);padding:9px 12px;border-radius:var(--radius-sm);font-size:14px;font-family:inherit;width:100%}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{outline:none;border-color:var(--accent)}.admin-form textarea{min-height:240px;resize:vertical;line-height:1.5}.admin-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tag-picker{display:flex;flex-direction:column;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.tag-picker__chips{display:flex;flex-wrap:wrap;gap:6px;min-height:28px;align-items:center}.tag-picker__empty{font-size:12px;color:var(--text-2);opacity:.7}.tag-picker__chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--accent-soft,rgba(220,38,38,.12));color:var(--accent,#dc2626);border-radius:999px;font-size:12px;line-height:1}.tag-picker__chip button{background:transparent;border:0;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0 0 0 2px}.tag-picker__row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.tag-picker__suggest{display:flex;flex-wrap:wrap;gap:6px;max-height:140px;overflow-y:auto}.tag-picker__opt{border:1px dashed var(--border);background:transparent;color:var(--text-2);padding:4px 10px;border-radius:999px;font-size:12px;cursor:pointer}.tag-picker__opt:hover{border-color:var(--accent);color:var(--accent)}.post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px;padding-top:18px;border-top:1px solid var(--border)}.post-tags__label{color:var(--text-2);font-size:14px}.post-tag-chip{display:inline-flex;align-items:center;padding:5px 12px;background:var(--accent-soft,rgba(220,38,38,.08));color:var(--accent,#dc2626);border-radius:999px;font-size:13px;text-decoration:none;transition:all .2s ease}.post-tag-chip:hover{background:var(--accent,#dc2626);color:#fff}.tag-page-head{display:flex;align-items:baseline;gap:12px;margin-bottom:18px}.tag-page-head h1{font-size:22px;font-weight:700;margin:0;color:var(--text)}.tag-page-head h1:before{content:"#";opacity:.55;margin-right:4px}.tag-page-head .count{color:var(--text-2);font-size:14px}.confirm-mask{position:fixed;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(2px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:confirm-fade-in .15s ease-out}@keyframes confirm-fade-in{0%{opacity:0}to{opacity:1}}.confirm-dialog{width:100%;max-width:420px;background:var(--surface,#fff);color:var(--text,#0f172a);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.35);padding:22px 24px 18px;animation:confirm-pop .18s cubic-bezier(.2,.9,.3,1.1);border:1px solid var(--border,rgba(0,0,0,.08))}@keyframes confirm-pop{0%{transform:translateY(8px) scale(.96);opacity:0}to{transform:none;opacity:1}}.confirm-dialog__title{font-size:16px;font-weight:700;margin-bottom:8px;color:var(--text)}.confirm-dialog.is-danger .confirm-dialog__title{color:#dc2626}.confirm-dialog__msg{font-size:14px;line-height:1.6;color:var(--text-2,#475569);margin-bottom:18px;word-break:break-word}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:10px}.confirm-dialog__actions .btn{min-width:76px;padding:8px 16px;border-radius:999px;font-size:14px;font-weight:500;border:1px solid var(--border,rgba(0,0,0,.1));background:var(--surface-2,#f1f5f9);color:var(--text);cursor:pointer;transition:all .15s ease}.confirm-dialog__actions .btn:hover{filter:brightness(1.05)}.confirm-dialog__actions .btn-primary{background:#2563eb;color:#fff;border-color:transparent}.confirm-dialog__actions .btn-danger{background:#dc2626;color:#fff;border-color:transparent}.confirm-dialog__actions .btn-danger:hover{background:#b91c1c}.toast-stack{position:fixed;top:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:10000;pointer-events:none}.toast{pointer-events:auto;min-width:220px;max-width:380px;padding:10px 14px;border-radius:10px;background:var(--surface,#fff);color:var(--text);box-shadow:0 10px 30px rgba(0,0,0,.25);display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;border-left:4px solid transparent;cursor:pointer;animation:toast-in .22s cubic-bezier(.2,.9,.3,1.1)}@keyframes toast-in{0%{transform:translateX(20px);opacity:0}to{transform:none;opacity:1}}.toast__icon{font-size:14px;line-height:1.4;flex-shrink:0;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:#fff}.toast__msg{flex:1;word-break:break-word}.toast--info{border-left-color:#2563eb}.toast--info .toast__icon{background:#2563eb}.toast--success{border-left-color:#16a34a}.toast--success .toast__icon{background:#16a34a}.toast--warn{border-left-color:#f59e0b}.toast--warn .toast__icon{background:#f59e0b}.toast--error{border-left-color:#dc2626}.toast--error .toast__icon{background:#dc2626}.admin-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;align-items:center}.admin-filters input,.admin-filters select{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:6px 10px;border-radius:var(--radius-sm);font-size:13px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.badge-on{background:rgba(34,197,94,.15);color:#4ade80}.badge-off{background:rgba(148,163,184,.15);color:#94a3b8}.badge-warn{background:hsla(0,91%,71%,.15);color:#f87171}.admin-empty{text-align:center;padding:36px 12px;color:var(--muted);font-size:13px}.admin-pager{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-top:14px;font-size:13px}.admin-login{min-height:100vh;display:grid;place-items:center;background:var(--bg)}.admin-login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:32px;width:360px;box-shadow:var(--shadow-card)}.admin-login-card h1{font-size:22px;margin:0 0 22px;text-align:center}.admin-login-card .err{color:#f87171;font-size:13px;margin-top:8px}.admin-login-card .hint{color:var(--muted);font-size:12px;margin-top:16px;text-align:center}@media (max-width:768px){.admin-shell{grid-template-columns:1fr}.admin-side{position:fixed;top:0;left:0;right:0;height:auto;flex-direction:row;flex-wrap:wrap;padding:10px;gap:4px;z-index:50}.admin-side .spacer,.admin-side .userbox{display:none}.admin-main{padding:80px 14px 40px}.admin-form .row{grid-template-columns:1fr}}.not-found{padding:20px 0}.not-found__hero{text-align:center;padding:48px 16px 32px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px}.not-found__code{font-size:96px;font-weight:900;line-height:1;background:linear-gradient(135deg,var(--accent),#ff6b6b);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-4px}.not-found__title{font-size:22px;font-weight:700;color:var(--text);margin:16px 0 8px}.not-found__desc{font-size:14px;color:var(--muted);max-width:480px;margin:0 auto 20px;line-height:1.6}.not-found__actions{display:inline-flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:center}.not-found__btn{display:inline-block;padding:9px 20px;font-size:14px;border-radius:999px;border:1px solid var(--border);color:var(--text);background:var(--surface-2);transition:all .15s}.not-found__btn--primary,.not-found__btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.not-found__hot{margin-top:12px}