:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;background-color:#242424}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{color-scheme:dark;font-family:Inter,system-ui,sans-serif;background:#f5f7fb;color:#1f2937;line-height:1.6}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#eef2ff,#f8fafc)}button,input,select,textarea{font:inherit}.app-shell{display:flex;flex-direction:column;min-height:100vh}.page-content{flex:1;width:min(100%,1100px);margin:0 auto;padding:32px 20px 48px;display:flex;flex-direction:column;gap:24px;align-items:center}.page-card{background:#fff;border-radius:24px;box-shadow:0 20px 50px #0f172a14;padding:34px;margin:0 auto 24px;width:100%;max-width:980px}.hero{padding:24px 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}.hero h1{margin:0;font-size:clamp(2.3rem,2vw,3rem);letter-spacing:-.03em}.hero p{margin:0;max-width:760px;color:#4b5563}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:24px}.feature-grid article{border:1px solid #e2e8f0;border-radius:20px;padding:24px;background:#f8fafc;min-height:190px}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.home-section{background:#f8fafc;border-radius:24px;padding:24px}.home-section h2{margin-top:0}.home-ranking-list,.home-competition-list{list-style:none;margin:0;padding:0}.home-ranking-list li,.home-competition-list li{padding:12px 0;border-bottom:1px solid #e5e7eb}.home-ranking-list li:last-child,.home-competition-list li:last-child{border-bottom:none}@media(max-width:900px){.home-grid{grid-template-columns:1fr}}.feature-grid h2{margin-top:0}.page-summary{max-width:720px;color:#4b5563;margin-bottom:24px}.rank-table{width:100%;border-collapse:collapse;min-width:620px}.ranking-table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.rank-table th,.rank-table td{padding:16px 14px;text-align:left;border-bottom:1px solid #e5e7eb}.rank-table th{background:#f8fafc;color:#111827}.rank-table tbody tr:nth-child(2n){background:#d9dce1}.rank-table tbody tr:nth-child(odd) .secondary-button{background:#e5e7eb}.rank-table tbody tr:nth-child(2n) .secondary-button{background:#fff}.ranking-mobile-actions{display:none}.ranking-form{display:grid;gap:12px}.ranking-form label{display:grid;grid-template-columns:minmax(64px,.35fr) minmax(0,1fr);align-items:center;gap:10px}.ranking-form input{width:100%;min-width:0}.ranking-actions-cell{white-space:nowrap}.scores-table{width:min(100%,450px);margin:14px auto 0;border-collapse:collapse;border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;box-shadow:0 14px 30px #0f172a14}h2{text-align:center}.scores-table th,.scores-table td{text-align:center;padding:8px 11px;border-bottom:1px solid #e5e7eb;font-size:.9rem}.scores-table th{background:#f8fafc;color:#111827;font-weight:600}.scores-table tbody tr:nth-child(2n){background:#fbfcfe}.scores-table tbody tr:last-child td{border-bottom:none}.rank-table tbody tr:hover{background:#cde3fc}.score-input{width:100px;padding:10px 12px;border:1px solid #d1d5db;border-radius:10px}.small-muted{color:#6b7280;font-size:.95rem}.competitions-page .competitions-top{display:grid;grid-template-columns:1.3fr .9fr;gap:24px;align-items:start}.competition-form-card,.competition-calendar-card,.competition-list-card{background:#fff;border-radius:20px;padding:22px}.competition-calendar-card.calendar-full-width{grid-column:1 / -1}.competition-form{display:grid;gap:16px}.fc .fc-daygrid-event.past-event,.fc .fc-daygrid-event.past-event .fc-event-main{background-color:#878d96!important;border-color:#7f8797!important;color:#fff!important}.fc .fc-daygrid-event.next-event,.fc .fc-daygrid-event.next-event .fc-event-main{background-color:#2563eb!important;border-color:#2563eb!important;color:#fff!important}.competition-form label{display:block;margin-bottom:14px;color:#334155}.competition-form input,.competition-form textarea{width:100%;padding:12px 14px;border-radius:14px;border:1px solid #d1d5db;margin-top:6px}.competition-form textarea{min-height:110px;resize:vertical}.primary-button,.secondary-button,.danger-button,.logoutButton{border:none;border-radius:999px;padding:12px 18px;cursor:pointer}.primary-button{background:#4338ca;color:#fff;transition:transform .2s ease}.primary-button:hover{transform:translateY(-1px)}.secondary-button{background:#f3f4f6;color:#111827;margin-right:10px}.danger-button{background:#ef4444;color:#fff}.logoutButton{background:transparent;color:#111827;font-weight:700}.form-message{margin-top:16px;color:#2563eb}.competition-list{display:grid;gap:16px}.competition-row{display:flex;justify-content:space-between;gap:18px;padding:18px;border:1px solid #e5e7eb;border-radius:16px;background:#fff}.competition-row.past-competition{background:#9099ac;color:#fff}.competition-row.next-competition{background:#e8f0fe;color:#1d4ed8}.competition-row strong{display:block;margin-bottom:6px}.competition-description{margin:10px 0 0;color:#475569}.competition-actions{display:flex;align-items:center;gap:8px;min-width:0}.competition-actions button{margin:0}.login-prompt{padding:18px;background:#f8fafc;border-radius:16px;color:#475569}@media(max-width:900px){.competitions-page .competitions-top{grid-template-columns:1fr}}@media(max-width:640px){.page-content{padding:16px}.rank-table,.competition-row{font-size:.95rem}.rank-table{min-width:auto;width:100%;table-layout:fixed}.ranking-table-container{overflow-x:hidden}.rank-table th:nth-child(3),.rank-table td:nth-child(3){display:none}.ranking-actions-cell{display:none}.ranking-mobile-actions{display:grid;gap:5px;margin-top:7px}.ranking-mobile-actions .secondary-button,.ranking-mobile-actions .danger-button{margin:0;max-width:100%;padding:6px 8px;font-size:.78rem;line-height:1.25}.rank-table th,.rank-table td{padding:10px 6px}.rank-table th:nth-child(1),.rank-table td:nth-child(1){width:23%}.rank-table th:nth-child(2),.rank-table td:nth-child(2){width:45%}.rank-table th:nth-child(4),.rank-table td:nth-child(4){width:32%}.rank-table th{padding:8px 3px;font-size:.78rem;line-height:1.25;overflow-wrap:anywhere;vertical-align:middle}.rank-table th:nth-child(1){text-align:center}.score-input{width:100%;max-width:76px;padding:7px 8px}.competition-list-card,.competition-list,.competition-row,.competition-summary{width:100%;min-width:0}.competition-row{flex-direction:column;align-items:stretch;gap:10px;padding:14px}.competition-summary{overflow-wrap:anywhere}.competition-actions{flex-wrap:wrap;gap:6px}.competition-actions button{padding:8px 10px;font-size:.82rem}.fc .fc-toolbar-chunk{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;align-items:center}.fc .fc-toolbar-title{font-size:1rem;margin-right:.5rem}.fc .fc-button{padding:.4rem .75rem;font-size:.85rem;min-width:auto}.fc .fc-col-header-cell{padding:.4rem .35rem}.fc .fc-daygrid-day-top{padding:.35rem .35rem .2rem}}._navbar_180r3_1{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;padding:16px 24px;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 14px 40px #0f172a14;position:sticky;top:0;z-index:20}._link_180r3_29,._logoutButton_180r3_31{display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:10px 20px;border-radius:999px;text-decoration:none;color:#334155;background:#f8fafc;border:1px solid transparent;font-weight:600;transition:background .2s ease,color .2s ease,transform .15s ease;cursor:pointer}._link_180r3_29:hover,._logoutButton_180r3_31:hover{background:#e0e7ff;color:#1d4ed8}._active_180r3_75{color:#1d4ed8;background:#e0e7ff;box-shadow:inset 0 0 0 1px #3b82f626}._logoutButton_180r3_31{background:#4338ca;color:#fff;border-color:#4338ca}._logoutButton_180r3_31:hover{background:#3730a3;color:#fff}._container_t60lt_1{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:24px}._loginCard_t60lt_17{width:100%;max-width:420px;background:#fff;border-radius:24px;box-shadow:0 22px 50px #0f172a14;padding:32px}._form_t60lt_35{display:grid;gap:16px}._label_t60lt_45{font-weight:600;display:block;margin-bottom:6px;color:#334155}._input_t60lt_59{width:100%;padding:14px 16px;border:1px solid #d1d5db;border-radius:14px}._passwordField_t60lt_73{position:relative;display:block}._passwordInput_t60lt_83{padding-right:54px}._passwordToggle_t60lt_91{position:absolute;top:50%;right:7px;display:grid;width:40px;height:40px;padding:9px;place-items:center;transform:translateY(-50%);border:0;border-radius:8px;background:transparent;color:#475569;cursor:pointer;touch-action:none}._passwordToggle_t60lt_91:hover{background:#f1f5f9}._passwordToggle_t60lt_91:focus-visible{outline:2px solid #4338ca;outline-offset:1px}._passwordToggle_t60lt_91 svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}._button_t60lt_165{width:100%;padding:14px 16px;border-radius:999px;border:none;background:#4338ca;color:#fff;font-weight:700;cursor:pointer}._error_t60lt_187{color:#dc2626;margin:0}._hint_t60lt_197{margin:0;color:#475569;font-size:.95rem}
