: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}.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:#f3f4f6}.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}.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}.rank-table th:nth-child(3),.rank-table td:nth-child(3),.rank-table th:nth-child(5),.rank-table td:nth-child(5){display:none}.rank-table th,.rank-table td{padding:12px 10px}.score-input{width:80px}.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_15na0_1{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:24px}._loginCard_15na0_17{width:100%;max-width:420px;background:#fff;border-radius:24px;box-shadow:0 22px 50px #0f172a14;padding:32px}._form_15na0_35{display:grid;gap:16px}._label_15na0_45{font-weight:600;display:block;margin-bottom:6px;color:#334155}._input_15na0_59{width:100%;padding:14px 16px;border:1px solid #d1d5db;border-radius:14px}._button_15na0_73{width:100%;padding:14px 16px;border-radius:999px;border:none;background:#4338ca;color:#fff;font-weight:700;cursor:pointer}._error_15na0_95{color:#dc2626;margin:0}._hint_15na0_105{margin:0;color:#475569;font-size:.95rem}
