.space-bg{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0;background:#000005}.space-bg__base{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 120% 85% at 50% 115%,rgba(8,18,38,.35) 0%,transparent 55%),radial-gradient(ellipse 80% 60% at 10% 12%,rgba(12,20,36,.22) 0%,transparent 50%),radial-gradient(ellipse 65% 45% at 88% 20%,rgba(10,16,30,.18) 0%,transparent 48%),linear-gradient(185deg,#000003,#010208,#000005)}.space-bg__grid{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;opacity:.018;background-image:linear-gradient(rgba(120,130,150,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(120,130,150,.4) 1px,transparent 1px);background-size:80px 80px;transform:perspective(500px) rotateX(58deg);animation:grid-drift 60s linear infinite}.space-bg__galaxy{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;opacity:.1;background:radial-gradient(ellipse 45% 16% at 50% 42%,rgba(160,175,200,.12) 0%,transparent 70%),radial-gradient(ellipse 55% 7% at 50% 44%,rgba(120,140,170,.08) 0%,transparent 75%);filter:blur(3px);animation:galaxy-pulse 18s ease-in-out infinite;animation-delay:-6s}.space-bg__aurora{position:absolute;width:140%;height:40%;left:-20%;filter:blur(60px);opacity:.12;mix-blend-mode:soft-light;border-radius:50%}.space-bg__aurora--1{top:8%;background:linear-gradient(105deg,transparent 15%,rgba(20,40,65,.4) 35%,rgba(15,30,50,.35) 55%,transparent 85%);animation:aurora-wave-1 18s ease-in-out infinite;animation-delay:-4s}.space-bg__aurora--2{top:22%;background:linear-gradient(75deg,transparent 20%,rgba(18,35,55,.3) 40%,rgba(12,25,42,.25) 60%,transparent 85%);animation:aurora-wave-2 22s ease-in-out infinite;animation-delay:-8s}.space-bg__nebula{position:absolute;filter:blur(80px);opacity:.28;will-change:transform,opacity;mix-blend-mode:soft-light}.space-bg__nebula--1{width:75vmax;height:75vmax;top:-28%;left:-22%;border-radius:50%;background:radial-gradient(circle,rgba(18,32,58,.45) 0%,rgba(8,14,28,.2) 40%,transparent 68%);animation:nebula-drift-1 22s ease-in-out infinite;animation-delay:-10s}.space-bg__nebula--2{width:65vmax;height:65vmax;top:18%;right:-28%;border-radius:50%;background:radial-gradient(circle,rgba(14,28,48,.4) 0%,rgba(6,12,24,.15) 42%,transparent 68%);animation:nebula-drift-2 26s ease-in-out infinite;animation-delay:-14s}.space-bg__nebula--3{width:58vmax;height:58vmax;bottom:-22%;left:12%;border-radius:50%;background:radial-gradient(circle,rgba(16,30,45,.35) 0%,rgba(8,14,22,.12) 42%,transparent 68%);animation:nebula-drift-3 24s ease-in-out infinite;animation-delay:-7s}.space-bg__nebula--4{width:50vmax;height:50vmax;top:55%;right:5%;border-radius:50%;background:radial-gradient(circle,transparent 42%,rgba(22,38,58,.2) 48%,rgba(12,22,38,.1) 52%,transparent 58%);animation:ring-spin 25s linear infinite;opacity:.22}.space-bg__ring{position:absolute;width:35vmax;height:35vmax;bottom:8%;right:12%;border-radius:50%;border:1px solid rgba(80,95,120,.08);box-shadow:0 0 40px #0a142826,inset 0 0 60px #080e1c1f;animation:ring-tilt 22s ease-in-out infinite;opacity:.25}.space-bg__dust{position:absolute;top:0;right:0;bottom:0;left:0}.space-bg__dust--1{opacity:.28;background-image:radial-gradient(1px 1px at 12% 18%,rgba(255,255,255,.55) 50%,transparent 51%),radial-gradient(1px 1px at 28% 72%,rgba(220,228,240,.35) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 45% 35%,rgba(200,210,225,.4) 50%,transparent 51%),radial-gradient(1px 1px at 62% 58%,rgba(255,255,255,.4) 50%,transparent 51%),radial-gradient(1px 1px at 78% 22%,rgba(210,218,230,.3) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 88% 68%,rgba(180,190,210,.35) 50%,transparent 51%),radial-gradient(1px 1px at 35% 88%,rgba(240,244,250,.28) 50%,transparent 51%);animation:dust-drift 40s linear infinite}.space-bg__dust--2{opacity:.14;background-image:radial-gradient(2px 2px at 8% 42%,rgba(160,175,195,.3) 50%,transparent 51%),radial-gradient(1px 1px at 22% 12%,rgba(140,155,175,.28) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 55% 78%,rgba(220,228,238,.22) 50%,transparent 51%),radial-gradient(1px 1px at 72% 38%,rgba(150,165,185,.25) 50%,transparent 51%),radial-gradient(2px 2px at 92% 15%,rgba(255,255,255,.2) 50%,transparent 51%);animation:dust-drift-reverse 55s linear infinite}.space-bg__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2}.space-bg__vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:radial-gradient(ellipse at center,transparent 22%,rgba(0,0,3,.55) 65%,rgba(0,0,2,.88) 100%)}@keyframes grid-drift{0%{transform:perspective(500px) rotateX(58deg) translateY(0)}to{transform:perspective(500px) rotateX(58deg) translateY(80px)}}@keyframes galaxy-pulse{0%,to{opacity:.08;transform:scale(1) rotate(0)}50%{opacity:.11;transform:scale(1.01) rotate(.3deg)}}@keyframes aurora-wave-1{0%,to{transform:translate(-3%) skew(-3deg) scaleY(1);opacity:.1}50%{transform:translate(3%) skew(2deg) scaleY(1.04);opacity:.14}}@keyframes aurora-wave-2{0%,to{transform:translate(3%) skew(3deg) scaleY(1);opacity:.08}50%{transform:translate(-4%) skew(-2deg) scaleY(1.03);opacity:.12}}@keyframes nebula-drift-1{0%,to{transform:translate(0) scale(1) rotate(0);opacity:.24}50%{transform:translate(5vw,4vh) scale(1.04) rotate(2deg);opacity:.28}}@keyframes nebula-drift-2{0%,to{transform:translate(0) scale(1);opacity:.22}50%{transform:translate(-6vw,5vh) scale(1.03);opacity:.26}}@keyframes nebula-drift-3{0%,to{transform:translate(0) scale(1);opacity:.2}50%{transform:translate(4vw,-6vh) scale(1.03);opacity:.24}}@keyframes ring-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.05)}to{transform:rotate(360deg) scale(1)}}@keyframes ring-tilt{0%,to{transform:rotateX(65deg) rotate(0)}50%{transform:rotateX(72deg) rotate(20deg)}}@keyframes dust-drift{0%{transform:translateY(0)}to{transform:translateY(-8vh)}}@keyframes dust-drift-reverse{0%{transform:translateY(-4vh) translate(0)}to{transform:translateY(4vh) translate(2vw)}}@media(prefers-reduced-motion:reduce){.space-bg__grid,.space-bg__galaxy,.space-bg__aurora,.space-bg__nebula,.space-bg__ring,.space-bg__dust{animation:none!important}}@media(max-width:1024px){.space-bg__nebula{filter:blur(55px);opacity:.22}.space-bg__grid{opacity:.012}}@media(max-width:767px){.space-bg__grid,.space-bg__aurora--2,.space-bg__nebula--4,.space-bg__ring{display:none}.space-bg__nebula{filter:blur(45px);opacity:.18}.space-bg__galaxy{opacity:.07}.space-bg__vignette{background:radial-gradient(ellipse at center,transparent 18%,rgba(0,0,2,.65) 70%,rgba(0,0,1,.92) 100%)}.space-bg__dust--2{opacity:.08}}@media(max-width:480px){.space-bg__aurora--1{opacity:.08;height:30%}.space-bg__dust--1{opacity:.18}}.layout{display:flex;min-height:100vh;position:relative;overflow-x:hidden}.layout-shell{position:relative;z-index:1;display:flex;width:100%;min-height:100vh}.sidebar{width:220px;background:#04060cc7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-right:1px solid var(--border);padding:2rem 1.15rem;display:flex;flex-direction:column;gap:.2rem;flex-shrink:0}.sidebar-brand{font-size:1.125rem;font-weight:600;padding:.25rem .75rem;margin-bottom:2rem;letter-spacing:-.02em;background:linear-gradient(135deg,#e8eaed,#9aa8b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-link{display:block;padding:.55rem .75rem;border-radius:var(--radius);color:var(--muted);font-weight:600;font-size:.875rem;transition:all .2s var(--ease);text-decoration:none;border-left:2px solid transparent;margin-left:-2px}.sidebar-link:hover{color:var(--text);background:var(--surface-2)}.sidebar-link.active{color:var(--accent);background:#ffffff0f;border-left-color:var(--accent);box-shadow:inset 0 0 20px #0003}.sidebar-link-preview{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);color:var(--muted);font-size:.8125rem}.sidebar-link-preview:hover{color:var(--text)}.mobile-topbar{display:none}.main{flex:1;padding:2.5rem 2rem;max-width:960px;overflow-x:hidden}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.page-header h1{font-size:1.35rem;font-weight:600;letter-spacing:-.02em}.page-subtitle{margin-top:.35rem;color:var(--muted);font-size:.95rem;font-weight:500}.page-actions{display:flex;gap:.5rem;flex-wrap:wrap}.post-grid{display:grid;gap:1rem}.post-card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem 1.25rem;transition:all .2s var(--ease);color:inherit;text-decoration:none;box-shadow:var(--shadow)}.post-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #14141314;opacity:1}.post-card h3{font-size:.975rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.45rem}.post-meta{display:flex;gap:.75rem;align-items:center;font-size:.8rem;color:var(--muted);flex-wrap:wrap}.tag{background:var(--surface-2);padding:.1rem .5rem;border-radius:999px;font-size:.75rem}.editor-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem;min-height:500px}@media(max-width:768px){.editor-layout{grid-template-columns:1fr}}.editor-panel{display:flex;flex-direction:column;gap:.75rem}.editor-panel label{font-size:.8rem;color:var(--muted);font-weight:500}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-group{display:flex;flex-direction:column;gap:.35rem}.preview-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;overflow-y:auto;max-height:600px}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:1rem 0 .5rem}.markdown-body p{margin-bottom:.75rem}.markdown-body ul,.markdown-body ol{margin:.5rem 0 .75rem 1.5rem}.markdown-body code{font-family:var(--mono);background:var(--surface-2);padding:.1rem .35rem;border-radius:4px;font-size:.85em}.markdown-body pre{background:var(--surface-2);padding:1rem;border-radius:var(--radius);overflow-x:auto;margin:.75rem 0}.markdown-body pre code{background:none;padding:0}.markdown-body img{max-width:100%;border-radius:var(--radius)}.markdown-body blockquote{border-left:3px solid var(--accent);padding-left:1rem;color:var(--muted);margin:.75rem 0}.todo-section{margin-bottom:1.5rem}.todo-section h3{font-size:.95rem;color:var(--muted);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.todo-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:var(--radius);transition:background .15s}.todo-item:hover{background:var(--surface-2)}.todo-item.done .todo-text{text-decoration:line-through;color:var(--muted)}.todo-checkbox{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.todo-text{flex:1;font-size:.95rem}.todo-meta{font-size:.75rem;color:var(--muted)}.todo-add{display:flex;gap:.5rem;margin-top:.75rem}.git-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1.5rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem;text-align:center;box-shadow:var(--shadow)}.stat-card .value{font-size:1.5rem;font-weight:600;color:var(--accent);letter-spacing:-.02em}.stat-card .label{font-size:.75rem;color:var(--muted);margin-top:.25rem}.file-list{list-style:none;margin:.5rem 0}.file-list li{font-family:var(--mono);font-size:.8rem;padding:.25rem 0;color:var(--muted)}.diff-view{background:var(--surface-2);border-radius:var(--radius);padding:1rem;font-family:var(--mono);font-size:.8rem;overflow-x:auto;white-space:pre-wrap;max-height:400px;overflow-y:auto}.commit-form{display:flex;gap:.5rem;margin-top:1rem}.commit-form input{flex:1}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-section h2{font-size:1rem;margin-bottom:.75rem;color:var(--muted)}.filter-bar{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.filter-bar button{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.filter-bar button.active{background:#ffffff1a;color:var(--text);border-color:#a8b4c459}.todo-add-card{margin-bottom:1rem}.todo-hint{margin-top:.75rem;font-size:.8rem;color:var(--muted)}.todo-list-view{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.todo-day-group{padding:0;overflow:hidden}.todo-day-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:var(--surface-2);border-bottom:1px solid var(--border)}.todo-day-header h3{font-size:1rem;font-weight:600;margin-bottom:.2rem}.todo-day-stats{font-size:.8rem;color:var(--muted)}.todo-day-empty{padding:1.25rem;color:var(--muted);font-size:.9rem;text-align:center}.todo-list{list-style:none;margin:0;padding:.5rem 0}.todo-list .todo-item{padding:.65rem 1.25rem;border-radius:0}.todo-delete-btn{padding:.2rem .5rem!important;font-size:.75rem;opacity:0;transition:opacity .15s}.todo-item:hover .todo-delete-btn{opacity:1}.todo-page .page-header{align-items:flex-start}.todo-subtitle{margin-top:.25rem;font-size:.875rem;color:var(--muted);font-weight:400}.todo-filter-tabs{display:flex;gap:.25rem;padding:.25rem;background:var(--surface);border:1px solid var(--border);border-radius:999px}.todo-filter-tab{padding:.45rem .9rem;border-radius:999px;background:transparent;color:var(--muted);border:none;font-size:.85rem}.todo-filter-tab.active{background:#ffffff1a;color:var(--text);border:1px solid rgba(168,180,196,.25);box-shadow:none}.todo-stats-row{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.todo-stat-pill{flex:1;min-width:100px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.15rem}.todo-stat-value{font-size:1.4rem;font-weight:700;color:var(--text);line-height:1.2}.todo-stat-label{font-size:.75rem;color:var(--muted)}.todo-composer{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);padding:1rem;margin-bottom:1.75rem;box-shadow:0 8px 24px #0000002e}.todo-composer-input-wrap{display:flex;gap:.6rem}.todo-composer-input-wrap input{flex:1;background:var(--surface-2);border-color:transparent;padding:.75rem 1rem;font-size:.95rem}.todo-composer-input-wrap input:focus{border-color:var(--accent);background:var(--bg)}.todo-composer-submit{flex-shrink:0;padding:.75rem 1.25rem}.todo-composer-meta{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.todo-date-picker{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--muted)}.todo-date-picker input{width:auto;padding:.35rem .6rem;font-size:.8rem;background:var(--surface-2);border-color:transparent}.todo-quick-date{padding:.35rem .75rem;font-size:.8rem;background:var(--surface-2);color:var(--muted);border:1px solid transparent}.todo-quick-date.active{background:var(--surface-2);color:var(--text);border-color:var(--border)}.todo-timeline{display:flex;flex-direction:column;gap:0}.todo-day-block{display:grid;grid-template-columns:72px 1fr;gap:1rem;padding-bottom:1.5rem}.todo-day-block:last-child .todo-day-line{display:none}.todo-day-marker{display:flex;flex-direction:column;align-items:center;padding-top:.25rem}.todo-day-badge{width:56px;height:56px;border-radius:16px;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.todo-day-block.is-today .todo-day-badge{background:var(--surface-2);border-color:var(--text)}.todo-day-block.is-complete .todo-day-badge{background:#4ade801a;border-color:#4ade8059}.todo-day-num{font-size:1.25rem;font-weight:700;line-height:1;color:var(--text)}.todo-day-mon{font-size:.65rem;color:var(--muted);margin-top:.15rem}.todo-day-line{flex:1;width:2px;background:var(--border);margin-top:.75rem;min-height:24px;border-radius:999px}.todo-day-content{background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);padding:1rem 1.15rem;min-width:0}.todo-day-block.is-today .todo-day-content{border-color:var(--border)}.todo-day-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.todo-day-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.todo-day-top h2{font-size:.95rem;font-weight:600}.todo-today-chip,.todo-done-chip{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:999px}.todo-today-chip{background:var(--surface-2);color:var(--text)}.todo-done-chip{background:#4ade8026;color:var(--green)}.todo-day-progress-label{font-size:.8rem;color:var(--muted);margin-top:.2rem}.todo-day-delete{background:transparent;border:none;color:var(--muted);padding:.35rem;border-radius:8px;opacity:0;transition:all .15s}.todo-day-content:hover .todo-day-delete{opacity:1}.todo-day-delete:hover{background:#f871711a;color:var(--red)}.todo-day-delete svg{width:16px;height:16px}.todo-progress-track{height:4px;background:var(--surface-2);border-radius:999px;overflow:hidden;margin-bottom:.85rem}.todo-progress-fill{height:100%;background:var(--text);border-radius:999px;transition:width .3s ease}.todo-day-block.is-complete .todo-progress-fill{background:linear-gradient(90deg,var(--green),#86efac)}.todo-day-empty{color:var(--muted);font-size:.875rem;padding:.5rem 0}.todo-task-list{list-style:none;display:flex;flex-direction:column;gap:.35rem}.todo-task{display:flex;align-items:center;gap:.75rem;padding:.65rem .5rem;border-radius:10px;transition:background .15s}.todo-task:hover{background:var(--surface-2)}.todo-task.done .todo-task-text{color:var(--muted);text-decoration:line-through;text-decoration-color:#8b95a899}.todo-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);background:transparent;padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#0f1117;transition:all .15s}.todo-check:hover{border-color:var(--text)}.todo-check.checked{background:var(--text);border-color:var(--text)}.todo-check svg{width:12px;height:12px}.todo-task-text{flex:1;font-size:.925rem;line-height:1.4;word-break:break-word}.todo-task-delete{background:transparent;border:none;color:var(--muted);padding:.35rem;border-radius:8px;opacity:0;transition:all .15s;flex-shrink:0}.todo-task:hover .todo-task-delete{opacity:1}.todo-task-delete:hover{background:#f871711a;color:var(--red)}.todo-task-delete svg{width:14px;height:14px}.todo-empty{text-align:center;padding:4rem 2rem;background:var(--surface);border:1px dashed var(--border);border-radius:calc(var(--radius) + 2px)}.todo-empty-icon{width:48px;height:48px;margin:0 auto 1rem;border-radius:50%;background:#4ade801f;color:var(--green);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}.todo-empty p{color:var(--muted);margin-bottom:1rem}.todo-skeleton{display:flex;flex-direction:column;gap:1rem}.todo-skeleton-bar{height:24px;width:200px;background:var(--surface-2);border-radius:8px;animation:todo-pulse 1.2s ease-in-out infinite}.todo-skeleton-bar.short{width:120px;height:16px}.todo-skeleton-card{height:200px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);animation:todo-pulse 1.2s ease-in-out infinite}@keyframes todo-pulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:768px){.todo-day-block{grid-template-columns:52px 1fr;gap:.65rem}.todo-day-badge{width:44px;height:44px;border-radius:12px}.todo-day-num{font-size:1rem}.todo-composer-input-wrap{flex-direction:column}.todo-composer-submit{width:100%}.todo-day-delete,.todo-task-delete{opacity:1}}@media(max-width:768px){.mobile-topbar{display:flex;align-items:center;gap:.75rem;position:fixed;top:0;left:0;right:0;z-index:110;padding:calc(.65rem + env(safe-area-inset-top,0px)) calc(.85rem + env(safe-area-inset-right,0px)) .65rem calc(.85rem + env(safe-area-inset-left,0px));background:#04060ce0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.mobile-topbar-title{font-size:1rem;font-weight:600;letter-spacing:-.02em;background:linear-gradient(135deg,#e8eaed,#9aa8b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;background:#ffffff0f;border:1px solid var(--border);border-radius:10px;flex-shrink:0}.sidebar-toggle span{display:block;width:18px;height:2px;margin:0 auto;background:var(--text);border-radius:1px;transition:transform .25s var(--ease),opacity .25s var(--ease)}.layout--nav-open .sidebar-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.layout--nav-open .sidebar-toggle span:nth-child(2){opacity:0}.layout--nav-open .sidebar-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:#030008bf;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border:none;padding:0;cursor:pointer}.layout-shell{flex-direction:column;width:100%}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(17.5rem,86vw);z-index:100;transform:translate(-105%);transition:transform .3s var(--ease);padding:calc(4.5rem + env(safe-area-inset-top,0px)) 1rem 1.5rem;padding-left:calc(1rem + env(safe-area-inset-left,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;flex-direction:column;flex-wrap:nowrap;border-right:1px solid var(--border);border-bottom:none;box-shadow:8px 0 32px #00000059}.sidebar--open{transform:translate(0)}.sidebar-brand{display:none}.sidebar-link{min-height:44px;display:flex;align-items:center;border-left-width:2px}.sidebar-link-preview{margin-top:auto;padding-top:1rem}.main{flex:1;width:100%;max-width:none;padding:calc(4.25rem + env(safe-area-inset-top,0px)) calc(1rem + env(safe-area-inset-right,0px)) 2rem calc(1rem + env(safe-area-inset-left,0px))}.page-header{flex-direction:column;align-items:stretch}.page-header h1{font-size:1.2rem}.page-actions{width:100%}.page-actions button{flex:1;min-height:44px}.form-row{grid-template-columns:1fr}.commit-form{flex-direction:column}.commit-form button{width:100%;min-height:44px}.git-status-grid{grid-template-columns:repeat(2,1fr)}.stat-card .value{font-size:1.25rem}.diff-view{font-size:.72rem;max-height:280px}.todo-filter-tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.todo-filter-tabs::-webkit-scrollbar{display:none}.todo-filter-tab{flex-shrink:0;min-height:40px}.todo-stats-row{display:grid;grid-template-columns:repeat(2,1fr)}.todo-stat-pill{min-width:0}.todo-page .page-header{flex-direction:column;align-items:stretch}.card{padding:1rem}.preview-panel,.editor-panel textarea{min-height:240px}}@media(max-width:480px){.main{padding-left:calc(.85rem + env(safe-area-inset-left,0px));padding-right:calc(.85rem + env(safe-area-inset-right,0px))}.git-status-grid{grid-template-columns:1fr 1fr;gap:.5rem}.stat-card{padding:.85rem}.todo-stats-row{grid-template-columns:1fr}.todo-day-header{flex-direction:column;align-items:stretch;gap:.5rem}button{min-height:44px}}.blog{--blog-bg: transparent;--blog-surface: rgba(255, 255, 255, .04);--blog-text: #e8eaed;--blog-muted: #8b919a;--blog-faint: #5c6370;--blog-border: rgba(255, 255, 255, .07);--blog-accent: #a8b4c4;--blog-accent-glow: rgba(168, 180, 196, .2);--blog-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", system-ui, sans-serif;--blog-mono: "SF Mono", "JetBrains Mono", ui-monospace, monospace;--blog-max: 40rem;--blog-ease: cubic-bezier(.22, 1, .36, 1);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative;overflow-x:hidden;background:transparent;color:var(--blog-text);font-family:var(--blog-font);font-weight:500;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}.blog a{color:inherit;text-decoration:none}.blog-shell{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100dvh}.blog-main{flex:1;width:100%;max-width:var(--blog-max);margin:0 auto;padding:4.5rem 1.75rem 5rem}.blog-empty{color:var(--blog-muted);font-weight:500;padding:3rem 0;text-align:center;font-size:.95rem}.blog-masthead{margin-bottom:3.5rem;padding-bottom:0}.blog-masthead-name{display:block;font-size:clamp(2rem,5vw,2.75rem);font-weight:600;letter-spacing:-.03em;line-height:1.1;margin-bottom:.65rem;background:linear-gradient(135deg,#e8eaed,#9aa8b8 55%,#6b7888);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:opacity .2s var(--blog-ease)}.blog-masthead-name:hover{opacity:.75}.blog-masthead-sub{font-size:.9375rem;font-weight:500;color:var(--blog-muted);letter-spacing:.01em;max-width:28ch}.blog-masthead-count{margin-top:1.25rem;font-size:.75rem;font-weight:600;color:var(--blog-faint);letter-spacing:.06em;text-transform:uppercase}.blog-archive{list-style:none;display:flex;flex-direction:column}.blog-archive-item{position:relative;display:grid;grid-template-columns:6.5rem 1fr auto;gap:1.5rem;align-items:center;padding:1.15rem 0;border-bottom:1px solid var(--blog-border);transition:padding-left .25s var(--blog-ease)}.blog-archive-item:first-child{border-top:1px solid var(--blog-border)}.blog-archive-item:after{content:"→";font-size:.875rem;color:var(--blog-faint);opacity:0;transform:translate(-6px);transition:all .25s var(--blog-ease)}.blog-archive-item:hover{padding-left:.35rem}.blog-archive-item:hover:after{opacity:1;transform:translate(0);color:var(--blog-accent);text-shadow:0 0 12px var(--blog-accent-glow)}.blog-archive-date{font-size:.75rem;font-weight:600;color:var(--blog-faint);font-variant-numeric:tabular-nums;letter-spacing:.04em;text-transform:uppercase}.blog-archive-title{font-size:1.0625rem;font-weight:600;letter-spacing:-.015em;line-height:1.4;transition:color .2s var(--blog-ease),text-shadow .2s}.blog-archive-item:hover .blog-archive-title{color:var(--blog-accent);text-shadow:0 0 20px var(--blog-accent-glow)}.blog-archive-placeholder{min-height:12rem}.blog-article--loading{animation:none}.blog-article-placeholder{min-height:40vh}.blog-article{animation:blog-fade-in .35s var(--blog-ease)}@keyframes blog-fade-in{0%{opacity:0}to{opacity:1}}.blog-back{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:600;color:var(--blog-muted);margin-bottom:2.5rem;letter-spacing:.02em;transition:color .2s var(--blog-ease)}.blog-back:hover{color:var(--blog-accent)}.blog-article-header{margin-bottom:2.5rem}.blog-article-header h1{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:600;letter-spacing:-.03em;line-height:1.2;margin-bottom:1rem}.blog-article-meta{font-size:.8125rem;font-weight:600;color:var(--blog-faint);letter-spacing:.04em;text-transform:uppercase}.blog-article-header:after{content:"";display:block;width:2.5rem;height:2px;background:linear-gradient(90deg,var(--blog-accent),#788598);margin-top:1.75rem;border-radius:1px;box-shadow:0 0 12px var(--blog-accent-glow)}.blog-prose{font-size:1.0625rem;font-weight:500;line-height:1.8;color:#e8eaede0}.blog-prose .markdown-body h1,.blog-prose .markdown-body h2,.blog-prose .markdown-body h3,.blog-prose .markdown-body h4{font-weight:600;letter-spacing:-.02em;line-height:1.3;color:var(--blog-text);margin:2.5rem 0 .85rem}.blog-prose .markdown-body h1{font-size:1.5rem}.blog-prose .markdown-body h2{font-size:1.25rem}.blog-prose .markdown-body h3{font-size:1.1rem}.blog-prose .markdown-body p{margin-bottom:1.25rem}.blog-prose .markdown-body ul,.blog-prose .markdown-body ol{margin:0 0 1.25rem 1.35rem}.blog-prose .markdown-body li{margin-bottom:.4rem}.blog-prose .markdown-body a{color:var(--blog-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#a8b4c459}.blog-prose .markdown-body a:hover{text-shadow:0 0 12px var(--blog-accent-glow)}.blog-prose .markdown-body code{font-family:var(--blog-mono);font-size:.84em;font-weight:500;background:#ffffff14;padding:.15rem .4rem;border-radius:4px;border:1px solid var(--blog-border)}.blog-prose .markdown-body pre{background:#00000073;border:1px solid var(--blog-border);color:#e2e8f0;padding:1.25rem 1.35rem;border-radius:12px;overflow-x:auto;margin:1.75rem 0;font-size:.8125rem;line-height:1.6;box-shadow:0 8px 32px #0006}.blog-prose .markdown-body pre code{background:none;border:none;padding:0}.blog-prose .markdown-body blockquote{border-left:3px solid var(--blog-accent);padding:.25rem 0 .25rem 1.25rem;margin:1.75rem 0;color:var(--blog-muted);font-style:italic}.blog-prose .markdown-body img{max-width:100%;border-radius:12px;margin:1.75rem 0;border:1px solid var(--blog-border);box-shadow:0 12px 40px #00000080}.blog-prose .markdown-body hr{border:none;border-top:1px solid var(--blog-border);margin:2.5rem 0}.blog-footer{max-width:var(--blog-max);margin:0 auto;padding:0 1.75rem 2.5rem}.blog-footer p{font-size:.8125rem;font-weight:500;color:var(--blog-faint);padding-top:1.5rem;border-top:1px solid var(--blog-border)}.preview-banner{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:1.25rem;padding:.7rem 1.25rem;background:#0000008c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--blog-border);font-size:.75rem;font-weight:600;color:var(--blog-muted);letter-spacing:.02em}.preview-banner-link{color:var(--blog-accent);text-decoration:underline;text-underline-offset:2px}@media(max-width:768px){.blog{font-size:15px}.blog-main{padding:calc(3.5rem + env(safe-area-inset-top,0px)) calc(1.25rem + env(safe-area-inset-right,0px)) calc(3.5rem + env(safe-area-inset-bottom,0px)) calc(1.25rem + env(safe-area-inset-left,0px))}.blog-masthead{margin-bottom:2.5rem}.blog-masthead-sub{max-width:none}.blog-archive-item{grid-template-columns:5.5rem 1fr auto;gap:.75rem 1rem;padding:1rem 0}.blog-archive-item:hover{padding-left:0}.blog-article-header h1{font-size:clamp(1.5rem,6vw,2rem)}.blog-prose{font-size:1rem;line-height:1.75}.blog-prose .markdown-body pre{padding:1rem;font-size:.75rem;border-radius:10px}.blog-footer{padding:0 calc(1.25rem + env(safe-area-inset-right,0px)) calc(2rem + env(safe-area-inset-bottom,0px)) calc(1.25rem + env(safe-area-inset-left,0px))}.preview-banner{flex-wrap:wrap;text-align:center;gap:.5rem;padding:calc(.65rem + env(safe-area-inset-top,0px)) 1rem .65rem;font-size:.7rem;line-height:1.4}}@media(max-width:540px){.blog-main{padding-top:calc(3rem + env(safe-area-inset-top,0px));padding-left:calc(1rem + env(safe-area-inset-left,0px));padding-right:calc(1rem + env(safe-area-inset-right,0px))}.blog-archive-item{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.35rem .75rem;padding:.95rem 0}.blog-archive-date{grid-column:1;font-size:.6875rem}.blog-archive-title{grid-column:1 / -1;font-size:1rem;line-height:1.45}.blog-archive-item:after{grid-row:1;grid-column:2;opacity:1;transform:none;align-self:start}.blog-back{margin-bottom:2rem;min-height:44px;align-items:center}.blog-prose .markdown-body ul,.blog-prose .markdown-body ol{margin-left:1.1rem}}@media(max-width:380px){.blog-masthead-name{font-size:1.75rem}.blog-archive-item:after{display:none}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}:root{--bg: transparent;--surface: rgba(255, 255, 255, .05);--surface-2: rgba(255, 255, 255, .08);--border: rgba(255, 255, 255, .1);--text: #e8eaed;--muted: #8b919a;--accent: #a8b4c4;--accent-hover: #c8d0dc;--green: #86efac;--orange: #fbbf24;--red: #f87171;--radius: 10px;--shadow: 0 4px 24px rgba(0, 0, 0, .35);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", system-ui, sans-serif;--mono: "SF Mono", "JetBrains Mono", ui-monospace, monospace;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden;overflow-y:scroll;scrollbar-gutter:stable;-webkit-text-size-adjust:100%}body{font-family:var(--font);font-weight:500;background:#000005;color:var(--text);line-height:1.6;min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.nav-open{overflow:hidden}a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}a:hover{opacity:.85}button{font-family:inherit;font-weight:600;cursor:pointer;border:none;border-radius:var(--radius);padding:.55rem 1.1rem;font-size:.8125rem;transition:all .2s var(--ease)}button:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#1a2332,#2a3544);color:#e8eaed;border:1px solid rgba(120,135,155,.25);box-shadow:0 2px 16px #00000073}.btn-primary:hover:not(:disabled){transform:translateY(-1px);background:linear-gradient(135deg,#222d3d,#323f50);box-shadow:0 4px 20px #0000008c}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:#a8b4c440}.btn-danger{background:transparent;color:var(--red);border:1px solid rgba(248,113,113,.3)}.btn-danger:hover:not(:disabled){background:#f871711a}input,textarea,select{font-family:inherit;font-weight:500;background:#ffffff0d;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:.65rem .9rem;font-size:.9rem;width:100%;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}input:focus,textarea:focus,select:focus{outline:none;border-color:#a8b4c459;box-shadow:0 0 0 3px #28324166}textarea{resize:vertical;font-family:var(--mono);line-height:1.55}.badge{display:inline-block;padding:.2rem .55rem;border-radius:6px;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.badge-draft{background:#fbbf2426;color:var(--orange)}.badge-published{background:#86efac1f;color:var(--green)}.card{background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow)}.empty-state{text-align:center;padding:3rem;color:var(--muted)}.error-banner{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:var(--red);padding:.85rem 1.1rem;border-radius:var(--radius);margin-bottom:1rem}.success-banner{background:#86efac1a;border:1px solid rgba(134,239,172,.25);color:var(--green);padding:.85rem 1.1rem;border-radius:var(--radius);margin-bottom:1rem}
