.bg-layer{z-index:-1;pointer-events:none;background:radial-gradient(120% 90% at 50% 0%, var(--bg-elev) 0%, var(--bg) 55%, var(--bg-deep) 100%);position:fixed;inset:0;overflow:hidden}.particle-canvas{display:block;position:absolute;inset:0}.grid-overlay{background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:56px 56px;position:absolute;inset:-2px;-webkit-mask-image:radial-gradient(90% 70% at 50% 30%,#000 30%,#0000 78%);mask-image:radial-gradient(90% 70% at 50% 30%,#000 30%,#0000 78%)}.glow{filter:blur(90px);opacity:.5;will-change:transform;border-radius:50%;position:absolute}.glow-a{background:radial-gradient(circle, var(--accent-glow) 0%, transparent 68%);width:46vw;height:46vw;animation:drift-a 22s var(--ease-out) infinite alternate;top:-14vw;left:-10vw}.glow-b{background:radial-gradient(circle, var(--cyan-glow) 0%, transparent 68%);width:40vw;height:40vw;animation:drift-b 26s var(--ease-out) infinite alternate;top:24vh;right:-12vw}.glow-c{background:radial-gradient(circle, var(--accent-glow) 0%, transparent 72%);opacity:.32;width:34vw;height:34vw;animation:drift-c 30s var(--ease-out) infinite alternate;bottom:-14vw;left:26vw}@keyframes drift-a{0%{transform:translate(0,0)scale(1)}to{transform:translate(6vw,5vh)scale(1.12)}}@keyframes drift-b{0%{transform:translate(0,0)scale(1.05)}to{transform:translate(-7vw,-6vh)scale(.95)}}@keyframes drift-c{0%{transform:translate(0,0)scale(.95)}to{transform:translate(4vw,-4vh)scale(1.15)}}.pointer-glow{pointer-events:none;z-index:0;background:radial-gradient(circle, var(--accent-glow) 0%, transparent 62%);opacity:0;filter:blur(38px);width:420px;height:420px;transition:opacity var(--dur-slow) var(--ease-out);transform:translate3d(var(--px,-999px), var(--py,-999px), 0);will-change:transform;border-radius:50%;margin:-210px 0 0 -210px;position:fixed;top:0;left:0}@media (hover:hover) and (pointer:fine){.pointer-glow.is-active{opacity:.32}}.reveal{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:none}.tilt{transform-style:preserve-3d;transition:transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out)}@media (hover:hover) and (pointer:fine){.tilt:hover{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-6px) scale(1.012);box-shadow:var(--shadow-hover);border-color:var(--glass-border-strong)}}@media (hover:none){.tilt:active{transform:scale(.992)}}.tilt:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;transition:opacity var(--dur) var(--ease-out);background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%), var(--accent-wash), transparent 70%);position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.tilt:hover:after{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.enter{animation:fade-up .7s var(--ease-out) both;animation-delay:var(--enter-delay,0s)}.enter-fade{animation:fade-in .8s var(--ease-out) both;animation-delay:var(--enter-delay,0s)}.grad-text{background:var(--grad-text);color:#0000;-webkit-background-clip:text;background-clip:text}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 var(--accent-glow);opacity:1}70%{opacity:.85;box-shadow:0 0 0 8px #0000}}.pulse-dot{background:var(--accent);width:7px;height:7px;animation:pulse-dot 2.4s var(--ease-out) infinite;border-radius:50%;display:inline-block;position:relative}@media (width<=720px){.glow{filter:blur(64px);opacity:.4}.grid-overlay{background-size:40px 40px}}.shell{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 28px}.container-read{max-width:var(--maxw-read)}.site-nav{z-index:20;height:var(--nav-h);background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);border-bottom:1px solid var(--glass-border);position:sticky;top:0}.site-nav:after{content:"";background:linear-gradient(90deg, transparent, var(--accent-glow) 30%, var(--cyan-glow) 70%, transparent);opacity:.7;height:1px;position:absolute;bottom:-1px;left:0;right:0}.site-nav .container{justify-content:space-between;align-items:center;gap:20px;height:100%;display:flex}.brand{letter-spacing:.01em;color:var(--text);white-space:nowrap;align-items:center;gap:10px;font-size:16px;font-weight:650;display:inline-flex}.brand:hover{color:var(--accent)}.brand-mark{background:var(--grad-accent);width:26px;height:26px;color:var(--text-invert);box-shadow:0 0 18px -4px var(--accent-glow);border-radius:8px;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.nav-right{align-items:center;gap:6px;display:flex}.nav-links{gap:4px;font-size:14px;display:flex}.nav-links a{border-radius:var(--radius-pill);color:var(--text-soft);transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);padding:7px 14px;position:relative}.nav-links a:hover{color:var(--text);background:var(--accent-wash)}.nav-links a.active{color:var(--text);background:var(--accent-wash);box-shadow:inset 0 0 0 1px var(--glass-border-strong)}.nav-write{align-items:center;gap:6px;display:inline-flex}.nav-write svg{width:14px;height:14px}.theme-toggle{border:1px solid var(--glass-border);background:var(--glass-bg);width:36px;height:36px;color:var(--text-soft);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur) var(--ease-spring);border-radius:50%;place-items:center;display:grid}.theme-toggle:hover{color:var(--accent);border-color:var(--glass-border-strong);transform:rotate(-18deg)scale(1.06)}.theme-toggle svg{width:17px;height:17px}.main{flex:1;padding:56px 0 88px}.page-enter{animation:fade-up .5s var(--ease-out) both}.site-footer{color:var(--text-muted);background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%);border-top:1px solid var(--glass-border);margin-top:auto;padding:48px 0 30px;font-size:13px}.footer-grid{grid-template-columns:1fr;gap:34px;display:grid}.footer-title{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-dim);margin:0 0 14px;font-size:11px;font-weight:700}:root[data-theme=dark] .footer-title{color:var(--accent)}.link-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 22px;display:grid}.friend-link{min-width:0;transition:transform var(--dur-fast) var(--ease-out);align-items:baseline;gap:8px;padding:4px 0;display:flex}.friend-link:hover{transform:translate(3px)}.friend-link .name{color:var(--text-soft);flex:none;font-weight:550}.friend-link:hover .name{color:var(--accent)}.friend-link .desc{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.footer-bottom{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:34px;padding-top:22px;display:flex}.footer-bottom .sep{color:var(--line-strong)}.footer-bottom a{color:var(--text-muted)}.footer-bottom a:hover{color:var(--accent)}@media (width<=720px){.container{padding:0 18px}.main{padding:34px 0 60px}.nav-links a{padding:6px 10px;font-size:13px}.brand span{display:none}}.hero{margin-bottom:44px;padding:40px 38px;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(circle, var(--accent-glow) 0%, transparent 68%);opacity:.45;pointer-events:none;border-radius:50%;width:340px;height:340px;position:absolute;top:-150px;right:-90px}.hero-inner{align-items:flex-start;gap:30px;display:flex;position:relative}.avatar-wrap{flex:none;position:relative}.avatar-wrap:before{content:"";background:conic-gradient(from 0deg, transparent 0%, var(--accent) 25%, transparent 50%, var(--cyan) 75%, transparent 100%);opacity:.85;border-radius:50%;animation:6s linear infinite spin;position:absolute;inset:-4px}@keyframes spin{to{transform:rotate(360deg)}}.avatar,.avatar-fallback{object-fit:cover;border:3px solid var(--bg);background:var(--bg-elev);border-radius:50%;flex:none;width:96px;height:96px;position:relative}.avatar-fallback{color:var(--text-invert);background:var(--grad-accent);letter-spacing:0;place-items:center;font-size:34px;font-weight:700;display:grid}.hero-body{flex:1;min-width:0}.status-line{border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:var(--accent-wash);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;margin-bottom:12px;padding:4px 12px 4px 10px;font-size:11.5px;display:inline-flex}.hero-name{letter-spacing:-.02em;margin:0 0 10px;font-size:40px;font-weight:700;line-height:1.15}.hero-slogan{color:var(--text-soft);margin:0 0 16px;font-size:16px}.hero-bio{color:var(--text-soft);white-space:pre-line;max-width:62ch;margin:0 0 20px;font-size:14.5px}.chips{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.chip{border-radius:var(--radius-pill);background:var(--accent-wash);color:var(--accent);border:1px solid var(--glass-border);transition:transform var(--dur-fast) var(--ease-spring), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:4px 12px;font-size:12px}.chip:hover{border-color:var(--glass-border-strong);box-shadow:0 0 16px -6px var(--accent-glow);transform:translateY(-2px)}.hero-contacts{flex-wrap:wrap;gap:10px;display:flex}.contact-btn{border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-soft);transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-fast) var(--ease-out);align-items:center;gap:7px;padding:7px 15px;font-size:13px;display:inline-flex}.contact-btn:hover{color:var(--accent);border-color:var(--glass-border-strong);box-shadow:0 6px 20px -8px var(--accent-glow);transform:translateY(-2px)}.contact-btn svg{flex:none;width:14px;height:14px}.section{margin-top:46px}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);align-items:center;gap:10px;margin:0;font-size:15px;font-weight:650;display:flex}.section-title:before{content:"";background:var(--grad-accent);width:3px;height:15px;box-shadow:0 0 10px var(--accent-glow);border-radius:2px}.section-more{color:var(--text-muted);font-size:13px}.section-more:hover{color:var(--accent)}.post-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.post-card{cursor:pointer;flex-direction:column;min-height:220px;padding:24px 24px 20px;display:flex;position:relative;overflow:hidden}.post-card:before{content:"";background:var(--grad-accent);opacity:.32;width:2px;transition:opacity var(--dur) var(--ease-out);position:absolute;top:0;bottom:0;left:0}.tilt:hover:before{opacity:1}.post-card .card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card-date{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-muted);font-size:11.5px}.card-cat{border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:var(--accent-wash);color:var(--accent);white-space:nowrap;padding:2px 10px;font-size:11.5px}.post-card h3{margin:0 0 10px;font-size:18px;line-height:1.4}.post-card h3 a{color:var(--text);background-image:linear-gradient(var(--accent), var(--accent));transition:background-size var(--dur) var(--ease-out), color var(--dur-fast) var(--ease-out);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}.post-card h3 a:hover{color:var(--accent);background-size:100% 1px}.card-summary{color:var(--text-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;flex:1;margin:0 0 18px;font-size:13.5px;line-height:1.7;display:-webkit-box;overflow:hidden}.card-tags{flex-wrap:wrap;gap:7px;margin-top:auto;display:flex}.card-tag{font-family:var(--font-mono);color:var(--text-muted);transition:color var(--dur-fast) var(--ease-out);font-size:11px}.post-card:hover .card-tag{color:var(--cyan)}.post-card-compact{height:184px;min-height:0}.post-card-compact h3{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:none;min-height:2.8em;display:-webkit-box;overflow:hidden}.post-card-compact .card-summary{min-height:5.1em}.post-card-compact .card-tags{flex-wrap:nowrap;max-height:16.5px;overflow:hidden}.state{color:var(--text-muted);text-align:center;padding:48px 0;font-size:14px}.state-error{text-align:left;border-radius:var(--radius);color:var(--danger);background:#ff6b8114;border:1px solid #ff6b814d;padding:18px 22px}.state-error p{margin:0 0 8px}.state-error p:last-child{color:var(--text-muted);margin-bottom:0;font-size:13px}.state-error code{background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:5px;padding:2px 6px}.pager{font-family:var(--font-mono);color:var(--text-muted);justify-content:center;align-items:center;gap:18px;margin-top:34px;font-size:13px;display:flex}.btn-ghost{border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-soft);font:inherit;cursor:pointer;transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);padding:8px 20px;font-size:13px}.btn-ghost:hover:not(:disabled){color:var(--accent);border-color:var(--glass-border-strong);box-shadow:0 0 20px -8px var(--accent-glow)}.btn-ghost:disabled{opacity:.35;cursor:not-allowed}@media (width<=860px){.post-grid{grid-template-columns:1fr}.post-card-compact{height:auto;min-height:220px}.post-card-compact .card-summary{min-height:0}.post-card-compact .card-tags{flex-wrap:wrap;max-height:none}}@media (width<=720px){.hero{padding:28px 22px}.hero-inner{flex-direction:column;gap:20px}.avatar,.avatar-fallback{width:76px;height:76px;font-size:27px}.hero-name{font-size:28px}.post-card{padding:20px 18px 18px}}.login-page{flex-direction:column;align-items:center;gap:18px;padding:48px 0 72px;display:flex}.login-page .back-link{align-self:flex-start}.login-card{border-radius:var(--radius);width:min(440px,100%);padding:34px 32px 28px}.login-head{text-align:center;margin-bottom:26px}.login-badge{width:48px;height:48px;color:var(--accent);background:var(--accent-wash);border:1px solid var(--glass-border-strong);box-shadow:0 0 22px -6px var(--accent-glow);border-radius:50%;justify-content:center;align-items:center;margin-bottom:14px;display:inline-flex}.login-badge svg{width:22px;height:22px}.login-head h1{margin:0 0 6px;font-size:1.5rem}.login-sub{color:var(--text-muted);margin:0;font-size:.9rem}.login-hint{border-top:1px solid var(--line);color:var(--text-muted);text-align:center;margin:18px 0 0;padding-top:14px;font-size:.78rem;line-height:1.6}.login-form{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:7px;display:flex}.field-label{color:var(--text-soft);letter-spacing:.02em;font-size:.82rem;font-weight:600}.field input,.field textarea{width:100%;font:inherit;color:var(--text);background:var(--bg-elev);border:1px solid var(--line-strong);border-radius:var(--radius-sm);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);outline:none;padding:10px 13px;font-size:.94rem}:root[data-theme=dark] .field input,:root[data-theme=dark] .field textarea{background:#0206088c}.field input::placeholder,.field textarea::placeholder{color:var(--text-muted);opacity:.75}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.field input:focus-visible,.field textarea:focus-visible{outline:none}.btn-primary{font:inherit;color:var(--text-invert);background:var(--grad-accent);border-radius:var(--radius-sm);cursor:pointer;box-shadow:0 8px 24px -10px var(--accent-glow);transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border:0;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:.94rem;font-weight:600;display:inline-flex}.btn-primary:hover:not(:disabled){box-shadow:0 12px 30px -10px var(--accent-glow);transform:translateY(-1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.form-error{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent);border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);border-radius:var(--radius-sm);margin:0;padding:9px 12px;font-size:.85rem}@media (width<=560px){.login-page{padding:28px 0 56px}.login-card{padding:26px 20px 22px}}.admin-page{flex-direction:column;gap:22px;display:flex}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.admin-head h1{margin:0 0 6px;font-size:1.65rem}.admin-sub{color:var(--text-muted);max-width:60ch;margin:0;font-size:.92rem}.admin-new{flex:none;padding:9px 20px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.stat-card{color:inherit;transition:transform var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out);flex-direction:column;gap:6px;padding:20px 22px;display:flex}.stat-card:hover{border-color:var(--glass-border-strong);box-shadow:var(--shadow-hover);transform:translateY(-3px)}.stat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:12px}.stat-value{font-family:var(--font-mono);font-size:30px;font-weight:700;line-height:1.1}.stat-online{color:var(--accent)}.stat-offline{color:var(--text-soft)}.stat-deleted{color:var(--danger)}.stat-note{color:var(--text-muted);font-size:12px}.admin-section{flex-direction:column;gap:14px;display:flex}.admin-recent{margin:0;padding:6px 0;list-style:none}.admin-recent li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:11px 20px;display:flex}.admin-recent li:last-child{border-bottom:0}.recent-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.recent-title:hover{color:var(--accent)}.recent-meta{flex:none;align-items:center;gap:12px;display:inline-flex}.admin-tabs{border-radius:var(--radius-pill);border:1px solid var(--glass-border);background:var(--glass-bg);align-self:flex-start;gap:6px;padding:4px;display:flex}.admin-tabs a{border-radius:var(--radius-pill);color:var(--text-soft);transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);padding:7px 18px;font-size:.9rem}.admin-tabs a:hover{color:var(--text);background:var(--accent-wash)}.admin-tabs a.is-active{color:var(--text);background:var(--accent-wash);box-shadow:inset 0 0 0 1px var(--glass-border-strong)}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:14px;padding:14px 18px;display:flex}.admin-search{flex:260px;align-items:center;gap:8px;display:flex}.admin-search input{min-width:0;font:inherit;color:var(--text);background:var(--glass-bg-strong);border:1px solid var(--glass-border);border-radius:var(--radius-sm);transition:border-color var(--dur-fast) var(--ease-out);outline:none;flex:1;padding:8px 12px;font-size:.9rem}.admin-search input:focus{border-color:var(--glass-border-strong)}.admin-filters{gap:6px;display:flex}.admin-chip{font:inherit;color:var(--text-soft);border:1px solid var(--glass-border);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;padding:6px 14px;font-size:.85rem}.admin-chip:hover{color:var(--text);border-color:var(--glass-border-strong)}.admin-chip.is-active{color:var(--accent);background:var(--accent-wash);border-color:var(--glass-border-strong)}.admin-count{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto;font-size:.85rem}.admin-notice{border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--accent-wash);color:var(--accent);margin:0;padding:10px 16px;font-size:.9rem}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.92rem}.admin-table th,.admin-table td{text-align:left;vertical-align:middle;padding:13px 18px}.admin-table thead th{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--line-strong);white-space:nowrap;font-size:11.5px;font-weight:650}.admin-table tbody tr{border-bottom:1px solid var(--line);transition:background-color var(--dur-fast) var(--ease-out)}.admin-table tbody tr:last-child{border-bottom:0}.admin-table tbody tr:hover{background:var(--accent-wash)}.admin-table tbody tr.is-deleted{opacity:.72}.col-title{min-width:240px}.admin-title{color:var(--text);font-weight:550;display:block}.admin-summary{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:46ch;margin-top:4px;font-size:12.5px;display:block;overflow:hidden}.col-date{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;font-size:12.5px}.col-actions{white-space:nowrap;width:1%}.admin-row-actions{justify-content:flex-end;gap:8px;display:flex}.btn-sm{padding:5px 13px;font-size:12.5px}.btn-danger{color:var(--danger);border-color:#ff6b814d}.btn-danger:hover:not(:disabled){color:var(--danger);border-color:var(--danger);box-shadow:0 0 20px -8px var(--danger)}.btn-primary.btn-danger{color:#fff;background:var(--danger);border:0}.btn-primary.btn-danger:hover{filter:brightness(1.08)}.badge{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;padding:2px 10px;font-size:11.5px;display:inline-block}.badge-online{color:var(--accent);background:var(--accent-wash);border-color:var(--glass-border-strong)}.badge-offline{color:var(--text-muted);background:var(--glass-bg-strong);border-color:var(--glass-border)}.badge-deleted{color:var(--danger);background:#ff6b811a;border-color:#ff6b814d}.dialog-mask{z-index:40;-webkit-backdrop-filter:blur(4px);animation:fade-in var(--dur) var(--ease-out) both;background:#0206089e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dialog{width:min(440px,100%);animation:fade-up var(--dur) var(--ease-out) both;padding:26px 26px 22px}.dialog-title{margin:0 0 10px;font-size:1.1rem}.dialog-desc{color:var(--text-soft);margin:0 0 22px;font-size:.92rem;line-height:1.7}.dialog-actions{justify-content:flex-end;gap:10px;display:flex}.dialog-actions .btn-primary,.dialog-actions .btn-ghost{padding:8px 20px}@media (width<=720px){.admin-toolbar{padding:12px 14px}.admin-count{margin-left:0}.admin-table th,.admin-table td{padding:11px 13px}.admin-summary{max-width:30ch}}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#050b0e;--bg-deep:#020608;--bg-elev:#081419;--glass-bg:#0e22288c;--glass-bg-strong:#0a1a1fc7;--glass-border:#78ffd624;--glass-border-strong:#78ffd642;--glass-blur:18px;--accent:#3dffb0;--accent-soft:#7dffc9;--accent-dim:#1f8f68;--accent-glow:#3dffb08c;--accent-wash:#3dffb017;--cyan:#22d3ee;--cyan-dim:#0e7490;--cyan-glow:#22d3ee73;--text:#e6f5f1;--text-soft:#a9c6c0;--text-muted:#6d8a86;--text-invert:#04120e;--line:#78ffd61f;--line-strong:#78ffd638;--danger:#ff6b81;--shadow-card:0 8px 32px #00000080;--shadow-hover:0 16px 48px #0009, 0 0 0 1px var(--glass-border-strong), 0 0 36px -8px var(--accent-glow);--grid-line:#78ffd60b;--particle:#3dffb0d9;--particle-line:#22d3ee2e}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f7f6;--bg-deep:#e6efed;--bg-elev:#fff;--glass-bg:#ffffff9e;--glass-bg-strong:#ffffffd9;--glass-border:#064e3b1f;--glass-border-strong:#064e3b38;--glass-blur:16px;--accent:#0d9488;--accent-soft:#14b8a6;--accent-dim:#0f766e;--accent-glow:#0d94884d;--accent-wash:#0d948812;--cyan:#0891b2;--cyan-dim:#0e7490;--cyan-glow:#0891b240;--text:#08201c;--text-soft:#3d5a55;--text-muted:#6b847f;--text-invert:#fff;--line:#064e3b1a;--line-strong:#064e3b2e;--danger:#be123c;--shadow-card:0 4px 20px #064e3b14;--shadow-hover:0 12px 36px #064e3b24, 0 0 0 1px var(--glass-border-strong), 0 0 28px -10px var(--accent-glow);--grid-line:#064e3b0b;--particle:#0d948880;--particle-line:#0891b224}:root{--grad-accent:linear-gradient(120deg, var(--accent) 0%, var(--cyan) 100%);--grad-text:linear-gradient(100deg, var(--accent-soft) 0%, var(--cyan) 90%);--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", sans-serif;--font-mono:"SFMono-Regular", ui-monospace, Consolas, "Liberation Mono", monospace;--maxw:1080px;--maxw-read:760px;--radius:16px;--radius-sm:10px;--radius-pill:999px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.18s;--dur:.32s;--dur-slow:.6s;--nav-h:64px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;transition:background-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out);margin:0;font-size:16px;line-height:1.75;overflow-x:hidden}h1,h2,h3{letter-spacing:-.015em;color:var(--text);font-weight:650;line-height:1.25}a{color:var(--accent);transition:color var(--dur-fast) var(--ease-out);text-decoration:none}a:hover{color:var(--accent-soft)}code{font-family:var(--font-mono);font-size:.875em}hr{border:0;border-top:1px solid var(--line);margin:0}::selection{background:var(--accent);color:var(--text-invert)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--glass-border-strong);border-radius:var(--radius-pill);border:2px solid var(--bg-deep)}::-webkit-scrollbar-thumb:hover{background:var(--accent-dim)}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow-card)}.glass-edge{position:relative;overflow:hidden}.glass-edge:before{content:"";background:linear-gradient(90deg, transparent, var(--glass-border-strong) 22%, var(--accent-glow) 50%, var(--glass-border-strong) 78%, transparent);opacity:.8;pointer-events:none;height:1px;position:absolute;inset:0 0 auto}.theme-transition,.theme-transition *{transition:background-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out)!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
