:root{--color-navy:#012253;--color-primary:#1386fd;--color-accent:#3540fd;--color-cyan:#02a7f6;--gradient-brand:linear-gradient(135deg, #012253 0%, #1386fd 55%, #3540fd 100%);--color-bg:#f8fafc;--color-bg-dark:#0b1220;--color-surface:#fff;--color-surface-dark:#111827;--color-border:#e2e8f0;--color-border-dark:#1f2937;--color-text:#0f172a;--color-text-dark:#e5e7eb;--color-text-muted:#64748b;--color-success:#16a34a;--color-warning:#d97706;--color-danger:#dc2626;--color-info:#0ea5e9;--font-heading:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 2px #0122530f;--shadow-md:0 4px 12px #0122531a;--control-height-sm:32px;--control-height-md:40px;--control-height-lg:48px;--textarea-height-sm:80px;--textarea-height-md:120px;--textarea-height-lg:160px;--ui-bg:var(--color-bg);--ui-surface:var(--color-surface);--ui-border:var(--color-border);--ui-text:var(--color-text);--ui-muted:var(--color-text-muted);--ui-on-primary:var(--color-text);--ui-on-primary-hover:var(--color-surface);--ui-on-danger:var(--color-surface);--ui-primary-text:color-mix(in srgb, var(--color-primary) 70%, var(--ui-text));--ui-success-text:color-mix(in srgb, var(--color-success) 70%, var(--ui-text));--ui-warning-text:color-mix(in srgb, var(--color-warning) 70%, var(--ui-text));--ui-danger-text:color-mix(in srgb, var(--color-danger) 70%, var(--ui-text));--ui-info-text:color-mix(in srgb, var(--color-info) 70%, var(--ui-text));--ui-disabled-bg:var(--color-border);--ui-disabled-text:var(--color-text-muted);--ui-focus-ring:color-mix(in srgb, var(--color-primary) 24%, transparent);--ui-danger-focus-ring:color-mix(in srgb, var(--color-danger) 24%, transparent);--ui-neutral-soft:color-mix(in srgb, var(--ui-text) 7%, var(--ui-surface));--ui-success-soft:color-mix(in srgb, var(--color-success) 10%, var(--ui-surface));--ui-warning-soft:color-mix(in srgb, var(--color-warning) 10%, var(--ui-surface));--ui-danger-soft:color-mix(in srgb, var(--color-danger) 10%, var(--ui-surface));--ui-info-soft:color-mix(in srgb, var(--color-info) 10%, var(--ui-surface))}[data-theme=dark]{--ui-bg:var(--color-bg-dark);--ui-surface:var(--color-surface-dark);--ui-border:var(--color-border-dark);--ui-text:var(--color-text-dark);--ui-muted:color-mix(in srgb, var(--ui-text) 70%, var(--ui-surface));--ui-on-primary:var(--color-text);--ui-on-primary-hover:var(--color-surface);--ui-on-danger:var(--color-surface);--ui-primary-text:color-mix(in srgb, var(--color-primary) 70%, var(--ui-text));--ui-success-text:color-mix(in srgb, var(--color-success) 70%, var(--ui-text));--ui-warning-text:color-mix(in srgb, var(--color-warning) 70%, var(--ui-text));--ui-danger-text:color-mix(in srgb, var(--color-danger) 70%, var(--ui-text));--ui-info-text:color-mix(in srgb, var(--color-info) 70%, var(--ui-text));--ui-disabled-bg:var(--color-border-dark);--ui-disabled-text:var(--ui-muted)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ui-bg:var(--color-bg-dark);--ui-surface:var(--color-surface-dark);--ui-border:var(--color-border-dark);--ui-text:var(--color-text-dark);--ui-muted:color-mix(in srgb, var(--ui-text) 70%, var(--ui-surface));--ui-on-primary:var(--color-surface);--ui-on-danger:var(--color-surface);--ui-disabled-bg:var(--color-border-dark);--ui-disabled-text:var(--ui-muted)}}.ks-button,.ks-input,.ks-textarea,.ks-badge,.ks-alert,.ks-card,.ks-empty-state,.ks-error-state{box-sizing:border-box;font-family:var(--font-body)}.ks-button{border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:var(--space-2);border:1px solid #0000;justify-content:center;font-weight:600;line-height:1;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.ks-button:focus-visible,.ks-input:focus-visible,.ks-textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ks-button--sm{height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--text-sm)}.ks-button--md{height:var(--control-height-md);padding:0 var(--space-4);font-size:var(--text-base)}.ks-button--lg{height:var(--control-height-lg);padding:0 var(--space-6);font-size:var(--text-lg)}.ks-button--primary{background:var(--color-primary);color:var(--ui-on-primary)}.ks-button--primary:hover:not(:disabled){background:var(--color-accent);color:var(--ui-on-primary-hover)}.ks-button--outline{border-color:var(--color-primary);color:var(--ui-primary-text);background:0 0}.ks-button--outline:hover:not(:disabled){background:var(--ui-info-soft)}.ks-button--ghost{color:var(--ui-primary-text);background:0 0}.ks-button--ghost:hover:not(:disabled){background:var(--ui-info-soft)}.ks-button--danger{background:var(--color-danger);color:var(--ui-on-danger)}.ks-button--danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger) 84%, var(--ui-text))}.ks-button:disabled{background:var(--ui-disabled-bg);border-color:var(--ui-disabled-bg);color:var(--ui-disabled-text);cursor:not-allowed}.ks-button__spinner{border-radius:var(--radius-full);height:var(--space-4);width:var(--space-4);border:2px solid;border-right-color:#0000;animation:.7s linear infinite ks-spin}@keyframes ks-spin{to{transform:rotate(360deg)}}.ks-field{gap:var(--space-2);font-family:var(--font-body);color:var(--ui-text);display:grid}.ks-field__label{font-size:var(--text-sm);font-weight:600}.ks-field__helper,.ks-field__error{font-size:var(--text-sm);margin:0}.ks-field__helper{color:var(--ui-muted)}.ks-field__error{color:var(--ui-danger-text)}.ks-input,.ks-textarea{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-md);color:var(--ui-text);width:100%}.ks-input::placeholder,.ks-textarea::placeholder{color:var(--ui-muted)}.ks-input:disabled,.ks-textarea:disabled{background:var(--ui-disabled-bg);color:var(--ui-disabled-text);cursor:not-allowed}.ks-input--sm{height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--text-sm)}.ks-input--md{height:var(--control-height-md);padding:0 var(--space-4);font-size:var(--text-base)}.ks-input--lg{height:var(--control-height-lg);padding:0 var(--space-4);font-size:var(--text-lg)}.ks-textarea{padding:var(--space-3) var(--space-4);resize:vertical}.ks-textarea--sm{min-height:var(--textarea-height-sm);font-size:var(--text-sm)}.ks-textarea--md{min-height:var(--textarea-height-md);font-size:var(--text-base)}.ks-textarea--lg{min-height:var(--textarea-height-lg);font-size:var(--text-lg)}.ks-input[aria-invalid=true],.ks-textarea[aria-invalid=true]{border-color:var(--ui-danger-text)}.ks-input[aria-invalid=true]:focus-visible,.ks-textarea[aria-invalid=true]:focus-visible{outline-color:var(--ui-danger-text)}.ks-badge{border-radius:var(--radius-sm);font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border:1px solid;align-items:center;font-weight:600;line-height:1;display:inline-flex}.ks-badge--neutral{background:var(--ui-neutral-soft);color:var(--ui-muted)}.ks-badge--success{background:var(--ui-success-soft);color:var(--ui-success-text)}.ks-badge--warning{background:var(--ui-warning-soft);color:var(--ui-warning-text)}.ks-badge--danger{background:var(--ui-danger-soft);color:var(--ui-danger-text)}.ks-badge--info{background:var(--ui-info-soft);color:var(--ui-info-text)}.ks-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--ui-text);padding:var(--space-6)}.ks-alert{background:var(--ui-surface);border:1px solid;border-left-width:var(--space-1);border-radius:var(--radius-md);gap:var(--space-1);padding:var(--space-3) var(--space-4);display:grid}.ks-alert__title{font-size:var(--text-sm);font-weight:700}.ks-alert__message{color:var(--ui-text);font-size:var(--text-sm);margin:0}.ks-alert--info{background:var(--ui-info-soft);color:var(--ui-info-text)}.ks-alert--success{background:var(--ui-success-soft);color:var(--ui-success-text)}.ks-alert--warning{background:var(--ui-warning-soft);color:var(--ui-warning-text)}.ks-alert--danger{background:var(--ui-danger-soft);color:var(--ui-danger-text)}.ks-empty-state,.ks-error-state{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-lg);color:var(--ui-text);align-items:center;gap:var(--space-3);padding:var(--space-8);text-align:center;flex-direction:column;display:flex}.ks-empty-state__icon,.ks-error-state__icon{color:var(--ui-muted);place-items:center;display:grid}.ks-error-state__icon{color:var(--ui-danger-text)}.ks-empty-state__title,.ks-error-state__title{font-family:var(--font-heading);font-size:var(--text-xl);margin:0;font-weight:700}.ks-empty-state__message,.ks-error-state__message{color:var(--ui-muted);font-size:var(--text-base);margin:0}html,body,#root{min-height:100%;margin:0}body{background:var(--ui-bg);color:var(--ui-text);font-family:var(--font-body)}.auth-shell,.setup-shell,.status-shell{min-height:100vh;padding:var(--space-6);box-sizing:border-box;place-items:center;display:grid}.auth-card,.setup-form{gap:var(--space-5);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-lg);width:min(100%,640px);box-shadow:var(--shadow-sm);padding:var(--space-8);box-sizing:border-box;display:grid}.auth-card form,.social-links{gap:var(--space-4);display:grid}.auth-card h1,.setup-form h1,.dashboard-shell h1{font-family:var(--font-heading);margin:0}.auth-card p,.setup-form p{color:var(--ui-muted);margin:var(--space-2) 0 0}.auth-divider{color:var(--ui-muted);text-align:center}.eyebrow{font-size:var(--text-sm);text-transform:uppercase;font-weight:700;color:var(--ui-primary-text)!important}.social-links{border:0;margin:0;padding:0}.social-links legend{font-size:var(--text-sm);margin-bottom:var(--space-2);font-weight:600}.social-row{gap:var(--space-2);grid-template-columns:1fr auto;align-items:end;display:grid}.dashboard-shell{padding:var(--space-8)}.admin-layout{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{background:var(--color-navy);color:#fff;padding:var(--space-6);gap:var(--space-8);flex-direction:column;display:flex}.admin-sidebar h1{margin:var(--space-1) 0 0;font-family:var(--font-heading)}.admin-sidebar .eyebrow{opacity:.75;color:#fff!important}.admin-sidebar nav{gap:var(--space-2);display:grid}.admin-sidebar a{color:#fff;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);opacity:.78;text-decoration:none}.admin-sidebar a:hover,.admin-sidebar a.active{opacity:1;background:#ffffff1f}.admin-content{min-width:0;padding:var(--space-8)}.page-header{margin-bottom:var(--space-8)}.page-header h2{font-family:var(--font-heading);font-size:var(--text-4xl);margin:var(--space-1) 0}.page-header p{color:var(--ui-muted)}.count-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.count-label{margin:0 0 var(--space-3);color:var(--ui-muted)}.count-value{font-family:var(--font-heading);font-size:var(--text-4xl)}.dashboard-section{margin-top:var(--space-8)}.dashboard-section h3,.form-section h3{font-family:var(--font-heading);font-size:var(--text-xl)}.sync-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sync-heading{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.sync-error{color:var(--color-danger);font-size:var(--text-sm)}.settings-form{gap:var(--space-6);max-width:820px;display:grid}.form-section{gap:var(--space-4);padding:var(--space-6);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-lg);display:grid}.form-section h3{margin:0}.repeatable-fieldset{gap:var(--space-3);border:0;margin:0;padding:0;display:grid}.repeatable-fieldset legend{font-size:var(--text-sm);margin-bottom:var(--space-2);font-weight:600}.link-row{gap:var(--space-2);grid-template-columns:1fr 2fr auto;align-items:end;display:grid}.owner-photo-preview{object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--ui-border);width:120px;height:120px}@media (width<=800px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{gap:var(--space-4);position:static}.admin-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-content{padding:var(--space-4)}.count-grid,.sync-grid,.link-row{grid-template-columns:1fr}}.page-header--actions{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.project-form{gap:var(--space-5);max-width:960px;padding:var(--space-6);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--radius-lg);display:grid}.form-heading,.form-heading>div,.project-row__title,.form-actions{align-items:center;gap:var(--space-3);display:flex}.form-heading{justify-content:space-between}.form-heading h3{font-family:var(--font-heading);margin:0}.tag-entry{gap:var(--space-2);grid-template-columns:1fr auto;align-items:end;display:grid}.tag-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.tag-chip{border:1px solid var(--ui-border);background:var(--ui-bg);color:var(--ui-text);padding:var(--space-2) var(--space-3);cursor:pointer;border-radius:999px}.project-media-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-feature-preview{object-fit:cover;width:min(100%,320px);max-height:180px;margin-top:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--ui-border);display:block}.screenshot-list{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.screenshot-item{gap:var(--space-2);padding:var(--space-2);border:1px solid var(--ui-border);border-radius:var(--radius-md);cursor:grab;display:grid}.screenshot-item img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-sm);width:100%}.screenshot-item span{color:var(--ui-muted);font-size:var(--text-sm)}.project-options{align-items:end;gap:var(--space-4);grid-template-columns:1fr 180px 1fr;display:grid}.project-options>label{align-items:center;gap:var(--space-2);min-height:44px;display:flex}.project-list{gap:var(--space-3);display:grid}.project-row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.project-row__main{align-items:center;gap:var(--space-4);min-width:0;display:flex}.project-row__main>img{object-fit:cover;border-radius:var(--radius-md);width:96px;height:64px}.project-row p{margin:var(--space-2) 0;color:var(--ui-muted)}.project-row small{color:var(--ui-muted)}@media (width<=800px){.page-header--actions,.project-row,.project-row__main{flex-direction:column;align-items:stretch}.project-media-grid,.project-options,.screenshot-list,.admin-sidebar nav{grid-template-columns:1fr}}.header-actions{gap:var(--space-3);display:flex}.field-label{gap:var(--space-2);font-size:var(--text-sm);font-weight:600;display:grid}.field-label select,.project-options select{border:1px solid var(--ui-border);border-radius:var(--radius-md);background:var(--ui-surface);min-height:44px;color:var(--ui-text);padding:0 var(--space-3)}.content-readonly{justify-content:space-between;gap:var(--space-4);padding:var(--space-3);border:1px solid var(--ui-border);border-radius:var(--radius-md);display:flex}.content-readonly span,.video-row small{color:var(--ui-muted)}.playlist-videos{gap:var(--space-3);border-top:1px solid var(--ui-border);padding-top:var(--space-4);display:grid}.video-row{align-items:center;gap:var(--space-4);grid-template-columns:120px minmax(0,1fr) minmax(220px,320px);display:grid}.video-row img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-md);background:var(--ui-bg);width:120px}.video-row>div{gap:var(--space-2);display:grid}@media (width<=800px){.header-actions{flex-direction:column}.video-row{grid-template-columns:1fr}.video-row img{width:100%}}.resource-form,.banner-form{max-width:960px;margin-bottom:var(--space-8)}.resource-media-grid,.banner-schedule{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.resource-cover-preview{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--ui-border);border-radius:var(--radius-md);width:160px}.banner-preview{aspect-ratio:16/5;object-fit:cover;border:1px solid var(--ui-border);border-radius:var(--radius-md);width:min(100%,480px)}.checkbox-field>span{align-items:center;gap:var(--space-2);min-height:44px;display:flex}@media (width<=800px){.resource-media-grid,.banner-schedule{grid-template-columns:1fr}}
