:root,[data-theme=light]{--color-fog: #e6edf3;--color-panel: #fafbfc;--color-ink: #142033;--color-mist: #5a6b7d;--color-harbor: #1a6b7c;--color-lantern: #c9a227;--color-danger: #b54a4a;--color-bg: var(--color-fog);--color-bg-elevated: var(--color-panel);--color-bg-input: #ffffff;--color-border: #c5d0db;--color-text: var(--color-ink);--color-text-muted: var(--color-mist);--color-primary: var(--color-harbor);--color-primary-dim: #145866;--color-primary-contrast: #f4fafb;--color-focus: rgba(26, 107, 124, .28);--font-display: "Bricolage Grotesque", "Segoe UI", sans-serif;--font-body: "Figtree", "Segoe UI", sans-serif;--font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--shadow-card: 0 12px 32px rgba(20, 32, 51, .08);--shadow-soft: 0 1px 0 rgba(20, 32, 51, .04);--space-xs: .25rem;--space-sm: .5rem;--space-dense: .375rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--header-height: 58px;--page-max: 1100px;--control-h-sm: 32px;--control-h-md: 40px;--control-h-lg: 44px;--ease-out: cubic-bezier(.22, 1, .36, 1);--motion-fast: .18s;--motion-med: .42s}[data-theme=dark]{--color-fog: #0f1620;--color-panel: #1a2332;--color-ink: #e6edf3;--color-mist: #8b9aab;--color-harbor: #3d9aab;--color-lantern: #d4b03a;--color-danger: #d07070;--color-bg: var(--color-fog);--color-bg-elevated: var(--color-panel);--color-bg-input: #121a26;--color-border: #2a3848;--color-text: var(--color-ink);--color-text-muted: var(--color-mist);--color-primary: var(--color-harbor);--color-primary-dim: #2d7a88;--color-primary-contrast: #0a1218;--color-focus: rgba(61, 154, 171, .35);--shadow-card: 0 12px 32px rgba(0, 0, 0, .4);--shadow-soft: 0 1px 0 rgba(255, 255, 255, .04)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{font-family:var(--font-body);font-size:15px;line-height:1.55;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea{font:inherit}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.zy-page{width:min(var(--page-max),calc(100% - 2 * var(--space-lg)));margin:0 auto;padding:var(--space-xl) 0 var(--space-2xl)}.zy-page__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}.zy-page__eyebrow{margin:0 0 var(--space-sm);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary)}.zy-page__title{margin:0 0 var(--space-xs);font-family:var(--font-display);font-weight:700;font-size:clamp(1.45rem,2.8vw,1.85rem);letter-spacing:-.03em;line-height:1.2;color:var(--color-text)}.zy-page__desc{margin:0;max-width:42rem;font-size:14px;color:var(--color-text-muted)}.zy-page__actions{display:flex;flex-shrink:0;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.zy-hero{position:relative;display:grid;place-items:center;min-height:calc(100vh - var(--header-height));padding:var(--space-2xl) var(--space-lg);overflow:hidden;background:linear-gradient(165deg,color-mix(in srgb,var(--color-harbor) 9%,var(--color-fog)) 0%,var(--color-fog) 42%,color-mix(in srgb,var(--color-lantern) 6%,var(--color-fog)) 100%)}.zy-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(color-mix(in srgb,var(--color-ink) 4%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-ink) 4%,transparent) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%);pointer-events:none;opacity:.55}.zy-hero__inner{position:relative;z-index:1;width:min(720px,100%);text-align:left}.zy-hero__brand{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(2.75rem,9vw,4.75rem);line-height:.98;letter-spacing:-.045em;color:var(--color-ink);animation:zy-rise var(--motion-med) var(--ease-out) both}.zy-hero__title{margin:var(--space-lg) 0 0;font-family:var(--font-display);font-weight:600;font-size:clamp(1.15rem,2.4vw,1.45rem);line-height:1.35;letter-spacing:-.02em;color:var(--color-ink);animation:zy-rise var(--motion-med) var(--ease-out) 80ms both}.zy-hero__desc{margin:var(--space-md) 0 0;max-width:34rem;color:var(--color-text-muted);font-size:1.05rem;animation:zy-rise var(--motion-med) var(--ease-out) .14s both}.zy-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-xl);animation:zy-rise var(--motion-med) var(--ease-out) .2s both}.zy-cta{display:inline-flex;align-items:center;min-height:var(--control-h-lg);padding:0 var(--space-lg);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-contrast);font-weight:600;text-decoration:none;transition:background var(--motion-fast) ease,transform var(--motion-fast) ease}.zy-cta:hover{background:var(--color-primary-dim);text-decoration:none;transform:translateY(-1px)}.zy-cta--ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.zy-cta--ghost:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 6%,transparent);transform:none}.module-shell{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.module-shell__body{flex:1;min-height:0;overflow:hidden}.module-shell--boot{padding:var(--space-xl);color:var(--color-text-muted)}.zy-app-shell{display:flex;flex-direction:column;min-height:100dvh}.zy-harbor-surface{background:radial-gradient(ellipse 80% 50% at 0% 0%,color-mix(in srgb,var(--color-harbor) 14%,transparent),transparent),radial-gradient(ellipse 50% 40% at 100% 0%,color-mix(in srgb,var(--color-lantern) 10%,transparent),transparent),var(--color-bg)}@keyframes zy-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
