:root{--color-bg:#fbfaf8;--color-surface:#fff;--color-surface-sunken:#f3f1ed;--color-border:#e6e2da;--color-text:#201d1a;--color-text-muted:#6f6a62;--color-primary:#e8703a;--color-primary-hover:#cf5c29;--color-primary-soft:#fdece2;--color-accent:#2f6f6a;--color-danger:#d1354a;--color-danger-hover:#a92338;--color-danger-soft:#fdecee;--shadow-sm:0 1px 2px #201d1a0f;--shadow-md:0 8px 24px #201d1a14;--shadow-lg:0 16px 40px #201d1a24;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--radius-sm:8px;--radius:14px;--radius-lg:22px;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--color-bg:#16151a;--color-surface:#1e1d23;--color-surface-sunken:#232229;--color-border:#322f38;--color-text:#f1eee9;--color-text-muted:#a29c93;--color-primary:#f0895a;--color-primary-hover:#f6a578;--color-primary-soft:#3a2a22;--color-accent:#6bc2ba;--color-danger:#ec6779;--color-danger-hover:#f3919f;--color-danger-soft:#3a2126;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 8px 24px #00000059;--shadow-lg:0 20px 48px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);transition:background .3s var(--ease), color .3s var(--ease);line-height:1.65}a{color:var(--color-primary);transition:color .15s var(--ease);text-decoration:none}a:hover{color:var(--color-primary-hover)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;font-weight:700;line-height:1.2}button{cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-sm);transition:transform .15s var(--ease), box-shadow .15s var(--ease), background .15s var(--ease), border-color .15s var(--ease);padding:.55rem 1.1rem;font-family:inherit;font-size:.95rem}button:hover:not(:disabled){border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.55;cursor:not-allowed;transform:none}button[type=submit]{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));color:#fff;box-shadow:var(--shadow-sm);border-color:#0000;font-weight:600}button[type=submit]:hover:not(:disabled){box-shadow:var(--shadow-md);border-color:#0000}input,textarea,select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);width:100%;transition:border-color .15s var(--ease), box-shadow .15s var(--ease);padding:.6rem .75rem;font-family:inherit;font-size:.95rem}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}label{color:var(--color-text-muted);flex-direction:column;gap:.35rem;margin-bottom:1rem;font-size:.88rem;font-weight:500;display:flex}.link-button{color:var(--color-primary);text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.link-button:hover{box-shadow:none;color:var(--color-primary-hover);background:0 0;transform:none}.link-button-danger{color:var(--color-danger);text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.link-button-danger:hover{box-shadow:none;color:var(--color-danger-hover);background:0 0;border-color:#0000;transform:none}.reveal{opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease);transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.app-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:20;background:color-mix(in srgb, var(--color-bg) 78%, transparent);-webkit-backdrop-filter:blur(14px)saturate(160%);border-bottom:1px solid var(--color-border);position:sticky;top:0}.site-header-inner{justify-content:space-between;align-items:center;max-width:980px;margin:0 auto;padding:1rem 1.5rem;display:flex}.site-brand{font-family:var(--font-display);background:linear-gradient(135deg, var(--color-primary), var(--color-accent));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.site-nav{align-items:center;gap:1.4rem;display:flex}.site-nav a{color:var(--color-text-muted);padding-bottom:2px;font-size:.92rem;font-weight:500;position:relative}.site-nav a:after{content:"";background:var(--color-primary);transform-origin:0;height:2px;transition:transform .2s var(--ease);position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.site-nav a:hover{color:var(--color-text)}.site-nav a:hover:after,.site-nav a.active:after{transform:scaleX(1)}.site-nav a.active{color:var(--color-text);font-weight:600}.site-nav-user{color:var(--color-text-muted);font-size:.88rem}.theme-toggle{background:var(--color-surface-sunken);border-radius:999px;padding:.4rem .6rem;font-size:1.05rem;line-height:1}.site-main{flex:1;width:100%;max-width:980px;margin:0 auto;padding:0 1.5rem 3rem}.site-footer{border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-muted);padding:1.75rem;font-size:.85rem}.page{padding-top:2.5rem}.page-narrow{max-width:460px;margin:0 auto}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.page-header h1{font-size:1.9rem}.hero{margin:-1.5rem -1.5rem 2.5rem;padding-bottom:2.5rem;position:relative;overflow:hidden}.hero-banner{background:radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--color-primary) 55%, transparent), transparent 55%), radial-gradient(circle at 85% 0%, color-mix(in srgb, var(--color-accent) 55%, transparent), transparent 60%), linear-gradient(135deg, var(--color-primary-soft), var(--color-surface-sunken));height:200px}.hero-banner-image{background-position:50%;background-size:cover}.hero-content{text-align:center;max-width:980px;margin:0 auto;padding:0 1.5rem;transform:translateY(-56px)}.hero-avatar{background:var(--color-surface);border:4px solid var(--color-bg);width:96px;height:96px;box-shadow:var(--shadow-lg);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;font-size:2.4rem;display:flex;overflow:hidden}.hero-avatar img{object-fit:cover;width:100%;height:100%}.hero-title{margin:0 0 .5rem;font-size:2.4rem}.hero-tagline{color:var(--color-text-muted);max-width:480px;margin:0 auto;font-size:1.05rem}.search-form{gap:.5rem;display:flex}.search-form input{width:240px}.active-filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem;display:flex}.filter-chip{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .8rem;font-size:.85rem;display:inline-flex}.filter-chip button{background:0 0;border:none;padding:0;line-height:1}.filter-chip button:hover{box-shadow:none;color:var(--color-danger);transform:none}.post-list{flex-direction:column;gap:1.5rem;display:flex}.post-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);padding:1.6rem 1.75rem}.post-card:hover{box-shadow:var(--shadow-md);border-color:color-mix(in srgb, var(--color-primary) 40%, var(--color-border));transform:translateY(-3px)}.post-card-cover{opacity:.85;border-radius:999px;height:10px;margin:-.4rem 0 1.1rem}.post-card-title{margin:0 0 .4rem;font-size:1.45rem}.post-card-title a{color:var(--color-text)}.post-card-title a:hover{color:var(--color-primary)}.post-card-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:.5rem;margin-bottom:.7rem;font-size:.85rem;display:flex}.post-card-excerpt{color:var(--color-text-muted);margin:0 0 .75rem}.tag-list{flex-wrap:wrap;gap:.5rem;display:flex}.tag-chip{background:var(--color-surface-sunken);color:var(--color-text-muted);border-radius:999px;padding:.2rem .7rem;font-size:.8rem;font-weight:500}.tag-chip:hover{color:var(--color-primary)}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:3rem;display:flex}.post-detail{max-width:720px;margin:0 auto}.post-detail h1{font-size:2.1rem}.post-detail .post-cover{object-fit:cover;border-radius:var(--radius-lg);width:100%;height:280px;box-shadow:var(--shadow-md);margin-bottom:1.75rem}.post-detail .post-cover-placeholder{border-radius:var(--radius-lg);width:100%;height:200px;box-shadow:var(--shadow-md);margin-bottom:1.75rem}.post-content{white-space:pre-wrap;color:color-mix(in srgb, var(--color-text) 92%, var(--color-text-muted));margin-top:1.75rem;font-size:1.08rem}.feedback{border-radius:var(--radius);padding:.85rem 1.1rem;font-size:.9rem}.feedback-loading,.feedback-empty{background:var(--color-surface-sunken);color:var(--color-text-muted)}.feedback-error{background:var(--color-danger-soft);color:var(--color-danger-hover)}.skeleton{border-radius:var(--radius-lg);background:linear-gradient(100deg, var(--color-surface-sunken) 40%, color-mix(in srgb, var(--color-surface-sunken) 60%, var(--color-border)) 50%, var(--color-surface-sunken) 60%);background-size:200% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-20% 0}}.comments-section{border-top:1px solid var(--color-border);margin-top:3.5rem;padding-top:2rem}.comment-list{margin:0 0 2rem;padding:0;list-style:none}.comment-item{border-bottom:1px solid var(--color-border);padding:1.1rem 0}.comment-meta{color:var(--color-text-muted);gap:.6rem;margin-bottom:.3rem;font-size:.85rem;display:flex}.comment-content{white-space:pre-wrap;margin:0}.comment-replies{border-left:2px solid var(--color-border);margin:.75rem 0 0;padding-left:1.5rem;list-style:none}.comment-form{background:var(--color-surface-sunken);border-radius:var(--radius-lg);max-width:620px;padding:1.5rem}.form-row{gap:1rem;display:flex}.form-row label{flex:1}.auth-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:400px;box-shadow:var(--shadow-sm);padding:1.75rem}.dashboard{grid-template-columns:200px 1fr;align-items:start;gap:2rem;display:grid}.dashboard-sidebar nav{flex-direction:column;gap:.4rem;display:flex;position:sticky;top:90px}.dashboard-sidebar a{color:var(--color-text-muted);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.92rem;font-weight:500}.dashboard-sidebar a:hover{background:var(--color-surface-sunken);color:var(--color-text)}.dashboard-sidebar a.active{background:var(--color-primary-soft);color:var(--color-primary-hover);font-weight:600}.dashboard-content{min-width:0}.admin-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;font-size:.9rem;overflow:hidden}.admin-table th{background:var(--color-surface-sunken);font-weight:600}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top;padding:.75rem .9rem}.admin-table tr:last-child td{border-bottom:none}.admin-table-actions{white-space:nowrap;align-items:center;gap:.75rem;display:flex}.comment-cell{white-space:pre-wrap;max-width:320px}.badge{background:var(--color-surface-sunken);border:1px solid var(--color-border);text-transform:capitalize;border-radius:999px;padding:.2rem .7rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-published,.badge-approved{color:#1e7a3f;background:#1e7a3f29;border-color:#1e7a3f59}:root[data-theme=dark] .badge-published,:root[data-theme=dark] .badge-approved{color:#7fd89b}.badge-draft,.badge-pending{color:#8a6a00;background:#8a6a0029;border-color:#8a6a0059}:root[data-theme=dark] .badge-draft,:root[data-theme=dark] .badge-pending{color:#e8c25c}.badge-archived,.badge-spam,.badge-deleted{background:var(--color-danger-soft);border-color:color-mix(in srgb, var(--color-danger) 35%, transparent);color:var(--color-danger-hover)}.post-editor-form{max-width:740px}.post-editor-form fieldset{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1rem;padding:1rem 1.1rem}.post-editor-form legend{color:var(--color-text-muted);padding:0 .4rem;font-size:.85rem;font-weight:600}.checkbox-grid{flex-wrap:wrap;gap:.75rem;display:flex}.checkbox-label{flex-direction:row;align-items:center;gap:.4rem;width:auto;margin-bottom:0}.checkbox-label input{width:auto}.cover-preview{margin-bottom:.75rem}.cover-preview img{border-radius:var(--radius);max-width:240px;box-shadow:var(--shadow-sm);margin-bottom:.5rem;display:block}.taxonomy-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.taxonomy-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem}.taxonomy-list{margin:0 0 1rem;padding:0;list-style:none}.taxonomy-list li{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.taxonomy-list li:last-child{border-bottom:none}.inline-form{gap:.5rem;display:flex}.filter-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.filter-tab{text-transform:capitalize;border-radius:999px}.filter-tab.active{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));color:#fff;border-color:#0000}.media-upload{margin-bottom:1.75rem}.media-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1.25rem;display:grid}.media-item{margin:0}.media-item img{object-fit:cover;border-radius:var(--radius);border:1px solid var(--color-border);width:100%;height:120px}.media-item figcaption{color:var(--color-text-muted);word-break:break-all;margin:.4rem 0;font-size:.75rem}.profile-meta{color:var(--color-text-muted);margin-bottom:1.75rem}@media (width<=700px){.dashboard{grid-template-columns:1fr}.dashboard-sidebar nav{flex-flow:wrap;position:static}.taxonomy-grid{grid-template-columns:1fr}.form-row{flex-direction:column}.hero-title{font-size:1.9rem}}@media (width<=640px){.site-header-inner{flex-wrap:wrap;gap:.6rem}.site-nav{flex-wrap:wrap;gap:.6rem 1rem;width:100%}.site-nav-user{display:none}.hero{margin:-1rem -1rem 2rem}.hero-banner{height:140px}.hero-avatar{width:76px;height:76px;font-size:2rem}.search-form,.search-form input{width:100%}}
