.api-docs-page{background:var(--bg);color:var(--text);min-height:100vh;font-family:Fira Sans,system-ui,sans-serif;font-size:15px;line-height:1.6}:root{--bg:#0b0f1a;--surface:#111827;--surface-2:#1e293b;--border:#1e293b;--text:#f1f5f9;--text-muted:#94a3b8;--text-dim:#64748b;--mint:#6ee7b7;--mint-dim:#6ee7b71f;--blue:#3b82f6;--blue-dim:#3b82f61f;--amber:#f59e0b;--amber-dim:#f59e0b1f;--rose:#fb7185;--rose-dim:#fb71851f;--green:#22c55e;--sidebar-w:300px;--mobile-header-h:56px;--radius:10px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:2rem}body.sidebar-open{overflow:hidden}body{background:var(--bg);color:var(--text);font-family:Fira Sans,system-ui,sans-serif;font-size:15px;line-height:1.6}.layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);-webkit-overflow-scrolling:touch;background:var(--surface);border-right:1px solid var(--border);z-index:300;height:100dvh;padding:1.5rem 0 2rem;transition:transform .28s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;overflow-y:auto}.sidebar-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding:0 1.25rem 1.25rem;display:flex}.sidebar-logo{flex:1;min-width:0}.sidebar-close{border:1px solid var(--border);background:var(--bg);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,border-color .15s,background .15s;display:none}.sidebar-close:hover{color:var(--text);border-color:var(--mint);background:var(--mint-dim)}.sidebar-close svg{display:block}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:250;opacity:0;pointer-events:none;background:#0000008c;transition:opacity .28s;display:none;position:fixed;inset:0}.sidebar-overlay.is-visible{opacity:1;pointer-events:auto}.mobile-header{height:var(--mobile-header-h);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:200;background:#111827eb;align-items:center;gap:.75rem;padding:0 1rem;display:none;position:fixed;top:0;left:0;right:0}.menu-btn{border:1px solid var(--border);background:var(--bg);width:40px;height:40px;color:var(--mint);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:flex}.menu-btn:hover{background:var(--mint-dim);border-color:#6ee7b759}.menu-btn svg{display:block}.mobile-title{color:var(--mint);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.mobile-subtitle{color:var(--text-dim);white-space:nowrap;margin-left:auto;font-size:.7rem}.sidebar-logo h1{color:var(--mint);letter-spacing:-.02em;font-size:1rem;font-weight:700}.sidebar-logo p{color:var(--text-dim);margin-top:.25rem;font-size:.75rem}.nav-section-accordion{margin-bottom:.1rem}.nav-section-accordion>.nav-accordion-trigger{padding:.65rem 1.25rem;font-size:.7rem}.nav-section-body{padding-bottom:.1rem}.nav-section-body>.nav-accordion>.nav-accordion-trigger{padding-left:1.6rem;font-size:.62rem}.nav-section-body>.nav-accordion .nav-link{padding-left:2rem}.nav-subgroup{margin-bottom:.1rem}.nav-subgroup-trigger{text-transform:none;letter-spacing:.02em;color:var(--text-muted)!important;padding-left:2rem!important;font-size:.58rem!important}.nav-subgroup-count{color:var(--text-dim);background:#94a3b81f;border-radius:999px;margin-left:.35rem;padding:.1rem .35rem;font-family:Fira Code,monospace;font-size:.55rem;font-weight:700}.nav-subgroup-body .nav-link{border-left-width:2px;padding-left:2.35rem}.nav-link.nav-depth-1{padding-left:2.5rem}.nav-link.nav-depth-2{padding-left:2.85rem}.nav-link.nav-depth-3{padding-left:3.2rem}.nav-link.nav-depth-4{padding-left:3.55rem}.nav-link.nav-depth-5{padding-left:3.9rem}.nav-link-short{color:var(--text);font-family:Fira Code,monospace;font-size:.72rem;line-height:1.4;display:block}.nav-link-full{color:var(--text-dim);word-break:break-all;margin-top:.1rem;font-size:.62rem;line-height:1.3;display:block}.nav-section-body>.nav-link{padding-left:1.6rem}.nav-section-accordion.is-active>.nav-accordion-trigger{color:var(--mint)}.nav-group{margin-bottom:.15rem}.nav-accordion>.nav-accordion-body{display:none}.nav-accordion.is-open>.nav-accordion-body{display:block}.nav-accordion-trigger{cursor:pointer;text-align:left;text-transform:uppercase;letter-spacing:.08em;width:100%;color:var(--text-dim);background:0 0;border:none;justify-content:space-between;align-items:center;padding:.55rem 1.25rem;font-family:inherit;font-size:.65rem;font-weight:600;transition:color .15s,background .15s;display:flex}.nav-accordion-trigger:hover,.nav-accordion-trigger:focus-visible{color:var(--text-muted);background:#6ee7b70a;outline:none}.nav-accordion.is-open .nav-accordion-trigger,.nav-group.is-active .nav-accordion-trigger,.nav-accordion.is-active .nav-accordion-trigger{color:var(--mint)}.nav-accordion.is-active:not(.is-open) .nav-accordion-trigger{background:#6ee7b70f}.nav-accordion-trigger:after{content:"";opacity:.55;border-bottom:2px solid;border-right:2px solid;flex-shrink:0;width:.4rem;height:.4rem;margin-left:.5rem;transition:transform .2s;transform:rotate(-45deg)}.nav-accordion.is-open .nav-accordion-trigger:after{transform:rotate(45deg)}.nav-group-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);padding:.5rem 1.25rem .25rem;font-size:.65rem;font-weight:600}.nav-link{color:var(--text-muted);border-left:2px solid #0000;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.4rem 1.25rem;font-size:.82rem;text-decoration:none;transition:color .15s,border-color .15s,background .15s;display:flex}.nav-link-label{word-break:break-word;flex:1;min-width:0;line-height:1.35}.nav-method-pills{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.2rem;max-width:46%;padding-top:.05rem;display:flex}.nav-method-pill{letter-spacing:.02em;white-space:nowrap;border-radius:4px;padding:.12rem .32rem;font-family:Fira Code,monospace;font-size:.52rem;font-weight:700;line-height:1.2}.nav-method-get{background:var(--mint-dim);color:var(--mint)}.nav-method-post{background:var(--blue-dim);color:var(--blue)}.nav-method-patch{background:var(--amber-dim);color:var(--amber)}.nav-method-delete{background:var(--rose-dim);color:var(--rose)}.nav-link:hover,.nav-link:focus-visible{color:var(--text);border-left-color:var(--mint);background:#6ee7b70d;outline:none}.nav-link.is-active{color:var(--mint);background:var(--mint-dim);border-left-color:var(--mint);font-weight:600}.nav-group.is-active .nav-group-title{color:var(--mint)}.main{margin-left:var(--sidebar-w);max-width:calc(var(--sidebar-w) + 900px);flex:1;width:100%;min-width:0;padding:2.5rem 3rem 4rem}.page-header{border-bottom:1px solid var(--border);margin-bottom:2.5rem;padding-bottom:2rem}.page-header h2{letter-spacing:-.03em;margin-bottom:.75rem;font-size:1.75rem;font-weight:700}.meta-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1.5fr));gap:.75rem;margin-top:1rem;display:grid}.meta-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem}.meta-item .label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:.65rem;font-weight:600}.meta-item .value{color:var(--text);margin-top:.2rem;font-family:Fira Code,monospace;font-size:.875rem}.section,.section-group{margin-bottom:3rem}.section-group-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:.75rem;padding-left:.15rem;font-size:.65rem;font-weight:600}.section-group-general .section{margin-bottom:0}.section-group-general .section+.section{margin-top:.75rem}.section-group-general .auth-accordion{margin-bottom:0}.section-title{color:var(--mint);letter-spacing:-.01em;border-bottom:1px solid var(--border);align-items:center;gap:.5rem;margin-bottom:1.25rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:700;display:flex}.section-title .badge-section{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.15rem .5rem;font-size:.65rem;font-weight:600}.section-subtitle{color:var(--text);border-top:1px dashed var(--border);margin:2rem 0 .75rem;padding-top:.5rem;font-size:.95rem;font-weight:700}.route-subgroup:first-child .section-subtitle{border-top:none;margin-top:0;padding-top:0}.route-subgroup .section-subtitle{align-items:center;gap:.5rem;display:flex}.route-subgroup .section-subtitle:before{content:"↳";color:var(--mint);font-size:.85rem}.auth-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.5rem;padding:1.5rem}.auth-block h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;font-size:.85rem;font-weight:600}.auth-block ul{list-style:none}.auth-block li{color:var(--text-muted);padding:.3rem 0;font-size:.875rem}.auth-block li code{color:var(--mint)}.auth-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;display:grid}@media (max-width:700px){.auth-grid{grid-template-columns:1fr}}.auth-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1rem}.auth-card h4{text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.auth-card.public h4{color:var(--green)}.auth-card.club h4{color:var(--blue)}.auth-card.admin h4{color:var(--amber)}.auth-card ul li{font-family:Fira Code,monospace;font-size:.78rem}.route-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.25rem;overflow:hidden}.route-header{border-bottom:1px solid var(--border);background:#ffffff05;flex-wrap:wrap;align-items:center;gap:.6rem;padding:1rem 1.25rem;display:flex}.section-routes .route-card.route-accordion .route-header{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:none;transition:background .15s}.section-routes .route-card.route-accordion .route-header:hover{background:#6ee7b70a}.section-routes .route-card.route-accordion.is-open .route-header{border-bottom:1px solid var(--border)}.section-routes .route-card.route-accordion .route-body{display:none}.section-routes .route-card.route-accordion.is-open .route-body{display:block}.route-accordion-trigger:after{content:"";border-right:2px solid var(--text-dim);border-bottom:2px solid var(--text-dim);flex-shrink:0;width:.45rem;height:.45rem;margin-left:auto;transition:transform .2s,border-color .15s;transform:rotate(-45deg)}.section-routes .route-card.route-accordion.is-open .route-accordion-trigger:after{border-color:var(--mint);transform:rotate(45deg)}.route-accordion-trigger:focus-visible{outline:2px solid var(--mint);outline-offset:-2px}.auth-accordion{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.25rem;overflow:hidden}.auth-accordion-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff05;border-bottom:none;align-items:center;gap:.6rem;padding:1rem 1.25rem;transition:background .15s;display:flex}.auth-accordion-header:hover{background:#6ee7b70a}.auth-accordion.is-open .auth-accordion-header{border-bottom:1px solid var(--border)}.auth-accordion-title{color:var(--mint);letter-spacing:-.01em;flex:1;font-size:1.1rem;font-weight:700}.auth-accordion-body{display:none}.auth-accordion.is-open .auth-accordion-body{display:block}.auth-accordion.is-open .auth-accordion-header.route-accordion-trigger:after{border-color:var(--mint);transform:rotate(45deg)}.auth-accordion .auth-block{border:none;border-radius:0;margin-bottom:0}.auth-accordion .recap-block{padding:1.25rem 1.5rem 1.5rem}.method{background:var(--mint-dim);color:var(--mint);letter-spacing:.04em;border-radius:4px;padding:.2rem .5rem;font-family:Fira Code,monospace;font-size:.72rem;font-weight:600}.method-post{background:var(--blue-dim);color:var(--blue)}.method-patch{background:var(--amber-dim);color:var(--amber)}.method-delete{background:var(--rose-dim);color:var(--rose)}.route-methods{flex-wrap:wrap;gap:.35rem;display:flex}.route-path{color:var(--text);word-break:break-all;flex:1;min-width:0;font-family:Fira Code,monospace;font-size:.875rem}.badge{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.65rem;font-weight:600}.badge-public{color:var(--green);background:#22c55e26}.badge-club{background:var(--blue-dim);color:var(--blue)}.badge-admin{background:var(--amber-dim);color:var(--amber)}.route-body{padding:1.25rem}.route-body p{color:var(--text-muted);margin-bottom:1rem;font-size:.875rem}.field-group{margin-bottom:.85rem}.field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:.35rem;font-size:.72rem;font-weight:600}.field-list{color:var(--text-muted);font-size:.85rem;list-style:none}.field-list li{padding:.15rem 0}.field-list li strong{color:var(--text);font-weight:500}.note{color:var(--text-dim);border-left:3px solid var(--amber);background:#f59e0b0f;border-radius:0 6px 6px 0;margin-top:.5rem;padding:.5rem .75rem;font-size:.82rem;font-style:italic}pre{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-top:.35rem;padding:1rem 1.15rem;overflow-x:auto}pre code{color:var(--text-muted);font-family:Fira Code,monospace;font-size:.78rem;line-height:1.65}.resp-label{border-radius:4px;margin-top:.75rem;margin-bottom:.35rem;padding:.15rem .45rem;font-size:.7rem;font-weight:600;display:inline-block}.resp-200{color:var(--green);background:#22c55e1f}.resp-400{background:var(--amber-dim);color:var(--amber)}.resp-401,.resp-403,.resp-404,.resp-500{background:var(--rose-dim);color:var(--rose)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.82rem}thead{background:#ffffff08}th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);border-bottom:1px solid var(--border);padding:.75rem 1rem;font-size:.68rem;font-weight:600}th.center,td.center{text-align:center}td{border-bottom:1px solid var(--border);color:var(--text-muted);padding:.6rem 1rem;font-family:Fira Code,monospace;font-size:.78rem}tr:last-child td{border-bottom:none}tr:hover td{background:#6ee7b708}td.check{color:var(--mint);text-align:center}td.dash{color:var(--text-dim);text-align:center}.curl-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;overflow:hidden}.curl-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);border-bottom:1px solid var(--border);background:#ffffff05;padding:.6rem 1rem;font-size:.72rem;font-weight:600}.curl-block pre{border:none;border-radius:0;margin:0}.curl-block pre code.curl-example{white-space:pre-wrap}.section-curl{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.25rem}.section-curl.curl-accordion{border-top:none;padding-top:0}.section-curl-title{color:var(--mint);letter-spacing:-.01em;margin-bottom:.75rem;font-size:.85rem;font-weight:600}.curl-accordion .auth-accordion-title{margin-bottom:0}.curl-accordion .auth-accordion-body{padding:.75rem 1rem 1rem}.section-curl .curl-block:last-child{margin-bottom:0}@media (max-width:1024px){.main{padding:2rem 2rem 3rem}}@media (max-width:768px){html{scroll-padding-top:calc(var(--mobile-header-h) + 1rem)}.mobile-header{display:flex}.sidebar-overlay{display:block}.sidebar{transform:translate(-100%);box-shadow:4px 0 24px #0006}.sidebar.is-open{transform:translate(0)}.sidebar-close{display:flex}.main{padding:calc(var(--mobile-header-h) + 1.25rem) 1rem 2.5rem;margin-left:0}.page-header{margin-bottom:2rem;padding-bottom:1.5rem}.nav-link{flex-direction:column;align-items:stretch;gap:.35rem}.nav-method-pills{justify-content:flex-start;max-width:none}.page-header h2{font-size:1.35rem}.meta-grid{grid-template-columns:1fr 1fr;gap:.5rem}.meta-item{padding:.6rem .75rem}.meta-item .value{word-break:break-all;font-size:.78rem}.section{margin-bottom:2.25rem}.section-title{flex-wrap:wrap;font-size:1rem}.auth-block{padding:1rem}.route-header{padding:.85rem 1rem}.route-body{padding:1rem}.route-path{font-size:.78rem}.badge{font-size:.6rem}pre{padding:.75rem}pre code{font-size:.72rem}th,td{padding:.5rem .65rem}td{font-size:.68rem}.mobile-subtitle{display:none}}@media (max-width:480px){.meta-grid{grid-template-columns:1fr}.page-header h2{font-size:1.2rem}.route-header{flex-direction:column;align-items:flex-start}.route-path{width:100%}}
