:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--green-50:#eef7f2;--green-100:#d6ecdf;--green-200:#b0d9c2;--green-300:#7fbf9f;--green-400:#52a37d;--green-500:#398564;--green-600:#2f7a5b;--green-700:#26624a;--green-800:#1f4d3b;--green-900:#163a2d;--gray-0:#fff;--gray-50:#f7f8f9;--gray-100:#eef0f2;--gray-200:#e1e4e8;--gray-300:#c9ced5;--gray-400:#9aa3ad;--gray-500:#6b7580;--gray-600:#4d5661;--gray-700:#363d46;--gray-800:#22272e;--gray-900:#15191e;--gray-950:#0c0f12;--red-500:#d84c4c;--red-600:#bd3b3b;--red-bg:#fdecec;--amber-bg:#fff6e0;--amber-700:#8a5a00;--bg:var(--gray-50);--bg-elev:var(--gray-0);--bg-subtle:var(--gray-100);--bg-hover:var(--gray-100);--border:var(--gray-200);--border-strong:var(--gray-300);--text:var(--gray-900);--text-2:var(--gray-600);--text-3:var(--gray-500);--text-inverse:#fff;--accent:var(--green-600);--accent-hover:var(--green-700);--accent-soft:var(--green-50);--accent-soft-text:var(--green-800);--accent-ring:#2f7a5b59;--danger:var(--red-600);--danger-bg:var(--red-bg);--header-bg:#f7f8f9c7;--skeleton-a:var(--gray-100);--skeleton-b:var(--gray-200);--overlay:#0c0f1280;--shadow-xs:0 1px 2px #1018280d;--shadow-sm:0 1px 3px #10182814, 0 1px 2px #1018280a;--shadow-md:0 6px 16px -4px #1018281f, 0 2px 6px -2px #1018280f;--shadow-lg:0 20px 40px -12px #10182833;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-full:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--fs-xs:.75rem;--fs-sm:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:1.875rem;--fs-4xl:2.5rem;--fs-5xl:clamp(2.5rem, 2rem + 3vw, 4rem);--container:1200px;--gutter:16px;--header-h:64px;--ease:cubic-bezier(.2, .8, .2, 1);--dur:.18s}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--gray-950);--bg-elev:var(--gray-900);--bg-subtle:var(--gray-800);--bg-hover:var(--gray-800);--border:#262c34;--border-strong:#343c46;--text:#f2f4f6;--text-2:#aab3bd;--text-3:#7f8a95;--accent:var(--green-400);--accent-hover:var(--green-300);--accent-soft:#52a37d24;--accent-soft-text:var(--green-200);--accent-ring:#52a37d73;--danger:#ef6b6b;--danger-bg:#d84c4c24;--amber-bg:#ffbe3c24;--amber-700:#ffd37a;--header-bg:#0c0f12b8;--skeleton-a:var(--gray-800);--skeleton-b:#2b323b;--overlay:#000000a6;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 3px #00000080;--shadow-md:0 8px 20px -6px #0009;--shadow-lg:0 24px 48px -12px #000000b3}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--fs-md);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100dvh;line-height:1.6;display:flex;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}img,svg,video{max-width:100%;display:block}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}ul,ol{padding:0;list-style:none}h1,h2,h3,h4{letter-spacing:-.02em;text-wrap:balance;font-weight:700;line-height:1.15}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--green-200);color:var(--green-900)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.container--narrow{max-width:760px}.container--editor{max-width:1100px}main{padding-block:var(--s-10) var(--s-20);flex:1}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s-4);margin-bottom:var(--s-8);flex-wrap:wrap;display:flex}.page-head h1{font-size:var(--fs-3xl)}.page-head p{color:var(--text-2);margin-top:var(--s-2);max-width:56ch}.eyebrow{align-items:center;gap:var(--s-2);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:600;display:inline-flex}.stack{gap:var(--s-4);flex-direction:column;display:flex}.row{align-items:center;gap:var(--s-3);display:flex}.muted{color:var(--text-2)}.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}.grid{gap:var(--s-6);grid-template-columns:1fr;display:grid}@media (width>=640px){.grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.grid{grid-template-columns:repeat(3,1fr)}:root{--gutter:32px}}.btn{--btn-bg:var(--bg-elev);--btn-fg:var(--text);--btn-border:var(--border);justify-content:center;align-items:center;gap:var(--s-2);height:40px;padding:0 var(--s-4);border-radius:var(--r-md);font-size:var(--fs-sm);white-space:nowrap;background:var(--btn-bg);color:var(--btn-fg);border:1px solid var(--btn-border);box-shadow:var(--shadow-xs);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);font-weight:600;display:inline-flex}.btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed;transform:none}.btn--primary{--btn-bg:var(--accent);--btn-fg:#fff;--btn-border:transparent}:root[data-theme=dark] .btn--primary{--btn-fg:var(--gray-950)}.btn--primary:hover{background:var(--accent-hover);border-color:#0000}.btn--ghost{--btn-bg:transparent;--btn-border:transparent;box-shadow:none}.btn--ghost:hover{background:var(--bg-hover);border-color:#0000}.btn--danger{--btn-bg:transparent;--btn-fg:var(--danger);--btn-border:var(--border)}.btn--danger:hover{background:var(--danger-bg);border-color:#0000}.btn--danger-solid{--btn-bg:var(--red-600);--btn-fg:#fff;--btn-border:transparent}.btn--danger-solid:hover{background:#a73131}.btn--sm{height:32px;padding:0 var(--s-3);font-size:var(--fs-xs);border-radius:var(--r-sm)}.btn--lg{height:48px;padding:0 var(--s-6);font-size:var(--fs-md);border-radius:var(--r-lg)}.btn--icon{border-radius:var(--r-md);width:36px;height:36px;padding:0}.btn--block{width:100%}.btn .spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chip{align-items:center;gap:var(--s-1);height:26px;padding:0 var(--s-3);border-radius:var(--r-full);font-size:var(--fs-xs);background:var(--accent-soft);color:var(--accent-soft-text);transition:background var(--dur) var(--ease);font-weight:600;display:inline-flex}.chip:hover{background:var(--green-100)}:root[data-theme=dark] .chip:hover{background:#52a37d42}.chip--on-image{color:var(--green-800);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb}.avatar{--size:36px;width:var(--size);height:var(--size);border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-soft-text);font-weight:700;font-size:calc(var(--size) * .38);letter-spacing:.02em;border:1px solid var(--border);flex:none;place-items:center;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar--sm{--size:28px}.avatar--lg{--size:64px}.avatar--xl{--size:112px}.header{z-index:50;height:var(--header-h);background:var(--header-bg);-webkit-backdrop-filter:blur(16px)saturate(160%);border-bottom:1px solid var(--border);position:sticky;top:0}.header__inner{align-items:center;gap:var(--s-6);height:100%;display:flex}.brand{font-weight:800;font-size:var(--fs-xl);letter-spacing:-.03em;color:var(--text);align-items:center;gap:10px;display:inline-flex}.brand__mark{background:var(--accent);width:30px;height:30px;box-shadow:var(--shadow-sm);border-radius:8px;place-items:center;display:grid}.brand__mark svg{width:20px;height:20px}.nav{align-items:center;gap:var(--s-1);display:none}.nav a{height:36px;padding:0 var(--s-3);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text-2);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);align-items:center;font-weight:500;display:inline-flex}.nav a:hover{color:var(--text);background:var(--bg-hover)}.nav a.active{color:var(--text);background:var(--bg-subtle)}.header__actions{align-items:center;gap:var(--s-2);margin-left:auto;display:flex}.header__cta{display:none}.menu-btn{display:inline-flex}@media (width>=900px){.nav{display:flex}.header__cta{display:inline-flex}.menu-btn{display:none}}.user-menu{position:relative}.user-menu__trigger{align-items:center;gap:var(--s-2);border-radius:var(--r-full);transition:border-color var(--dur) var(--ease);border:1px solid #0000;padding:2px;display:inline-flex}.user-menu__trigger:hover,.user-menu__trigger[aria-expanded=true]{border-color:var(--border-strong)}.menu{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);min-width:220px;box-shadow:var(--shadow-lg);padding:var(--s-2);animation:pop var(--dur) var(--ease);z-index:60;position:absolute;top:calc(100% + 8px);right:0}.menu__head{padding:var(--s-2) var(--s-3) var(--s-3);border-bottom:1px solid var(--border);margin-bottom:var(--s-2)}.menu__head strong{font-size:var(--fs-sm);display:block}.menu__head span{font-size:var(--fs-xs);color:var(--text-3)}.menu a,.menu button{align-items:center;gap:var(--s-3);width:100%;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text);text-align:left;display:flex}.menu a:hover,.menu button:hover{background:var(--bg-hover)}.menu .danger{color:var(--danger)}.menu svg{color:var(--text-3);flex:none}@keyframes pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.drawer-backdrop{background:var(--overlay);z-index:70;animation:fade var(--dur) var(--ease);position:fixed;inset:0}.drawer{background:var(--bg-elev);z-index:80;width:min(320px,86vw);padding:var(--s-5);gap:var(--s-6);box-shadow:var(--shadow-lg);animation:slide .24s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.drawer__head{justify-content:space-between;align-items:center;display:flex}.drawer nav{gap:var(--s-1);flex-direction:column;display:flex}.drawer nav a{align-items:center;gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-md);font-weight:500;display:flex}.drawer nav a:hover,.drawer nav a.active{background:var(--bg-hover)}.drawer__foot{gap:var(--s-2);flex-direction:column;margin-top:auto;display:flex}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{opacity:0;transform:translate(24px)}}.hero{padding:var(--s-12) 0 var(--s-10);text-align:center;isolation:isolate;position:relative}.hero:before{content:"";background:radial-gradient(600px 260px at 50% 0%, var(--accent-soft), transparent 70%), radial-gradient(400px 200px at 20% 20%, #52a37d1f, transparent 70%);z-index:-1;pointer-events:none;height:520px;position:absolute;inset:-40% 0 auto}.hero__badge{align-items:center;gap:var(--s-2);border-radius:var(--r-full);border:1px solid var(--border);background:var(--bg-elev);font-size:var(--fs-xs);color:var(--text-2);box-shadow:var(--shadow-xs);margin-bottom:var(--s-6);padding:4px 12px 4px 6px;font-weight:500;display:inline-flex}.hero__badge b{border-radius:var(--r-full);background:var(--accent);color:#fff;letter-spacing:.06em;align-items:center;height:20px;padding:0 8px;font-size:10px;font-weight:700;display:inline-flex}:root[data-theme=dark] .hero__badge b{color:var(--gray-950)}a.hero__badge{transition:border-color .15s var(--ease), color .15s var(--ease)}a.hero__badge:hover{border-color:var(--accent);color:var(--text)}.hero h1{font-size:var(--fs-5xl);letter-spacing:-.04em;max-width:18ch;margin-inline:auto;font-weight:800;line-height:1.02}.hero h1 em{color:var(--accent);font-style:normal}.hero p{margin:var(--s-6) auto 0;max-width:56ch;font-size:var(--fs-lg);color:var(--text-2)}.hero__actions{justify-content:center;gap:var(--s-3);margin-top:var(--s-8);flex-wrap:wrap;display:flex}.hero__trust{margin-top:var(--s-6);align-items:center;gap:var(--s-3);font-size:var(--fs-sm);color:var(--text-3);display:inline-flex}.hero__trust .avatars{display:flex}.hero__trust__text{align-items:center;gap:6px;display:inline-flex}.hero__trust .avatars .avatar{--size:26px;border:2px solid var(--bg);margin-left:-8px}.hero__trust .avatars .avatar:first-child{margin-left:0}.filterbar{justify-content:space-between;align-items:center;gap:var(--s-4);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.pills{gap:var(--s-2);scrollbar-width:none;min-width:0;max-width:100%;margin:-2px;padding:2px;display:flex;overflow-x:auto}.pills::-webkit-scrollbar{display:none}.pill{height:36px;padding:0 var(--s-4);border-radius:var(--r-full);border:1px solid var(--border);background:var(--bg-elev);font-size:var(--fs-sm);color:var(--text-2);transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease);flex:none;font-weight:500}.pill:hover{color:var(--text);border-color:var(--border-strong)}.pill[aria-pressed=true],.pill.active{background:var(--text);color:var(--bg);border-color:var(--text)}.filterbar__count{font-size:var(--fs-sm);color:var(--text-3)}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-xl);transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);flex-direction:column;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-3px)}.card__media{aspect-ratio:16/10;background:var(--bg-subtle);position:relative;overflow:hidden}.card__media img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease)}.card:hover .card__media img{transform:scale(1.04)}.card__media .chip{top:var(--s-3);left:var(--s-3);z-index:1;position:absolute}.card__body{padding:var(--s-5);gap:var(--s-3);flex-direction:column;flex:1;display:flex}.card__title{font-size:var(--fs-lg);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.card__title a:hover{color:var(--accent)}.card__title a:after{content:"";position:absolute;inset:0}.card{position:relative}.card__excerpt{font-size:var(--fs-sm);color:var(--text-2);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card__foot{padding-top:var(--s-3);border-top:1px solid var(--border);align-items:center;gap:var(--s-3);z-index:1;margin-top:auto;display:flex;position:relative}.author-row{align-items:center;gap:var(--s-3);min-width:0;display:flex}.author-row__meta{flex-direction:column;min-width:0;line-height:1.3;display:flex}.author-row__meta strong{font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.author-row__meta span{font-size:var(--fs-xs);color:var(--text-3)}.author-row a:hover strong{color:var(--accent)}.sk{background:linear-gradient(90deg, var(--skeleton-a) 25%, var(--skeleton-b) 50%, var(--skeleton-a) 75%);border-radius:var(--r-md);background-size:200% 100%;animation:1.4s linear infinite shimmer}.sk--text{height:12px}.sk--title{height:20px}.sk--circle{border-radius:var(--r-full)}.sk-card{border:1px solid var(--border);border-radius:var(--r-xl);background:var(--bg-elev);overflow:hidden}.sk-card .sk-media{aspect-ratio:16/10;border-radius:0}.sk-card .sk-body{padding:var(--s-5);gap:var(--s-3);flex-direction:column;display:flex}@keyframes shimmer{to{background-position:-200% 0}}.state{text-align:center;padding:var(--s-16) var(--s-4);border:1px dashed var(--border-strong);border-radius:var(--r-xl);background:var(--bg-elev);grid-column:1/-1}.state__icon{width:56px;height:56px;margin:0 auto var(--s-4);border-radius:var(--r-lg);background:var(--accent-soft);color:var(--accent);place-items:center;font-size:24px;display:grid}.state--error .state__icon{background:var(--danger-bg);color:var(--danger)}.state h3{font-size:var(--fs-xl);margin-bottom:var(--s-2)}.state p{color:var(--text-2);max-width:44ch;margin:0 auto var(--s-6)}.alert{gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:var(--fs-sm);border:1px solid #0000;align-items:flex-start;display:flex}.alert svg{flex:none;margin-top:2px}.alert--error{background:var(--danger-bg);color:var(--danger)}.alert--success{background:var(--accent-soft);color:var(--accent-soft-text)}.alert--info{background:var(--amber-bg);color:var(--amber-700)}.field{flex-direction:column;gap:6px;display:flex}.field label,.field__label{font-size:var(--fs-sm);font-weight:600}.field__hint{font-size:var(--fs-xs);color:var(--text-3)}.input,.select,.textarea{width:100%;height:42px;padding:0 var(--s-3);border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow-xs);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease)}.input::placeholder{color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-ring);outline:none}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7580' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.input-wrap{position:relative}.input-wrap .input{padding-right:44px}.input-wrap>button{border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-3);place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.input-wrap>button:hover{background:var(--bg-hover);color:var(--text)}.form-actions{gap:var(--s-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.auth{min-height:calc(100dvh - var(--header-h) - 160px);padding-block:var(--s-6);place-items:center;display:grid}.auth__card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-xl);width:100%;max-width:420px;box-shadow:var(--shadow-md);padding:var(--s-8);gap:var(--s-5);flex-direction:column;display:flex}.auth__card .brand{justify-content:center}.auth__card h1{font-size:var(--fs-2xl);text-align:center}.auth__card .lead{text-align:center;color:var(--text-2);font-size:var(--fs-sm);margin-top:calc(var(--s-2) * -1)}.auth__foot{text-align:center;font-size:var(--fs-sm);color:var(--text-2)}.auth__foot a{color:var(--accent);font-weight:600}.auth__foot a:hover{text-decoration:underline}.article__head{gap:var(--s-5);margin-bottom:var(--s-8);flex-direction:column;display:flex}.article__title{letter-spacing:-.035em;font-size:clamp(2rem,1.5rem + 2vw,3rem);font-weight:800;line-height:1.08}.article__meta{justify-content:space-between;align-items:center;gap:var(--s-4);padding-block:var(--s-4);border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.article__actions{gap:var(--s-2);display:flex}.article__cover{border-radius:var(--r-xl);background:var(--bg-subtle);aspect-ratio:16/9;margin-bottom:var(--s-10);box-shadow:var(--shadow-sm);overflow:hidden}.article__cover img{object-fit:cover;width:100%;height:100%}.article__foot{margin-top:var(--s-12);padding-top:var(--s-6);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.prose{color:var(--text);overflow-wrap:anywhere;font-size:1.0625rem;line-height:1.8}.prose>*+*{margin-top:1.25em}.prose h1,.prose h2,.prose h3,.prose h4{letter-spacing:-.02em;margin-top:2em;margin-bottom:.6em}.prose h1{font-size:2rem}.prose h2{font-size:1.6rem}.prose h3{font-size:1.3rem}.prose h4{font-size:1.1rem}.prose p{margin-top:1.25em}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.prose ul,.prose ol{margin-top:1em;padding-left:1.5em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li+li{margin-top:.4em}.prose blockquote{border-left:3px solid var(--accent);color:var(--text-2);padding:.25em 0 .25em 1.25em;font-style:italic}.prose img{border-radius:var(--r-lg);margin-block:2em}.prose pre,.prose code{font-family:var(--font-mono);font-size:.9em}.prose code{background:var(--bg-subtle);border-radius:var(--r-sm);padding:.15em .4em}.prose pre{background:var(--gray-900);color:var(--gray-100);padding:var(--s-4);border-radius:var(--r-lg);overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose hr{border:0;border-top:1px solid var(--border);margin-block:2.5em}.prose .ql-align-center{text-align:center}.prose .ql-align-right{text-align:right}.prose .ql-align-justify{text-align:justify}.editor{gap:var(--s-6);grid-template-columns:1fr;align-items:start;display:grid}@media (width>=960px){.editor{grid-template-columns:minmax(0,1fr) 320px}.editor__side{top:calc(var(--header-h) + var(--s-6));position:sticky}}.editor__main{gap:var(--s-4);flex-direction:column;min-width:0;display:flex}.title-input{width:100%;font-size:var(--fs-3xl);letter-spacing:-.03em;padding:var(--s-2) 0;border:0;border-bottom:1px solid var(--border);background:0 0;font-weight:800}.title-input:focus{border-bottom-color:var(--accent);outline:none}.title-input::placeholder{color:var(--text-3)}.panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--s-5);gap:var(--s-5);box-shadow:var(--shadow-xs);flex-direction:column;display:flex}.panel h2,.panel h3{font-size:var(--fs-md);font-weight:700}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--bg-subtle);aspect-ratio:16/10;text-align:center;padding:var(--s-4);color:var(--text-2);font-size:var(--fs-sm);cursor:pointer;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);place-items:center;display:grid;position:relative;overflow:hidden}.dropzone:hover,.dropzone.is-over{border-color:var(--accent);background:var(--accent-soft)}.dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.dropzone img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.dropzone__inner{align-items:center;gap:var(--s-2);flex-direction:column;display:flex}.dropzone__inner svg{color:var(--accent);font-size:24px}.dropzone__inner strong{color:var(--text)}.dropzone__overlay{padding:var(--s-2) var(--s-3);color:#fff;font-size:var(--fs-xs);text-align:left;background:linear-gradient(#0000,#0009);font-weight:600;position:absolute;inset:auto 0 0}.table-wrap{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs);overflow:hidden}.table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.table th{text-align:left;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:var(--s-3) var(--s-5);background:var(--bg-subtle);border-bottom:1px solid var(--border);font-weight:600}.table td{padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:var(--bg-hover)}.table__post{align-items:center;gap:var(--s-3);min-width:0;display:flex}.table__thumb{border-radius:var(--r-sm);object-fit:cover;background:var(--bg-subtle);flex:none;width:64px;height:40px}.table__title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:40ch;font-weight:600;overflow:hidden}.table__title:hover{color:var(--accent)}.table__actions{gap:var(--s-2);justify-content:flex-end;display:flex}.hide-sm{display:none}@media (width>=720px){.hide-sm{display:table-cell}}.stats{gap:var(--s-4);margin-bottom:var(--s-8);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.stat{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-4) var(--s-5)}.stat span{font-size:var(--fs-xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.stat strong{font-size:var(--fs-2xl);letter-spacing:-.02em;margin-top:2px;display:block}.profile{gap:var(--s-6);grid-template-columns:1fr;display:grid}@media (width>=900px){.profile{grid-template-columns:320px minmax(0,1fr);align-items:start}}.profile__identity{text-align:center;align-items:center}.avatar-upload{width:112px;height:112px;margin:0 auto;position:relative}.avatar-upload .avatar{--size:112px}.avatar-upload label{border-radius:var(--r-full);background:var(--accent);color:#fff;cursor:pointer;border:3px solid var(--bg-elev);width:36px;height:36px;box-shadow:var(--shadow-sm);place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px}:root[data-theme=dark] .avatar-upload label{color:var(--gray-950)}.avatar-upload input{opacity:0;width:1px;height:1px;position:absolute}.profile__identity h2{font-size:var(--fs-xl)}.profile__identity p{color:var(--text-3);font-size:var(--fs-sm)}.collapsible>summary{cursor:pointer;font-weight:600;font-size:var(--fs-sm);padding:var(--s-3) 0;border-top:1px solid var(--border);justify-content:space-between;align-items:center;list-style:none;display:flex}.collapsible>summary::-webkit-details-marker{display:none}.collapsible>summary svg{transition:transform var(--dur) var(--ease);color:var(--text-3)}.collapsible[open]>summary svg{transform:rotate(180deg)}.collapsible__body{gap:var(--s-4);padding-bottom:var(--s-2);flex-direction:column;display:flex}.author-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--s-6);text-align:center;align-items:center;gap:var(--s-3);transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);flex-direction:column;display:flex}.author-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-3px)}.author-card h3{font-size:var(--fs-lg)}.author-card p{font-size:var(--fs-sm);color:var(--text-3)}.author-hero{align-items:center;gap:var(--s-5);padding:var(--s-6);background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-xl);margin-bottom:var(--s-8);display:flex}.modal-backdrop{background:var(--overlay);z-index:90;padding:var(--s-4);animation:fade var(--dur) var(--ease);place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg);padding:var(--s-6);gap:var(--s-4);animation:pop var(--dur) var(--ease);flex-direction:column;display:flex}.modal h2{font-size:var(--fs-xl)}.modal p{color:var(--text-2);font-size:var(--fs-sm)}.modal__icon{border-radius:var(--r-lg);background:var(--danger-bg);width:44px;height:44px;color:var(--danger);place-items:center;font-size:20px;display:grid}.footer{border-top:1px solid var(--border);background:var(--bg-elev);padding-block:var(--s-12) var(--s-6);margin-top:auto}.footer__grid{gap:var(--s-8);grid-template-columns:1fr;display:grid}@media (width>=720px){.footer__grid{grid-template-columns:2fr 1fr 1fr}}.footer__brand p{margin-top:var(--s-3);color:var(--text-2);font-size:var(--fs-sm);max-width:36ch}.footer h4{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:var(--s-4);font-weight:600}.footer ul{gap:var(--s-2);flex-direction:column;display:flex}.footer ul a{font-size:var(--fs-sm);color:var(--text-2)}.footer ul a:hover{color:var(--text)}.footer__bar{margin-top:var(--s-10);padding-top:var(--s-5);border-top:1px solid var(--border);justify-content:space-between;gap:var(--s-3);font-size:var(--fs-xs);color:var(--text-3);flex-wrap:wrap;display:flex}.footer__bar a{color:var(--text-2);font-weight:500}.footer__bar a:hover{color:var(--accent)}.error-page{text-align:center;place-items:center;min-height:70dvh;display:grid}.error-page .code{font-size:var(--fs-5xl);letter-spacing:-.05em;color:var(--accent);font-weight:800;line-height:1}.error-page h1{font-size:var(--fs-2xl);margin-top:var(--s-3)}.error-page p{color:var(--text-2);margin:var(--s-3) 0 var(--s-6)}
