:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--site-font:"优设好身体", "YouSheHaoShenTi", "YouSheHaoShenTi-2", "Microsoft YaHei", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;font-family:var(--site-font);--page-bg:#f6fbff;--frame-bg:#ffffffeb;--surface:#ffffffdb;--surface-strong:#fff;--soft-surface:#eef8ff;--border:#2e58831f;--border-strong:#3a6ca433;--text:#14263d;--muted:#617087;--faint:#8a9ab1;--primary:#337be9;--primary-deep:#1d63ce;--primary-soft:#dbeeff;--yellow:#f7cd54;--shadow:0 18px 48px #2d5d8c21;--card-shadow:0 10px 28px #325b801c;--hero-overlay:linear-gradient(90deg, #daeffffa 0%, #e6f6ffd6 28%, #e8f6ff33 55%);--body-texture:linear-gradient(180deg, #fbfdff 0%, #eef7ff 48%, #f8fbff 100%)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-bg:#051020;--frame-bg:#081224f0;--surface:#0b1930d1;--surface-strong:#0b172c;--soft-surface:#0d1c33;--border:#7eaae42e;--border-strong:#7cabef47;--text:#f2f7ff;--muted:#a6b4ca;--faint:#72829a;--primary:#3f86ff;--primary-deep:#2b67df;--primary-soft:#4086ff29;--yellow:#f7cd54;--shadow:0 22px 60px #00000057;--card-shadow:0 12px 38px #0000003d;--hero-overlay:linear-gradient(90deg, #081325f5 0%, #081325d1 31%, #0813251f 60%, #0813250a 100%);--body-texture:linear-gradient(180deg, #030a15 0%, #071427 50%, #051020 100%)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--text);font-family:var(--site-font);background:var(--body-texture);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-shell{min-height:100vh;padding:16px}.page-frame{background:var(--frame-bg);border:1px solid var(--border);width:min(1380px,100vw - 48px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;margin:0 auto;padding:20px 24px 18px}.site-header{z-index:20;isolation:isolate;background:linear-gradient(135deg, color-mix(in srgb, var(--surface-strong) 72%, transparent) 0%, color-mix(in srgb, var(--frame-bg) 38%, transparent) 100%), color-mix(in srgb, var(--frame-bg) 54%, transparent);border-bottom:1px solid color-mix(in srgb, var(--border-strong) 68%, transparent);-webkit-backdrop-filter:blur(24px)saturate(150%);border-radius:18px 18px 0 0;grid-template-columns:176px minmax(0,1fr) minmax(0,auto);align-items:center;gap:18px;min-height:56px;margin:-20px -24px 16px;padding:8px 32px;display:grid;position:sticky;top:0;overflow:visible;box-shadow:inset 0 1px #ffffff6b,0 14px 38px #2d5d8c1f}.site-header:before{z-index:-1;content:"";pointer-events:none;background:linear-gradient(#ffffff57,#ffffff14 48%,#0000 100%);position:absolute;inset:0}:root[data-theme=dark] .site-header{background:linear-gradient(135deg,#0f1f3abd 0%,#0712246b 100%),#07122480;border-bottom-color:#7cabef38;box-shadow:inset 0 1px #ffffff14,0 16px 44px #00000052}:root[data-theme=dark] .site-header:before{background:linear-gradient(#ffffff14,#ffffff05 56%,#0000 100%)}.brand-button{background:0 0;border:0;align-items:center;width:176px;height:70px;padding:0;display:inline-flex}.brand-button img{object-fit:contain;width:156px;height:auto}.main-nav{justify-content:center;align-items:center;gap:18px;min-width:0;display:flex}.main-nav .nav-button,.link-button{min-height:36px;color:var(--text);background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:700;display:inline-flex}.main-nav .nav-button{justify-content:center;min-width:48px;position:relative}.main-nav .nav-button:after{content:"";background:0 0;border-radius:999px;height:3px;position:absolute;bottom:0;left:8px;right:8px}.main-nav .nav-button.is-active,.main-nav .nav-button:hover,.link-button{color:var(--primary)}.main-nav .nav-button.is-active:after,.main-nav .nav-button:hover:after{background:var(--primary)}.nav-dropdown{align-items:center;display:inline-flex;position:relative}.nav-dropdown:after{z-index:29;content:"";width:160px;height:14px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.nav-dropdown-trigger svg{transition:transform .2s}.nav-dropdown:hover .nav-dropdown-trigger svg,.nav-dropdown.is-open .nav-dropdown-trigger svg{transform:rotate(180deg)}.nav-dropdown-menu{z-index:30;visibility:hidden;opacity:0;border:1px solid color-mix(in srgb, var(--border-strong) 72%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--surface-strong) 82%, transparent), color-mix(in srgb, var(--frame-bg) 54%, transparent)), color-mix(in srgb, var(--frame-bg) 78%, transparent);-webkit-backdrop-filter:blur(20px)saturate(150%);pointer-events:none;border-radius:10px;gap:6px;width:142px;padding:10px;transition:opacity .18s,transform .22s,visibility 0s linear .18s;display:grid;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-6px);box-shadow:0 18px 42px #2d5d8c29}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown.is-open .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s;transform:translate(-50%)}.nav-dropdown-menu:before{content:"";border-top:1px solid color-mix(in srgb, var(--border-strong) 72%, transparent);border-left:1px solid color-mix(in srgb, var(--border-strong) 72%, transparent);background:color-mix(in srgb, var(--surface-strong) 84%, var(--frame-bg));width:12px;height:12px;position:absolute;top:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.nav-dropdown-menu button{z-index:1;min-height:34px;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;padding:0 12px;font-size:14px;font-weight:800;position:relative}.nav-dropdown-menu button:hover,.nav-dropdown-menu button.is-active{color:var(--primary-deep);border-color:color-mix(in srgb, var(--primary) 24%, var(--border));background:var(--primary-soft)}:root[data-theme=dark] .nav-dropdown-menu{background:linear-gradient(135deg,#0f1f3ae6,#071224b8),#071224d1;box-shadow:0 18px 46px #00000057}:root[data-theme=dark] .nav-dropdown-menu:before{background:#0f1f3aeb}:root[data-theme=dark] .nav-dropdown-menu button:hover,:root[data-theme=dark] .nav-dropdown-menu button.is-active{color:#dce9ff}.header-actions{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.search-box{width:clamp(160px,14vw,230px);min-width:150px;min-height:42px;color:var(--faint);background:color-mix(in srgb, var(--soft-surface) 76%, transparent);border:1px solid #0000;border-radius:999px;flex:160px;grid-template-columns:1fr auto;align-items:center;padding:0 14px 0 18px;display:grid}.search-box:focus-within{border-color:var(--border-strong);box-shadow:0 0 0 4px var(--primary-soft)}.search-box input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0}.search-box input::placeholder{color:var(--faint)}.language-menu{flex:none;position:relative}.language-trigger{min-width:112px;min-height:42px;color:var(--text);white-space:nowrap;border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-strong) 76%, transparent), color-mix(in srgb, var(--soft-surface) 46%, transparent)), var(--surface);border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:900;display:inline-flex;box-shadow:0 8px 20px #2d5d8c14}.language-trigger svg:last-child{transition:transform .18s}.language-menu.is-open .language-trigger,.language-trigger:hover,.language-trigger:focus-visible{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 36%, var(--border));box-shadow:0 0 0 4px var(--primary-soft)}.language-menu.is-open .language-trigger svg:last-child{transform:rotate(180deg)}.language-menu-panel{z-index:40;border:1px solid color-mix(in srgb, var(--border-strong) 74%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--surface-strong) 88%, transparent), color-mix(in srgb, var(--frame-bg) 58%, transparent)), color-mix(in srgb, var(--frame-bg) 86%, transparent);-webkit-backdrop-filter:blur(20px)saturate(150%);border-radius:12px;gap:5px;width:172px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 44px #2d5d8c2e}.language-menu-panel:before{content:"";border-top:1px solid color-mix(in srgb, var(--border-strong) 74%, transparent);border-left:1px solid color-mix(in srgb, var(--border-strong) 74%, transparent);background:color-mix(in srgb, var(--surface-strong) 90%, var(--frame-bg));width:12px;height:12px;position:absolute;top:-6px;right:28px;transform:rotate(45deg)}.language-menu-panel button{z-index:1;min-height:34px;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:0 10px;font-size:13px;font-weight:850;display:flex;position:relative}.language-menu-panel button small{color:var(--faint);font-size:11px;font-weight:900}.language-menu-panel button:hover,.language-menu-panel button.is-active{color:var(--primary-deep);border-color:color-mix(in srgb, var(--primary) 24%, var(--border));background:var(--primary-soft)}:root[data-theme=dark] .language-trigger{background:linear-gradient(#102444eb,#09172dc2),#09172db8;box-shadow:0 10px 26px #00000038}:root[data-theme=dark] .language-menu-panel{background:linear-gradient(135deg,#102240f5,#071224e0),#071224e6;box-shadow:0 20px 48px #00000057}:root[data-theme=dark] .language-menu-panel:before{background:#102240f5}:root[data-theme=dark] .language-menu-panel button:hover,:root[data-theme=dark] .language-menu-panel button.is-active{color:#dce9ff}.primary-button,.ghost-button,.icon-button{border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:42px;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s;display:inline-flex}.primary-button{color:#fff;border:1px solid color-mix(in srgb, var(--primary) 78%, #fff);background:linear-gradient(180deg, #4d94ff 0%, var(--primary-deep) 100%);padding:0 20px;font-weight:800;box-shadow:0 10px 24px #327be947}.primary-button:hover,.ghost-button:hover,.icon-button:hover{transform:translateY(-1px)}.primary-button:active,.ghost-button:active,.icon-button:active{transform:translateY(0)}.ghost-button{color:var(--primary-deep);border:1px solid color-mix(in srgb, var(--primary) 42%, #fff);background:color-mix(in srgb, var(--surface-strong) 72%, transparent);padding:0 22px;font-weight:800}:root[data-theme=dark] .ghost-button{color:#fff;background:#0a19308c;border-color:#70a4ff85}.icon-button{width:42px;color:var(--text);border:1px solid var(--border);background:var(--surface);padding:0}.nav-toggle{display:none}.hero-section{border:1px solid var(--border);background:var(--hero-overlay), var(--soft-surface);border-radius:14px;align-items:center;min-height:352px;margin-bottom:16px;padding:58px 44px;display:grid;position:relative;overflow:hidden}.hero-section:after{z-index:1;content:"";background:var(--hero-overlay);pointer-events:none;position:absolute;inset:0}.hero-copy,.hero-stats{z-index:2;position:relative}.hero-copy h1{width:max-content;max-width:100%;font-family:var(--site-font);letter-spacing:0;margin:0 0 22px;font-size:52px;line-height:1.2;position:relative}.hero-copy h1:after{content:"";background:var(--yellow);border-radius:999px;width:220px;height:7px;position:absolute;bottom:-8px;right:8px}.hero-copy h1 span{display:block}.hero-copy>p{width:min(470px,100%);color:var(--text);margin:0 0 22px;font-size:17px;line-height:1.85}.hero-actions{flex-wrap:wrap;gap:14px;display:flex}.hero-art{z-index:0;width:100%;position:absolute;inset:0}.hero-art img{object-fit:cover;width:100%;height:100%}.hero-stats{color:color-mix(in srgb, var(--text) 74%, transparent);gap:10px;font-size:13px;display:flex;position:absolute;bottom:18px;right:24px}.hero-stats span{background:color-mix(in srgb, var(--surface-strong) 62%, transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;padding:7px 10px}.content-layout{grid-template-columns:minmax(0,1fr) 352px;gap:16px;display:grid}.main-column,.side-column{align-content:start;gap:16px;display:grid}.panel,.creator-banner{border:1px solid var(--border);background:var(--surface);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.panel{border-radius:10px;padding:18px}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.section-head h2,.about-card h2,.tag-card h2,.entry-card h2{color:var(--text);align-items:center;gap:8px;margin:0;font-size:19px;line-height:1.3;display:flex}.section-head span{color:var(--muted);font-size:14px}.category-tabs{flex-wrap:wrap;gap:9px;margin:-4px 0 16px;display:flex}.category-tabs button,.tag-cloud button,.tag-cloud span{min-height:32px;color:var(--muted);background:color-mix(in srgb, var(--soft-surface) 80%, transparent);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-size:14px;font-weight:800;display:inline-flex}.category-tabs button.is-active,.category-tabs button:hover,.tag-cloud button.is-active,.tag-cloud button:hover,.tag-cloud span:hover{color:var(--primary-deep);border-color:var(--border-strong);background:var(--primary-soft)}:root[data-theme=dark] .category-tabs button.is-active,:root[data-theme=dark] .category-tabs button:hover,:root[data-theme=dark] .tag-cloud button.is-active,:root[data-theme=dark] .tag-cloud button:hover,:root[data-theme=dark] .tag-cloud span:hover{color:#dce9ff}.post-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.post-card{border:1px solid var(--border);background:var(--surface-strong);border-radius:8px;min-width:0;overflow:hidden;box-shadow:0 8px 22px #2d507814}:root[data-theme=dark] .post-card{background:#081426bd;box-shadow:0 10px 28px #0003}.post-image-button{aspect-ratio:1.9;background:var(--soft-surface);border:0;width:100%;height:auto;padding:0;position:relative;overflow:hidden}.post-image-button img{object-fit:cover;object-position:left center;width:100%;height:100%;transition:transform .35s}.post-card:hover .post-image-button img{transform:scale(1.04)}.badge{color:#fff;border-radius:999px;align-items:center;min-height:24px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex;position:absolute;top:12px;left:12px;box-shadow:0 6px 16px #14315529}.poster-badge{-webkit-backdrop-filter:blur(8px);border:1px solid #ffffff47;min-height:26px;padding:0 12px;top:10px;left:10px;box-shadow:inset 0 1px #ffffff40,0 8px 18px #1027482e}.badge-blue{background:#4387ef}.badge-teal{background:#2aa6b4}.badge-violet{background:#7a5be4}.badge-coral{background:#f06e74}.featured-categories-section{display:grid}.featured-category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.featured-category-card{border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-strong) 84%, transparent), color-mix(in srgb, var(--soft-surface) 32%, transparent)), var(--surface);border-radius:10px;align-content:space-between;gap:12px;min-height:188px;padding:16px;display:grid;box-shadow:0 10px 24px #2d5d8c14}.featured-category-icon{width:42px;height:42px;color:var(--category-color,var(--primary));border:1px solid color-mix(in srgb, var(--category-color,var(--primary)) 26%, var(--border));background:color-mix(in srgb, var(--category-color,var(--primary)) 13%, var(--surface));border-radius:10px;place-items:center;display:grid}.featured-category-card h3,.featured-category-card p{margin:0}.featured-category-card h3{color:var(--text);font-size:17px;line-height:1.35}.featured-category-card p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.featured-category-card button{width:100%;min-height:34px;color:var(--primary);border:1px solid var(--border-strong);background:color-mix(in srgb, var(--primary-soft) 72%, transparent);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:0 12px;font-size:13px;font-weight:900;display:inline-flex}.section-subtitle{color:var(--muted);align-items:center;gap:8px;margin:-2px 0 14px;font-size:14px;font-weight:800;display:inline-flex}.post-body{gap:13px;padding:16px 14px 14px;display:grid}.post-title{min-height:44px;color:var(--text);text-align:left;background:0 0;border:0;padding:0;font-size:17px;font-weight:900;line-height:1.45}.post-title:hover{color:var(--primary)}.post-body p{min-height:54px;color:var(--muted);margin:0;font-size:14px;line-height:1.75}.post-meta,.post-modal-meta{color:var(--faint);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-top:10px;font-size:13px;display:flex}.post-meta span,.post-modal-meta span{align-items:center;gap:5px;display:inline-flex}.empty-state{min-height:180px;color:var(--muted);place-items:center;gap:10px;display:grid}.empty-state p{margin:0}.creator-banner{background:linear-gradient(90deg, color-mix(in srgb, var(--soft-surface) 86%, #fff) 0%, color-mix(in srgb, var(--surface-strong) 70%, transparent) 100%), var(--surface);border-radius:14px;grid-template-columns:190px minmax(0,1fr) 110px auto;align-items:center;gap:24px;min-height:132px;padding:18px 38px 18px 22px;display:grid;position:relative;overflow:hidden}.creator-book{width:170px}.creator-plane-icon{width:82px;height:82px;color:color-mix(in srgb, var(--primary) 76%, var(--text));opacity:.86;place-items:center;display:grid}.creator-banner h2{margin:0 0 12px;font-size:25px;line-height:1.25}.creator-banner p{color:var(--muted);margin:0;line-height:1.7}.about-card,.tag-card,.entry-card{padding:22px}.about-content{grid-template-columns:92px 1fr;align-items:center;gap:18px;margin:22px 0 16px;display:grid}.about-content img{object-fit:cover;background:var(--soft-surface);border-radius:50%;width:92px;height:92px}.about-content h3{margin:0 0 10px;font-size:18px;line-height:1.35}.about-content p,.entry-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.75}.social-links{justify-content:center;gap:22px;display:flex}.social-links a{width:32px;height:32px;color:var(--muted);border:1px solid #0000;border-radius:999px;place-items:center;display:grid}.social-links a:hover{color:var(--primary);border-color:var(--border);background:var(--primary-soft)}.tag-cloud{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.tag-cloud button:nth-child(5n+1),.tag-cloud span:nth-child(5n+1){background:color-mix(in srgb, #dff1ff 76%, var(--surface));color:#2d7bd6}.tag-cloud button:nth-child(5n+2),.tag-cloud span:nth-child(5n+2){background:color-mix(in srgb, #dff6ef 76%, var(--surface));color:#169174}.tag-cloud button:nth-child(5n+3),.tag-cloud span:nth-child(5n+3){background:color-mix(in srgb, #ffe9e2 76%, var(--surface));color:#e26b55}.tag-cloud button:nth-child(5n+4),.tag-cloud span:nth-child(5n+4){background:color-mix(in srgb, #eee7ff 76%, var(--surface));color:#7a62d8}.tag-cloud button:nth-child(5n),.tag-cloud span:nth-child(5n){background:color-mix(in srgb, #e2f4f4 76%, var(--surface));color:#278b93}:root[data-theme=dark] .tag-cloud button,:root[data-theme=dark] .tag-cloud span{background:#162b49bd}.entry-card{grid-template-columns:58px 1fr;align-items:start;gap:18px;display:grid}.entry-icon{width:56px;height:56px;color:var(--primary);background:var(--primary-soft);border:1px solid var(--border);border-radius:50%;place-items:center;display:grid}.entry-card .primary-button{min-height:38px;margin-top:16px;padding:0 18px}.message-danmaku-panel{padding:24px;position:relative;overflow:hidden}.message-board-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.message-board-head h2{color:var(--text);align-items:center;gap:9px;margin:0;font-size:28px;line-height:1.2;display:flex}.message-board-head p{color:var(--muted);margin:8px 0 0;line-height:1.6}.message-board-stats{min-width:230px;color:var(--faint);white-space:nowrap;justify-content:flex-end;align-items:center;gap:16px;font-size:13px;display:flex}.message-board-stats span:first-child{color:var(--primary)}.message-form{border:1px solid var(--border);background:linear-gradient(135deg, color-mix(in srgb, var(--surface-strong) 76%, transparent), color-mix(in srgb, var(--surface) 74%, transparent)), var(--surface);border-radius:14px;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:18px;padding:8px;display:grid;box-shadow:inset 0 1px #ffffff57}.message-form input,.composer-modal input,.composer-modal select,.composer-modal textarea{width:100%;min-height:42px;color:var(--text);border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 86%, transparent);border-radius:10px;outline:0;padding:10px 13px}.message-form input:focus,.composer-modal input:focus,.composer-modal select:focus,.composer-modal textarea:focus{border-color:color-mix(in srgb, var(--primary) 62%, var(--border));box-shadow:0 0 0 4px var(--primary-soft)}.message-form .primary-button{border-radius:10px;min-height:42px;padding:0 22px}.message-danmaku-stage{border:1px solid var(--border);background:radial-gradient(circle at 14% 20%, color-mix(in srgb, var(--primary) 18%, transparent) 0 1px, transparent 2px), radial-gradient(circle at 44% 18%, color-mix(in srgb, var(--yellow) 28%, transparent) 0 1px, transparent 2px), radial-gradient(circle at 72% 36%, color-mix(in srgb, var(--primary) 24%, transparent) 0 1px, transparent 2px), radial-gradient(circle at 28% 68%, color-mix(in srgb, var(--primary) 18%, transparent) 0 1px, transparent 2px), linear-gradient(180deg, color-mix(in srgb, var(--surface-strong) 72%, transparent), color-mix(in srgb, var(--surface) 82%, transparent));border-radius:14px;min-height:330px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff3d}.message-danmaku-stage:before{content:"";background:radial-gradient(circle at 8% 84%, color-mix(in srgb, var(--primary) 16%, transparent), transparent 24%), radial-gradient(circle at 88% 88%, color-mix(in srgb, var(--primary-deep) 14%, transparent), transparent 28%);pointer-events:none;position:absolute;inset:0}.message-danmaku-stage:hover .danmaku-bubble{animation-play-state:paused}.danmaku-bubble{top:var(--lane-y);z-index:1;width:max-content;max-width:min(520px,100vw - 72px);min-height:42px;color:var(--text);border:1px solid var(--border-strong);background:linear-gradient(135deg, color-mix(in srgb, var(--surface-strong) 80%, transparent), color-mix(in srgb, var(--surface) 72%, transparent)), var(--surface);box-shadow:0 12px 30px color-mix(in srgb, var(--primary) 12%, transparent);-webkit-backdrop-filter:blur(14px);animation:danmaku-float var(--duration) linear infinite;animation-delay:var(--delay);border-radius:999px;align-items:center;gap:10px;padding:6px 16px 6px 7px;display:inline-flex;position:absolute;left:0}.danmaku-avatar{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-deep));border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:14px;display:grid;box-shadow:inset 0 1px #ffffff47}.danmaku-text{text-overflow:ellipsis;white-space:nowrap;max-width:330px;overflow:hidden}.danmaku-name{color:var(--faint);font-size:12px}.danmaku-blue{border-color:color-mix(in srgb, var(--primary) 48%, var(--border))}.danmaku-teal{border-color:color-mix(in srgb, #3fbfb6 44%, var(--border))}.danmaku-violet{border-color:color-mix(in srgb, #8b6dff 46%, var(--border))}.danmaku-coral{border-color:color-mix(in srgb, #ff8c7a 42%, var(--border))}.danmaku-gold{border-color:color-mix(in srgb, var(--yellow) 52%, var(--border))}.danmaku-empty{z-index:1;min-height:330px;color:var(--muted);text-align:center;place-items:center;display:grid;position:relative}.danmaku-empty strong{color:var(--text)}.danmaku-empty p{margin:8px 0 0}@keyframes danmaku-float{0%{transform:translate(calc(100vw + 120px))}to{transform:translate(calc(-100% - 180px))}}.site-footer{color:var(--faint);flex-wrap:wrap;justify-content:center;gap:28px;padding:28px 12px 0;font-size:13px;display:flex}.site-footer span:not(:last-child):after{color:var(--border-strong);content:"|";margin-left:28px}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(14px);background:#040c186b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}:root[data-theme=dark] .modal-backdrop{background:#010711a8}.modal-card{width:min(640px,100%);max-height:min(88vh,820px);color:var(--text);border:1px solid var(--border-strong);background:var(--surface-strong);border-radius:12px;padding:26px;position:relative;overflow:auto;box-shadow:0 26px 70px #00000047}.modal-close{width:34px;height:34px;color:var(--muted);border:1px solid var(--border);background:var(--surface);border-radius:50%;place-items:center;display:grid;position:absolute;top:14px;right:14px}.modal-card h2{margin:0 44px 22px 0;font-size:26px}.composer-modal form{gap:16px;display:grid}.composer-modal label{color:var(--muted);gap:8px;font-weight:800;display:grid}.composer-modal textarea{resize:vertical;min-height:148px}.composer-modal .primary-button{width:max-content}.compose-page{gap:16px;display:grid}.compose-layout{grid-template-columns:minmax(0,1fr) 392px;align-items:start;gap:16px;display:grid}.compose-main{padding:0;overflow:hidden}.compose-main-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:22px 26px 18px;display:flex}.compose-main-head h1,.compose-settings h2,.compose-assistant h2{color:var(--text);margin:0;font-size:22px;line-height:1.35}.compose-main-head h1{padding-left:16px;position:relative}.compose-main-head h1:before{content:"";background:var(--primary);border-radius:999px;width:4px;position:absolute;top:4px;bottom:4px;left:0}.compose-main-head p{color:var(--muted);margin:6px 0 0;font-size:14px}.compose-notice{min-height:30px;color:var(--primary);border:1px solid var(--border);background:var(--primary-soft);border-radius:999px;flex:none;padding:6px 12px;font-size:13px;font-weight:900}.compose-form-body{gap:20px;padding:22px 26px 0;display:grid}.compose-field{color:var(--text);gap:10px;font-weight:900;display:grid}.compose-field.compact{gap:9px}.compose-field>span{color:var(--text);align-items:center;gap:4px;font-size:15px;display:inline-flex}.compose-field strong{color:#ec4f66}.compose-field small{color:var(--faint);font-size:13px;font-weight:700}.compose-input-wrap{position:relative}.compose-input-wrap input,.compose-input-wrap textarea,.compose-field.compact>input,.compose-field.compact>textarea,.compose-field.compact select{width:100%;min-height:46px;color:var(--text);border:1px solid var(--border-strong);background:color-mix(in srgb, var(--surface-strong) 84%, transparent);border-radius:8px;outline:0;padding:12px 58px 12px 14px}.compose-input-wrap textarea{resize:vertical;min-height:82px}.compose-field.compact>textarea{resize:vertical;min-height:82px;padding-right:14px}.compose-field.compact>input,.compose-field.compact select{padding-right:14px}.compose-input-wrap input:focus,.compose-input-wrap textarea:focus,.compose-field.compact>input:focus,.compose-field.compact>textarea:focus,.compose-field.compact select:focus,.compose-editor textarea:focus{border-color:color-mix(in srgb, var(--primary) 64%, var(--border));box-shadow:0 0 0 4px var(--primary-soft)}.compose-input-wrap input::placeholder,.compose-input-wrap textarea::placeholder,.compose-field.compact>input::placeholder,.compose-field.compact>textarea::placeholder,.compose-editor textarea::placeholder{color:var(--faint)}.compose-custom-select{z-index:6;position:relative}.compose-custom-select>button{width:100%;min-height:46px;color:var(--text);border:1px solid var(--border-strong);background:color-mix(in srgb, var(--surface-strong) 84%, transparent);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;font-weight:900;display:flex}.compose-custom-select>button svg{color:var(--faint);flex:none;transition:transform .2s}.compose-custom-select.is-open>button{border-color:color-mix(in srgb, var(--primary) 68%, var(--border));box-shadow:0 0 0 4px var(--primary-soft)}.compose-custom-select.is-open>button svg{color:var(--primary);transform:rotate(180deg)}.compose-custom-select-menu{z-index:10;border:1px solid color-mix(in srgb, var(--border-strong) 74%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--surface-strong) 90%, transparent), color-mix(in srgb, var(--soft-surface) 52%, transparent)), var(--surface-strong);-webkit-backdrop-filter:blur(18px)saturate(145%);border-radius:10px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 18px 40px #2d5d8c29}.compose-custom-select-menu button{min-height:36px;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;padding:0 12px;font-weight:900}.compose-custom-select-menu button:hover,.compose-custom-select-menu button.is-active{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 28%, var(--border));background:var(--primary-soft)}.compose-tag-suggestions{flex-wrap:wrap;gap:8px;display:flex}.compose-tag-suggestions button{min-height:30px;color:var(--muted);border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 74%, transparent);border-radius:999px;padding:0 10px;font-size:12px;font-weight:900}.compose-tag-suggestions button:hover,.compose-tag-suggestions button.is-active{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 36%, var(--border));background:var(--primary-soft)}.compose-input-wrap em{color:var(--faint);font-size:13px;font-style:normal;font-weight:800;position:absolute;bottom:12px;right:12px}.compose-cover-dropzone{min-height:138px;color:var(--muted);text-align:center;border:1px dashed color-mix(in srgb, var(--border-strong) 82%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--soft-surface) 42%, transparent), transparent), color-mix(in srgb, var(--surface-strong) 78%, transparent);border-radius:10px;place-items:center;gap:8px;padding:22px;display:grid}.compose-cover-dropzone input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.compose-cover-dropzone svg{color:var(--primary)}.compose-cover-dropzone strong{color:var(--muted);font-size:14px}.compose-editor{border:1px solid var(--border-strong);background:color-mix(in srgb, var(--surface-strong) 84%, transparent);border-radius:9px;overflow:hidden}.compose-editor-toolbar{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--soft-surface) 42%, transparent);align-items:center;gap:4px;min-height:46px;padding:6px 10px;display:flex}.compose-editor-toolbar button{width:34px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.compose-editor-toolbar button:hover{color:var(--primary);background:var(--primary-soft)}.compose-editor textarea{width:100%;min-height:268px;color:var(--text);resize:vertical;background:0 0;border:0;outline:0;padding:18px;line-height:1.85}.compose-editor-foot{min-height:36px;color:var(--faint);border-top:1px solid var(--border);justify-content:space-between;gap:12px;padding:9px 12px;font-size:13px;font-weight:800;display:flex}.compose-actions{align-items:center;gap:14px;padding:22px 26px 24px;display:flex}.compose-submit{margin-left:auto}.compose-sidebar{gap:16px;display:grid}.compose-settings,.compose-assistant{gap:20px;padding:22px;display:grid}.compose-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.compose-status-grid button{min-height:74px;color:var(--muted);border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 78%, transparent);border-radius:8px;justify-items:center;gap:5px;padding:10px 8px;display:grid}.compose-status-grid button svg{color:var(--faint)}.compose-status-grid button strong{color:var(--text);font-size:14px}.compose-status-grid button small{font-size:12px}.compose-status-grid button:hover,.compose-status-grid button.is-active{border-color:color-mix(in srgb, var(--primary) 74%, var(--border));background:var(--primary-soft);box-shadow:0 10px 22px #327be91f}.compose-status-grid button.is-active svg,.compose-status-grid button.is-active strong,.compose-status-grid button.is-active small{color:var(--primary)}.compose-publish-options{gap:8px;display:grid}.compose-radio{width:100%;min-height:50px;color:var(--muted);border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 78%, transparent);border-radius:8px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;padding:9px 11px;font-size:14px;font-weight:800;display:grid}.compose-radio:hover,.compose-radio.is-active{border-color:color-mix(in srgb, var(--primary) 64%, var(--border));background:var(--primary-soft)}.compose-radio input{width:18px;height:18px;accent-color:var(--primary);margin:0}.compose-radio-text{gap:3px;min-width:0;line-height:1.35;display:grid}.compose-radio-text strong{color:var(--text);white-space:nowrap;font-size:14px}.compose-radio-text small{color:var(--faint);white-space:nowrap;font-size:12px;font-weight:700}.compose-radio.is-active .compose-radio-text strong,.compose-radio.is-active .compose-radio-text small{color:var(--primary)}.compose-schedule-panel{border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--soft-surface) 36%, transparent), transparent), color-mix(in srgb, var(--surface-strong) 76%, transparent);opacity:.66;border-radius:10px;gap:10px;padding:12px;transition:opacity .2s,border-color .2s,background .2s;display:grid}.compose-schedule-panel.is-active{border-color:color-mix(in srgb, var(--primary) 46%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--primary-soft) 72%, transparent), transparent), color-mix(in srgb, var(--surface-strong) 82%, transparent);opacity:1}.compose-schedule-grid{grid-template-columns:minmax(0,1.1fr) minmax(86px,.72fr);gap:8px;display:grid}.compose-schedule-control{gap:5px;min-width:0;display:grid}.compose-schedule-control span{color:var(--faint);font-size:12px;font-weight:900}.compose-schedule-control input{width:100%;min-width:0;height:38px;color:var(--text);border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 86%, transparent);border-radius:8px;outline:0;padding:0 10px;font-weight:900}.compose-schedule-control input:focus{border-color:color-mix(in srgb, var(--primary) 62%, var(--border));box-shadow:0 0 0 3px var(--primary-soft)}.compose-schedule-control input:disabled{color:var(--faint);cursor:not-allowed}.compose-quick-times{flex-wrap:wrap;gap:7px;display:flex}.compose-quick-times button{min-height:30px;color:var(--primary);border:1px solid color-mix(in srgb, var(--primary) 25%, var(--border));background:var(--primary-soft);border-radius:999px;padding:0 10px;font-size:13px;font-weight:900}.compose-quick-times button:disabled{color:var(--faint);cursor:not-allowed;border-color:var(--border);background:color-mix(in srgb, var(--surface-strong) 62%, transparent)}.compose-more-settings{border-top:1px solid var(--border);gap:10px;padding-top:14px;display:grid}.compose-more-settings h3{color:var(--text);margin:0 0 2px;font-size:15px}.compose-toggle-row{min-height:34px;color:var(--muted);background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0;font-weight:800;display:flex}.compose-toggle-row span{align-items:center;gap:8px;display:inline-flex}.compose-toggle-row i{background:color-mix(in srgb, var(--faint) 22%, var(--surface-strong));border-radius:999px;width:36px;height:20px;transition:background .2s;position:relative}.compose-toggle-row i:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 7px #1431552e}.compose-toggle-row i.is-on{background:var(--primary)}.compose-toggle-row i.is-on:after{transform:translate(16px)}.assistant-list{gap:12px;display:grid}.assistant-item{min-height:58px;color:var(--muted);text-align:left;background:0 0;border:0;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 0;display:grid}.assistant-item>span{border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.assistant-item strong{color:var(--text);font-size:15px;display:block}.assistant-item small{color:var(--faint);margin-top:4px;font-size:13px;display:block}.assistant-item:hover strong,.assistant-item:hover svg:last-child{color:var(--primary)}.assistant-mint>span{color:#159b84;background:color-mix(in srgb, #dff6ef 74%, var(--surface))}.assistant-violet>span{color:#7a62d8;background:color-mix(in srgb, #eee7ff 74%, var(--surface))}.assistant-orange>span{color:#df7550;background:color-mix(in srgb, #ffe9e2 74%, var(--surface))}.compose-author-strip{border:1px solid var(--border);background:var(--surface);box-shadow:var(--card-shadow);border-radius:10px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 18px;display:grid}.compose-author-strip img{object-fit:cover;border-radius:50%;width:48px;height:48px}.compose-author-strip strong,.compose-author-strip span{display:block}.compose-author-strip span{color:var(--faint);margin-top:4px;font-size:13px}:root[data-theme=dark] .compose-input-wrap input,:root[data-theme=dark] .compose-input-wrap textarea,:root[data-theme=dark] .compose-field.compact>input,:root[data-theme=dark] .compose-field.compact>textarea,:root[data-theme=dark] .compose-field.compact select,:root[data-theme=dark] .compose-editor,:root[data-theme=dark] .compose-status-grid button,:root[data-theme=dark] .compose-custom-select>button,:root[data-theme=dark] .compose-schedule-control input{background:#081426bd}:root[data-theme=dark] .compose-custom-select-menu{background:linear-gradient(135deg,#0f1f3af0,#081426db),#081426f0;box-shadow:0 18px 42px #00000052}:root[data-theme=dark] .compose-schedule-panel{background:linear-gradient(#23477933,#0000),#08142694}:root[data-theme=dark] .compose-schedule-panel.is-active{background:linear-gradient(#2a5ca842,#0000),#0d1f3adb}.post-modal{background:linear-gradient(135deg, #fafdfff0, #e8f4ffd6), var(--surface-strong);-webkit-backdrop-filter:blur(22px)saturate(145%);border-color:#5397e652;grid-template-columns:minmax(0,1.18fr) minmax(360px,.88fr);gap:10px;width:min(1420px,100vw - 56px);max-height:min(88vh,860px);padding:10px;display:grid;overflow:hidden;box-shadow:0 30px 90px #1a3f6938,inset 0 1px #ffffff5c}:root[data-theme=dark] .post-modal{background:linear-gradient(135deg,#09172ceb,#071224c2),#040d1beb;border-color:#5c99ee61;box-shadow:0 30px 90px #0000007a,inset 0 1px #ffffff12}.post-modal .modal-close{z-index:3;color:var(--text);background:color-mix(in srgb, var(--surface-strong) 72%, transparent);-webkit-backdrop-filter:blur(14px);top:22px;right:22px;box-shadow:0 10px 24px #10274824}.post-modal-reader,.post-comments-panel{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 82%, transparent);border-radius:10px;min-width:0;box-shadow:inset 0 1px #ffffff14}.post-modal-reader{grid-template-rows:auto minmax(0,1fr);display:grid;overflow:auto}.post-modal-cover{border-radius:8px;position:relative;overflow:hidden}.post-modal-cover img{object-fit:cover;width:100%;height:260px;display:block}.post-modal-content{padding:24px}.post-modal h2{color:var(--text);margin:0 44px 14px 0;font-size:30px;line-height:1.35}.post-modal-meta{border-top:0;justify-content:flex-start;margin-bottom:18px;padding-top:0}.post-summary{border:1px solid var(--border);border-left:3px solid var(--primary);background:color-mix(in srgb, var(--primary-soft) 52%, transparent);border-radius:8px;margin:20px 0;padding:18px 18px 18px 20px}.post-summary h3{color:var(--primary);margin:0 0 10px;font-size:18px;line-height:1.3}.post-summary p,.post-article-body p{color:var(--muted);margin:0;font-size:16px;line-height:1.9}.post-article-body{gap:18px;display:grid}.post-modal-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding-top:18px;display:flex}.post-action-group,.comment-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.post-action-group button,.comment-actions button,.comment-head button,.comment-icon-button,.comment-more{min-height:34px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0;display:inline-flex}.post-action-group button{min-width:64px;font-weight:800}.post-action-group button:hover,.comment-actions button:hover,.comment-head button:hover,.comment-icon-button:hover,.comment-more:hover{color:var(--primary)}.post-comments-panel{grid-template-rows:auto auto minmax(0,1fr) auto;gap:16px;padding:24px;display:grid;overflow:hidden}.post-comments-panel h3{color:var(--text);margin:0;font-size:27px;line-height:1.3}.comment-compose{grid-template-columns:44px 1fr;gap:14px;display:grid}.comment-avatar{width:44px;height:44px;color:var(--primary);border:1px solid var(--border);background:var(--primary-soft);border-radius:50%;flex:none;place-items:center;font-weight:900;display:grid}.comment-compose-main textarea{width:100%;min-height:78px;color:var(--text);border:1px solid var(--border-strong);background:color-mix(in srgb, var(--surface-strong) 72%, transparent);resize:vertical;border-radius:8px;outline:0;padding:14px}.comment-compose-main textarea:focus{border-color:color-mix(in srgb, var(--primary) 62%, var(--border));box-shadow:0 0 0 4px var(--primary-soft)}.comment-compose-main textarea::placeholder{color:var(--faint)}.comment-compose-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.comment-icon-button{width:36px;color:var(--muted)}.comment-compose-main .primary-button:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}.comment-list{align-content:start;padding-right:6px;display:grid;overflow:auto}.comment-list::-webkit-scrollbar{width:6px}.post-modal-reader::-webkit-scrollbar{width:6px}.comment-list::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--primary) 42%, transparent);border-radius:999px}.post-modal-reader::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--primary) 42%, transparent);border-radius:999px}.comment-item{border-top:1px solid var(--border);grid-template-columns:44px 1fr;gap:14px;padding:16px 0;display:grid}.comment-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.comment-head strong{color:var(--text);margin-right:8px;font-size:16px;display:inline-flex}.comment-head span{min-height:21px;color:var(--primary);background:var(--primary-soft);border-radius:999px;align-items:center;padding:0 7px;font-size:12px;font-weight:900;display:inline-flex}.comment-body time{color:var(--faint);margin-top:4px;font-size:13px;display:block}.comment-body p{color:var(--muted);margin:10px 0 0;font-size:15px;line-height:1.75}.comment-actions{gap:18px;margin-top:10px}.comment-more{min-height:32px;color:var(--primary);justify-self:center;font-weight:800}.article-page{gap:16px;display:grid}.article-back-button{justify-self:start;margin:2px 0 0}.article-detail-layout{grid-template-columns:minmax(0,1fr) 352px;gap:16px;display:grid}.article-reader{padding:0;overflow:hidden}.article-cover{aspect-ratio:2.45;background:var(--soft-surface);min-height:320px;position:relative;overflow:hidden}.article-cover img{object-fit:cover;width:100%;height:100%}.article-reader-content{padding:30px 34px 34px}.article-reader h1{color:var(--text);margin:0 0 16px;font-size:38px;line-height:1.25}.article-detail-meta{color:var(--faint);flex-wrap:wrap;gap:16px;font-size:14px;display:flex}.article-detail-meta span{align-items:center;gap:6px;display:inline-flex}.article-detail-tags{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.article-detail-tags span{min-height:28px;color:var(--primary);border:1px solid color-mix(in srgb, var(--primary) 24%, var(--border));background:var(--primary-soft);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900;line-height:1.35}.article-summary{border:1px solid var(--border);border-left:4px solid var(--primary);background:color-mix(in srgb, var(--primary-soft) 50%, transparent);border-radius:8px;margin:28px 0;padding:20px 22px}.article-summary h2{color:var(--primary);margin:0 0 10px;font-size:18px}.article-summary p,.article-content p{color:var(--muted);margin:0;font-size:17px;line-height:1.95}.article-content{gap:20px;display:grid}.article-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:16px;margin-top:30px;padding-top:20px;display:flex}.article-actions>button:not(.primary-button){min-height:40px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-weight:800;display:inline-flex}.article-actions>button:not(.primary-button):hover{color:var(--primary)}.article-side-column{align-content:start;gap:16px;display:grid}.article-author-card{grid-template-columns:72px 1fr;align-items:center;gap:16px;display:grid}.article-related-card{gap:12px;display:grid}.article-related-card h2{color:var(--text);margin:0;font-size:18px}.article-related-list{gap:10px;display:grid}.article-related-list button{text-align:left;border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 82%, transparent);border-radius:10px;grid-template-columns:86px minmax(0,1fr);gap:10px;width:100%;min-height:78px;padding:8px;display:grid}.article-related-list button:hover{border-color:color-mix(in srgb, var(--primary) 42%, var(--border));transform:translateY(-1px)}.article-related-list img{object-fit:cover;border-radius:8px;width:86px;height:62px}.article-related-list div{align-content:start;gap:6px;min-width:0;display:grid}.article-related-list strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:950;line-height:1.35;overflow:hidden}.article-related-list small{color:var(--faint);font-size:12px;font-weight:800}.article-author-card img{object-fit:cover;background:var(--soft-surface);border-radius:50%;width:72px;height:72px}.article-author-card h2,.article-comments-card h2,.article-not-found h1{color:var(--text);margin:0 0 10px;font-size:21px;line-height:1.35}.article-author-card p,.article-not-found p{color:var(--muted);margin:0;font-size:14px;line-height:1.75}.article-comments-card{grid-template-rows:auto auto minmax(0,1fr);gap:16px;max-height:min(690px,100vh - 112px);display:grid;overflow:hidden}.article-comments-card h2{align-items:baseline;gap:7px;margin-bottom:0;display:flex}.article-comments-card h2 span{color:var(--faint);font-size:15px;font-weight:800}.article-comment-list{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:280px;max-height:min(440px,48vh);padding-right:8px;overflow-y:auto}.article-comment-list:focus{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--primary) 24%, transparent);border-radius:8px;outline:0}.comment-scroll-status{min-height:38px;color:var(--faint);border-top:1px solid var(--border);place-items:center;font-size:13px;font-weight:800;display:grid}.article-not-found{text-align:center;place-items:center;gap:14px;min-height:360px;display:grid}.articles-page{gap:14px;display:grid}.articles-toolbar{border-bottom:1px solid var(--border);gap:12px;padding:2px 8px 12px;display:grid}.articles-sort-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.articles-category-tabs,.articles-subcategory-tabs,.articles-filter-tabs{flex-wrap:wrap;gap:12px;display:flex}.articles-category-tabs button,.articles-subcategory-tabs button,.articles-filter-tabs button{min-height:34px;color:var(--muted);border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 74%, transparent);border-radius:999px;padding:0 20px;font-size:14px;font-weight:900;box-shadow:0 8px 20px #2d5d8c0f}.articles-category-tabs button:hover,.articles-category-tabs button.is-active,.articles-subcategory-tabs button:hover,.articles-subcategory-tabs button.is-active,.articles-filter-tabs button:hover,.articles-filter-tabs button.is-active{color:#fff;border-color:color-mix(in srgb, var(--primary) 78%, #fff);background:linear-gradient(180deg, #4d94ff 0%, var(--primary-deep) 100%);box-shadow:0 10px 22px #327be938}.articles-view-tools{border:1px solid var(--border);background:color-mix(in srgb, var(--soft-surface) 72%, transparent);border-radius:9px;gap:4px;padding:4px;display:inline-flex}.articles-view-tools button{width:34px;height:30px;color:var(--faint);background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.articles-view-tools button:hover,.articles-view-tools button.is-active{color:var(--primary);background:var(--surface-strong);box-shadow:0 8px 16px #2d5d8c14}.articles-feed{gap:12px;display:grid}.article-feed-row{grid-template-columns:minmax(0,1.9fr) minmax(300px,.75fr);align-items:stretch;gap:10px;min-height:0;display:grid}.articles-feed-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));align-items:stretch}.articles-feed-grid .article-feed-row{min-width:0;display:block}.articles-feed-grid .article-feed-card{grid-template-columns:1fr;align-content:start;gap:12px;height:100%;min-height:324px;max-height:none;padding:10px}.articles-feed-grid .article-feed-cover{aspect-ratio:1.65}.articles-feed-grid .article-feed-content{align-content:start;gap:9px}.articles-feed-grid .article-feed-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:18px;line-height:1.35;display:-webkit-box;overflow:hidden}.articles-feed-grid .article-feed-content>p{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.articles-feed-grid .article-feed-footer{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding-top:2px}.articles-feed-grid .article-feed-author img{width:36px;height:36px}.articles-feed-grid .article-feed-author strong,.articles-feed-grid .article-feed-author time,.articles-feed-grid .article-feed-stats span{font-size:12px}.articles-feed-grid .article-feed-stats{gap:10px}.articles-feed-grid .article-read-button{grid-column:1/-1;justify-self:stretch;min-height:34px;padding:0 12px}.articles-feed-grid .article-row-comments{display:none}.article-feed-card,.article-row-comments{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(14px);border-radius:10px}.article-feed-card{grid-template-columns:minmax(210px,260px) minmax(0,1fr);align-items:center;gap:16px;height:218px;max-height:218px;padding:10px;display:grid;overflow:hidden}.article-feed-cover{aspect-ratio:1.72;background:var(--soft-surface);border:0;border-radius:8px;min-width:0;padding:0;position:relative;overflow:hidden}.article-feed-cover img{object-fit:cover;object-position:left center;width:100%;height:100%;transition:transform .34s}.article-feed-card:hover .article-feed-cover img{transform:scale(1.035)}.article-feed-content{align-content:center;gap:9px;min-width:0;display:grid}.article-feed-tags{flex-wrap:wrap;gap:7px;display:flex}.article-feed-tags span{min-height:24px;color:var(--primary);border:1px solid color-mix(in srgb, var(--primary) 24%, var(--border));background:color-mix(in srgb, var(--primary-soft) 72%, transparent);border-radius:999px;align-items:center;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.article-feed-title{width:100%;color:var(--text);text-align:left;background:0 0;border:0;padding:0;font-size:21px;font-weight:900;line-height:1.3;display:block}.article-feed-title:hover{color:var(--primary)}.article-feed-content>p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.article-feed-footer{grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;gap:12px;padding-top:4px;display:grid}.article-feed-author{align-items:center;gap:10px;min-width:0;display:flex}.article-feed-author img{object-fit:cover;background:var(--soft-surface);border-radius:50%;width:40px;height:40px}.article-feed-author strong{color:var(--text);font-size:13px;line-height:1.3;display:block}.article-feed-author time,.article-feed-stats span{color:var(--faint);align-items:center;gap:6px;font-size:13px;display:inline-flex}.article-feed-author time{margin-top:4px}.article-feed-stats{white-space:nowrap;align-items:center;gap:12px;display:flex}.article-read-button{white-space:nowrap;min-height:34px;padding:0 14px}.article-row-comments{grid-template-rows:auto minmax(0,1fr);align-content:start;gap:8px;height:218px;min-height:0;max-height:218px;padding:12px 14px;display:grid;overflow:hidden}.article-row-comments-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.article-row-comments-head h2{color:var(--text);margin:0;font-size:16px;line-height:1.35}.article-row-comments-head h2 span{color:var(--faint);font-weight:800}.article-row-comments-head .link-button{white-space:nowrap;min-height:30px;font-size:13px}.article-row-comment-list{overscroll-behavior:contain;scrollbar-gutter:stable;gap:6px;min-height:0;padding-right:6px;display:grid;overflow-y:auto}.article-row-comment-list:focus{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--primary) 28%, transparent);border-radius:8px;outline:0}.article-row-comment-list::-webkit-scrollbar{width:6px}.article-row-comment-list::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--primary) 42%, transparent);border-radius:999px}.article-row-comment{border-top:1px solid var(--border);grid-template-columns:30px minmax(0,1fr);gap:8px;padding-top:8px;display:grid}.article-row-comment-avatar{width:30px;height:30px;color:var(--primary);border:1px solid var(--border);background:var(--primary-soft);border-radius:50%;place-items:center;font-size:12px;font-weight:900;display:grid}.article-row-comment-body{min-width:0}.article-row-comment-body>div:first-child{align-items:baseline;gap:8px;display:flex}.article-row-comment-body strong{color:var(--primary-deep);font-size:14px;line-height:1.35}.article-row-comment-body time{color:var(--faint);font-size:12px}.article-row-comment-body p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.article-row-comment-actions{color:var(--faint);gap:16px;margin-top:6px;font-size:12px;display:flex}.article-row-comment-actions span{align-items:center;gap:5px;display:inline-flex}.article-row-more-comments{min-height:30px;color:var(--primary);border:1px solid var(--border);background:color-mix(in srgb, var(--primary-soft) 60%, transparent);border-radius:8px;font-size:13px;font-weight:900}.articles-empty{text-align:center;place-items:center;gap:10px;min-height:260px;display:grid}.articles-empty h1,.articles-empty p{margin:0}.articles-empty p{color:var(--muted)}.articles-pagination{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:14px 8px 0;display:flex}.articles-pagination button{min-width:36px;height:34px;color:var(--muted);border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-weight:800;display:inline-flex}.articles-pagination button:disabled{cursor:not-allowed;opacity:.42;box-shadow:none}.articles-pagination button:hover,.articles-pagination button.is-active{color:#fff;border-color:color-mix(in srgb, var(--primary) 78%, #fff);background:linear-gradient(180deg, #4d94ff 0%, var(--primary-deep) 100%)}.articles-pagination button:disabled:hover{color:var(--muted);border-color:var(--border);background:var(--surface)}.pagination-page-group{align-items:center;gap:10px;display:inline-flex}.pagination-ellipsis{color:var(--faint);font-weight:900}.articles-pagination p{color:var(--faint);margin:0 0 0 12px}:root[data-theme=dark] .articles-category-tabs button,:root[data-theme=dark] .articles-subcategory-tabs button,:root[data-theme=dark] .articles-filter-tabs button,:root[data-theme=dark] .articles-view-tools{background:#0c1a32b8}:root[data-theme=dark] .article-feed-card,:root[data-theme=dark] .article-row-comments{background:#09162ac7}:root[data-theme=dark] .articles-view-tools button.is-active,:root[data-theme=dark] .articles-view-tools button:hover{background:#132748e0}:root[data-theme=dark] .article-row-comment-body strong{color:#9cc5ff}.danger-button{color:#ec4f66;border-color:color-mix(in srgb, #ec4f66 32%, var(--border))}.danger-button:hover{color:#fff;background:#ec4f66}.categories-page{gap:18px;display:grid}.categories-hero{border:1px solid var(--border);min-height:240px;box-shadow:var(--card-shadow);background:linear-gradient(90deg,#ecf8fff0,#ecf8ff7a),url(/assets/hero-scene.png) 100%/cover no-repeat;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding:34px;display:grid;position:relative;overflow:hidden}:root[data-theme=dark] .categories-hero{background:linear-gradient(90deg,#081426f0,#12305a8f),url(/assets/hero-scene-dark.png) 100%/cover no-repeat}.section-kicker{color:var(--primary);align-items:center;gap:8px;font-size:14px;font-weight:900;display:inline-flex}.categories-hero h1,.categories-hero p{margin:0}.categories-hero h1{color:var(--text);margin-top:14px;font-size:42px;line-height:1.1}.categories-hero p{max-width:560px;color:var(--muted);margin-top:14px;font-size:16px;line-height:1.8}.categories-hero-stats{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 72%, transparent);border-radius:10px;grid-template-columns:auto auto;align-items:baseline;gap:6px 10px;padding:16px 18px;display:grid}.categories-hero-stats strong{color:var(--primary);font-size:28px;line-height:1}.categories-hero-stats span{color:var(--muted);font-size:13px;font-weight:900}.categories-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:18px;display:grid}.categories-main-column,.categories-side-column{gap:14px;display:grid}.categories-filter-tabs{flex-wrap:wrap;gap:10px;padding:4px 0;display:flex}.categories-filter-tabs button{min-height:34px;color:var(--muted);border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 74%, transparent);border-radius:999px;padding:0 18px;font-size:14px;font-weight:900}.categories-filter-tabs button:hover,.categories-filter-tabs button.is-active{color:#fff;border-color:color-mix(in srgb, var(--primary) 78%, #fff);background:linear-gradient(180deg, #4d94ff 0%, var(--primary-deep) 100%)}.category-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.category-directory-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--card-shadow);border-radius:10px;gap:12px;padding:18px;display:grid}.category-directory-card.is-active{border-color:color-mix(in srgb, var(--primary) 46%, var(--border));box-shadow:0 14px 32px #327be924}.category-directory-head{justify-content:space-between;gap:12px;display:flex}.category-directory-icon{width:44px;height:44px;color:var(--category-color,var(--primary));border:1px solid color-mix(in srgb, var(--category-color,var(--primary)) 26%, var(--border));background:color-mix(in srgb, var(--category-color,var(--primary)) 13%, var(--surface));border-radius:12px;place-items:center;display:grid}.category-directory-head button{width:36px;height:36px;color:var(--primary);border:1px solid var(--border);background:color-mix(in srgb, var(--primary-soft) 62%, transparent);border-radius:8px;place-items:center;display:grid}.category-directory-card h2,.category-directory-card p{margin:0}.category-directory-card h2{color:var(--text);font-size:22px}.category-directory-card p{color:var(--muted);line-height:1.65}.category-directory-meta{flex-wrap:wrap;gap:8px;display:flex}.category-directory-meta span,.category-child-list button{min-height:28px;color:var(--faint);border:1px solid var(--border);background:color-mix(in srgb, var(--soft-surface) 68%, transparent);border-radius:999px;padding:0 10px;font-size:12px;font-weight:900}.category-child-list{flex-wrap:wrap;gap:8px;display:flex}.category-child-list button:hover{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 26%, var(--border));background:var(--primary-soft)}.categories-side-card{gap:12px;display:grid}.categories-side-card h2{color:var(--text);margin:0;font-size:17px}.compact-tags{margin-top:0}.category-stat-list,.recommended-category-list{gap:10px;display:grid}.category-stat-list span,.recommended-category-list button{min-height:36px;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-weight:900;display:flex}.category-stat-list strong{color:var(--primary)}.recommended-category-list button{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 70%, transparent);border-radius:8px;padding:0 10px}.recommended-category-list button span{background:var(--category-color,var(--primary));border-radius:50%;width:9px;height:9px}.admin-login-shell,.admin-shell{min-height:100vh;color:var(--text);background:radial-gradient(circle at top left, color-mix(in srgb, var(--primary-soft) 70%, transparent), transparent 34%), var(--body-texture)}.admin-login-shell{place-items:center;padding:24px;display:grid}.admin-login-card{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 92%, transparent);width:min(460px,100%);box-shadow:var(--shadow);border-radius:16px;gap:16px;padding:30px;display:grid}.admin-login-brand{justify-content:space-between;align-items:center;gap:14px;display:flex}.admin-login-brand img{width:144px}.admin-login-brand span,.admin-count-pill,.admin-status-badge{border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.admin-login-brand span,.admin-count-pill{color:var(--primary);background:var(--primary-soft)}.admin-login-card h1,.admin-login-card p{margin:0}.admin-login-card h1{color:var(--text);font-size:32px}.admin-login-card p,.admin-login-hint{color:var(--muted);line-height:1.7}.admin-login-card form{gap:12px;display:grid}.admin-login-card label,.admin-field{color:var(--muted);gap:8px;font-size:13px;font-weight:900;display:grid}.admin-login-card input,.admin-field input,.admin-field select,.admin-field textarea,.admin-inline-form input,.admin-toolbar select,.admin-search input{width:100%;min-height:42px;color:var(--text);border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 76%, transparent);border-radius:10px;outline:0;padding:0 13px}.admin-field textarea{resize:vertical;min-height:92px;padding-top:12px;line-height:1.65}.admin-login-card input:focus,.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus,.admin-inline-form input:focus,.admin-search input:focus{border-color:color-mix(in srgb, var(--primary) 54%, var(--border));box-shadow:0 0 0 4px var(--primary-soft)}.admin-login-error,.admin-form-error{color:#d63752;border:1px solid color-mix(in srgb, #d63752 28%, var(--border));background:#d6375217;border-radius:10px;padding:10px 12px;font-size:13px;display:block}.admin-login-hint{background:color-mix(in srgb, var(--soft-surface) 72%, transparent);border-radius:10px;gap:4px;padding:12px;font-size:13px;display:grid}.admin-shell{grid-template-columns:248px minmax(0,1fr);display:grid}.admin-sidebar{border-right:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-strong) 90%, transparent), color-mix(in srgb, var(--frame-bg) 72%, transparent)), var(--frame-bg);grid-template-rows:auto 1fr;align-self:start;gap:18px;height:100vh;padding:18px 14px;display:grid;position:sticky;top:0;box-shadow:10px 0 30px #2d5d8c14}.admin-brand{color:var(--primary);background:0 0;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-weight:950;display:flex}.admin-brand img{width:132px}.admin-sidebar nav{align-content:start;gap:7px;padding-right:2px;display:grid;overflow-y:auto}.admin-sidebar nav button{min-height:40px;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:0 12px;font-weight:900;display:flex}.admin-sidebar nav button:hover,.admin-sidebar nav button.is-active{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 22%, var(--border));background:var(--primary-soft)}.admin-main{min-width:0}.admin-topbar{z-index:10;border-bottom:1px solid var(--border);background:linear-gradient(135deg, color-mix(in srgb, var(--surface-strong) 86%, transparent), color-mix(in srgb, var(--frame-bg) 66%, transparent)), color-mix(in srgb, var(--frame-bg) 88%, transparent);-webkit-backdrop-filter:blur(18px)saturate(150%);grid-template-columns:minmax(180px,1fr) minmax(220px,360px) auto auto auto auto;align-items:center;gap:12px;padding:14px 22px;display:grid;position:sticky;top:0}.admin-topbar h1,.admin-topbar span,.admin-topbar small,.admin-card h2,.admin-section-head h2{margin:0}.admin-topbar>div:first-child>span{color:var(--primary);font-size:12px;font-weight:900}.admin-topbar h1{margin-top:2px;font-size:24px}.admin-search{min-height:42px;color:var(--faint);border:1px solid var(--border);background:color-mix(in srgb, var(--soft-surface) 70%, transparent);border-radius:999px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:0 12px;display:grid}.admin-search input{min-height:38px;box-shadow:none;background:0 0;border:0;padding:0}.admin-profile{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 70%, transparent);border-radius:999px;align-items:center;gap:9px;min-width:130px;padding:6px 10px;display:flex}.admin-profile>span,.admin-avatar{color:#fff;background:linear-gradient(135deg, var(--primary), #7c6dff);border-radius:50%;place-items:center;width:32px;height:32px;font-size:13px;font-weight:900;display:grid}.admin-profile strong{color:var(--text);font-size:13px;line-height:1.2;display:block}.admin-profile small{color:var(--faint);font-size:11px;font-weight:900}.admin-logout{color:#d63752;border:1px solid color-mix(in srgb, #d63752 24%, var(--border));background:#d6375214;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.admin-content{gap:18px;min-width:0;padding:22px;display:grid}.admin-dashboard,.admin-list,.admin-editor-card,.admin-placeholder-card{gap:16px;display:grid}.admin-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.admin-stat-card,.admin-card,.admin-category-card,.admin-tag-card,.admin-user-card,.admin-list-item,.admin-comment-item,.admin-message-item{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 84%, transparent);box-shadow:var(--card-shadow);border-radius:12px}.admin-stat-card{gap:8px;padding:16px;display:grid}.admin-stat-card svg{color:var(--primary)}.admin-stat-card strong{color:var(--text);font-size:28px;line-height:1}.admin-stat-card span,.admin-card p,.admin-section-head p{color:var(--muted)}.admin-card{min-width:0;padding:18px}.admin-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-mini-chart{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:10px;height:190px;padding-top:16px;display:grid}.admin-mini-chart span{height:100%;color:var(--faint);text-align:center;grid-template-rows:1fr auto;gap:8px;font-size:12px;font-weight:900;display:grid}.admin-mini-chart i{min-height:18px;height:var(--bar-height);background:linear-gradient(180deg, #7c6dff, var(--primary));border-radius:999px 999px 6px 6px;align-self:end}.admin-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-quick-grid button,.admin-rank-list button{min-height:42px;color:var(--muted);border:1px solid var(--border);background:color-mix(in srgb, var(--soft-surface) 62%, transparent);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:0 12px;font-weight:900;display:flex}.admin-quick-grid button:hover,.admin-rank-list button:hover{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 28%, var(--border))}.admin-rank-list{gap:9px;margin-top:14px;display:grid}.admin-rank-list b{color:#fff;background:linear-gradient(135deg, var(--primary), #7c6dff);border-radius:8px;place-items:center;width:26px;height:26px;display:grid}.admin-rank-list span{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.admin-rank-list em{color:var(--faint);font-size:12px;font-style:normal}.admin-section-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.admin-section-head h2,.admin-card h2{color:var(--text);font-size:22px}.admin-section-head p{margin:6px 0 0;line-height:1.65}.admin-toolbar,.admin-bulk-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.admin-tab-row{flex-wrap:wrap;gap:8px;display:flex}.admin-tab-row button,.admin-bulk-bar button,.admin-inline-form button,.admin-action-row button,.admin-child-tags button{min-height:32px;color:var(--muted);border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 68%, transparent);border-radius:999px;padding:0 11px;font-size:12px;font-weight:900}.admin-tab-row button:hover,.admin-tab-row button.is-active,.admin-bulk-bar button:hover,.admin-inline-form button:hover,.admin-action-row button:hover,.admin-child-tags button:hover{color:#fff;border-color:color-mix(in srgb, var(--primary) 72%, #fff);background:linear-gradient(180deg, #4d94ff, var(--primary-deep))}.admin-bulk-bar{border:1px solid color-mix(in srgb, var(--primary) 24%, var(--border));background:var(--primary-soft);border-radius:10px;justify-content:flex-start;padding:10px 12px}.admin-bulk-bar span{color:var(--primary);font-weight:900}.admin-table-wrap{width:100%;min-width:0;max-width:100%;overflow-x:auto}.admin-table{border-collapse:separate;border-spacing:0 8px;width:100%;min-width:1060px}.admin-table th{color:var(--faint);text-align:left;padding:0 10px 6px;font-size:12px}.admin-table td{color:var(--muted);vertical-align:middle;background:color-mix(in srgb, var(--soft-surface) 52%, transparent);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:10px}.admin-table td:first-child{border-left:1px solid var(--border);border-radius:10px 0 0 10px}.admin-table td:last-child{border-right:1px solid var(--border);border-radius:0 10px 10px 0}.admin-table strong{max-width:260px;color:var(--text);line-height:1.45;display:block}.admin-title-badges{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.admin-table small{color:var(--faint);font-weight:900}.admin-thumb{aspect-ratio:1.55;object-fit:cover;border-radius:8px;width:82px}.admin-status-badge{color:#1d63ce;border:1px solid color-mix(in srgb, #3b82f6 30%, var(--border));background:#3b82f621}.admin-status-badge.status-published,.admin-status-badge.status-visible,.admin-status-badge.status-active{color:#16835f;border-color:color-mix(in srgb, #21a67a 32%, var(--border));background:#21a67a1f}.admin-status-badge.status-pending,.admin-status-badge.status-draft{color:#9a6b00;border-color:color-mix(in srgb, #f5b84b 42%, var(--border));background:#f5b84b29}.admin-status-badge.status-rejected,.admin-status-badge.status-hidden,.admin-status-badge.status-deleted,.admin-status-badge.status-banned{color:#cf3652;border-color:color-mix(in srgb, #cf3652 32%, var(--border));background:#cf36521c}.admin-action-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-action-row .danger{color:#d63752;border-color:color-mix(in srgb, #d63752 30%, var(--border))}.admin-action-row .danger:hover{color:#fff;background:#d63752}.admin-list-item,.admin-comment-item,.admin-message-item{grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid}.admin-comment-item,.admin-message-item{grid-template-columns:40px minmax(0,1fr) auto auto}.admin-list-item>img{aspect-ratio:1.55;object-fit:cover;border-radius:10px;width:120px}.admin-list-item strong,.admin-comment-item strong,.admin-message-item strong{color:var(--text)}.admin-list-item p,.admin-comment-item p,.admin-message-item p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0;line-height:1.55;display:-webkit-box;overflow:hidden}.admin-list-item span,.admin-comment-item small,.admin-message-item small{color:var(--faint);font-size:12px;font-weight:800}.admin-empty{min-height:160px;color:var(--muted);border:1px dashed var(--border-strong);border-radius:12px;place-items:center;display:grid}.admin-log-list{gap:10px;display:grid}.admin-log-item{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 82%, transparent);border-radius:10px;grid-template-columns:minmax(220px,1.5fr) minmax(120px,.8fr) minmax(140px,1fr) minmax(140px,.9fr) minmax(92px,.6fr);align-items:center;gap:12px;padding:12px;display:grid}.admin-log-item strong{color:var(--text);font-weight:950}.admin-log-item p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.55}.admin-log-item span{color:var(--faint);font-size:12px;font-weight:850}.admin-inline-form{align-items:center;gap:8px;min-width:min(360px,100%);display:flex}.admin-category-grid,.admin-tag-grid,.admin-user-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.admin-category-card,.admin-tag-card,.admin-user-card{gap:12px;padding:14px;display:grid}.admin-category-card>div:first-child{align-items:center;gap:9px;display:flex}.admin-category-card>div:first-child>span:first-child{background:var(--admin-category-color,var(--primary));border-radius:50%;width:12px;height:12px}.admin-category-card strong,.admin-tag-card span,.admin-user-card strong{color:var(--text);font-weight:950}.admin-category-card p{color:var(--muted);margin:0;line-height:1.55}.admin-meta-row,.admin-child-tags{flex-wrap:wrap;gap:8px;display:flex}.admin-meta-row span,.admin-meta-row em,.admin-tag-card small{color:var(--faint);font-size:12px;font-style:normal;font-weight:850}.admin-tag-card span{font-size:17px}.admin-user-card{text-align:center;align-items:center}.admin-user-card img{object-fit:cover;border:1px solid var(--border);border-radius:50%;justify-self:center;width:58px;height:58px}.admin-user-card>span,.admin-user-card p{color:var(--muted);margin:0}.admin-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-field.wide,.admin-check-row.wide{grid-column:1/-1}.admin-content-editor{min-height:300px}.admin-check-row{flex-wrap:wrap;gap:10px;display:flex}.admin-check-row button{min-width:150px;min-height:40px;color:var(--muted);border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 70%, transparent);border-radius:999px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-weight:900;display:flex}.admin-check-row i{background:color-mix(in srgb, var(--faint) 28%, transparent);border-radius:999px;width:36px;height:20px}.admin-check-row i:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;margin:2px;transition:transform .18s;display:block}.admin-check-row button.is-on{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 28%, var(--border));background:var(--primary-soft)}.admin-check-row button.is-on i{background:linear-gradient(90deg, var(--primary), #7c6dff)}.admin-check-row button.is-on i:after{transform:translate(16px)}.admin-editor-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.admin-placeholder-card{text-align:center;place-items:center;min-height:420px}.admin-placeholder-card svg{color:var(--primary)}.admin-placeholder-card p{max-width:560px;margin:0;line-height:1.75}.admin-placeholder-card div{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.admin-placeholder-card span{color:var(--primary);background:var(--primary-soft);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}:root[data-theme=dark] .admin-sidebar,:root[data-theme=dark] .admin-topbar,:root[data-theme=dark] .admin-login-card,:root[data-theme=dark] .admin-card,:root[data-theme=dark] .admin-stat-card,:root[data-theme=dark] .admin-category-card,:root[data-theme=dark] .admin-tag-card,:root[data-theme=dark] .admin-user-card,:root[data-theme=dark] .admin-list-item,:root[data-theme=dark] .admin-comment-item,:root[data-theme=dark] .admin-message-item{background:#0b1c33db;box-shadow:0 18px 48px #00000038}:root[data-theme=dark] .admin-table td,:root[data-theme=dark] .admin-profile,:root[data-theme=dark] .admin-quick-grid button,:root[data-theme=dark] .admin-rank-list button{background:#0a192fc7}@media (width<=1040px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid var(--border);height:auto;position:static}.admin-sidebar nav{padding-bottom:4px;display:flex;overflow-x:auto}.admin-sidebar nav button{flex:none}.admin-topbar{grid-template-columns:1fr auto auto}.admin-search,.admin-topbar .ghost-button,.admin-profile{grid-column:1/-1}.admin-stat-grid,.admin-category-grid,.admin-tag-grid,.admin-user-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid-two{grid-template-columns:1fr}.post-modal{grid-template-columns:1fr;overflow:auto}.post-comments-panel{min-height:520px}.article-detail-layout,.article-side-column,.compose-layout,.categories-layout{grid-template-columns:1fr}.categories-side-column{grid-template-columns:repeat(3,minmax(0,1fr))}.compose-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.compose-author-strip{grid-column:1/-1}.article-feed-row{grid-template-columns:1fr}.article-feed-card{height:auto;max-height:none}.article-row-comments{height:300px;min-height:0;max-height:300px}}@media (width<=1180px){.site-header{grid-template-columns:188px 1fr}.main-nav{order:3;grid-column:1/-1;justify-content:flex-start;padding:4px 0 0}.header-actions{grid-column:2}.content-layout{grid-template-columns:1fr}.side-column{grid-template-columns:repeat(3,minmax(0,1fr))}.post-grid,.featured-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-feed-card{grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:18px}.article-feed-footer{grid-template-columns:minmax(160px,1fr) auto}.article-read-button{grid-column:1/-1;justify-self:start}}@media (width<=860px){.site-shell{padding:10px}.page-frame{border-radius:14px;width:100%;padding:14px}.site-header{border-radius:14px 14px 0 0;grid-template-columns:154px 1fr;gap:10px;min-height:52px;margin:-14px -14px 16px;padding:8px 14px}.brand-button{width:146px;height:62px}.brand-button img{width:136px}.header-actions{gap:8px}.header-actions>.primary-button{display:none}.search-box{width:min(210px,45vw);min-height:38px;padding-left:14px}.nav-toggle{display:inline-flex}.main-nav{visibility:hidden;opacity:0;transform-origin:top;pointer-events:none;background:linear-gradient(135deg, color-mix(in srgb, var(--surface-strong) 62%, transparent), color-mix(in srgb, var(--frame-bg) 36%, transparent)), color-mix(in srgb, var(--frame-bg) 48%, transparent);-webkit-backdrop-filter:blur(18px)saturate(150%);border:1px solid #0000;border-radius:10px;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:8px 10px;max-height:0;margin-top:0;padding:0 10px;transition:max-height .34s cubic-bezier(.2,.8,.2,1),margin-top .34s cubic-bezier(.2,.8,.2,1),padding .34s cubic-bezier(.2,.8,.2,1),opacity .22s,transform .34s cubic-bezier(.2,.8,.2,1),visibility 0s linear .34s,border-color .22s,box-shadow .22s;display:grid;overflow:hidden;transform:translateY(-10px)scale(.98);box-shadow:0 0 #0000}.main-nav.is-open{visibility:visible;opacity:1;pointer-events:auto;border-color:color-mix(in srgb, var(--border-strong) 72%, transparent);max-height:360px;margin-top:2px;padding:10px;transition-delay:0s;overflow:hidden;transform:translateY(0)scale(1);box-shadow:0 12px 28px #2d5d8c1a}:root[data-theme=dark] .main-nav.is-open{box-shadow:0 14px 34px #0000003d}.main-nav .nav-button{opacity:0;justify-content:center;width:100%;min-width:auto;padding:0 8px;transition:opacity .2s,transform .28s cubic-bezier(.2,.8,.2,1);transform:translateY(-5px)}.main-nav.is-open .nav-button{opacity:1;transform:translateY(0)}.main-nav.is-open>.nav-button:first-child{transition-delay:40ms}.main-nav.is-open>.nav-button:nth-child(2){transition-delay:70ms}.main-nav.is-open>.nav-button:nth-child(3),.main-nav.is-open>.nav-dropdown .nav-button{transition-delay:.1s}.main-nav.is-open>.nav-button:nth-child(4){transition-delay:.13s}.main-nav.is-open>.nav-button:nth-child(5){transition-delay:.16s}.main-nav.is-open>.nav-button:nth-child(6){transition-delay:.19s}.main-nav .nav-dropdown{display:contents}.main-nav .nav-dropdown:after,.main-nav .nav-dropdown-menu:before,.main-nav .nav-dropdown:not(.is-open):not(:hover):not(:focus-within) .nav-dropdown-menu{display:none}.main-nav .nav-dropdown-menu{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin:-2px 0 2px;padding:8px;position:static;top:auto;left:auto;transform:none}.main-nav .nav-dropdown:hover .nav-dropdown-menu,.main-nav .nav-dropdown.is-open .nav-dropdown-menu,.main-nav .nav-dropdown:focus-within .nav-dropdown-menu{visibility:visible;opacity:1;pointer-events:auto;display:grid;transform:none}.main-nav .nav-dropdown-menu button{text-align:center;justify-content:center;min-height:34px;padding:0 10px}.hero-section{align-items:start;min-height:510px;padding:34px 24px 24px}.hero-art{width:100%;height:64%;inset:auto 0 0}.hero-section:after{background:linear-gradient(180deg, color-mix(in srgb, var(--surface-strong) 92%, transparent) 0%, transparent 72%)}.hero-copy h1{font-size:42px}.hero-copy>p{font-size:15px}.hero-stats{flex-wrap:wrap;justify-content:center;bottom:12px;left:14px;right:14px}.side-column{grid-template-columns:1fr}.creator-banner{grid-template-columns:88px 1fr;padding:18px}.creator-banner .primary-button{grid-column:1/-1;width:max-content}.creator-book{width:88px}.creator-plane-icon{display:none}.message-form{grid-template-columns:1fr}.message-danmaku-panel{padding:18px}.message-board-head{flex-direction:column;align-items:flex-start;gap:10px}.message-board-head h2{font-size:24px}.message-board-stats{flex-wrap:wrap;justify-content:flex-start;min-width:0}.message-danmaku-stage{min-height:360px}.danmaku-bubble{max-width:calc(100vw - 68px)}.danmaku-text{max-width:210px}.articles-toolbar{padding-left:0;padding-right:0}.articles-sort-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;display:grid}.articles-category-tabs,.articles-subcategory-tabs{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;width:100%;padding-bottom:0;display:grid;overflow:visible}.articles-filter-tabs{grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:8px;width:100%;padding-bottom:0;display:grid;overflow:visible}.articles-category-tabs button,.articles-subcategory-tabs button,.articles-filter-tabs button{text-align:center;white-space:normal;width:100%;min-height:36px;padding:4px 10px;font-size:13px;line-height:1.18}.articles-view-tools{flex:none;justify-self:end}.categories-hero{grid-template-columns:1fr;align-items:start;min-height:220px;padding:24px}.categories-hero h1{font-size:34px}.category-directory-grid,.categories-side-column{grid-template-columns:1fr}.article-feed-card{grid-template-columns:1fr;gap:14px}.article-feed-cover{aspect-ratio:1.95}.article-feed-title{font-size:22px}.compose-main-head,.compose-actions{flex-direction:column;align-items:flex-start}.compose-submit{margin-left:0}.compose-sidebar{grid-template-columns:1fr}.compose-author-strip{grid-column:auto}}@media (width<=620px){.admin-login-shell{padding:12px}.admin-login-card{border-radius:12px;padding:20px}.admin-sidebar{padding:12px}.admin-brand img{width:118px}.admin-topbar{grid-template-columns:1fr auto;padding:12px}.admin-topbar .icon-button,.admin-logout{width:38px;height:38px}.admin-content{padding:12px}.admin-stat-grid,.admin-category-grid,.admin-tag-grid,.admin-user-grid,.admin-editor-grid,.admin-quick-grid{grid-template-columns:1fr}.admin-section-head,.admin-toolbar,.admin-inline-form{flex-direction:column;align-items:stretch}.admin-list-item,.admin-comment-item,.admin-message-item,.admin-log-item{grid-template-columns:1fr}.admin-list-item>img{width:100%}.admin-action-row{justify-content:flex-start}.page-frame{padding:10px}.site-header{grid-template-columns:1fr;margin:-10px -10px 14px;padding:10px}.brand-button{grid-column:1}.header-actions{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 94px 42px 42px;width:100%;display:grid}.search-box{width:100%}.header-actions .icon-button{justify-self:end}.language-menu{width:94px}.language-trigger{width:94px;min-width:0;padding:0 8px}.language-trigger span{text-overflow:ellipsis;max-width:52px;overflow:hidden}.language-menu-panel{width:156px;right:0}.header-actions .nav-toggle{justify-self:end}.main-nav{grid-column:1/-1}.message-danmaku-panel{padding:14px}.message-board-stats{gap:8px 12px;font-size:12px}.message-form{padding:7px}.message-danmaku-stage{min-height:390px}.danmaku-bubble{min-height:40px;padding-right:12px}.danmaku-avatar{width:28px;height:28px}.danmaku-name{display:none}.danmaku-text{max-width:190px}.hero-section{min-height:540px;padding:28px 18px}.featured-category-grid{grid-template-columns:1fr}.hero-copy h1{font-size:36px}.hero-copy h1:after{width:168px}.hero-actions{flex-direction:column;align-items:stretch;width:min(230px,100%)}.post-grid{grid-template-columns:1fr}.section-head{flex-direction:column;align-items:flex-start}.about-content,.entry-card{grid-template-columns:1fr}.about-content img{width:78px;height:78px}.creator-banner{text-align:left;grid-template-columns:1fr}.creator-banner h2{font-size:21px}.site-footer{gap:10px}.site-footer span:not(:last-child):after{content:"";margin:0}.modal-card{padding:20px}.modal-backdrop{padding:10px}.post-modal{width:100%;max-height:92vh;padding:8px}.post-modal .modal-close{top:18px;right:18px}.post-modal-cover img{height:210px}.post-modal-content,.post-comments-panel{padding:18px}.post-modal h2{margin-right:42px;font-size:24px}.post-modal-actions{flex-direction:column;align-items:flex-start}.comment-compose{grid-template-columns:1fr}.comment-item{grid-template-columns:38px 1fr;gap:10px}.comment-avatar{width:38px;height:38px;font-size:13px}.article-cover{aspect-ratio:1.25;min-height:240px}.article-reader-content{padding:22px 18px 24px}.article-reader h1{font-size:28px}.article-summary p,.article-content p{font-size:16px}.article-actions{flex-direction:column;align-items:flex-start}.article-author-card{grid-template-columns:58px 1fr}.article-author-card img{width:58px;height:58px}.article-related-list button{grid-template-columns:72px minmax(0,1fr)}.article-related-list img{width:72px;height:56px}.compose-main-head,.compose-form-body,.compose-actions,.compose-settings,.compose-assistant{padding-left:18px;padding-right:18px}.compose-status-grid{grid-template-columns:1fr}.compose-editor-toolbar{overflow-x:auto}.compose-actions .ghost-button,.compose-actions .primary-button{width:100%}.article-feed-footer{grid-template-columns:1fr;gap:12px}.article-feed-stats{justify-content:flex-start}.article-row-comments-head{flex-direction:column;align-items:flex-start}.article-row-comment-body>div:first-child{flex-direction:column;align-items:flex-start;gap:2px}.articles-pagination p{text-align:center;width:100%;margin-left:0}}@media (width<=480px){.articles-filter-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.articles-sort-row{grid-template-columns:1fr}.articles-view-tools{justify-self:end}}@media (prefers-reduced-motion:reduce){.main-nav,.main-nav .nav-button{transition:none}.danmaku-bubble{animation:none;transform:translate(0)}}:root{--lf-bg:var(--page-bg);--lf-surface:var(--surface);--lf-surface-solid:var(--surface-strong);--lf-text:var(--text);--lf-muted:var(--muted);--lf-primary:var(--primary);--lf-secondary:var(--primary);--lf-accent:var(--yellow);--lf-danger:#ef4444;--lf-border:var(--border);--lf-shadow:#0000001f}:root[data-festival-active=true]{--page-bg:var(--lf-bg);--frame-bg:color-mix(in srgb, var(--lf-surface) 88%, transparent);--surface:var(--lf-surface);--surface-strong:var(--lf-surface-solid);--soft-surface:color-mix(in srgb, var(--lf-secondary) 13%, var(--lf-surface-solid));--border:var(--lf-border);--border-strong:color-mix(in srgb, var(--lf-primary) 34%, var(--lf-border));--text:var(--lf-text);--muted:var(--lf-muted);--faint:color-mix(in srgb, var(--lf-muted) 78%, transparent);--primary:var(--lf-primary);--primary-deep:color-mix(in srgb, var(--lf-primary) 76%, var(--lf-text));--primary-soft:color-mix(in srgb, var(--lf-primary) 14%, transparent);--yellow:var(--lf-accent);--shadow:0 18px 48px var(--lf-shadow);--card-shadow:0 10px 28px color-mix(in srgb, var(--lf-shadow) 76%, transparent);--hero-overlay:linear-gradient(90deg, color-mix(in srgb, var(--lf-surface-solid) 82%, transparent) 0%, color-mix(in srgb, var(--lf-surface-solid) 48%, transparent) 42%, color-mix(in srgb, var(--lf-surface-solid) 10%, transparent) 100%);--body-texture:var(--lf-bg)}:root[data-festival-active=true][data-color-mode=night]{--hero-overlay:linear-gradient(90deg, #050a14b8 0%, #050a1466 42%, #050a141a 100%);--body-texture:var(--lf-bg)}:root[data-festival-active=true][data-color-mode=night] .post-card,:root[data-festival-active=true][data-color-mode=night] .article-feed-card,:root[data-festival-active=true][data-color-mode=night] .article-row-comments,:root[data-festival-active=true][data-color-mode=night] .compose-input-wrap input,:root[data-festival-active=true][data-color-mode=night] .compose-input-wrap textarea,:root[data-festival-active=true][data-color-mode=night] .compose-field.compact>input,:root[data-festival-active=true][data-color-mode=night] .compose-field.compact>textarea,:root[data-festival-active=true][data-color-mode=night] .compose-field.compact select,:root[data-festival-active=true][data-color-mode=night] .compose-custom-select>button,:root[data-festival-active=true][data-color-mode=night] .compose-status-grid button,:root[data-festival-active=true][data-color-mode=night] .compose-schedule-control input,:root[data-festival-active=true][data-color-mode=night] .compose-editor,:root[data-festival-active=true][data-color-mode=night] .comment-compose-main textarea{background:color-mix(in srgb, var(--lf-surface-solid) 78%, transparent)}:root[data-festival-active=true][data-color-mode=night] .compose-custom-select-menu,:root[data-festival-active=true][data-color-mode=night] .compose-schedule-panel{background:linear-gradient(180deg, color-mix(in srgb, var(--lf-primary) 12%, transparent), transparent), color-mix(in srgb, var(--lf-surface-solid) 88%, transparent);box-shadow:0 18px 42px color-mix(in srgb, var(--lf-shadow) 90%, transparent)}:root[data-festival-active=true][data-color-mode=night] .compose-status-grid button:hover,:root[data-festival-active=true][data-color-mode=night] .compose-status-grid button.is-active{background:color-mix(in srgb, var(--lf-primary) 16%, var(--lf-surface-solid))}:root[data-festival-active=true] .site-shell{z-index:1;position:relative}.festival-decorations{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}:root[data-festival-active=true] .festival-decorations{display:none}.festival-decorations span{opacity:.34;filter:blur(.2px);border-radius:999px;display:block;position:absolute}.festival-decorations span:first-child{width:190px;height:190px;top:88px;left:5vw}.festival-decorations span:nth-child(2){width:150px;height:150px;top:28vh;right:5vw}.festival-decorations span:nth-child(3){width:210px;height:210px;bottom:8vh;right:18vw}.festival-decorations span:nth-child(4){width:120px;height:120px;bottom:14vh;left:12vw}.festival-decorations-new-year span{background:radial-gradient(circle, #fffffff5 0 2px, transparent 3px), radial-gradient(circle, color-mix(in srgb, var(--lf-primary) 18%, transparent), transparent 62%);background-size:26px 26px,100% 100%}.festival-decorations-spring-festival span{background:radial-gradient(circle, color-mix(in srgb, var(--lf-accent) 30%, transparent), color-mix(in srgb, var(--lf-primary) 18%, transparent) 45%, transparent 72%)}.festival-decorations-qingming span{background:radial-gradient(circle, color-mix(in srgb, var(--lf-secondary) 30%, transparent), color-mix(in srgb, var(--lf-primary) 14%, transparent) 48%, transparent 72%)}.festival-decorations-labor-day span{background:radial-gradient(circle, color-mix(in srgb, var(--lf-accent) 24%, transparent), color-mix(in srgb, var(--lf-primary) 14%, transparent) 52%, transparent 72%)}.festival-decorations-dragon-boat span{background:radial-gradient(circle, color-mix(in srgb, var(--lf-secondary) 24%, transparent), color-mix(in srgb, var(--lf-primary) 16%, transparent) 52%, transparent 72%)}.festival-decorations-mid-autumn span{background:radial-gradient(circle, color-mix(in srgb, var(--lf-accent) 28%, transparent), color-mix(in srgb, var(--lf-primary) 16%, transparent) 56%, transparent 74%)}.festival-decorations-national-day span{background:radial-gradient(circle, color-mix(in srgb, var(--lf-accent) 26%, transparent), color-mix(in srgb, var(--lf-primary) 18%, transparent) 54%, transparent 74%)}.festival-switcher{flex:none;position:relative}.festival-switcher-trigger{min-width:94px;min-height:42px;color:var(--text);white-space:nowrap;border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-strong) 76%, transparent), color-mix(in srgb, var(--soft-surface) 46%, transparent)), var(--surface);border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:900;display:inline-flex;box-shadow:0 8px 20px #2d5d8c14}.festival-switcher-trigger svg:last-child{transition:transform .18s}.festival-switcher.is-open .festival-switcher-trigger,.festival-switcher-trigger:hover,.festival-switcher-trigger:focus-visible{color:var(--primary);border-color:color-mix(in srgb, var(--primary) 36%, var(--border));box-shadow:0 0 0 4px var(--primary-soft)}.festival-switcher.is-open .festival-switcher-trigger svg:last-child{transform:rotate(180deg)}.festival-switcher-panel{z-index:41;border:1px solid color-mix(in srgb, var(--border-strong) 74%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--surface-strong) 88%, transparent), color-mix(in srgb, var(--frame-bg) 58%, transparent)), color-mix(in srgb, var(--frame-bg) 86%, transparent);-webkit-backdrop-filter:blur(20px)saturate(150%);border-radius:14px;gap:10px;width:292px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 44px #2d5d8c2e}.festival-mode-row,.festival-option-grid{gap:7px;display:grid}.festival-mode-row{grid-template-columns:repeat(2,minmax(0,1fr))}.festival-mode-row button,.festival-option-grid button,.festival-reset-button{min-height:34px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:9px;font-size:13px;font-weight:900}.festival-mode-row button,.festival-reset-button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.festival-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.festival-option-grid button{text-align:left;justify-content:flex-start;align-items:center;gap:8px;padding:0 9px;display:inline-flex}.festival-option-grid button span{background:var(--festival-option-color,var(--primary));width:9px;height:9px;box-shadow:0 0 0 4px color-mix(in srgb, var(--festival-option-color,var(--primary)) 18%, transparent);border-radius:50%;flex:none}.festival-mode-row button:hover,.festival-mode-row button.is-active,.festival-option-grid button:hover,.festival-option-grid button.is-active,.festival-reset-button:hover:not(:disabled){color:var(--primary-deep);border-color:color-mix(in srgb, var(--primary) 24%, var(--border));background:var(--primary-soft)}.festival-reset-button{color:var(--faint);border-color:var(--border)}.festival-reset-button:disabled{cursor:default;opacity:.48}:root[data-theme=dark] .festival-switcher-trigger,:root[data-theme=dark] .festival-switcher-panel{background:linear-gradient(#102444eb,#09172dc2),#09172db8;box-shadow:0 10px 26px #00000038}:root[data-theme=dark] .festival-switcher-panel{background:linear-gradient(135deg,#102240f5,#071224e0),#071224e6;box-shadow:0 20px 48px #00000057}.hero-section.is-festival-hero .hero-art img{object-position:center center}:root[data-festival-active=true] .hero-stats span{background:color-mix(in srgb, var(--surface-strong) 68%, transparent)}:root[data-festival-active=true] .primary-button{color:#fff;border-color:color-mix(in srgb, var(--lf-primary) 76%, var(--lf-accent));background:linear-gradient(180deg, color-mix(in srgb, var(--lf-primary) 84%, #fff) 0%, var(--lf-primary) 100%);box-shadow:0 10px 24px color-mix(in srgb, var(--lf-primary) 28%, transparent)}:root[data-festival-active=true] .ghost-button{color:var(--lf-primary);border-color:color-mix(in srgb, var(--lf-primary) 42%, var(--lf-border));background:color-mix(in srgb, var(--lf-surface-solid) 72%, transparent)}:root[data-festival-active=true][data-color-mode=night] .ghost-button{color:var(--lf-text);background:color-mix(in srgb, var(--lf-surface) 72%, transparent)}:root[data-festival-active=true] .icon-button,:root[data-festival-active=true] .language-trigger,:root[data-festival-active=true] .festival-switcher-trigger,:root[data-festival-active=true] .search-box{border-color:color-mix(in srgb, var(--lf-primary) 18%, var(--lf-border));background:linear-gradient(180deg, color-mix(in srgb, var(--lf-surface-solid) 74%, transparent), color-mix(in srgb, var(--lf-surface) 76%, transparent)), var(--lf-surface)}:root[data-festival-active=true] .language-menu-panel,:root[data-festival-active=true] .nav-dropdown-menu,:root[data-festival-active=true] .festival-switcher-panel{border-color:color-mix(in srgb, var(--lf-primary) 22%, var(--lf-border));background:linear-gradient(135deg, color-mix(in srgb, var(--lf-surface-solid) 90%, transparent), color-mix(in srgb, var(--lf-surface) 78%, transparent)), color-mix(in srgb, var(--lf-surface) 90%, transparent);box-shadow:0 18px 44px color-mix(in srgb, var(--lf-shadow) 90%, transparent)}:root[data-festival-active=true][data-color-mode=night] .language-menu-panel,:root[data-festival-active=true][data-color-mode=night] .nav-dropdown-menu,:root[data-festival-active=true][data-color-mode=night] .festival-switcher-panel{background:linear-gradient(135deg, color-mix(in srgb, var(--lf-surface-solid) 96%, transparent), color-mix(in srgb, var(--lf-surface) 88%, transparent)), color-mix(in srgb, var(--lf-surface) 92%, transparent)}:root[data-festival-active=true] .language-menu-panel:before,:root[data-festival-active=true] .nav-dropdown-menu:before{border-color:color-mix(in srgb, var(--lf-primary) 22%, var(--lf-border));background:color-mix(in srgb, var(--lf-surface-solid) 94%, var(--lf-surface))}:root[data-festival-active=true] .language-menu-panel button,:root[data-festival-active=true] .nav-dropdown-menu button,:root[data-festival-active=true] .festival-option-grid button,:root[data-festival-active=true] .festival-mode-row button{color:var(--lf-muted)}:root[data-festival-active=true] .language-menu-panel button:hover,:root[data-festival-active=true] .language-menu-panel button.is-active,:root[data-festival-active=true] .nav-dropdown-menu button:hover,:root[data-festival-active=true] .nav-dropdown-menu button.is-active,:root[data-festival-active=true] .festival-option-grid button:hover,:root[data-festival-active=true] .festival-option-grid button.is-active,:root[data-festival-active=true] .festival-mode-row button:hover,:root[data-festival-active=true] .festival-mode-row button.is-active{border-color:color-mix(in srgb, var(--lf-primary) 30%, var(--lf-border));background:color-mix(in srgb, var(--lf-primary) 12%, var(--lf-surface-solid));color:var(--lf-primary)!important}:root[data-festival-active=true] .language-menu-panel button small{color:color-mix(in srgb, var(--lf-muted) 80%, transparent)}:root[data-festival-active=true] .poster-badge,:root[data-festival-active=true] .badge-blue,:root[data-festival-active=true] .badge-teal,:root[data-festival-active=true] .badge-violet,:root[data-festival-active=true] .badge-coral{color:#fff;background:linear-gradient(135deg, color-mix(in srgb, var(--lf-primary) 92%, #fff) 0%, color-mix(in srgb, var(--lf-primary) 76%, var(--lf-secondary)) 100%);box-shadow:0 8px 18px color-mix(in srgb, var(--lf-primary) 22%, transparent);border-color:#ffffff42}:root[data-festival-active=true] .danmaku-blue,:root[data-festival-active=true] .danmaku-teal,:root[data-festival-active=true] .danmaku-violet,:root[data-festival-active=true] .danmaku-coral,:root[data-festival-active=true] .danmaku-gold,:root[data-festival-active=true] .danmaku-bubble{border-color:color-mix(in srgb, var(--lf-primary) 34%, var(--lf-border));box-shadow:0 12px 30px color-mix(in srgb, var(--lf-primary) 12%, transparent)}:root[data-festival-active=true] .danmaku-avatar{background:linear-gradient(135deg, var(--lf-primary), color-mix(in srgb, var(--lf-primary) 68%, var(--lf-secondary)))}:root[data-festival-active=true] .category-tabs button,:root[data-festival-active=true] .articles-category-tabs button,:root[data-festival-active=true] .articles-subcategory-tabs button,:root[data-festival-active=true] .articles-filter-tabs button,:root[data-festival-active=true] .categories-filter-tabs button,:root[data-festival-active=true] .tag-cloud button,:root[data-festival-active=true] .tag-cloud span,:root[data-festival-active=true] .compact-tags button,:root[data-festival-active=true] .compact-tags span{color:color-mix(in srgb, var(--lf-primary) 88%, var(--lf-text));border-color:color-mix(in srgb, var(--lf-primary) 14%, transparent);background:color-mix(in srgb, var(--lf-primary) 10%, var(--lf-surface-solid))}:root[data-festival-active=true] .tag-cloud button:nth-child(5n+1),:root[data-festival-active=true] .tag-cloud span:nth-child(5n+1),:root[data-festival-active=true] .tag-cloud button:nth-child(5n+2),:root[data-festival-active=true] .tag-cloud span:nth-child(5n+2),:root[data-festival-active=true] .tag-cloud button:nth-child(5n+3),:root[data-festival-active=true] .tag-cloud span:nth-child(5n+3),:root[data-festival-active=true] .tag-cloud button:nth-child(5n+4),:root[data-festival-active=true] .tag-cloud span:nth-child(5n+4),:root[data-festival-active=true] .tag-cloud button:nth-child(5n),:root[data-festival-active=true] .tag-cloud span:nth-child(5n){color:color-mix(in srgb, var(--lf-primary) 88%, var(--lf-text));background:color-mix(in srgb, var(--lf-primary) 10%, var(--lf-surface-solid))}:root[data-festival-active=true] .category-tabs button.is-active,:root[data-festival-active=true] .category-tabs button:hover,:root[data-festival-active=true] .articles-category-tabs button:hover,:root[data-festival-active=true] .articles-category-tabs button.is-active,:root[data-festival-active=true] .articles-subcategory-tabs button:hover,:root[data-festival-active=true] .articles-subcategory-tabs button.is-active,:root[data-festival-active=true] .articles-filter-tabs button:hover,:root[data-festival-active=true] .articles-filter-tabs button.is-active,:root[data-festival-active=true] .categories-filter-tabs button:hover,:root[data-festival-active=true] .categories-filter-tabs button.is-active,:root[data-festival-active=true] .tag-cloud button.is-active,:root[data-festival-active=true] .tag-cloud button:hover,:root[data-festival-active=true] .tag-cloud span:hover{color:var(--lf-primary);border-color:color-mix(in srgb, var(--lf-primary) 34%, var(--lf-border));background:color-mix(in srgb, var(--lf-primary) 16%, var(--lf-surface-solid))}:root[data-festival-active=true] .featured-category-card,:root[data-festival-active=true] .category-directory-card,:root[data-festival-active=true] .category-stat-card,:root[data-festival-active=true] .admin-category-card{--category-color:var(--lf-primary)!important;--admin-category-color:var(--lf-primary)!important}:root[data-festival-active=true] .featured-category-icon,:root[data-festival-active=true] .category-directory-icon,:root[data-festival-active=true] .recommended-category-list button span,:root[data-festival-active=true] .admin-category-card>div:first-child>span:first-child,:root[data-festival-active=true] .entry-icon{color:var(--lf-primary);border-color:color-mix(in srgb, var(--lf-primary) 24%, var(--lf-border));background:color-mix(in srgb, var(--lf-primary) 12%, var(--lf-surface-solid));--category-color:var(--lf-primary)!important;--admin-category-color:var(--lf-primary)!important}:root[data-festival-active=true] .recommended-category-list button span,:root[data-festival-active=true] .admin-category-card>div:first-child>span:first-child{background:var(--lf-primary)}:root[data-festival-active=true] .featured-category-card button,:root[data-festival-active=true] .category-directory-head button,:root[data-festival-active=true] .category-child-list button:hover,:root[data-festival-active=true] .recommended-category-list button:hover,:root[data-festival-active=true] .article-related-list button:hover,:root[data-festival-active=true] .articles-pagination button,:root[data-festival-active=true] .social-links a:hover,:root[data-festival-active=true] .article-read-button{color:var(--lf-primary);border-color:color-mix(in srgb, var(--lf-primary) 28%, var(--lf-border));background:color-mix(in srgb, var(--lf-primary) 10%, var(--lf-surface-solid))}:root[data-festival-active=true] .articles-pagination button:hover,:root[data-festival-active=true] .articles-pagination button.is-active,:root[data-festival-active=true] .articles-category-tabs button:hover,:root[data-festival-active=true] .articles-category-tabs button.is-active,:root[data-festival-active=true] .articles-subcategory-tabs button:hover,:root[data-festival-active=true] .articles-subcategory-tabs button.is-active,:root[data-festival-active=true] .articles-filter-tabs button:hover,:root[data-festival-active=true] .articles-filter-tabs button.is-active,:root[data-festival-active=true] .articles-view-tools button:hover,:root[data-festival-active=true] .articles-view-tools button.is-active,:root[data-festival-active=true] .categories-filter-tabs button:hover,:root[data-festival-active=true] .categories-filter-tabs button.is-active,:root[data-festival-active=true] .admin-tab-row button:hover,:root[data-festival-active=true] .admin-tab-row button.is-active,:root[data-festival-active=true] .admin-bulk-bar button:hover,:root[data-festival-active=true] .admin-inline-form button:hover,:root[data-festival-active=true] .admin-action-row button:hover,:root[data-festival-active=true] .admin-child-tags button:hover{color:#fff;border-color:color-mix(in srgb, var(--lf-primary) 76%, var(--lf-accent));background:linear-gradient(180deg, color-mix(in srgb, var(--lf-primary) 84%, #fff) 0%, var(--lf-primary) 100%);box-shadow:0 10px 22px color-mix(in srgb, var(--lf-primary) 22%, transparent)}:root[data-festival-active=true] .articles-pagination button:disabled,:root[data-festival-active=true] .articles-pagination button:disabled:hover{color:var(--lf-muted);border-color:var(--lf-border);background:var(--lf-surface)}:root[data-festival-active=true] .assistant-mint>span,:root[data-festival-active=true] .assistant-violet>span,:root[data-festival-active=true] .assistant-orange>span{color:var(--lf-primary);background:color-mix(in srgb, var(--lf-primary) 11%, var(--lf-surface-solid))}:root[data-festival-active=true] .compose-field strong,:root[data-festival-active=true] .admin-logout,:root[data-festival-active=true] .danger-button{color:var(--lf-danger)}:root[data-festival-active=true] .admin-logout,:root[data-festival-active=true] .danger-button{border-color:color-mix(in srgb, var(--lf-danger) 30%, var(--lf-border));background:color-mix(in srgb, var(--lf-danger) 8%, transparent)}:root[data-festival-active=true] .danger-button:hover,:root[data-festival-active=true] .admin-logout:hover{color:#fff;background:var(--lf-danger)}:root[data-festival-active=true] .compose-status-grid button:hover,:root[data-festival-active=true] .compose-status-grid button.is-active,:root[data-festival-active=true] .category-directory-card.is-active{box-shadow:0 10px 24px color-mix(in srgb, var(--lf-primary) 18%, transparent)}:root[data-festival-active=true] .compose-toggle-row i,:root[data-festival-active=true] .admin-check-row button i{transition:none}:root[data-festival-active=true] .compose-toggle-row i.is-on,:root[data-festival-active=true] .admin-check-row button.is-on i{background-color:var(--lf-primary)!important;background-image:linear-gradient(90deg, var(--lf-primary), color-mix(in srgb, var(--lf-primary) 68%, var(--lf-secondary)))!important}:root[data-festival-active=true] .compose-schedule-panel.is-active{border-color:color-mix(in srgb, var(--lf-primary) 46%, var(--lf-border));background:linear-gradient(180deg, color-mix(in srgb, var(--lf-primary) 13%, transparent), transparent), color-mix(in srgb, var(--lf-surface-solid) 82%, transparent)}:root[data-festival-active=true] .danger-button,:root[data-festival-active=true] .admin-action-row .danger{color:var(--lf-danger);border-color:color-mix(in srgb, var(--lf-danger) 30%, var(--lf-border));background:color-mix(in srgb, var(--lf-danger) 8%, transparent)}:root[data-festival-active=true] .danger-button:hover,:root[data-festival-active=true] .admin-action-row .danger:hover{color:#fff;background:var(--lf-danger)}:root[data-festival-active=true] .admin-login-error,:root[data-festival-active=true] .admin-form-error{color:var(--lf-danger);border-color:color-mix(in srgb, var(--lf-danger) 28%, var(--lf-border));background:color-mix(in srgb, var(--lf-danger) 9%, transparent)}:root[data-festival-active=true] .admin-status-badge,:root[data-festival-active=true] .admin-status-badge.status-published,:root[data-festival-active=true] .admin-status-badge.status-visible,:root[data-festival-active=true] .admin-status-badge.status-active{color:var(--lf-primary);border-color:color-mix(in srgb, var(--lf-primary) 28%, var(--lf-border));background:color-mix(in srgb, var(--lf-primary) 10%, transparent)}:root[data-festival-active=true] .admin-status-badge.status-pending,:root[data-festival-active=true] .admin-status-badge.status-draft{color:color-mix(in srgb, var(--lf-accent) 76%, var(--lf-text));border-color:color-mix(in srgb, var(--lf-accent) 34%, var(--lf-border));background:color-mix(in srgb, var(--lf-accent) 12%, transparent)}:root[data-festival-active=true] .admin-status-badge.status-rejected,:root[data-festival-active=true] .admin-status-badge.status-hidden,:root[data-festival-active=true] .admin-status-badge.status-deleted,:root[data-festival-active=true] .admin-status-badge.status-banned{color:var(--lf-danger);border-color:color-mix(in srgb, var(--lf-danger) 30%, var(--lf-border));background:color-mix(in srgb, var(--lf-danger) 10%, transparent)}:root[data-festival-active=true] .creator-banner{background:linear-gradient(90deg, color-mix(in srgb, var(--lf-primary) 10%, var(--lf-surface-solid)) 0%, color-mix(in srgb, var(--lf-accent) 8%, transparent) 100%), var(--lf-surface)}:root[data-festival-active=true] .admin-mini-chart i,:root[data-festival-active=true] .admin-rank-list b,:root[data-festival-active=true] .admin-profile>span,:root[data-festival-active=true] .admin-avatar{background:linear-gradient(135deg, var(--lf-primary), color-mix(in srgb, var(--lf-primary) 68%, var(--lf-secondary)))!important}:root[data-festival-active=true] .admin-rank-list button:hover{background:color-mix(in srgb, var(--lf-primary) 10%, var(--lf-surface-solid))}:root[data-festival-active=true] .admin-tag-card>span{color:var(--lf-primary)!important}:root[data-festival-active=true] .article-row-comment-body strong,:root[data-festival-active=true] .article-related-list button:hover strong,:root[data-festival-active=true] .section-head h2 svg,:root[data-festival-active=true] .about-card h2 svg,:root[data-festival-active=true] .tag-card h2 svg,:root[data-festival-active=true] .message-board-head h2 svg,:root[data-festival-active=true] .entry-card h2 svg,:root[data-festival-active=true] .link-button,:root[data-festival-active=true] .main-nav .nav-button.is-active,:root[data-festival-active=true] .main-nav .nav-button:hover{color:var(--lf-primary)}:root[data-festival-active=true] .main-nav .nav-button.is-active:after,:root[data-festival-active=true] .main-nav .nav-button:hover:after{background:var(--lf-primary)}:root[data-festival-active=true] .post-meta,:root[data-festival-active=true] .article-feed-stats,:root[data-festival-active=true] .article-row-comment-actions{color:color-mix(in srgb, var(--lf-muted) 82%, transparent)}:root[data-festival-active=true] :where(.article-reader,.article-comments-card,.post-comments-panel){--surface:#ffffffdb;--surface-strong:#fff;--soft-surface:color-mix(in srgb, var(--lf-primary) 8%, #fff);--border:color-mix(in srgb, var(--lf-primary) 18%, transparent);--border-strong:color-mix(in srgb, var(--lf-primary) 28%, transparent);--text:var(--lf-text);--muted:var(--lf-muted);--faint:color-mix(in srgb, var(--lf-muted) 78%, transparent);--primary:var(--lf-primary);--primary-deep:color-mix(in srgb, var(--lf-primary) 76%, var(--lf-text));--primary-soft:color-mix(in srgb, var(--lf-primary) 14%, transparent)}:root[data-festival-active=true][data-color-mode=night] :where(.article-reader,.article-comments-card,.post-comments-panel){--surface:color-mix(in srgb, var(--lf-surface-solid) 82%, transparent);--surface-strong:var(--lf-surface-solid);--soft-surface:color-mix(in srgb, var(--lf-primary) 12%, var(--lf-surface-solid));--border:color-mix(in srgb, var(--lf-primary) 24%, transparent);--border-strong:color-mix(in srgb, var(--lf-primary) 34%, transparent);--text:var(--lf-text);--muted:var(--lf-muted);--faint:color-mix(in srgb, var(--lf-muted) 76%, transparent);--primary:var(--lf-primary);--primary-deep:color-mix(in srgb, var(--lf-primary) 76%, var(--lf-text));--primary-soft:color-mix(in srgb, var(--lf-primary) 16%, transparent)}:root[data-festival-active=true] .article-content p,:root[data-festival-active=true] .article-summary p{color:var(--muted)}.theme-preview-page{gap:16px;display:grid}.theme-preview-hero{justify-content:space-between;align-items:center;gap:18px;min-height:180px;padding:28px;display:flex}.theme-preview-hero>div{gap:10px;display:grid}.theme-preview-hero span,.festival-preview-group-head{align-items:center;gap:8px;display:inline-flex}.theme-preview-hero span{width:max-content;color:var(--primary);font-weight:900}.theme-preview-hero h1,.theme-preview-hero p,.festival-preview-group h2{margin:0}.theme-preview-hero h1{font-size:34px;line-height:1.2}.theme-preview-hero p{color:var(--muted);line-height:1.75}.festival-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.festival-preview-group{border:1px solid var(--border);background:var(--surface);box-shadow:var(--card-shadow);border-radius:10px;gap:12px;padding:14px;display:grid}.festival-preview-group-head{justify-content:space-between}.festival-preview-group-head span{background:var(--festival-group-color,var(--primary));width:12px;height:12px;box-shadow:0 0 0 5px color-mix(in srgb, var(--festival-group-color,var(--primary)) 16%, transparent);border-radius:50%;margin-right:2px}.festival-preview-group h2{color:var(--text);flex:1;font-size:18px}.festival-preview-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.festival-preview-card{width:100%;color:var(--text);text-align:left;border:1px solid var(--border);background:color-mix(in srgb, var(--surface-strong) 82%, transparent);border-radius:10px;gap:10px;padding:8px;display:grid;position:relative}.festival-preview-card:hover,.festival-preview-card.is-active{border-color:color-mix(in srgb, var(--festival-preview-primary) 46%, var(--border));box-shadow:0 0 0 4px color-mix(in srgb, var(--festival-preview-primary) 16%, transparent)}.festival-preview-card img{aspect-ratio:3;object-fit:cover;object-position:center center;border-radius:7px;width:100%}.festival-preview-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.festival-preview-meta strong{font-size:14px}.festival-preview-meta em{color:var(--muted);font-size:12px;font-style:normal;font-weight:900}.festival-preview-swatches{gap:6px;display:flex}.festival-preview-swatches i{border-radius:999px;width:26px;height:8px;box-shadow:inset 0 0 0 1px #ffffff59}@media (width<=1180px){.festival-switcher-panel{left:50%;right:auto;transform:translate(-50%)}}@media (width<=860px){.hero-section.is-festival-hero .hero-art img{object-position:72% center}.festival-preview-grid{grid-template-columns:1fr}}@media (width<=620px){.header-actions{grid-template-columns:minmax(0,1fr) 86px 86px 42px 42px}.search-box{min-width:0}.festival-switcher{width:86px}.festival-switcher-trigger{width:86px;min-width:0;padding:0 8px}.festival-switcher-trigger span{text-overflow:ellipsis;max-width:42px;overflow:hidden}.festival-switcher-panel{width:min(292px,100vw - 24px);left:auto;right:0;transform:none}.theme-preview-hero{flex-direction:column;align-items:flex-start;padding:20px}.theme-preview-hero h1{font-size:28px}.festival-preview-pair{grid-template-columns:1fr}}@media (width<=460px){.header-actions{grid-template-columns:minmax(0,1fr) 78px 78px 40px 40px;gap:6px}.language-menu,.festival-switcher,.language-trigger,.festival-switcher-trigger{width:78px}.language-trigger,.festival-switcher-trigger{padding:0 6px}}
