:root{--color-bg: #ecf3fa;--color-bg-soft: #e5eef8;--color-surface: #ffffff;--color-surface-elevated: #f9fcff;--color-surface-tint: #edf5ff;--color-text: #142536;--color-text-muted: #587087;--color-border: #cfdeed;--color-border-strong: #a9c2d7;--color-accent: #0c84d6;--color-accent-soft: #d9ecfb;--color-focus: #168fdf;--color-success-muted: #4f708d;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 52px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-pill: 999px;--shadow-1: 0 8px 20px rgba(15, 37, 56, .08);--shadow-2: 0 14px 30px rgba(15, 37, 56, .12);--shadow-3: 0 20px 40px rgba(15, 37, 56, .14);--font-body: "Segoe UI Variable", "Segoe UI", "SF Pro Text", "Inter", "Noto Sans", "Helvetica Neue", Arial, sans-serif;--font-heading: "Segoe UI Variable", "Segoe UI", "SF Pro Display", "Inter", "Noto Sans", "Helvetica Neue", Arial, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 22px;--font-size-2xl: clamp(26px, 4.4vw, 38px);--line-tight: 1.2;--line-copy: 1.55;--duration-fast: .14s;--duration-base: .22s;--ease-standard: cubic-bezier(.2, .7, .2, 1);--container: 1120px;--page-gutter: clamp(16px, 3vw, 28px)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}html{text-size-adjust:100%}body{margin:0;min-height:100%;font-family:var(--font-body);color:var(--color-text);font-size:var(--font-size-md);line-height:var(--line-copy);background:radial-gradient(820px 580px at -12% -18%,rgba(12,132,214,.13),transparent 58%),radial-gradient(740px 520px at 108% 10%,rgba(61,168,235,.11),transparent 64%),linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-soft) 100%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%;min-height:100%}a{color:var(--color-text);text-decoration:none;text-decoration-thickness:1px;text-underline-offset:3px}:where(h1,h2,h3,h4,h5,h6){margin:0;font-family:var(--font-heading);line-height:var(--line-tight)}p{margin:0}:focus-visible{outline:3px solid color-mix(in oklab,var(--color-focus) 76%,white);outline-offset:2px}::selection{color:#03121e;background:color-mix(in oklab,var(--color-accent) 36%,white)}@media(max-width:640px){body{font-size:15px}}.appShell{min-height:100vh;display:flex;flex-direction:column}.page{flex:1 0 auto;padding:var(--space-8) 0 var(--space-9)}.container{width:min(var(--container),calc(100% - 2 * var(--page-gutter)));margin-inline:auto}.header{padding:var(--space-6) 0 var(--space-7);text-align:center}.title{font-size:var(--font-size-2xl);font-weight:700;letter-spacing:-.015em;text-transform:none;color:var(--color-text)}.subtitle{margin:var(--space-3) auto 0;max-width:62ch;font-size:var(--font-size-md);color:var(--color-text-muted);line-height:var(--line-copy)}.subtitleSource{margin-top:var(--space-2)}.routeHint{margin-top:var(--space-4);display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-3)}.routeBadge{padding:6px 12px;border-radius:var(--radius-pill);border:1px solid color-mix(in oklab,var(--color-border) 46%,var(--color-accent));background:color-mix(in oklab,var(--color-accent-soft) 72%,white);color:color-mix(in oklab,var(--color-accent) 74%,var(--color-text));font-size:var(--font-size-sm);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.routeHintLink,.routeHintText{font-size:var(--font-size-sm);color:var(--color-text-muted)}.routeHintLink{font-weight:600;text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--color-accent) 56%,white)}.routeHintLink:hover{color:color-mix(in oklab,var(--color-accent) 80%,var(--color-text))}.routeHintLink:focus-visible{color:color-mix(in oklab,var(--color-accent) 84%,var(--color-text))}.subtitleRepoLink{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:var(--font-size-sm);font-weight:500;color:color-mix(in oklab,var(--color-text-muted) 90%,white);opacity:.9;text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--color-accent) 44%,white);transition:color var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard),text-decoration-color var(--duration-fast) var(--ease-standard)}.subtitleRepoLink:hover{color:color-mix(in oklab,var(--color-accent) 72%,var(--color-text));opacity:1;text-decoration-color:color-mix(in oklab,var(--color-accent) 64%,white)}.subtitleRepoLink:focus-visible{color:color-mix(in oklab,var(--color-accent) 82%,var(--color-text));opacity:1;text-decoration-color:color-mix(in oklab,var(--color-accent) 74%,white)}.section{margin-top:var(--space-4)}.grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}.item{margin:0}.contactFooter{margin-top:auto;flex-shrink:0;border-top:1px solid color-mix(in oklab,var(--color-border) 84%,white);background:color-mix(in oklab,var(--color-bg-soft) 88%,white);padding:var(--space-4) 0 var(--space-6)}.contactFooterInner{margin:0;display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;white-space:nowrap;gap:var(--space-3);text-align:center;padding:0 var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.45}.contactItem{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.contactSeparator{color:var(--color-border-strong);font-weight:700}.contactLink{color:var(--color-text);font-weight:600;text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--color-accent) 56%,white)}.contactLink:hover{color:color-mix(in oklab,var(--color-accent) 80%,var(--color-text))}.contactLink:focus-visible{color:color-mix(in oklab,var(--color-accent) 84%,var(--color-text))}@media(max-width:1080px){.page{padding-top:var(--space-7)}.subtitle{font-size:var(--font-size-md)}.routeHint{margin-top:var(--space-3)}}@media(max-width:760px){.header{text-align:center;padding-top:var(--space-4);padding-bottom:var(--space-6)}.title{font-size:clamp(24px,8vw,32px)}.subtitle{margin-inline:auto}.section{margin-top:var(--space-2)}.grid{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.contactFooter{padding-top:var(--space-5);padding-bottom:var(--space-6)}.contactFooterInner{font-size:var(--font-size-md)}}@media(max-width:520px){.contactFooterInner{flex-direction:column;white-space:normal;gap:var(--space-2);font-size:var(--font-size-sm)}.contactSeparator{display:none}.routeHint{gap:var(--space-2)}}@media(min-width:1400px){.page{padding-top:54px;padding-bottom:64px}.grid{gap:var(--space-6)}}.card{position:relative;display:block;overflow:hidden;cursor:pointer;padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-elevated) 100%);box-shadow:var(--shadow-1);transform:translateY(0);transition:transform var(--duration-base) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),background var(--duration-base) var(--ease-standard)}.cardDisabled{cursor:not-allowed;border-color:color-mix(in oklab,var(--color-border) 86%,white);opacity:.8}.cardFeatured{border-color:color-mix(in oklab,var(--color-border) 30%,var(--color-accent));box-shadow:var(--shadow-2);background:linear-gradient(180deg,color-mix(in oklab,var(--color-surface) 92%,white),color-mix(in oklab,var(--color-surface-tint) 64%,white))}.card:hover{transform:translateY(-2px);border-color:color-mix(in oklab,var(--color-border) 50%,var(--color-accent));box-shadow:var(--shadow-2);background:linear-gradient(180deg,#fff,#f7fbff)}.card:active{transform:translateY(-1px);box-shadow:var(--shadow-1)}.cardDisabled:hover,.cardDisabled:active{transform:translateY(0);border-color:color-mix(in oklab,var(--color-border) 88%,white);box-shadow:var(--shadow-1);background:linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-elevated) 100%)}.cardFeatured:hover,.cardFeatured:active{border-color:color-mix(in oklab,var(--color-border) 22%,var(--color-accent))}.card:focus-visible{outline:none;border-color:color-mix(in oklab,var(--color-focus) 70%,white);box-shadow:var(--shadow-2),0 0 0 3px color-mix(in oklab,var(--color-focus) 26%,white)}.cardBody{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.cardMain{display:flex;align-items:center;gap:var(--space-4);min-width:0;flex:1 1 auto}.cardIcon{flex:0 0 auto;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:20px;background:linear-gradient(180deg,color-mix(in oklab,var(--color-accent-soft) 68%,white),color-mix(in oklab,var(--color-accent-soft) 90%,white));border:1px solid color-mix(in oklab,var(--color-border) 68%,white);transition:transform var(--duration-base) var(--ease-standard)}.cardText{min-width:0;flex:1 1 auto;width:100%}.cardFeatured .cardTitle{color:color-mix(in oklab,var(--color-accent) 74%,var(--color-text))}.cardTitle{display:block;font-family:var(--font-heading);font-size:var(--font-size-xl);font-weight:700;letter-spacing:-.01em;line-height:var(--line-tight);color:var(--color-text);transition:color var(--duration-fast) var(--ease-standard)}.cardSubtitle{display:block;margin-top:3px;font-size:clamp(13px,.4vw + 12px,15px);color:var(--color-text-muted);line-height:1.45;overflow-wrap:break-word;word-break:normal;text-wrap:pretty}.cardBadges{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;margin-top:var(--space-3);width:100%;min-width:0}.badge{flex:0 1 auto;padding:4px 9px;border-radius:var(--radius-pill);border:1px solid color-mix(in oklab,var(--color-border) 60%,var(--color-accent));background:color-mix(in oklab,var(--color-surface-tint) 68%,white);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:color-mix(in oklab,var(--color-success-muted) 80%,var(--color-accent));white-space:nowrap}.cardMeta{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);flex:0 0 auto}.cardCta{font-weight:600;letter-spacing:.01em;opacity:.9;transition:opacity var(--duration-fast) var(--ease-standard)}.cardArrow{width:26px;height:26px;border-radius:var(--radius-pill);border:1px solid color-mix(in oklab,var(--color-border) 58%,var(--color-accent));display:inline-flex;align-items:center;justify-content:center;font-size:12px;background:color-mix(in oklab,var(--color-surface-tint) 64%,white);transform:translate(0);transition:transform var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard)}.cardFeatured .cardArrow{border-color:color-mix(in oklab,var(--color-border) 26%,var(--color-accent));background:color-mix(in oklab,var(--color-accent-soft) 60%,white)}@media(hover:hover){.cardCta{display:none}.card:hover .cardArrow{transform:translate(2px);border-color:color-mix(in oklab,var(--color-border) 34%,var(--color-accent));background:color-mix(in oklab,var(--color-accent-soft) 66%,white)}.card:hover .cardTitle{color:color-mix(in oklab,var(--color-accent) 74%,var(--color-text))}.card:hover .cardIcon{transform:translateY(-1px)}.cardDisabled:hover .cardArrow{transform:translate(0);border-color:color-mix(in oklab,var(--color-border) 58%,var(--color-accent));background:color-mix(in oklab,var(--color-surface-tint) 64%,white)}.cardDisabled:hover .cardTitle{color:var(--color-text)}.cardDisabled .cardCta{display:inline}}@media(hover:none){.cardCta{opacity:1}}@media(max-width:1080px){.card{padding:var(--space-4)}.cardTitle{font-size:20px}}@media(max-width:760px){.cardBadges{flex-wrap:wrap}.cardIcon{width:38px;height:38px;font-size:18px}.cardTitle{font-size:19px}}@media(max-width:480px){.cardBody{flex-direction:column;gap:var(--space-3)}.cardMain{width:100%}.cardMeta{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.cardBadges{gap:5px}.cardSubtitle{line-height:1.5}}@media(prefers-reduced-motion:reduce){.card,.cardTitle,.cardArrow,.cardIcon,.cardCta{transition:none}}
