:root{--admin-bg:#12151b;--admin-bg-soft:#171b22;--admin-surface:#1c212a;--admin-surface-2:#222834;--admin-line:#262d38;--admin-line-soft:#1f252f;--admin-text:#e7eaf0;--admin-text-soft:#b7bfcc;--admin-muted:#8d97a8;--admin-accent:#c9a96a;--admin-accent-strong:#dcbe82;--admin-accent-dim:#c9a96a24;--admin-danger:#e07070;--admin-success:#7bc47b;--admin-radius:3px;--admin-sidebar:260px;--admin-gutter:clamp(1.25rem, 3vw, 2.5rem);--admin-font-body:"Inter Variable", system-ui, sans-serif;--admin-font-display:"Space Grotesk Variable", "Inter Variable", system-ui, sans-serif}html,body{background:var(--admin-bg);min-height:100%;color:var(--admin-text);font-family:var(--admin-font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.65}*,:before,:after{box-sizing:border-box}::selection{background:var(--admin-accent);color:#14161a}.admin-root{background:var(--admin-bg);min-height:100dvh;color:var(--admin-text);isolation:isolate;display:flex;position:relative}.admin-grid-bg{pointer-events:none;z-index:0;background-image:repeating-linear-gradient(to right, var(--admin-line-soft) 0, var(--admin-line-soft) 1px, transparent 1px, transparent calc(100% / 16));opacity:.35;position:fixed;inset:0;mask-image:linear-gradient(#0000,#000 8% 92%,#0000)}.admin-grain{z-index:1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.admin-sidebar{width:var(--admin-sidebar);backdrop-filter:blur(12px);border-right:1px solid var(--admin-line);z-index:10;background:#171b22eb;flex-direction:column;gap:.15rem;padding:1.75rem 1.15rem;display:flex;position:fixed;inset:0 auto 0 0}.admin-brand{font-family:var(--admin-font-display);letter-spacing:.22em;text-transform:uppercase;color:var(--admin-accent);border-bottom:1px solid var(--admin-line);margin-bottom:.75rem;padding:.25rem .85rem 1.75rem;font-size:.8rem}.admin-nav{flex-direction:column;flex:1;gap:.15rem;display:flex}.admin-nav a,.admin-nav button{text-align:left;width:100%;color:var(--admin-muted);border-radius:var(--admin-radius);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;align-items:center;gap:.5rem;padding:.7rem .85rem;font-size:.92rem;transition:background .2s,color .2s,border-color .2s;display:flex}.admin-nav a:hover,.admin-nav button:hover{color:var(--admin-text);background:var(--admin-accent-dim)}.admin-nav .is-active{background:var(--admin-accent-dim);color:var(--admin-text);border-color:#c9a96a40}.admin-nav a:last-child{color:var(--admin-accent);margin-top:.5rem;font-size:.85rem}.admin-user{border-top:1px solid var(--admin-line);align-items:center;gap:.75rem;margin-top:auto;padding:1rem .85rem 0;font-size:.85rem;display:flex}.admin-user-avatar{background:var(--admin-accent-dim);width:36px;height:36px;color:var(--admin-accent);border:1px solid #c9a96a33;border-radius:50%;flex-shrink:0;place-items:center;font-size:.9rem;display:grid}.admin-user img{object-fit:cover;border-radius:50%;width:36px;height:36px}.admin-user-name{color:var(--admin-text);font-weight:500}.admin-user-meta{color:var(--admin-muted);margin-top:.1rem;font-size:.72rem}.admin-main{width:100%;margin-left:var(--admin-sidebar);background:var(--admin-bg);z-index:2;flex:1;min-height:100dvh;position:relative}.admin-content{width:100%;max-width:1280px;padding:var(--admin-gutter);margin:0 auto;padding-bottom:4rem}.admin-kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--admin-muted);align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.72rem;display:flex}.admin-kicker:before{content:"";background:var(--admin-accent);opacity:.6;width:24px;height:1px}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.25rem;margin-bottom:2rem;display:flex}.admin-head--sticky{z-index:5;margin:calc(var(--admin-gutter) * -1);padding:1.25rem var(--admin-gutter);backdrop-filter:blur(10px);border-bottom:1px solid var(--admin-line);background:#12151be0;margin-bottom:2rem;position:sticky;top:0}.admin-head h1{font-family:var(--admin-font-display);letter-spacing:-.02em;font-size:clamp(1.5rem,2.5vw,2.1rem);font-weight:500;line-height:1.15}.admin-head-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.admin-card{background:var(--admin-surface);border:1px solid var(--admin-line);border-radius:var(--admin-radius);padding:1.5rem}.admin-card+.admin-card{margin-top:1.25rem}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.admin-stat{text-align:center;padding:2rem 1.25rem;transition:border-color .2s}.admin-stat:hover{border-color:#c9a96a4d}.admin-stat strong{font-family:var(--admin-font-display);color:var(--admin-accent);font-variant-numeric:tabular-nums;margin-bottom:.35rem;font-size:2.5rem;font-weight:500;line-height:1;display:block}.admin-stat span{color:var(--admin-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.82rem}.admin-section{border-bottom:1px solid var(--admin-line);padding:1.5rem 0}.admin-section:first-child{padding-top:0}.admin-section:last-child{border-bottom:0;padding-bottom:0}.admin-section-title{font-family:var(--admin-font-display);color:var(--admin-accent);letter-spacing:.02em;margin-bottom:1.25rem;font-size:.95rem;font-weight:500}.admin-editor-layout{gap:1.5rem;display:grid}@media (width>=960px){.admin-editor-layout{grid-template-columns:minmax(280px,360px) 1fr;align-items:start}.admin-editor-meta{position:sticky;top:5.5rem}}.admin-btn{border-radius:var(--admin-radius);border:1px solid var(--admin-line);background:var(--admin-surface-2);color:var(--admin-text);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-size:.9rem;transition:border-color .2s,background .2s,color .2s,transform .15s;display:inline-flex}.admin-btn:hover:not(:disabled){border-color:var(--admin-accent);color:var(--admin-accent-strong)}.admin-btn--primary{background:var(--admin-accent);border-color:var(--admin-accent);color:#14161a;font-weight:600}.admin-btn--primary:hover:not(:disabled){background:var(--admin-accent-strong);border-color:var(--admin-accent-strong);color:#14161a}.admin-btn--ghost{background:0 0}.admin-btn--danger{color:var(--admin-danger);background:#e0707014;border-color:#e0707066}.admin-btn--danger:hover:not(:disabled){border-color:var(--admin-danger);color:var(--admin-danger);background:#e0707026}.admin-btn--sm{padding:.4rem .75rem;font-size:.82rem}.admin-btn:disabled{opacity:.45;cursor:not-allowed}.admin-table-wrap{margin:-.25rem -.5rem;padding:.25rem .5rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--admin-line);vertical-align:middle;padding:1rem .85rem}.admin-table th{color:var(--admin-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:500}.admin-table tbody tr{transition:background .15s}.admin-table tbody tr:hover td{background:#22283480}.admin-table tbody tr:last-child td{border-bottom:0}.admin-empty{color:var(--admin-muted);text-align:center;padding:2rem 0}.admin-form{gap:0;display:grid}.admin-field label{color:var(--admin-muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:.45rem;font-size:.75rem;font-weight:500;display:block}.admin-field input,.admin-field textarea,.admin-field select{background:var(--admin-bg-soft);border:1px solid var(--admin-line);border-radius:var(--admin-radius);width:100%;color:var(--admin-text);font:inherit;padding:.72rem .85rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.admin-field input::placeholder,.admin-field textarea::placeholder{color:var(--admin-muted);opacity:.7}.admin-field input:focus,.admin-field textarea:focus,.admin-field select:focus{border-color:var(--admin-accent);box-shadow:0 0 0 3px var(--admin-accent-dim);outline:none}.admin-field input:disabled{opacity:.55;cursor:not-allowed}.admin-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath stroke='%238d97a8' stroke-width='1.5' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");background-position:right .85rem center;background-repeat:no-repeat;padding-right:2.25rem}.admin-field small{color:var(--admin-muted);margin-top:.4rem;font-size:.78rem;line-height:1.45;display:block}.admin-field+.admin-field{margin-top:1.1rem}.admin-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.admin-check{background:var(--admin-bg-soft);border:1px solid var(--admin-line);border-radius:var(--admin-radius);cursor:pointer;align-items:center;gap:.65rem;padding:.85rem 1rem;transition:border-color .2s;display:flex}.admin-check:hover{border-color:#c9a96a59}.admin-check input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--admin-accent);cursor:pointer}.admin-check span{color:var(--admin-text-soft);font-size:.92rem}.admin-markdown{gap:1rem;display:grid}@media (width>=900px){.admin-markdown{grid-template-columns:1fr 1fr;align-items:start}}.admin-markdown-editor{flex-direction:column;min-height:100%;display:flex}.admin-toolbar{background:var(--admin-bg-soft);border:1px solid var(--admin-line);border-radius:var(--admin-radius) var(--admin-radius) 0 0;border-bottom:0;flex-wrap:wrap;gap:.35rem;margin-bottom:.65rem;padding:.5rem;display:flex}.admin-toolbar button{letter-spacing:.04em;background:var(--admin-surface-2);border:1px solid var(--admin-line);border-radius:var(--admin-radius);color:var(--admin-text-soft);cursor:pointer;padding:.35rem .65rem;font-size:.78rem;font-weight:500;transition:border-color .15s,color .15s}.admin-toolbar button:hover{border-color:var(--admin-accent);color:var(--admin-accent)}.admin-editor{resize:vertical;border-radius:0 0 var(--admin-radius) var(--admin-radius);border-top:0;min-height:320px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.88rem;line-height:1.65}.admin-preview-panel{flex-direction:column;min-height:100%;display:flex}.admin-preview-label{letter-spacing:.1em;text-transform:uppercase;color:var(--admin-muted);margin-bottom:.5rem;font-size:.72rem}.admin-preview{border:1px solid var(--admin-line);border-radius:var(--admin-radius);background:var(--admin-bg-soft);flex:1;min-height:320px;padding:1.25rem;overflow:auto}.admin-preview h2,.admin-preview h3{font-family:var(--admin-font-display);color:var(--admin-text);margin:1.25rem 0 .5rem}.admin-preview h2:first-child,.admin-preview h3:first-child{margin-top:0}.admin-preview p{color:var(--admin-text-soft);margin-bottom:.85rem;line-height:1.65}.admin-preview ul{color:var(--admin-text-soft);margin-bottom:.85rem;padding-left:1.25rem}.admin-preview strong{color:var(--admin-text)}.admin-media-current{background:var(--admin-bg-soft);border:1px solid var(--admin-line);border-radius:var(--admin-radius);margin-bottom:1rem;padding:.85rem}.admin-media-current img{border-radius:var(--admin-radius);border:1px solid var(--admin-line);object-fit:cover;max-height:140px}.admin-media-current-path{color:var(--admin-muted);word-break:break-all;margin-top:.5rem;font-size:.78rem}.admin-media-actions{flex-wrap:wrap;gap:.65rem;margin-bottom:1rem;display:flex}.admin-media-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.65rem;display:grid}.admin-media-item{aspect-ratio:1;border:1px solid var(--admin-line);border-radius:var(--admin-radius);cursor:pointer;background:var(--admin-bg-soft);padding:0;transition:border-color .2s,transform .15s;position:relative;overflow:hidden}.admin-media-item:hover{border-color:var(--admin-accent);transform:translateY(-1px)}.admin-media-item.is-selected{outline:2px solid var(--admin-accent);outline-offset:2px}.admin-media-item img{object-fit:cover;width:100%;height:100%}.admin-model-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.35rem;display:flex}.admin-model-actions select{max-width:240px}.admin-model{flex-direction:column;align-items:flex-start;gap:.6rem;margin-top:.85rem;display:flex}.admin-hint{color:var(--admin-muted);word-break:break-all;font-size:.78rem;line-height:1.5}.admin-hint--warn{color:#d98324}.admin-model-preview{border:1px solid var(--admin-line);border-radius:var(--admin-radius);background:#0b0d11;width:100%;overflow:hidden}.admin-model-canvas{width:100%;height:320px;position:relative}.admin-alert{border-radius:var(--admin-radius);margin-bottom:1.25rem;padding:.85rem 1.1rem;font-size:.9rem;line-height:1.5}.admin-alert code{background:#0003;border-radius:2px;padding:.15rem .35rem;font-size:.85em}.admin-alert--error{color:#f0a0a0;background:#e070701a;border:1px solid #e0707059}.admin-alert--success{color:#9ed49e;background:#7bc47b1a;border:1px solid #7bc47b59}.admin-alert--info{background:var(--admin-accent-dim);color:var(--admin-accent-strong);border:1px solid #c9a96a59}.admin-actions{border-top:1px solid var(--admin-line);flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;display:flex}.admin-tag{background:var(--admin-accent-dim);color:var(--admin-accent);border-radius:var(--admin-radius);letter-spacing:.04em;text-transform:uppercase;padding:.2rem .55rem;font-size:.72rem;display:inline-block}.admin-login{background:var(--admin-bg);isolation:isolate;place-items:center;min-height:100dvh;padding:2rem;display:grid;position:relative}.admin-login .admin-grid-bg,.admin-login .admin-grain{position:fixed}.admin-login-card{z-index:2;text-align:center;width:100%;max-width:440px;padding:2.5rem 2rem;position:relative}.admin-login-card h1{font-family:var(--admin-font-display);letter-spacing:-.02em;margin-bottom:.65rem;font-size:1.75rem}.admin-login-card>p{color:var(--admin-muted);margin-bottom:2rem;line-height:1.6}.admin-login-card code,.admin-login-card pre{text-align:left}@media (width<=900px){.admin-sidebar{border-right:0;border-bottom:1px solid var(--admin-line);width:100%;padding:1.25rem 1rem;position:static}.admin-root{flex-direction:column}.admin-main{margin-left:0}.admin-head--sticky{backdrop-filter:none;background:0 0;margin:0 0 1.5rem;padding:0 0 1.25rem;position:static}.admin-nav{flex-flow:wrap;gap:.35rem}.admin-nav a,.admin-nav button{flex:auto;width:auto;min-width:fit-content;padding:.55rem .75rem;font-size:.85rem}.admin-user{margin-top:1rem;padding-top:1rem}}
