:root{color-scheme:dark;--bg: #0d1320;--bg-elevated: rgba(16, 24, 39, .86);--bg-soft: rgba(25, 36, 58, .8);--panel-border: rgba(148, 163, 184, .18);--panel-strong: rgba(148, 163, 184, .26);--text: #e5eef8;--text-muted: #94a3b8;--accent: #6ee7b7;--accent-strong: #2dd4bf;--warning: #fbbf24;--danger: #fb7185;--shadow: 0 24px 60px rgba(2, 6, 23, .35);--radius-lg: 24px;--radius-md: 18px;--radius-sm: 999px;font-family:IBM Plex Sans,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-height:100%;background:radial-gradient(circle at top left,rgba(45,212,191,.18),transparent 30%),radial-gradient(circle at top right,rgba(96,165,250,.16),transparent 34%),linear-gradient(180deg,#09111d,#0d1320)}body{margin:0;color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select{font:inherit}#root{min-height:100vh}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;padding:2rem 0 4rem}.page-container{width:min(1180px,calc(100% - 2rem));margin:0 auto}.site-header{position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070c18b3;border-bottom:1px solid rgba(148,163,184,.12)}.site-header__inner,.site-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1rem 0}.site-brand{display:flex;align-items:center;gap:.9rem}.site-brand strong,.site-brand span{display:block}.site-brand__logo{width:2.9rem;height:2.9rem;object-fit:contain;border-radius:14px;background:linear-gradient(135deg,#6ee7b729,#60a5fa2e);border:1px solid rgba(110,231,183,.18);padding:.28rem}.site-brand span{color:var(--text-muted);font-size:.9rem}.site-nav{display:flex;gap:.5rem;flex-wrap:wrap}.site-nav__link{padding:.7rem 1rem;border-radius:999px;color:var(--text-muted)}.site-nav__link.is-active,.site-nav__link:hover{color:var(--text);background:#94a3b81f}.site-footer{border-top:1px solid rgba(148,163,184,.12);color:var(--text-muted);background:#060a12a6}.site-footer__inner{font-size:.95rem}.card{background:linear-gradient(180deg,#111827eb,#0f172ad6);border:1px solid var(--panel-border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.hero,.split-section,.toolbar{display:grid;gap:1.5rem}.hero{grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);padding:2rem;margin-bottom:1.5rem}.hero__content h1{font-size:clamp(2rem,5vw,3.8rem);line-height:1.02;margin:0 0 1rem;max-width:12ch}.hero__content p{max-width:64ch;color:#c6d4e5;margin:0 0 1rem}.hero__actions,.project-card__links,.project-card__todo,.tag-row,.quick-links,.not-found-actions,.page-actions{display:flex;gap:.75rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:2.8rem;padding:0 1rem;border-radius:999px;border:1px solid rgba(148,163,184,.2);background:#0f172ab8}.button--primary{background:linear-gradient(135deg,#6ee7b738,#2dd4bf42);border-color:#6ee7b759}.button--small{min-height:2.2rem;padding:0 .8rem;font-size:.9rem}.hero__side,.home-sidebar{display:grid;gap:1rem}.hero__placeholder,.quick-link,.empty-state{padding:1.1rem 1.2rem}.hero__placeholder span,.quick-link strong{display:block;margin-bottom:.4rem}.hero__placeholder p,.quick-link span,.section-header p,.empty-state p,.project-card p,.wiki-card p,.link-card p{color:var(--text-muted)}.section-header{display:grid;gap:.35rem;margin-bottom:1rem}.section-header h2{margin:0;font-size:clamp(1.45rem,2vw,2rem)}.section-header p{margin:0}.section-header__eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;color:var(--accent);margin:0}.stats-grid,.card-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.stats-grid{margin-bottom:2rem}.stat-card{grid-column:span 3;padding:1.2rem}.stat-card__label,.stat-card__detail,.muted,.detail-label{color:var(--text-muted)}.stat-card__label,.detail-label{font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}.stat-card__value{display:block;font-size:2.2rem;margin:.4rem 0}.split-section{grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);margin-bottom:2rem}.card-grid>*{grid-column:span 4}.card-grid--compact>*{grid-column:span 4}.project-card,.wiki-card,.link-card,.article-shell{padding:1.25rem}.project-card__header,.project-card__footer,.wiki-card__meta,.link-card__meta{display:flex;justify-content:space-between;gap:1rem}.project-card__header h3,.wiki-card h3,.link-card h3{margin:.6rem 0}.project-card__details{display:grid;gap:.9rem;margin:1.1rem 0}.badge,.tag-pill{display:inline-flex;align-items:center;justify-content:center;min-height:1.9rem;padding:0 .72rem;border-radius:var(--radius-sm);font-size:.84rem;border:1px solid rgba(148,163,184,.14);background:#94a3b814}.badge--public{border-color:#6ee7b733;color:#bbf7d0}.badge--private{border-color:#fbbf2433;color:#fde68a}.badge--featured,.badge--category,.badge--status-active{color:#a7f3d0}.badge--status-paused,.badge--status-idea{color:#fde68a}.badge--status-archived,.badge--status-done{color:#bfdbfe}.badge--status-wip{color:#fbcfe8}.toolbar{grid-template-columns:minmax(240px,1fr) minmax(0,2fr) minmax(160px,200px);align-items:end;margin-bottom:1rem}.filter-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.search-input input,.filter-select select{width:100%;min-height:2.8rem;border-radius:16px;border:1px solid rgba(148,163,184,.18);background:#0f172ad6;color:var(--text);padding:0 .9rem}.filter-select{display:grid;gap:.4rem;color:var(--text-muted)}.inline-notice{color:#fde68a;margin:0 0 1rem}.page-actions{margin-bottom:1rem}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.editor-panel{padding:1.25rem}.editor-panel h3{margin-top:0}.editor-toolbar{display:grid;gap:.65rem;margin-bottom:1rem}.editor-form{display:grid;gap:.9rem}.editor-field{display:grid;gap:.45rem}.editor-field span{color:var(--text-muted);font-size:.9rem}.editor-field input,.editor-field textarea,.editor-field select{width:100%;border-radius:16px;border:1px solid rgba(148,163,184,.18);background:#0f172ad6;color:var(--text);padding:.8rem .9rem}.editor-textarea{min-height:420px;resize:vertical}.editor-output{margin:0;padding:1rem;border-radius:18px;background:#09111d;border:1px solid rgba(148,163,184,.12);overflow:auto;white-space:pre-wrap;word-break:break-word}.editor-validation{padding:1rem 1.1rem;margin-bottom:1rem}.editor-validation h3{margin:0 0 .65rem}.editor-validation ul{margin:0;padding-left:1.2rem;color:#fecaca}.editor-validation--ok{display:grid;gap:.25rem;color:#bbf7d0}.progress-ring{--progress: 0%;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,rgba(9,17,29,.95) 58%,transparent 59%),conic-gradient(var(--accent-strong) 0 var(--progress),rgba(148,163,184,.15) var(--progress) 100%)}.progress-ring--md{width:160px;height:160px}.progress-ring--sm{width:72px;height:72px;font-size:.82rem}.article-shell{margin-bottom:1.5rem}.markdown-body{line-height:1.7;color:#dbe7f3}.markdown-body h2,.markdown-body h3{margin-top:1.8rem}.markdown-body ul{padding-left:1.25rem}.inline-code{padding:.1rem .35rem;border-radius:.4rem;background:#0f172ae6}.code-block{margin:1.25rem 0;border:1px solid rgba(148,163,184,.15);border-radius:18px;overflow:hidden;background:#09111d}.code-block__toolbar{display:flex;justify-content:space-between;align-items:center;padding:.7rem .9rem;border-bottom:1px solid rgba(148,163,184,.12);color:var(--text-muted)}.code-block__toolbar button{background:transparent;color:var(--text);border:1px solid rgba(148,163,184,.2);border-radius:999px;padding:.3rem .75rem;cursor:pointer}.code-block pre{margin:0;padding:1rem;overflow:auto}@media(max-width:960px){.hero,.split-section,.toolbar,.editor-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{grid-column:span 6}.card-grid>*,.card-grid--compact>*{grid-column:span 6}.site-header__inner,.site-footer__inner{flex-direction:column;align-items:flex-start}}@media(max-width:640px){.page-container{width:min(100% - 1rem,1180px)}.hero{padding:1.25rem}.stats-grid,.card-grid{gap:.85rem}.stat-card,.card-grid>*,.card-grid--compact>*{grid-column:span 12}.filter-bar{grid-template-columns:1fr}}
