*,*:before,*:after{box-sizing:border-box}:root{--color-primary: #587FA1;--color-primary-hover: #466A88;--color-primary-soft: #EEF3F7;--color-bg: #ffffff;--color-surface: #F5F7FA;--color-surface-raised: #ffffff;--color-border: #D5DFE8;--color-text: #202A35;--color-muted: #6B7885;--color-danger: #dc2626;--color-success: #16a34a;--radius: 8px;--shadow-sm: 0 1px 3px rgba(28, 25, 23, .08);--shadow-md: 0 4px 14px rgba(28, 25, 23, .09);--shadow-hover: 0 8px 22px rgba(28, 25, 23, .12);--shadow: var(--shadow-sm);--focus-ring: 0 0 0 3px rgba(88, 127, 161, .18);--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--status-open-bg: #e6f4ec;--status-open-fg: #15803d;--status-open-border: #b7dcc4;--status-limited-bg: #fbf1d5;--status-limited-fg: #8a5a00;--status-limited-border: #eed99c;--status-waitlist-bg: #fdeede;--status-waitlist-fg: #9a4d12;--status-waitlist-border: #f3d3ad;--status-closed-bg: #fdeaea;--status-closed-fg: #b3261e;--status-closed-border: #f1c2c0;--status-info-bg: var(--color-primary-soft);--status-info-fg: var(--color-primary);--status-info-border: #C4D5E5;--max-width: 1100px;--max-width-narrow: 480px}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--color-bg);color:var(--color-text);margin:0;line-height:1.6;font-size:1rem}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin-top:0;line-height:1.25}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.container-narrow{max-width:var(--max-width-narrow);margin:0 auto;padding:0 1.5rem}.page-content{padding:2.5rem 0 4rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.25rem;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);text-decoration:none;color:#fff}.btn-outline{background:transparent;border-color:var(--color-border);color:var(--color-text)}.btn-outline:hover{background:var(--color-surface);text-decoration:none}.btn-lg{padding:.75rem 2rem;font-size:1.05rem}.btn-sm{padding:.3rem .9rem;font-size:.85rem}.btn-full{width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 520px){.btn{min-height:44px}.btn-sm,.admin-chip{min-height:40px}}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-muted)}.badge-open{background:var(--status-open-bg);color:var(--status-open-fg);border-color:var(--status-open-border)}.badge-limited{background:var(--status-limited-bg);color:var(--status-limited-fg);border-color:var(--status-limited-border)}.badge-waitlist{background:var(--status-waitlist-bg);color:var(--status-waitlist-fg);border-color:var(--status-waitlist-border)}.badge-closed{background:var(--status-closed-bg);color:var(--status-closed-fg);border-color:var(--status-closed-border)}.badge-mode{background:var(--status-info-bg);color:var(--status-info-fg);border-color:var(--status-info-border)}.badge-kind{background:#f3e8ff;color:#7c3aed;border-color:#ddd6fe}.badge-featured{background:var(--status-info-bg);color:var(--status-info-fg);border-color:var(--status-info-border)}.tag-list{display:flex;flex-wrap:wrap;gap:.4rem}input,textarea,select{width:100%;padding:.6rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;line-height:1.5;font-family:inherit;background:var(--color-bg);color:var(--color-text);transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}textarea{resize:vertical}input:disabled,textarea:disabled,select:disabled{background:var(--color-surface);color:var(--color-muted);cursor:not-allowed}.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem}.form-group label{font-weight:600;font-size:.9rem}.error-text{color:var(--color-danger);font-size:.875rem;margin:.25rem 0}.muted{color:var(--color-muted)}.policy-note{font-size:.8rem;color:var(--color-muted);line-height:1.5;border-left:3px solid var(--color-border);padding-left:.75rem;margin:.75rem 0}.navbar{background:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:56px;gap:1.5rem}.navbar-logo{font-weight:700;font-size:1.1rem;color:var(--color-text);text-decoration:none}.navbar-logo:hover{text-decoration:none}.navbar-links{display:flex;align-items:center;gap:1rem}.navbar-user-email{font-size:.85rem;color:var(--color-muted)}.navbar-label-short{display:none}.navbar-links a:not(.btn){padding:.35rem 0}@media (max-width: 420px){.navbar-inner{gap:.5rem;padding-left:1rem;padding-right:1rem}.navbar-links{gap:.5rem;font-size:.85rem}.navbar-label-long{display:none}.navbar-label-short{display:inline}.navbar-user-email{display:none}}.brand-masthead{position:relative;overflow:hidden;background:var(--color-surface);border-bottom:1px solid var(--color-border);text-align:center}.brand-masthead-inner{position:relative;z-index:1;padding:2.75rem 1.5rem 2.5rem}.brand-masthead-motif{position:absolute;top:50%;right:-2rem;transform:translateY(-50%);z-index:0;display:block;height:clamp(9rem,28vw,17rem);width:auto;opacity:.05;pointer-events:none;-webkit-user-select:none;user-select:none}.brand-masthead-eyebrow{margin:0 0 .4rem;font-size:.8rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--color-muted)}.brand-masthead-title{margin:0 0 .6rem;font-size:clamp(2rem,6vw,3.25rem);font-weight:800;letter-spacing:.02em;text-transform:uppercase;line-height:1.05;color:var(--color-text)}.brand-masthead-subtitle{margin:0 auto;max-width:540px;font-size:clamp(1rem,2.5vw,1.15rem);color:var(--color-muted)}.hero{text-align:center;padding:2.5rem 1.5rem 3rem}.hero h1{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:1rem}.hero-sub{font-size:1.1rem;color:var(--color-muted);max-width:560px;margin:0 auto 2rem}.how-it-works{padding:3rem 1.5rem}.how-it-works h2{margin-bottom:2rem;text-align:center}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.step{text-align:center}.step-number{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--color-primary);color:#fff;font-weight:700;font-size:.9rem;margin-bottom:.75rem}.platform-policy{padding:2rem 1.5rem;max-width:640px;margin:0 auto}.policy-list{padding-left:1.25rem;color:var(--color-muted);font-size:.9rem;line-height:1.8}.filters{display:flex;flex-wrap:wrap;gap:.6rem .75rem;margin-bottom:1.25rem;align-items:center}.filter-search{flex:1 1 220px;min-width:0}.filters select{width:auto;flex:1 1 150px;min-width:0}@media (max-width: 520px){.filter-search,.filters select{flex-basis:100%}}.results-count{margin:0 0 1rem}.mentor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.mentor-card{display:flex;flex-direction:column;gap:.75rem;border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;background:var(--color-bg);box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s}.mentor-card:hover{box-shadow:var(--shadow-hover);border-color:var(--color-primary);text-decoration:none}.mentor-card-header{display:flex;gap:1rem;align-items:flex-start}.mentor-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.mentor-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;font-weight:700;font-size:1.2rem;flex-shrink:0}.mentor-card-title h3{margin:0 0 .2rem;font-size:1.05rem}.mentor-headline{color:var(--color-muted);font-size:.875rem;margin:0}.mentor-bio-short{font-size:.875rem;color:var(--color-muted);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mentor-card-tags{display:flex;flex-wrap:wrap;gap:.3rem}.mentor-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.mentor-card-footer-right{display:flex;align-items:center;gap:.4rem}.mentor-price{font-size:.8rem;color:var(--color-muted)}.mentor-cover{height:200px;background-size:cover;background-position:center;background-color:var(--color-surface)}.mentor-detail-header{display:flex;gap:1.5rem;align-items:flex-start;padding:2rem 0 1.5rem}.mentor-avatar-lg{width:80px;height:80px;border-radius:50%;object-fit:cover;flex-shrink:0;font-size:2rem}.mentor-detail-body{display:grid;grid-template-columns:1fr 380px;gap:2rem;align-items:start}@media (max-width: 768px){.mentor-detail-body{grid-template-columns:1fr}}.detail-section{margin-top:1.5rem}.detail-section h3{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-bottom:.5rem}.mentor-bio-long{color:var(--color-text);line-height:1.7}.mentor-detail-contact h2{margin-bottom:1rem}.mentor-detail-contact .card{box-shadow:var(--shadow-md)}.mentor-detail-footer{padding:2rem 0 0;font-size:.9rem}.contact-form{display:flex;flex-direction:column}.contact-success{padding:1rem 1.1rem;background:var(--status-open-bg);border:1px solid var(--status-open-border);border-radius:var(--radius)}.contact-success h3{color:var(--status-open-fg)}.contact-relay-notice{padding:1rem 1.1rem;background:var(--status-limited-bg);border:1px solid var(--status-limited-border);border-radius:var(--radius)}.contact-relay-notice h3{margin-bottom:.4rem;color:var(--status-limited-fg)}.contact-relay-notice p{color:var(--status-limited-fg);font-size:.9rem}.gate-notice{text-align:center;padding:.5rem 0}.gate-notice p{color:var(--color-muted);font-size:.9rem;margin-bottom:1rem}.gate-notice-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-top:1.25rem}.empty-state{padding:2.5rem 0;text-align:center}.empty-state p{margin-bottom:.75rem}.auth-card{margin-top:1.5rem;padding:2rem;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.auth-card h1{margin-bottom:.25rem}.auth-switch{margin-top:1.25rem;font-size:.9rem;color:var(--color-muted);text-align:center}.join-paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem 0}.join-card h2{margin-bottom:.75rem}.join-features{font-size:.875rem;color:var(--color-muted);padding-left:1.25rem;margin-bottom:1.25rem;line-height:1.8}.site-footer{border-top:1px solid var(--color-border);background:var(--color-surface);padding:.9rem 0;margin-top:3rem}.site-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;font-size:.875rem}.footer-brand{font-weight:600;color:var(--color-text)}.footer-ecosystem{display:flex;align-items:center;gap:.6rem;color:var(--color-muted)}.footer-ecosystem-label{font-size:.8rem}.footer-sep{color:var(--color-border)}.ecosystem-section{background:var(--color-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:2.5rem 0;margin:2rem 0 0}.ecosystem-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-bottom:1.25rem}.ecosystem-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.ecosystem-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem}.ecosystem-card h3{margin-bottom:.4rem;font-size:1rem}.ecosystem-card p{color:var(--color-muted);font-size:.875rem;margin:0 0 .75rem}.ecosystem-card-current{border-color:var(--color-primary)}.ecosystem-card-link{display:block;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}.ecosystem-card-link:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);text-decoration:none}.ecosystem-arrow{font-size:.875rem;color:var(--color-primary)}.ecosystem-nudge{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border);font-size:.85rem}.ecosystem-context{margin:1.5rem 0;padding:.9rem 1.1rem;background:var(--color-surface);border-radius:var(--radius);font-size:.875rem}.apply-form{max-width:720px;margin-top:1.5rem}.apply-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border)}.apply-section h2{margin-bottom:1.25rem;font-size:1.1rem}.checkbox-grid{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;margin-top:.4rem}.checkbox-label{display:flex;align-items:center;gap:.4rem;font-size:.9rem;cursor:pointer}.checkbox-label input{width:auto;margin:0}.form-hint{font-size:.8rem;color:var(--color-muted);font-weight:400}.price-row{display:flex;gap:.5rem;flex-wrap:wrap}.price-input{width:120px}.apply-submit{padding-top:1rem}.apply-submit p{margin-top:.75rem;font-size:.8rem}.apply-success{max-width:560px;padding:2rem;margin-top:2rem}.platform-trust-note{font-size:.85rem;color:var(--color-muted);margin:.5rem 0 0}.learning-nudge{font-size:.85rem;color:var(--color-muted);margin:.9rem 0 0}.contact-capacity-warning{background:var(--status-limited-bg);border:1px solid var(--status-limited-border);border-radius:var(--radius);padding:.65rem .9rem;font-size:.875rem;color:var(--status-limited-fg);margin-bottom:1rem}.contact-closed-notice{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.1rem;font-size:.9rem;color:var(--color-muted);text-align:center}.admin-gate{margin-top:2rem}.admin-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.admin-header-actions{display:flex;gap:.5rem}.admin-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--color-border);margin-bottom:1rem}.admin-tab{background:none;border:none;border-bottom:2px solid transparent;padding:.5rem .25rem;margin-bottom:-1px;font-size:.95rem;font-weight:600;color:var(--color-muted);cursor:pointer}.admin-tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.admin-filterbar{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.admin-chip{display:inline-flex;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;padding:.35rem .9rem;font-size:.82rem;color:var(--color-text);cursor:pointer}.admin-chip.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.admin-action-ok{color:var(--color-success);font-size:.9rem;margin:0 0 1rem}.admin-list{display:flex;flex-direction:column;gap:.5rem}.admin-row{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);overflow:hidden}.admin-row.is-expanded{border-color:var(--color-primary)}.admin-row-head{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(140px,2fr) auto auto auto;align-items:center;gap:.75rem;width:100%;padding:.7rem .9rem;background:none;border:none;text-align:left;cursor:pointer;font-size:.88rem}.admin-row-head:hover{background:var(--color-surface)}.admin-row-name{font-weight:600;color:var(--color-text)}.admin-row-meta{color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-row-date{color:var(--color-muted);font-size:.8rem;white-space:nowrap}.admin-row-toggle{color:var(--color-primary);font-size:.8rem;white-space:nowrap}.admin-badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);white-space:nowrap}.admin-badge.relay-sent{background:var(--status-open-bg);border-color:var(--status-open-border);color:var(--status-open-fg)}.admin-badge.relay-failed{background:var(--status-closed-bg);border-color:var(--status-closed-border);color:var(--status-closed-fg)}.admin-badge.relay-pending{background:var(--status-limited-bg);border-color:var(--status-limited-border);color:var(--status-limited-fg)}.admin-badge.status-approved,.admin-badge.status-promoted{background:var(--status-open-bg);border-color:var(--status-open-border);color:var(--status-open-fg)}.admin-badge.status-rejected{background:var(--status-closed-bg);border-color:var(--status-closed-border);color:var(--status-closed-fg)}.admin-badge.status-pending{background:var(--status-limited-bg);border-color:var(--status-limited-border);color:var(--status-limited-fg)}.admin-row-detail{padding:.9rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.admin-detail-field{display:flex;gap:.5rem;font-size:.85rem;padding:.15rem 0}.admin-detail-label{font-weight:600;color:var(--color-muted);min-width:120px}.admin-detail-block{margin-top:.6rem;font-size:.85rem}.admin-detail-block p{margin:.25rem 0 0;white-space:pre-wrap}.admin-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}.admin-promote{margin-top:.9rem;padding-top:.9rem;border-top:1px dashed var(--color-border)}.admin-promote-row{display:flex;gap:.5rem;align-items:center}.admin-promote-row input{flex:1}@media (max-width: 640px){.admin-row-head{grid-template-columns:1fr auto;grid-auto-rows:auto}.admin-row-meta,.admin-row-date{grid-column:1 / -1}}
