:root{--brand-pink:#ff6196;--brand-purple:#6d5dfc;--brand-dark:#11111f;--brand-mint:#4ee0c1;--color-background:#fffbfd;--color-surface:#fff;--color-surface-soft:#fff2f7;--color-surface-strong:#f5f3ff;--color-border:#eadde7;--color-text:var(--brand-dark);--color-text-muted:#5f6072;--color-text-subtle:#9a9aad;--color-primary:var(--brand-pink);--color-primary-dark:#e8005a;--color-primary-light:#fff0f6;--on-primary:#fff;--color-secondary:var(--brand-purple);--color-secondary-dark:#4938e8;--color-secondary-light:#f0eeff;--on-secondary:#fff;--color-accent:var(--brand-mint);--color-accent-dark:#18b99a;--color-accent-light:#e8fff9;--on-accent:var(--brand-dark);--gradient-brand:linear-gradient(135deg, var(--brand-pink) 0%, var(--brand-purple) 55%, var(--brand-mint) 100%);--gradient-soft:linear-gradient(135deg, #fff0f6 0%, #f0eeff 55%, #e8fff9 100%);--gradient-page:linear-gradient(135deg, #fff7fb 0%, #fff 34%, #f7f3ff 66%, #f2fffb 100%);--color-state-success:var(--brand-mint);--on-success:var(--brand-dark);--color-state-error:#ff6b7a;--on-error:#fff;--color-state-warning:#ffc96b;--on-warning:var(--brand-dark);--color-state-info:var(--brand-purple);--on-info:#fff;--focus:var(--brand-purple);--disabled:#eeeef4;--on-disabled:#9a9aad;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Fira Code", "Consolas", monospace;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--border-radius:.5rem;--max-width:1200px}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-sans);background:var(--color-background);color:var(--color-text)}body{background:repeating-linear-gradient(118deg, #ff619605 0, #ff619605 1px, transparent 1px, transparent 36px), linear-gradient(118deg, #ff61961a 0%, #fff0f657 20%, transparent 46%), linear-gradient(242deg, transparent 0%, transparent 48%, #6d5dfc0f 72%, #4ee0c11a 100%), linear-gradient(180deg, #f0eeff57 0%, transparent 32%), var(--gradient-page);background-attachment:fixed;flex-direction:column;min-height:100vh;margin:0;line-height:1.6;display:flex}code,pre{direction:ltr;unicode-bidi:isolate}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-secondary)}.visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,h4,h5,h6{margin-top:0;line-height:1.2}.header{z-index:10;background:var(--brand-dark);padding:.75rem var(--spacing-xl);color:#fff;border-bottom:1px solid #ffffff1a;position:relative;overflow:visible;box-shadow:0 .45rem 1.1rem #11111f1f}.nav{max-width:var(--max-width);justify-content:space-between;align-items:center;gap:var(--spacing-lg);z-index:1;margin:0 auto;display:flex;position:relative}.logo{color:#fff;flex:none;align-items:center;height:2.35rem;min-height:0;padding:0;display:inline-flex}.logo:hover{color:#fff}.logoImage{object-fit:contain;width:auto;max-width:min(14rem,42vw);height:2.75rem;display:block}.navToggle{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.navToggleButton{display:none}.navToggleIcon{gap:.22rem;width:1.15rem;display:grid}.navToggleIcon span{background:currentColor;border-radius:999px;height:2px;transition:opacity .18s,transform .18s;display:block}.nav-links{flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.nav-links a{color:#ffffffdb;border-radius:999px;align-items:center;min-height:2.35rem;padding:.35rem .85rem;font-weight:750;transition:background-color .2s,color .2s;display:inline-flex;position:relative;overflow:hidden}.nav-links a:hover{color:#fff;background-color:#ffffff14}@media (width<=820px){.header{padding:.7rem var(--spacing-md)}.nav{gap:var(--spacing-sm);flex-wrap:wrap}.logoImage{max-width:min(12rem,62vw)}.navToggleButton{color:#ffffffe6;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;width:2.65rem;height:2.65rem;margin-inline-start:auto;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.navToggleButton:hover{color:#fff;background:#ffffff1a;border-color:#fff3}.navToggle:focus-visible+.navToggleButton{outline:2px solid var(--brand-mint);outline-offset:3px}.navToggle:checked+.navToggleButton{color:#fff;background:#ffffff1f;border-color:#ffffff3d}.navToggle:checked+.navToggleButton .navToggleIcon span:first-child{transform:translateY(.36rem)rotate(45deg)}.navToggle:checked+.navToggleButton .navToggleIcon span:nth-child(2){opacity:0}.navToggle:checked+.navToggleButton .navToggleIcon span:nth-child(3){transform:translateY(-.36rem)rotate(-45deg)}.nav-links{border-radius:var(--border-radius);background:#ffffff0e;border:1px solid #ffffff1a;flex-direction:column;flex:1 0 100%;align-items:stretch;gap:.2rem;width:100%;margin-top:.45rem;padding:.55rem;display:none;box-shadow:0 .75rem 1.4rem #00000038}.navToggle:checked~.nav-links{display:flex}.nav-links li{width:100%}.nav-links a{justify-content:space-between;width:100%;min-height:2.6rem;padding:.55rem .75rem}}.main{max-width:var(--max-width);padding:var(--spacing-xl);flex:1;width:100%;margin:0 auto}.footer{background-color:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--spacing-lg) var(--spacing-xl);text-align:center;color:var(--color-text-muted)}.footerInner{justify-content:center;align-items:center;gap:var(--spacing-sm) var(--spacing-lg);max-width:var(--max-width);flex-wrap:wrap;margin:0 auto;display:flex}.footerInner p{margin:0}.footerLinks{align-items:center;gap:var(--spacing-sm);font-size:.9rem;display:inline-flex}.container{max-width:var(--max-width);padding:0 var(--spacing-xl);margin:0 auto}.btn{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-primary);color:var(--on-primary);border-radius:var(--border-radius);cursor:pointer;border:none;font-weight:500;transition:background-color .2s;display:inline-flex}.btn:hover{background-color:var(--color-primary-dark);color:var(--on-primary)}.btn-secondary{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary:hover{background-color:var(--color-surface-soft);color:var(--color-text)}.btn-danger{color:#fff;background-color:#c0392b}.btn-danger:hover{background-color:#922b21}.btn-danger:disabled{cursor:not-allowed;background-color:#e8a4a4}.admin-field{gap:.3rem;display:grid}div.admin-field>label{color:var(--color-text-muted);margin-bottom:.35rem;font-size:.82rem;font-weight:600;display:block}.admin-required{color:#c0392b;font-weight:700}.admin-optional{color:var(--color-text-subtle);font-weight:400}.admin-field input[type=text],.admin-field input[type=number],.admin-field input[type=date],.admin-field select,.admin-field textarea{border:1px solid var(--color-border);width:100%;font:inherit;box-sizing:border-box;background:#fff;border-radius:.4rem;padding:.4rem .5rem;font-size:.88rem}.admin-field select[multiple]{padding:.2rem}.admin-field:has(>input[type=checkbox]){align-items:center;gap:.5rem;display:flex}.admin-field:has(>input[type=checkbox])>label{margin-bottom:0}.admin-field>input[type=checkbox]{cursor:pointer;width:1rem;height:1rem;accent-color:var(--color-accent,#6366f1);flex:none;margin:0}.admin-checkbox-list{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.4rem;flex-direction:column;gap:0;max-height:10rem;padding:.25rem;display:flex;overflow-y:auto}.admin-checkbox-list label.admin-checkbox-item{color:var(--color-text);cursor:pointer;border-radius:.25rem;flex-direction:row;align-items:center;gap:.45rem;padding:.2rem .4rem;font-size:.875rem;font-weight:400;line-height:1.4;display:flex}.admin-checkbox-list label.admin-checkbox-item:hover{background:var(--color-border)}.admin-checkbox-list label.admin-checkbox-item input[type=checkbox]{cursor:pointer;accent-color:var(--color-accent,#6366f1);flex-shrink:0;margin:0}.admin-field textarea{resize:vertical;min-height:5rem;font-family:var(--font-mono)}.admin-field--pattern{grid-column:1/-1}.admin-field--pattern span{color:var(--color-text-muted);font-size:.82rem;font-weight:600}.admin-dialog{border:1px solid var(--color-border);background:var(--color-surface);width:min(32rem,100vw - 2rem);color:var(--color-text);border-radius:.5rem;padding:1.1rem;box-shadow:0 1.25rem 3rem #11111f33}.admin-dialog::backdrop{background:#11111f73}.admin-dialog h2{margin:0 0 .45rem;font-size:1.15rem}.admin-dialog p{color:var(--color-text-muted);margin:0 0 .8rem;line-height:1.45}.admin-dialog__slugRows{border:1px solid var(--color-border);background:var(--color-surface-soft);border-radius:.4rem;grid-template-columns:max-content minmax(0,1fr);gap:.35rem .7rem;margin:0 0 .9rem;padding:.7rem;display:grid}.admin-dialog__slugRows dt{color:var(--color-text-muted);font-size:.82rem;font-weight:700}.admin-dialog__slugRows dd{overflow-wrap:anywhere;min-width:0;font:.86rem/1.4 var(--font-mono);margin:0}.admin-dialog__fileList{border:1px solid var(--color-border);background:var(--color-surface-soft);font:.86rem/1.5 var(--font-mono);overflow-wrap:anywhere;border-radius:.4rem;margin:0 0 .9rem;padding:.7rem .7rem .7rem 1.7rem}.admin-dialog__check{align-items:flex-start;gap:.55rem;margin:.2rem 0 1rem;font-size:.92rem;font-weight:600;line-height:1.35;display:flex}.admin-dialog__check input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-accent,#6366f1);flex:none;margin:.15rem 0 0}.admin-dialog__warning{color:#6f4b00;background:#fff8d8;border:1px solid #e1bd58;border-radius:.4rem;padding:.55rem .7rem;font-size:.88rem}.admin-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.admin-dialog .btn:disabled{cursor:not-allowed;opacity:.58}.admin-pattern-preview{border:1px solid var(--color-border);background:var(--color-surface);font:.78rem/1.5 var(--font-mono);color:var(--color-text-muted);box-sizing:border-box;resize:vertical;white-space:pre;border-radius:.4rem;width:100%;min-height:6rem;max-height:16rem;margin:0;padding:.5rem .65rem;overflow:auto}.admin-pattern-preview[data-parse-error]:not([data-parse-error=""]){border-color:var(--color-error,#e53e3e);outline:1px solid var(--color-error,#e53e3e)}
