:root{color-scheme:light;--bg: #DCEDFF;--bg-grad: radial-gradient(120% 80% at 50% -10%, #ffffff 0%, #DCEDFF 55%, #c4dcf6 100%);--surface: #ffffff;--surface-soft: #f3f8ff;--surface-sunken: #eaf2fc;--accent: #94B0DA;--accent-strong: #6f92c5;--slate-indigo: #4E6088;--deep-navy: #3A4C7E;--accent-soft: rgba(148, 176, 218, .14);--accent-line: rgba(148, 176, 218, .32);--ink: #14213d;--ink-soft: #3b4a6b;--ink-muted: #6f7e9c;--shadow-sm: 0 1px 2px rgba(20, 33, 61, .06);--shadow-md: 0 12px 32px -12px rgba(31, 61, 110, .22);--shadow-lg: 0 40px 80px -40px rgba(31, 61, 110, .45);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 999px;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Fraunces", "Georgia", ui-serif, serif;--g-fill: #ffffff;--g-fill-hover: #f2f2f2;--g-stroke: #747775;--g-text: #1f1f1f;--g-font: "Google Sans", "Roboto", ui-sans-serif, system-ui, sans-serif;--a-fill: #000000;--a-fill-hover: #1c1c1e;--a-text: #ffffff;--a-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", ui-sans-serif, sans-serif;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{margin:0;padding:0}html{min-height:100%;background:var(--bg)}body{min-height:100vh;background:var(--bg-grad);background-attachment:fixed;color:var(--ink);font-size:16px;line-height:1.5;display:flex;align-items:center;justify-content:center;padding:32px 18px}#root{width:100%;display:flex;justify-content:center}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.page{width:100%;display:flex;justify-content:center}.shell{width:100%;max-width:440px;margin:0 auto}.card{position:relative;width:100%;padding:36px 32px 28px;background:var(--surface);border:1px solid rgba(148,176,218,.35);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;isolation:isolate}.card:before{content:"";position:absolute;inset:0;background:radial-gradient(80% 50% at 50% 0%,rgba(148,176,218,.18),transparent 70%);pointer-events:none;z-index:-1}.directory-card{padding:36px 32px 32px}.brand-header{display:flex;align-items:center;justify-content:center;gap:12px}.brand-mark{display:block;flex:0 0 auto;width:40px;height:40px;border-radius:10px;background-color:#fff;object-fit:cover;box-shadow:inset 0 0 0 1px #94b0da66,var(--shadow-sm)}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-name{margin:0;color:var(--ink);font-size:16px;font-weight:700;letter-spacing:-.01em}.brand-line{margin:4px 0 0;color:var(--ink-muted);font-size:12px;font-weight:500;letter-spacing:.02em}.identity{margin-top:32px;display:flex;flex-direction:column;align-items:center;text-align:center}.avatar{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:#fff;font-family:var(--font-display);font-size:28px;font-weight:600;letter-spacing:-.02em;box-shadow:inset 0 0 0 4px #ffffff80,0 8px 20px -8px #6f92c58c}.person-name{margin:20px 0 0;color:var(--ink);font-family:var(--font-display);font-size:clamp(34px,8vw,40px);font-weight:600;line-height:1.05;letter-spacing:-.025em}.person-role{margin:8px 0 0;color:var(--accent-strong);font-size:15px;font-weight:600;letter-spacing:.01em}.person-org{margin:4px 0 0;color:var(--ink-muted);font-size:14px;font-weight:500}.actions{display:flex;flex-direction:column;gap:10px;margin-top:28px}.action{position:relative;display:flex;align-items:center;gap:14px;min-height:56px;padding:0 18px 0 16px;border-radius:var(--radius-md);text-decoration:none;font-size:15px;font-weight:600;letter-spacing:-.005em;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.action__icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:10px}.action__icon svg{width:18px;height:18px}.action__label{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action--primary .action__label{font-size:clamp(13px,3.8vw,15px);letter-spacing:-.01em}.action__chevron{flex:0 0 auto;width:14px;height:14px;opacity:.5;transition:transform .18s ease,opacity .18s ease}.action:hover .action__chevron{transform:translate(2px);opacity:.9}.action--primary{background:var(--ink);color:#fff;box-shadow:0 10px 24px -10px #14213d8c}.action--primary .action__icon{background:#ffffff1f;color:#fff}.action--primary:hover{background:#0d1730;transform:translateY(-1px);box-shadow:0 14px 30px -10px #14213d99}.action--secondary{background:var(--surface-soft);color:var(--ink);border:1px solid var(--accent-line);box-shadow:var(--shadow-sm)}.action--secondary .action__icon{background:var(--accent-soft);color:var(--accent-strong)}.action--secondary:hover{background:var(--surface);border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-md)}.action:focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px}.card-footer{margin-top:32px;padding-top:18px;border-top:1px solid var(--accent-line);display:flex;align-items:center;justify-content:space-between;color:var(--ink-muted);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.card-footer span:last-child{font-variant-numeric:tabular-nums}.directory-card{text-align:center}.eyebrow{display:inline-flex;align-items:center;margin:28px 0 0;padding:6px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.directory-title{margin:14px 0 0;color:var(--ink);font-family:var(--font-display);font-size:clamp(28px,7vw,34px);font-weight:600;line-height:1.1;letter-spacing:-.02em}.lede{margin:10px auto 0;max-width:32ch;color:var(--ink-soft);font-size:15px;line-height:1.5}.card-list{display:flex;flex-direction:column;gap:8px;margin-top:22px}.card-list a{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 18px;background:var(--surface-soft);border:1px solid var(--accent-line);border-radius:var(--radius-md);color:var(--ink);font-size:15px;font-weight:600;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}.card-list a:after{content:"→";color:var(--accent-strong);font-weight:500;opacity:.7;transition:transform .18s ease,opacity .18s ease}.card-list a:hover{background:var(--surface);border-color:var(--accent);transform:translateY(-1px)}.card-list a:hover:after{transform:translate(3px);opacity:1}.card-list a:focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px}@media(min-width:680px){body{padding:56px 24px}.card{padding:44px 40px 32px}}.contest-button{margin-top:16px;padding:12px 20px;border:none;border-radius:var(--radius-md);background-color:var(--accent);color:#fff;font-size:15px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}.contest-input{width:100%;padding:12px 16px;border:1px solid var(--accent-line);border-radius:var(--radius-md);background-color:var(--surface-soft);color:var(--ink);font-size:15px;font-weight:500}.contest-warning{margin-top:0;color:var(--accent-strong);font-size:13px;font-weight:500}.contest-join-form{display:flex;width:100%;flex-direction:column;gap:10px}.contest-button--join{width:100%;margin-top:0}.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}.oauth-buttons{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:16px}.oauth-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:12px 16px;border:1px solid transparent;border-radius:var(--radius-md);font-size:15px;font-weight:500;letter-spacing:0;cursor:pointer;transition:background-color .18s ease}.oauth-button:disabled{opacity:.7;cursor:default}.oauth-button svg{width:18px;height:18px;flex:0 0 auto}.oauth-button--apple svg{width:20px;height:20px}.oauth-button--google{background-color:var(--g-fill);color:var(--g-text);border-color:var(--g-stroke);font-family:var(--g-font)}.oauth-button--google:hover:not(:disabled){background-color:var(--g-fill-hover)}.oauth-button--apple{background-color:var(--a-fill);color:var(--a-text);font-family:var(--a-font)}.oauth-button--apple:hover:not(:disabled){background-color:var(--a-fill-hover)}.oauth-buttons--pitch .oauth-button{padding:15px 32px;border-radius:var(--radius-pill);font-size:16px}.oauth-button .spinner{width:18px;height:18px;border-width:2px;border-top-color:currentColor;border-left-color:transparent}.contest-dates{margin:0;color:var(--ink-muted);font-size:13px;font-weight:500}.join-success{display:flex;width:100%;flex-direction:column;align-items:center;padding:20px 0 4px;text-align:center}.join-success__mark{display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:var(--deep-navy);color:#fff;box-shadow:0 12px 24px -12px #3a4c7ea6}.join-success__mark svg{width:28px;height:28px}.join-success__title{margin:18px 0 0;color:var(--ink);font-size:28px;font-weight:700;letter-spacing:-.025em;line-height:1.1}.join-success__message{max-width:30ch;margin:10px 0 0;color:var(--ink-soft);font-size:15px;line-height:1.5}.join-success__action{width:100%;margin-top:24px}.contest-tile{margin-top:22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.spinner-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 0;min-height:120px}.spinner{width:56px;height:56px;border-radius:50%;border:6px solid transparent;border-top-color:var(--accent-strong);border-left-color:#94b0da2e;animation:spin 1.2s linear infinite;will-change:transform;transform-origin:center center;backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);box-shadow:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-label{margin-top:12px;color:var(--ink-muted);font-weight:600;font-size:13px;letter-spacing:.02em}.contest-title{margin:8px 0 0;color:var(--ink);font-size:clamp(20px,5vw,24px);font-weight:600}.contest-desc{color:var(--ink-soft);font-size:14px;max-width:36ch;margin:0;padding-bottom:18px;white-space:pre-line}.contest-tile--pitch{align-items:stretch;text-align:left;gap:10px;margin-top:18px}.pitch{display:flex;flex-direction:column}.pitch-title{margin:0;color:var(--ink);font-size:clamp(28px,7.5vw,34px);font-weight:600;line-height:1.08;letter-spacing:-.025em}.pitch-lede{margin:8px 0 0;color:var(--ink-soft);font-size:15px;line-height:1.4}.pitch-title--referred{font-size:clamp(26px,6.8vw,31px);text-wrap:balance}.pitch-title__name{color:var(--slate-indigo)}.pitch-features{margin:18px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}.pitch-feature{display:flex;align-items:center;gap:12px}.pitch-feature__badge{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:11px;background:var(--slate-indigo);color:#fff;box-shadow:0 6px 14px -8px #3a4c7eb3}.pitch-feature__badge svg{width:18px;height:18px}.pitch-feature__title{margin:0;color:var(--ink);font-size:14.5px;font-weight:600;line-height:1.25;letter-spacing:-.01em}.contest-button--pitch{width:100%;margin-top:2px;padding:15px 32px;border-radius:var(--radius-pill);background-color:var(--ink);font-size:16px;box-shadow:0 12px 26px -12px #14213db3}.contest-button--pitch:hover:not(:disabled){background-color:var(--deep-navy)}.contest-tile--pitch .contest-input{margin-top:16px}.contest-tile--pitch .contest-warning,.contest-tile--pitch .contest-error{text-align:left}@media(max-height:740px){body:has(.contest-tile--pitch){padding:12px}.card:has(.contest-tile--pitch){padding:20px 24px 18px}.contest-tile--pitch{margin-top:12px;gap:8px}.contest-tile--pitch .pitch-title{font-size:clamp(24px,6.5vw,28px)}.contest-tile--pitch .pitch-lede{font-size:14px}.contest-tile--pitch .pitch-features{margin-top:14px;gap:9px}.contest-tile--pitch .pitch-feature__badge{width:30px;height:30px;border-radius:10px}.contest-tile--pitch .pitch-feature__badge svg{width:16px;height:16px}.contest-tile--pitch .contest-input{margin-top:12px;padding:10px 14px}.contest-button--pitch{padding:13px 32px}.card:has(.contest-tile--pitch) .card-footer{margin-top:16px;padding-top:12px}}.contest-error{margin:0;color:#d64545;font-size:13px;font-weight:600}.referral-link-box{width:100%;padding:12px 16px;border:1px solid var(--accent-line);border-radius:var(--radius-md);background-color:var(--surface-soft);word-break:break-all}.referral-link-text{color:var(--ink);font-size:13px;font-weight:500;font-family:monospace}
