:root{--ink:#161523;--paper:#f7f5ef;--white:#ffffff;--violet:#6d3ef2;--violet-dark:#5a2fd6;--blue:#245bdb;--blue-dark:#1d4ab8;--lime:#d7f75b;--muted:#5b596b;--line:#d9d6e2;--control:#777181;--error:#b4233c;--error-bg:#fbe9ec;--success:#216b44;--success-bg:#e4f2ea;--violet-tint:#efeafc;--radius-card:16px;--radius-control:10px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--shadow:0 1px 2px rgba(22,21,35,0.05),0 8px 24px rgba(22,21,35,0.06)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.65}img{max-width:100%;height:auto}h1,h2,h3,h4{line-height:1.12;letter-spacing:-.015em;font-weight:750;margin:0 0 12px}h1{font-size:clamp(1.9rem,4vw,2.9rem);font-weight:800}h2{font-size:clamp(1.35rem,2.4vw,1.8rem)}h3{font-size:1.1rem}p{margin:0 0 16px}a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--blue-dark)}:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}.container{max-width:1200px;margin-inline:auto;padding-inline:24px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:0 0 var(--radius-control) 0;z-index:100}.skip-link:focus{left:0}.nav-progress{position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--violet) 0,var(--blue) 50%,var(--violet) 100%);background-size:200% 100%;animation:nav-slide 1.1s linear infinite;z-index:90}@keyframes nav-slide{to{background-position:-200% 0}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brand-mark{width:44px;height:40px;object-fit:contain;flex:none}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-name{font-weight:800;font-size:1.2rem;letter-spacing:-.02em}.brand-sub{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.site-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.site-nav a{color:var(--blue);text-decoration:none;font-weight:600;font-size:.95rem;padding:8px 10px;border-radius:var(--radius-control)}.site-nav a:hover{background:var(--violet-tint);color:var(--blue-dark)}.site-nav a[aria-current=page]{color:var(--ink);background:var(--violet-tint)}.nav-user{padding-inline:8px;font-size:.9rem;color:var(--muted)}.btn,.nav-user{display:inline-flex;align-items:center;gap:8px}.btn{justify-content:center;padding:10px 18px;border-radius:var(--radius-control);border:1px solid transparent;font-family:inherit;font-size:.95rem;font-weight:650;line-height:1.3;cursor:pointer;text-decoration:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--violet);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--violet-dark);color:var(--white)}.btn-secondary{background:var(--white);color:var(--blue);border-color:var(--control)}.btn-secondary:hover:not(:disabled){background:var(--violet-tint);color:var(--blue-dark)}.btn-danger{background:var(--white);color:var(--error);border-color:var(--error)}.btn-danger:hover:not(:disabled){background:var(--error-bg)}.btn-danger-solid{background:var(--error);color:var(--white)}.btn-danger-solid:hover:not(:disabled){background:#961d32}.btn-sm{padding:6px 12px;font-size:.85rem}.btn-link{background:none;border:none;color:var(--blue);padding:8px 10px;font-weight:600}.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-gap:48px;gap:48px;align-items:center;padding-block:56px 40px}.hero-copy .eyebrow{margin-bottom:12px}.hero-tagline{font-size:clamp(2rem,4.4vw,3.1rem);font-weight:800;letter-spacing:-.02em;line-height:1.06;margin:0 0 16px}.hero-lede{font-size:1.08rem;color:var(--muted);max-width:54ch}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.hero-art{border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.hero-art img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:1672/941}.eyebrow{display:inline-block;font-size:.75rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}.section{padding-block:40px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.section-head h2{margin:0}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.service-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-card);padding:22px}.service-card h3{margin-bottom:8px}.service-card p{margin:0;color:var(--muted);font-size:.95rem}.service-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--lime);color:var(--ink);font-weight:800;font-size:.85rem;margin-bottom:12px}.about-band{background:var(--ink);border-radius:var(--radius-card);padding:40px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:36px;gap:36px;align-items:center}.about-band,.about-band h2{color:var(--paper)}.about-band p{color:#cfcbe0;max-width:70ch}.about-band a{color:var(--lime)}.about-mark{width:148px;height:135px;object-fit:contain}.feed-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.search-form{display:flex;gap:8px;flex:1 1 320px;max-width:520px}.search-form input[type=search]{flex:1 1;min-width:0}.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.tag-chip{display:inline-flex;align-items:center;padding:5px 14px;border-radius:999px;border:1px solid var(--control);background:var(--white);color:var(--ink);font-size:.83rem;font-weight:600;text-decoration:none}.tag-chip:hover{border-color:var(--violet);color:var(--violet-dark)}.tag-chip[aria-current=true]{background:var(--violet);border-color:var(--violet);color:var(--white)}.result-count{color:var(--muted);font-size:.9rem;margin-bottom:12px}.article-list{display:grid;grid-gap:16px;gap:16px}.article-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-card);padding:24px}.article-card h3{margin:0 0 8px;font-size:1.2rem}.article-card h3 a{color:var(--ink);text-decoration:none}.article-card h3 a:hover{color:var(--blue);text-decoration:underline}.article-card .excerpt{color:var(--muted);margin:0 0 12px;font-size:.97rem}.meta-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.83rem}.meta-row .dot:before{content:"·";margin-right:10px}.tag-inline{display:inline-flex;padding:2px 10px;border-radius:999px;background:var(--violet-tint);color:var(--violet-dark);font-size:.75rem;font-weight:650;text-decoration:none}.tag-inline:hover{background:var(--violet);color:var(--white)}.pagination{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:28px}.page-link{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding-inline:10px;border-radius:var(--radius-control);border:1px solid var(--control);background:var(--white);color:var(--blue);font-weight:650;font-size:.9rem;text-decoration:none}.page-link:hover{border-color:var(--violet);color:var(--violet-dark)}.page-link[aria-current=page]{background:var(--violet);border-color:var(--violet);color:var(--white)}.page-link.disabled{opacity:.45;pointer-events:none}.page-ellipsis{padding-inline:4px;color:var(--muted)}.article-detail{max-width:76ch;margin-inline:auto;padding-block:40px 64px}.article-detail .back-link{display:inline-block;margin-bottom:20px;font-weight:600;font-size:.9rem}.article-detail h1{margin-bottom:16px}.article-lede{font-size:1.15rem;color:var(--muted);margin-bottom:20px}.article-hero-art{border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--line);margin-block:24px}.article-hero-art img{display:block;width:100%;aspect-ratio:1672/620;object-fit:cover}.article-body{font-size:1.06rem;line-height:1.72}.article-body h2{margin-top:36px;font-size:1.35rem}.article-body h3{margin-top:28px}.article-body ol,.article-body ul{padding-left:24px;margin:0 0 16px}.article-body li{margin-bottom:6px}.article-body blockquote{margin:20px 0;padding:8px 20px;border-left:4px solid var(--violet);background:var(--white);border-radius:0 var(--radius-control) var(--radius-control) 0;color:var(--muted)}.article-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;background:var(--violet-tint);padding:2px 6px;border-radius:6px}.article-body pre{background:var(--ink);color:var(--paper);padding:16px;border-radius:var(--radius-control);overflow-x:auto}.article-body pre code{background:none;padding:0;color:inherit}.article-body img{border-radius:var(--radius-control)}.article-body table{border-collapse:collapse;width:100%;margin-bottom:16px}.article-body td,.article-body th{border:1px solid var(--line);padding:8px 12px;text-align:left}.article-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}.field{margin-bottom:18px}.field label{display:block;font-weight:650;font-size:.9rem;margin-bottom:6px}.field .hint{display:block;font-size:.8rem;color:var(--muted);margin-top:4px}.input,.select,.textarea{width:100%;background:var(--white);border:1px solid var(--control);border-radius:var(--radius-control);padding:10px 12px;font-family:inherit;font-size:1rem;color:var(--ink)}.input:focus,.select:focus,.textarea:focus{outline:3px solid var(--violet);outline-offset:1px;border-color:var(--violet)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--error)}.textarea{min-height:320px;resize:vertical;line-height:1.6}.char-count{font-size:.78rem;color:var(--muted);text-align:right;margin-top:4px}.char-count.over{color:var(--error);font-weight:700}.field-error{color:var(--error);font-size:.83rem;margin-top:4px}.form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-card);padding:32px;max-width:460px;margin-inline:auto;box-shadow:var(--shadow)}.login-wrap{padding-block:64px}.form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.banner{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--radius-control);border:1px solid;font-size:.92rem;margin-bottom:16px}.banner-success{background:var(--success-bg);border-color:var(--success);color:var(--success)}.banner-error{background:var(--error-bg);border-color:var(--error);color:var(--error)}.banner-info{background:var(--violet-tint);border-color:var(--violet);color:var(--ink)}.unsaved-indicator{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:650;color:var(--muted)}.unsaved-indicator:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--violet)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 12px;border-radius:999px;font-size:.75rem;font-weight:750;letter-spacing:.02em;border:1px solid;white-space:nowrap}.status-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status-draft{color:var(--muted);border-color:var(--control);background:var(--white)}.status-published{color:var(--success);border-color:var(--success);background:var(--success-bg)}.role-badge{display:inline-flex;padding:2px 10px;border-radius:999px;background:var(--violet-tint);color:var(--violet-dark);font-size:.75rem;font-weight:700;text-transform:capitalize}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:32px 20px}.page-head h1{margin:0;font-size:clamp(1.6rem,3vw,2.1rem)}.page-head .subtitle{color:var(--muted);margin:4px 0 0;font-size:.95rem}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filter-tab{padding:7px 16px;border-radius:999px;border:1px solid var(--control);background:var(--white);color:var(--ink);font-weight:650;font-size:.88rem;text-decoration:none}.filter-tab:hover{border-color:var(--violet);color:var(--violet-dark)}.filter-tab[aria-current=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.manage-list{display:grid;grid-gap:12px;gap:12px}.manage-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px 16px;gap:8px 16px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-card);padding:18px 20px;align-items:center}.manage-row-main{min-width:0}.manage-row-title{font-weight:700;font-size:1.02rem;color:var(--ink);text-decoration:none;display:inline-block;margin-bottom:4px}.manage-row-title:hover{color:var(--blue);text-decoration:underline}.manage-row-side{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.manage-excerpt{color:var(--muted);font-size:.88rem;margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.editor-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-block:20px;border-bottom:1px solid var(--line);margin-bottom:24px}.editor-toolbar .spacer{flex:1 1}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:32px;gap:32px;align-items:start;padding-bottom:64px}.editor-pane-title{font-size:.8rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:12px}.editor-preview{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-card);padding:28px;position:-webkit-sticky;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto}.preview-empty{color:var(--muted);font-style:italic}.editor-mobile-tabs{display:none}.admin-table-wrap{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-card);overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.93rem}.admin-table td,.admin-table th{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.admin-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--paper)}.admin-table tr:last-child td{border-bottom:none}.admin-role-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-role-form .select{width:auto;min-width:120px;padding:7px 10px;font-size:.9rem}.empty-state{text-align:center;padding:56px 24px;background:var(--white);border:1px dashed var(--control);border-radius:var(--radius-card)}.empty-state img{width:96px;height:88px;object-fit:contain;margin-bottom:12px}.empty-state h2,.empty-state h3{margin-bottom:8px}.empty-state p{color:var(--muted);margin-bottom:20px}.state-panel{max-width:640px;margin:64px auto;text-align:center;padding:40px 24px}.state-panel img{width:120px;height:110px;object-fit:contain;margin-bottom:16px}.skeleton{border-radius:var(--radius-card);background:linear-gradient(100deg,#ece9e2 40%,#f4f2ec 50%,#ece9e2 60%);background-size:200% 100%;animation:shimmer 1.4s ease infinite}.skeleton-card{height:120px;margin-bottom:16px}.skeleton-line{height:16px;margin-bottom:12px}@keyframes shimmer{to{background-position:-200% 0}}dialog.confirm-dialog{border:1px solid var(--line);border-radius:var(--radius-card);padding:28px;max-width:440px;width:calc(100vw - 48px);box-shadow:var(--shadow);color:var(--ink)}dialog.confirm-dialog::-webkit-backdrop{background:rgba(22,21,35,.55)}dialog.confirm-dialog::backdrop{background:rgba(22,21,35,.55)}dialog.confirm-dialog h2{font-size:1.2rem}dialog.confirm-dialog p{color:var(--muted);font-size:.95rem}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:20px}.site-footer{background:var(--ink);color:var(--paper);margin-top:64px;padding-block:48px 32px}.footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);grid-gap:32px;gap:32px;margin-bottom:32px}.site-footer .brand-name{color:var(--paper)}.site-footer .brand-sub{color:#a5a1b8}.footer-tagline{color:var(--lime);font-weight:700;margin:12px 0 8px}.site-footer p{color:#cfcbe0;font-size:.92rem}.footer-heading{font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.09em;color:#a5a1b8;margin-bottom:12px}.footer-links{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.footer-links a{color:var(--lime);text-decoration:none;font-size:.92rem}.footer-links a:hover{text-decoration:underline}.footer-legal{border-top:1px solid #37344a;padding-top:20px;font-size:.85rem;color:#a5a1b8}@media (max-width:960px){.hero{grid-template-columns:1fr;gap:28px;padding-block:36px 28px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-band{grid-template-columns:1fr;padding:28px;gap:20px}.about-mark{width:110px;height:100px}.editor-grid{grid-template-columns:1fr}.editor-preview{position:static;max-height:none}.editor-mobile-tabs{display:flex;gap:8px;margin-bottom:16px}.editor-grid[data-mobile-tab=preview] .editor-form,.editor-grid[data-mobile-tab=write] .editor-preview{display:none}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.container{padding-inline:16px}.site-header-inner{padding-block:12px}.site-nav{width:100%;justify-content:flex-start}.manage-row,.services-grid{grid-template-columns:1fr}.manage-row-side{justify-content:flex-start}.form-card{padding:24px 18px}.footer-grid{grid-template-columns:1fr;gap:24px}.article-detail{padding-block:24px 48px}.editor-toolbar .btn{flex:1 1 auto}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.skeleton{animation:none;background:#ece9e2}}