:root{--waemo-color-obsidian-950: #05050a;--waemo-color-obsidian-900: #0d0a17;--waemo-color-obsidian-850: #100d1e;--waemo-color-obsidian-800: #141024;--waemo-color-obsidian-700: #1c1630;--waemo-color-brand-indigo: #7604fa;--waemo-color-brand-violet: #ff31f6;--waemo-color-brand-magenta: #ff1496;--waemo-color-cyber-cyan: #38bdf8;--waemo-gradient-brand: linear-gradient(135deg, #7604fa 0%, #d844f5 50%, #ff1496 100%);--waemo-gradient-brand-horizontal: linear-gradient(90deg, #7604fa 0%, #d844f5 50%, #ff1496 100%);--waemo-gradient-cta: linear-gradient(135deg in srgb, #5b00c7 0%, #8e00a6 50%, #ba006b 100%);--waemo-gradient-cta-hover: linear-gradient(135deg in srgb, #6b0fd7 0%, #9e10b6 50%, #ca107b 100%);--waemo-color-text-primary: #f8f6ff;--waemo-color-text-secondary: #a79eb8;--waemo-color-text-tertiary: #8d82a2;--waemo-color-border-subtle: rgba(255, 255, 255, .08);--waemo-color-border-muted: #1c1630;--waemo-color-border-accent: rgba(118, 4, 250, .35);--waemo-color-focus-ring: #ff31f6;--waemo-color-border-focus: var(--waemo-color-focus-ring);--waemo-font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--waemo-font-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--waemo-font-size-xs: .75rem;--waemo-font-size-sm: .875rem;--waemo-font-size-base: 1rem;--waemo-font-size-lg: 1.125rem;--waemo-font-size-xl: 1.25rem;--waemo-font-size-2xl: 1.5rem;--waemo-font-size-3xl: 1.875rem;--waemo-font-size-4xl: 2.25rem;--waemo-line-height-tight: 1.2;--waemo-line-height-base: 1.5;--waemo-line-height-relaxed: 1.75;--waemo-radius-sm: 4px;--waemo-radius-md: 8px;--waemo-radius-lg: 12px;--waemo-radius-full: 9999px;--waemo-container-max-width: 1440px;--waemo-container-padding: 1rem;--waemo-shadow-subtle: 0 2px 8px rgba(0, 0, 0, .4);--waemo-shadow-card: 0 4px 16px rgba(0, 0, 0, .5);--waemo-glow-brand: 0 0 24px rgba(118, 4, 250, .25);--waemo-glow-subtle: 0 0 16px rgba(118, 4, 250, .15);--waemo-glow-focus: 0 0 12px rgba(255, 49, 246, .35);--waemo-color-status-foundational: #60a5fa;--waemo-color-status-intermediate: #c084fc;--waemo-color-status-advanced: #f472b6;--waemo-color-status-success: #4ade80;--waemo-color-status-warning: #facc15;--waemo-color-status-danger: #f87171;--waemo-line-length-prose: 65ch;--waemo-duration-fast: .15s;--waemo-duration-base: .25s;--waemo-duration-slow: .4s;--waemo-ease-standard: cubic-bezier(.4, 0, .2, 1);--waemo-ease-out: cubic-bezier(0, 0, .2, 1);--waemo-ease-in: cubic-bezier(.4, 0, 1, 1);--color-bg: var(--waemo-color-obsidian-950);--color-text: var(--waemo-color-text-primary);--color-text-muted: var(--waemo-color-text-secondary);--border-color: var(--waemo-color-border-subtle);--surface-color: var(--waemo-color-obsidian-900);--font-family-base: var(--waemo-font-sans);--font-size-base: var(--waemo-font-size-base);--line-height-base: var(--waemo-line-height-base);--container-max-width: var(--waemo-container-max-width);--container-padding: var(--waemo-container-padding)}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth;background-color:var(--waemo-color-obsidian-950);color:var(--waemo-color-text-primary)}body{margin:0;font-family:var(--waemo-font-sans);font-size:var(--waemo-font-size-base);line-height:var(--waemo-line-height-base);color:var(--waemo-color-text-primary);background-color:var(--waemo-color-obsidian-950);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}:focus-visible{outline:2px solid var(--waemo-color-focus-ring);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.container{width:100%;max-width:var(--waemo-container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--waemo-container-padding);padding-right:var(--waemo-container-padding)}@media(min-width:640px){:root{--waemo-container-padding: 1.5rem}}@media(min-width:1024px){:root{--waemo-container-padding: 2rem}}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--waemo-font-sans);font-weight:600;font-size:var(--waemo-font-size-base);line-height:1.25;padding:.875rem 1.75rem;border-radius:var(--waemo-radius-md);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background var(--waemo-duration-fast) ease,border-color var(--waemo-duration-fast) ease,box-shadow var(--waemo-duration-fast) ease}.btn:focus-visible{outline:2px solid var(--waemo-color-focus-ring);outline-offset:3px}.btn-cta{background:var(--waemo-gradient-cta);color:var(--waemo-color-text-primary);border-color:#ffffff26;box-shadow:0 2px 10px #5b00c74d}.btn-cta:hover{background:var(--waemo-gradient-cta-hover);box-shadow:0 0 20px #ba006b66}.btn-secondary{background-color:var(--waemo-color-obsidian-850);color:var(--waemo-color-text-primary);border-color:var(--waemo-color-border-subtle)}.btn-secondary:hover{background-color:var(--waemo-color-obsidian-800);border-color:var(--waemo-color-border-accent)}.btn-rgb{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--waemo-color-obsidian-850);color:var(--waemo-color-text-primary);border:1px solid rgba(118,4,250,.4);border-radius:var(--waemo-radius-md);padding:.55rem 1.15rem;font-family:var(--waemo-font-sans);font-size:var(--waemo-font-size-sm);font-weight:600;line-height:1.25;text-decoration:none;cursor:pointer;transition:background var(--waemo-duration-fast) ease,border-color var(--waemo-duration-fast) ease,box-shadow var(--waemo-duration-fast) ease,transform var(--waemo-duration-fast) ease}.btn-rgb:hover{background:linear-gradient(135deg,#7604fa33,#ff31f626),var(--waemo-color-obsidian-800);border-color:var(--waemo-color-brand-violet);box-shadow:0 0 12px #7604fa73,0 0 24px #ff31f640;transform:translateY(-1px);color:var(--waemo-color-text-primary)}.btn-rgb:active{transform:translateY(0);box-shadow:0 0 8px #7604fa80}.btn-rgb:focus-visible{outline:2px solid var(--waemo-color-focus-ring);outline-offset:2px;border-color:var(--waemo-color-brand-magenta);box-shadow:0 0 14px #7604fa80,0 0 28px #ff31f64d}.btn-sm{padding:.5rem 1rem;font-size:var(--waemo-font-size-sm);border-radius:var(--waemo-radius-sm)}.btn-dialog-close,.dialog-close-btn,.drawer-close-btn{background:var(--waemo-color-obsidian-800);border:1px solid var(--waemo-color-border-subtle);border-radius:var(--waemo-radius-md);color:var(--waemo-color-text-primary);font-size:1.5rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--waemo-duration-fast) ease,color var(--waemo-duration-fast) ease}.btn-dialog-close:hover,.dialog-close-btn:hover,.drawer-close-btn:hover{background-color:var(--waemo-color-obsidian-700);color:var(--waemo-color-brand-violet)}@media(prefers-reduced-motion:reduce){.btn,.btn-rgb{transition:none!important;transform:none!important}}.section-block{scroll-margin-top:5rem}.section-header{display:flex;flex-direction:column;gap:.6rem;margin-bottom:2.25rem;max-width:42rem}.section-badge{font-family:var(--waemo-font-mono);font-size:var(--waemo-font-size-xs);letter-spacing:.08em;color:var(--waemo-color-text-tertiary)}.section-title{margin:0;font-size:clamp(1.875rem,2.5vw,2.25rem);font-weight:700;letter-spacing:-.025em;color:var(--waemo-color-text-primary)}.section-subtitle{margin:0;font-size:var(--waemo-font-size-base);line-height:var(--waemo-line-height-relaxed);color:var(--waemo-color-text-secondary)}.directives-grid,.principles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media(max-width:900px){.directives-grid,.principles-grid{grid-template-columns:1fr}}.directive-card,.challenge-card{padding:1.5rem;background-color:var(--waemo-color-obsidian-900);border:1px solid var(--waemo-color-border-subtle);border-radius:var(--waemo-radius-lg);display:flex;flex-direction:column;gap:.75rem;transition:border-color var(--waemo-duration-fast) ease,background-color var(--waemo-duration-fast) ease,box-shadow var(--waemo-duration-fast) ease}.directive-card:hover,.challenge-card:hover{background-color:var(--waemo-color-obsidian-850);border-color:var(--waemo-color-border-accent);box-shadow:0 4px 20px #0006}.card-header{display:flex;align-items:center;justify-content:space-between}.card-index{font-family:var(--waemo-font-mono);font-size:var(--waemo-font-size-sm);font-weight:700;color:var(--waemo-color-brand-indigo)}.card-tags{display:flex;flex-wrap:wrap;gap:.4rem}.card-tag{font-family:var(--waemo-font-mono);font-size:.7rem;letter-spacing:.08em;padding:.15rem .45rem;border-radius:var(--waemo-radius-sm);background-color:var(--waemo-color-obsidian-700);color:var(--waemo-color-text-tertiary)}.card-title{margin:0;font-size:var(--waemo-font-size-xl);font-weight:600;letter-spacing:-.015em;color:var(--waemo-color-text-primary)}.card-desc,.principle-desc{margin:0;font-size:var(--waemo-font-size-sm);line-height:var(--waemo-line-height-relaxed);color:var(--waemo-color-text-secondary)}.principle-item{position:relative;padding-left:1.25rem;display:flex;flex-direction:column;gap:.5rem}.principle-marker{position:absolute;left:0;top:.35rem;bottom:.35rem;width:2px;background:var(--waemo-gradient-brand);border-radius:var(--waemo-radius-full)}.principle-title{margin:0;font-size:var(--waemo-font-size-lg);font-weight:600;letter-spacing:-.01em;color:var(--waemo-color-text-primary)}.breadcrumb-nav,.workspace-breadcrumb-nav{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;font-size:var(--waemo-font-size-sm);color:var(--waemo-color-text-secondary)}.breadcrumb-nav a,.breadcrumb-nav .nav-crumb-link,.workspace-breadcrumb-nav a,.workspace-breadcrumb-nav .nav-crumb-link{color:var(--waemo-color-text-secondary);text-decoration:none;transition:color var(--waemo-duration-fast) ease}.breadcrumb-nav a:hover,.breadcrumb-nav .nav-crumb-link:hover,.workspace-breadcrumb-nav a:hover,.workspace-breadcrumb-nav .nav-crumb-link:hover{color:var(--waemo-color-cyber-cyan);text-decoration:underline}.breadcrumb-nav .crumb-separator,.workspace-breadcrumb-nav .crumb-separator{color:var(--waemo-color-text-tertiary)}.breadcrumb-nav .crumb-current,.workspace-breadcrumb-nav .crumb-current{color:var(--waemo-color-text-primary)}.course-meta-header{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.5rem}.subpage-shell{display:flex;flex-direction:column;gap:4rem;padding:3.5rem 0 5rem}.subpage-hero{display:flex;flex-direction:column;align-items:flex-start;gap:1.25rem;max-width:52rem}.subpage-eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .8rem;background:var(--waemo-color-obsidian-900);border:1px solid var(--waemo-color-border-accent);border-radius:var(--waemo-radius-full);font-family:var(--waemo-font-mono);font-size:var(--waemo-font-size-xs);color:var(--waemo-color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.subpage-title{margin:0;font-size:var(--waemo-font-size-4xl);font-weight:700;line-height:1.15;color:var(--waemo-color-text-primary);letter-spacing:-.02em}.subpage-lead{margin:0;font-size:var(--waemo-font-size-lg);line-height:var(--waemo-line-height-relaxed);color:var(--waemo-color-text-secondary)}.notice-card{padding:1.5rem;background:var(--waemo-color-obsidian-900);border:1px solid var(--waemo-color-border-accent);border-left:4px solid var(--waemo-color-brand-violet);border-radius:var(--waemo-radius-md);display:flex;flex-direction:column;gap:.75rem}.notice-card .notice-title{margin:0;font-weight:600;font-size:var(--waemo-font-size-base);color:var(--waemo-color-text-primary)}.notice-card .notice-desc{margin:0;font-size:var(--waemo-font-size-sm);line-height:var(--waemo-line-height-relaxed);color:var(--waemo-color-text-secondary)}.policy-card{background:var(--waemo-color-obsidian-900);border:1px solid var(--waemo-color-border-subtle);border-radius:var(--waemo-radius-lg);padding:2.25rem;display:flex;flex-direction:column;gap:2.25rem}@media(max-width:640px){.policy-card{padding:1.5rem;gap:1.75rem}}.policy-section{display:flex;flex-direction:column;gap:.875rem}.policy-section-title{margin:0;font-size:var(--waemo-font-size-xl);font-weight:600;letter-spacing:-.015em;color:var(--waemo-color-text-primary)}.policy-text{margin:0;font-size:var(--waemo-font-size-base);line-height:var(--waemo-line-height-relaxed);color:var(--waemo-color-text-secondary)}.policy-list{margin:0;padding-left:1.5rem;display:flex;flex-direction:column;gap:.5rem;color:var(--waemo-color-text-secondary);font-size:var(--waemo-font-size-base);line-height:var(--waemo-line-height-relaxed)}.badge-status{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .6rem;border-radius:var(--waemo-radius-sm);font-family:var(--waemo-font-mono);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-status.badge-active{background:#7604fa26;border:1px solid rgba(118,4,250,.4);color:var(--waemo-color-text-primary)}.badge-status.badge-prototype{background:#ff31f61f;border:1px solid rgba(255,49,246,.4);color:var(--waemo-color-text-primary)}.badge-status.badge-planned{background:#8d82a226;border:1px solid rgba(141,130,162,.35);color:var(--waemo-color-text-secondary)}.badge-status.badge-research{background:#7604fa1a;border:1px solid rgba(255,49,246,.3);color:#e2c0ff}.badge-status.badge-foundational,.badge-status.badge-introductory{background:#60a5fa1f;border:1px solid rgba(96,165,250,.35);color:var(--waemo-color-status-foundational)}.badge-status.badge-intermediate{background:#c084fc1f;border:1px solid rgba(192,132,252,.35);color:var(--waemo-color-status-intermediate)}.badge-status.badge-advanced{background:#f472b61f;border:1px solid rgba(244,114,182,.35);color:var(--waemo-color-status-advanced)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.stats-grid{grid-template-columns:1fr}}.stat-card{background:var(--waemo-color-obsidian-900);border:1px solid var(--waemo-color-border-subtle);border-radius:var(--waemo-radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}.stat-card .stat-header{display:flex;align-items:center;justify-content:space-between}.stat-card .stat-index{font-family:var(--waemo-font-mono);font-size:var(--waemo-font-size-xs);color:var(--waemo-color-text-tertiary)}.stat-card .stat-value{margin:0;font-family:var(--waemo-font-mono);font-size:var(--waemo-font-size-3xl);font-weight:700;color:var(--waemo-color-text-primary)}.stat-card .stat-label{margin:0;font-size:var(--waemo-font-size-sm);font-weight:600;color:var(--waemo-color-text-secondary)}.stat-card .stat-note{margin:0;font-size:var(--waemo-font-size-xs);color:var(--waemo-color-text-tertiary);line-height:1.4}.empty-state-card,.ctf-empty-state{background:var(--waemo-color-obsidian-900);border:1px dashed var(--waemo-color-border-accent);border-radius:var(--waemo-radius-lg);padding:2rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem}.empty-state-card .empty-icon,.ctf-empty-state .empty-icon{width:2.5rem;height:2.5rem;font-size:2.5rem;line-height:1;color:var(--waemo-color-text-tertiary)}.empty-state-card .empty-title,.ctf-empty-state .empty-title{margin:0;font-size:var(--waemo-font-size-base);font-weight:600;color:var(--waemo-color-text-primary)}.empty-state-card .empty-desc,.ctf-empty-state .empty-desc{margin:0;max-width:28rem;font-size:var(--waemo-font-size-sm);color:var(--waemo-color-text-secondary);line-height:1.45}.activity-list{display:flex;flex-direction:column;gap:.75rem}.activity-item{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--waemo-color-obsidian-900);border:1px solid var(--waemo-color-border-subtle);border-radius:var(--waemo-radius-md);gap:1rem}@media(max-width:600px){.activity-item{flex-direction:column;align-items:flex-start}}.activity-item .activity-info{display:flex;flex-direction:column;gap:.25rem}.activity-item .activity-title{margin:0;font-size:var(--waemo-font-size-sm);font-weight:600;color:var(--waemo-color-text-primary)}.activity-item .activity-meta{margin:0;font-family:var(--waemo-font-mono);font-size:var(--waemo-font-size-xs);color:var(--waemo-color-text-tertiary)}.settings-group{display:flex;flex-direction:column;background:var(--waemo-color-obsidian-900);border:1px solid var(--waemo-color-border-subtle);border-radius:var(--waemo-radius-lg);overflow:hidden}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--waemo-color-border-subtle);gap:1.5rem}.settings-row:last-child{border-bottom:none}.settings-row .settings-row-text{display:flex;flex-direction:column;gap:.25rem}.settings-row .settings-row-title{margin:0;font-size:var(--waemo-font-size-base);font-weight:600;color:var(--waemo-color-text-primary)}.settings-row .settings-row-desc{margin:0;font-size:var(--waemo-font-size-xs);color:var(--waemo-color-text-secondary);line-height:1.4}.custom-checkbox-label{display:inline-flex;align-items:center;cursor:pointer;position:relative}.custom-checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--waemo-color-brand-violet);cursor:pointer}.custom-checkbox-label input[type=checkbox]:focus-visible{outline:2px solid var(--waemo-color-focus-ring);outline-offset:2px}.modal-overlay,.ctf-modal-overlay,.drawer-overlay{position:fixed;inset:0;background:#05050ac7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999}.modal-header,.dialog-header,.drawer-header{position:sticky;top:0;background:var(--waemo-color-obsidian-900);border-bottom:1px solid var(--waemo-color-border-subtle);padding:1.25rem 1.5rem;display:flex;justify-content:space-between;gap:1rem;z-index:10}.modal-body,.dialog-body,.drawer-body{padding:1.5rem;display:flex;flex-direction:column}.cta-card,.ctf-cta-card,.research-cta-card{padding:2.5rem;background:var(--waemo-color-obsidian-900);border:1px solid var(--waemo-color-border-accent);border-radius:var(--waemo-radius-lg);display:flex;flex-direction:column;gap:1.25rem}@media(max-width:640px){.cta-card,.ctf-cta-card,.research-cta-card{padding:1.5rem}}.cta-card-title{margin:0;font-size:var(--waemo-font-size-2xl);font-weight:700;color:var(--waemo-color-text-primary);line-height:var(--waemo-line-height-tight)}.cta-card-lead{margin:0;font-size:var(--waemo-font-size-base);line-height:var(--waemo-line-height-relaxed);color:var(--waemo-color-text-secondary);max-width:42rem}.cta-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.form-group{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1.25rem}.form-group:last-of-type{margin-bottom:.5rem}.form-label{display:flex;align-items:center;font-family:var(--waemo-font-sans);font-size:var(--waemo-font-size-sm);font-weight:600;color:var(--waemo-color-text-primary);margin-bottom:.125rem}.required-marker{color:#ff4d6d;margin-left:.25rem;font-weight:700}.form-input{width:100%;box-sizing:border-box;background-color:var(--waemo-color-obsidian-900);border:1px solid var(--waemo-color-border-subtle);border-radius:var(--waemo-radius-md);color:var(--waemo-color-text-primary);font-family:var(--waemo-font-sans);font-size:var(--waemo-font-size-base);padding:.75rem 1rem;transition:border-color var(--waemo-duration-fast) ease,box-shadow var(--waemo-duration-fast) ease,background-color var(--waemo-duration-fast) ease}.form-input:focus{outline:2px solid var(--waemo-color-focus-ring);outline-offset:2px;border-color:var(--waemo-color-focus-ring)}.form-input[aria-invalid=true],.form-input.is-invalid{border-color:#ff4d6d;box-shadow:0 0 0 1px #ff4d6d66}.form-input[aria-invalid=true]:focus,.form-input.is-invalid:focus{outline-color:var(--waemo-color-focus-ring);border-color:var(--waemo-color-focus-ring);box-shadow:none}.form-input:disabled{opacity:.55;cursor:not-allowed;background-color:var(--waemo-color-obsidian-800)}.form-input::placeholder{color:var(--waemo-color-text-tertiary);opacity:.7}.password-input-container{position:relative;width:100%;display:flex;align-items:center}.password-input-container .password-field{padding-right:2.75rem}.password-toggle-btn{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--waemo-radius-sm);color:var(--waemo-color-text-secondary);cursor:pointer;transition:color var(--waemo-duration-fast) ease,background-color var(--waemo-duration-fast) ease}.password-toggle-btn:hover:not(:disabled){color:var(--waemo-color-text-primary);background-color:var(--waemo-color-obsidian-800)}.password-toggle-btn:focus-visible{outline:2px solid var(--waemo-color-focus-ring);outline-offset:2px}.password-toggle-btn:disabled{opacity:.4;cursor:not-allowed}.password-toggle-btn svg{width:1.25rem;height:1.25rem;fill:currentColor;display:block}.form-help{margin:.25rem 0 0;font-family:var(--waemo-font-sans);font-size:var(--waemo-font-size-xs);color:var(--waemo-color-text-tertiary);line-height:1.4}.form-error{margin:.25rem 0 0;display:flex;align-items:center;gap:.35rem;font-family:var(--waemo-font-sans);font-size:var(--waemo-font-size-xs);color:#ff8097;font-weight:500;line-height:1.4}.form-error svg{width:.875rem;height:.875rem;flex-shrink:0;fill:currentColor}.sr-only,.search-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-shell{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.5rem 1rem 5rem;min-height:calc(100vh - 16rem)}.auth-composition{display:grid;grid-template-columns:minmax(340px,380px) minmax(340px,28rem);gap:4rem;align-items:center;justify-content:center;width:100%;max-width:66rem;margin:0 auto}@media(max-width:900px){.auth-composition{display:flex;flex-direction:column;gap:2.5rem;max-width:28rem}}.auth-welcome-panel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;width:100%}.auth-nebula-frame{position:relative;width:360px;height:360px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;box-shadow:0 0 32px #7604fa66,0 0 64px #ff31f633;transition:box-shadow var(--waemo-duration-normal) ease}.auth-nebula-frame:hover,.auth-nebula-frame:focus-within{box-shadow:0 0 44px #7604fa99,0 0 88px #ff31f659}@media(max-width:900px){.auth-nebula-frame{width:min(280px,80vw);height:min(280px,80vw)}}.auth-nebula-img{width:100%;height:100%;object-fit:cover;border-radius:50%;clip-path:circle(50% at 50% 50%);display:block;border:1px solid rgba(118,4,250,.5);animation:nebulaDrift 14s ease-in-out infinite alternate}.auth-nebula-glow{position:absolute;inset:0;border-radius:50%;pointer-events:none;box-shadow:inset 0 0 24px #000000d9,inset 0 0 8px #ff31f680;animation:nebulaGlowPulse 6s ease-in-out infinite alternate}.auth-nebula-toggle-btn{position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%);z-index:10;display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .85rem;border-radius:var(--waemo-radius-full);background:#0e0a1ae0;border:1px solid rgba(118,4,250,.6);color:var(--waemo-color-text-primary);font-family:var(--waemo-font-mono);font-size:.65rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 14px #00000080;transition:background var(--waemo-duration-fast) ease,border-color var(--waemo-duration-fast) ease,transform var(--waemo-duration-fast) ease,opacity var(--waemo-duration-fast) ease}.auth-nebula-toggle-btn:hover{background:#1a1030f2;border-color:var(--waemo-color-brand-magenta);transform:translate(-50%) translateY(-1px);box-shadow:0 0 12px #7604fa80,0 4px 16px #0009}.auth-nebula-toggle-btn:focus-visible{outline:2px solid var(--waemo-color-focus-ring);outline-offset:2px;border-color:var(--waemo-color-brand-magenta)}.auth-nebula-toggle-btn .toggle-icon-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--waemo-color-brand-magenta);box-shadow:0 0 8px var(--waemo-color-brand-magenta)}.auth-nebula-toggle-btn.is-active{opacity:0;pointer-events:none}.auth-nebula-reveal{position:absolute;inset:0;border-radius:50%;clip-path:circle(50% at 50% 50%);display:flex;align-items:center;justify-content:center;text-align:center;padding:2.25rem 2rem;background:radial-gradient(circle at 50% 30%,#0e091cf0,#06040cfa);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(118,4,250,.5);box-shadow:inset 0 0 24px #000000e6,inset 0 0 12px #7604fa59;z-index:15;opacity:0;pointer-events:none;transform:translateY(-28%);transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .4s ease}.auth-nebula-reveal.is-revealed{opacity:1;pointer-events:auto;transform:translateY(0)}@media(max-width:900px){.auth-nebula-reveal{padding:1.5rem 1.25rem}}.auth-nebula-frame:hover .auth-nebula-reveal,.auth-nebula-frame:focus-within .auth-nebula-reveal{opacity:1;pointer-events:auto;transform:translateY(0)}.auth-nebula-reveal-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;max-width:17rem;overflow-y:auto;max-height:100%;scrollbar-width:thin}@media(max-width:900px){.auth-nebula-reveal-body{max-width:13.5rem;gap:.45rem}}.auth-nebula-reveal-title{margin:0;font-family:var(--waemo-font-sans);font-size:.925rem;font-weight:700;line-height:1.25;color:#fff;text-shadow:0 0 12px rgba(118,4,250,.6)}@media(max-width:900px){.auth-nebula-reveal-title{font-size:.8rem}}.auth-nebula-reveal-text{margin:0;font-family:var(--waemo-font-sans);font-size:.72rem;line-height:1.38;color:var(--waemo-color-text-secondary)}@media(max-width:900px){.auth-nebula-reveal-text{font-size:.65rem;line-height:1.3}}.auth-nebula-reveal-quote{margin:0;font-family:var(--waemo-font-sans);font-size:.72rem;line-height:1.38;color:#ffffffe6;border-top:1px solid rgba(118,4,250,.35);padding-top:.5rem}@media(max-width:900px){.auth-nebula-reveal-quote{font-size:.65rem;line-height:1.3;padding-top:.35rem}}.auth-nebula-dismiss-btn{margin-top:.35rem;padding:.2rem .65rem;border-radius:var(--waemo-radius-full);background:#7604fa33;border:1px solid rgba(118,4,250,.5);color:var(--waemo-color-text-primary);font-family:var(--waemo-font-mono);font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .15s ease,border-color .15s ease}.auth-nebula-dismiss-btn:hover{background:#7604fa59;border-color:var(--waemo-color-brand-magenta)}.auth-nebula-dismiss-btn:focus-visible{outline:2px solid var(--waemo-color-focus-ring);outline-offset:2px}@keyframes nebulaDrift{0%{transform:scale(1) translateZ(0)}50%{transform:scale(1.025) translate3d(1px,-2px,0)}to{transform:scale(1.015) translate3d(-1px,1px,0)}}@keyframes nebulaGlowPulse{0%{opacity:.75;box-shadow:inset 0 0 24px #000000d9,inset 0 0 6px #ff31f666,0 0 20px #7604fa59}to{opacity:1;box-shadow:inset 0 0 28px #000000bf,inset 0 0 10px #ff31f6a6,0 0 36px #7604fa99}}@media(prefers-reduced-motion:reduce){.auth-nebula-img,.auth-nebula-glow{animation:none!important;transform:none!important}.auth-nebula-reveal{transition:opacity .15s ease!important;transform:translateY(0)!important}}.auth-welcome-content{display:flex;flex-direction:column;align-items:center;gap:.6rem}.auth-welcome-badge{font-family:var(--waemo-font-mono);font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--waemo-color-brand-violet)}.auth-welcome-title{margin:0;font-family:var(--waemo-font-sans);font-size:1.75rem;font-weight:700;line-height:1.2;color:var(--waemo-color-text-primary)}@media(max-width:900px){.auth-welcome-title{font-size:1.35rem}}.auth-welcome-lead{margin:0;font-family:var(--waemo-font-sans);font-size:var(--waemo-font-size-sm);color:var(--waemo-color-text-secondary);line-height:var(--waemo-line-height-relaxed)}@media(max-width:900px){.auth-welcome-lead{font-size:var(--waemo-font-size-xs)}}.auth-card{width:100%;max-width:28rem;background-color:var(--waemo-color-obsidian-900);border:1px solid var(--waemo-color-border-subtle);border-radius:var(--waemo-radius-lg);padding:2.25rem;display:flex;flex-direction:column;gap:1.75rem;box-shadow:0 8px 32px #0006}@media(max-width:480px){.auth-card{padding:1.5rem;gap:1.5rem}}.auth-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem}.auth-eyebrow{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .65rem;background:var(--waemo-color-obsidian-800);border:1px solid var(--waemo-color-border-accent);border-radius:var(--waemo-radius-full);font-family:var(--waemo-font-mono);font-size:var(--waemo-font-size-xs);color:var(--waemo-color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.auth-title{margin:0;font-family:var(--waemo-font-sans);font-size:var(--waemo-font-size-2xl);font-weight:700;color:var(--waemo-color-text-primary);letter-spacing:-.02em}.auth-lead{margin:0;font-family:var(--waemo-font-sans);font-size:var(--waemo-font-size-sm);color:var(--waemo-color-text-secondary);line-height:var(--waemo-line-height-relaxed)}.auth-prototype-notice{padding:1rem;background-color:#ff31f614;border:1px solid rgba(255,49,246,.35);border-left:3px solid var(--waemo-color-brand-violet);border-radius:var(--waemo-radius-md);display:flex;flex-direction:column;gap:.35rem}.auth-prototype-notice .prototype-badge{font-family:var(--waemo-font-mono);font-size:.7rem;font-weight:700;color:#ff31f6;text-transform:uppercase;letter-spacing:.08em}.auth-prototype-notice .prototype-text{margin:0;font-family:var(--waemo-font-sans);font-size:var(--waemo-font-size-xs);color:var(--waemo-color-text-secondary);line-height:1.45}.auth-status-alert{padding:1rem;background-color:#7604fa1f;border:1px solid rgba(118,4,250,.4);border-left:3px solid var(--waemo-color-brand-indigo);border-radius:var(--waemo-radius-md);display:flex;flex-direction:column;gap:.35rem}.auth-status-alert .status-title{font-family:var(--waemo-font-mono);font-size:.75rem;font-weight:700;color:#d844f5;text-transform:uppercase;letter-spacing:.05em}.auth-status-alert .status-body{margin:0;font-family:var(--waemo-font-sans);font-size:var(--waemo-font-size-xs);color:var(--waemo-color-text-primary);line-height:1.45}.auth-token-notice{padding:1rem;border-radius:var(--waemo-radius-md);display:flex;flex-direction:column;gap:.35rem}.auth-token-notice.token-detected{background-color:#f59e0b14;border:1px solid rgba(245,158,11,.35);border-left:3px solid #f59e0b}.auth-token-notice.token-detected .token-badge{color:#fbbf24}.auth-token-notice.token-missing{background-color:#8d82a214;border:1px solid rgba(141,130,162,.3);border-left:3px solid var(--waemo-color-text-tertiary)}.auth-token-notice.token-missing .token-badge{color:var(--waemo-color-text-secondary)}.auth-token-notice .token-badge{font-family:var(--waemo-font-mono);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.auth-token-notice .token-text{margin:0;font-family:var(--waemo-font-sans);font-size:var(--waemo-font-size-xs);color:var(--waemo-color-text-secondary);line-height:1.45}.auth-token-notice .token-value{font-family:var(--waemo-font-mono);font-size:.75rem;color:var(--waemo-color-text-primary);background-color:var(--waemo-color-obsidian-800);padding:.15rem .35rem;border-radius:var(--waemo-radius-sm);word-break:break-all}.auth-form{display:flex;flex-direction:column}.auth-submit-btn{width:100%;margin-top:1rem}.auth-footer{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding-top:1.25rem;border-top:1px solid var(--waemo-color-border-subtle)}.auth-footer .auth-footer-text{margin:0;font-family:var(--waemo-font-sans);font-size:var(--waemo-font-size-sm);color:var(--waemo-color-text-secondary)}.auth-footer .auth-link{color:var(--waemo-color-brand-violet);text-decoration:none;font-weight:600;transition:color var(--waemo-duration-fast) ease}.auth-footer .auth-link:hover{color:var(--waemo-color-text-primary);text-decoration:underline}.auth-footer .auth-link:focus-visible{outline:2px solid var(--waemo-color-focus-ring);outline-offset:2px;border-radius:var(--waemo-radius-sm)}
