:root{--color-bg-cabin: oklch(14% .015 250);--color-surface: oklch(18% .018 250);--color-border: oklch(25% .018 250);--color-text-primary: oklch(96% .008 250);--color-text-secondary: oklch(80% .015 250);--color-text-muted: oklch(58% .018 250);--color-accent: oklch(82% .16 85);--color-accent-hover: oklch(76% .16 85);--color-accent-dim: rgba(250, 204, 21, .12);--color-error: oklch(62% .18 29);--color-success: oklch(68% .16 142);--color-error-dim: rgba(239, 68, 68, .15);--color-success-dim: rgba(16, 185, 129, .15);--color-error-text: oklch(80% .12 29);--color-success-text: oklch(85% .12 142);--font-display: "Inter", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--radius-sm: 6px;--radius-md: 12px;--transition-smooth: .18s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--color-bg-cabin: oklch(97% .006 250);--color-surface: oklch(100% 0 0);--color-border: oklch(90% .01 250);--color-text-primary: oklch(20% .012 250);--color-text-secondary: oklch(40% .016 250);--color-text-muted: oklch(58% .018 250);--color-accent: oklch(76% .16 85);--color-accent-hover: oklch(68% .15 85);--color-accent-dim: rgba(202, 138, 4, .08);--color-error: oklch(55% .18 29);--color-success: oklch(55% .16 142);--color-error-dim: rgba(220, 38, 38, .08);--color-success-dim: rgba(22, 163, 74, .08);--color-error-text: var(--color-error);--color-success-text: var(--color-success)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{background-color:var(--color-bg-cabin);color:var(--color-text-primary);font-family:var(--font-body);font-size:15px;line-height:1.5;min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}input,button,textarea,select{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none}.app-container{width:100%;min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-bg-cabin)}header{width:100%;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #0000001a}h1{font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.02em}h2{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.01em;margin-bottom:12px}h3{font-size:16px;font-weight:600}.btn-primary{background-color:var(--color-accent);color:#040303;font-weight:600;height:44px;padding:0 20px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--transition-smooth),transform .1s ease}.btn-primary:hover{background-color:var(--color-accent-hover)}.btn-primary:active{transform:scale(.98)}.btn-secondary{border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-primary);font-weight:500;height:44px;padding:0 16px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color var(--transition-smooth),background-color var(--transition-smooth)}.btn-secondary:hover{border-color:var(--color-text-secondary);background-color:var(--color-accent-dim)}.btn-small{height:36px;padding:0 14px;font-size:13px;border-radius:var(--radius-sm)}.form-group{margin-bottom:16px;display:flex;flex-direction:column}.form-label{font-size:13px;color:var(--color-text-secondary);margin-bottom:6px;font-weight:500}.form-input{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);height:46px;padding:0 14px;width:100%;transition:border-color var(--transition-smooth)}.form-input:focus{outline:none;border-color:var(--color-accent)}.form-textarea{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 14px;width:100%;min-height:100px;resize:vertical;transition:border-color var(--transition-smooth)}.form-textarea:focus{outline:none;border-color:var(--color-accent)}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:18px;margin-bottom:14px;transition:border-color var(--transition-smooth)}.card:hover{border-color:#facc154d}.alert-banner{padding:12px 16px;border-radius:var(--radius-md);margin-bottom:16px;font-size:14px;display:flex;align-items:center;justify-content:space-between}.alert-banner.info{background-color:var(--color-accent-dim);border:1px solid var(--color-accent);color:var(--color-text-primary)}.alert-banner.error{background-color:var(--color-error-dim);border:1px solid var(--color-error);color:var(--color-error-text)}.alert-banner.success{background-color:var(--color-success-dim);border:1px solid var(--color-success);color:var(--color-success-text)}.tabs-container{display:flex;border-bottom:1px solid var(--color-border);margin-bottom:16px;background-color:var(--color-surface);border-radius:var(--radius-md) var(--radius-md) 0 0}.tab-button{flex:1;text-align:center;padding:12px 0;cursor:pointer;font-weight:500;border-bottom:2px solid transparent;transition:border-color var(--transition-smooth),color var(--transition-smooth)}.tab-button.active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:600}.app-layout-grid{display:grid;width:100%;max-width:1400px;margin:0 auto;gap:24px}@media (min-width: 1150px){.app-layout-grid{grid-template-columns:260px 1fr 340px}.desktop-sidebar{display:flex;flex-direction:column;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;height:fit-content;position:sticky;top:80px}.desktop-right-sidebar{display:flex;flex-direction:column;height:fit-content;position:sticky;top:80px}.desktop-header-nav{display:flex}.mobile-nav-bar,.mobile-top-nav,.mobile-bottom-nav{display:none!important}}@media (min-width: 850px) and (max-width: 1149px){.app-layout-grid{grid-template-columns:240px 1fr}.desktop-sidebar{display:flex;flex-direction:column;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;height:fit-content;position:sticky;top:80px}.desktop-right-sidebar{display:none}.mobile-nav-bar,.mobile-top-nav,.mobile-bottom-nav{display:none!important}}@media (max-width: 849px){.app-layout-grid{display:flex;flex-direction:column}.desktop-sidebar,.desktop-right-sidebar,.desktop-header-nav{display:none!important}.mobile-top-nav{display:flex}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:60px;background-color:var(--color-surface);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-around;z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;height:100%;color:var(--color-text-secondary);text-decoration:none;font-size:10px;font-weight:500;gap:2px;cursor:pointer;background:none;border:none}.mobile-bottom-nav-item.active{color:var(--color-accent);font-weight:700}body{padding-bottom:70px}}.desktop-nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-weight:500;font-size:14px;cursor:pointer;background:transparent;border:none;width:100%;text-align:left;text-decoration:none;transition:background-color var(--transition-smooth),color var(--transition-smooth)}.desktop-nav-item:hover{background-color:var(--color-accent-dim);color:var(--color-accent)}.desktop-nav-item.active{background-color:var(--color-accent-dim);color:var(--color-accent);font-weight:600}.leaderboard-table-container{width:100%;overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface)}.leaderboard-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.leaderboard-table th{background-color:var(--color-bg-cabin);padding:12px 16px;color:var(--color-text-secondary);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border)}.leaderboard-table td{padding:14px 16px;border-bottom:1px solid var(--color-border);color:var(--color-text-primary)}.leaderboard-table tr.my-rank-row{background-color:var(--color-accent-dim);font-weight:600}.rank-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:50%;font-weight:700;font-size:13px}.rank-1{background-color:gold;color:#000}.rank-2{background-color:silver;color:#000}.rank-3{background-color:#cd7f32;color:#fff}.profile-avatar-container{position:relative;width:96px;height:96px;margin:0 auto 16px}.profile-avatar-img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--color-accent);background-color:var(--color-bg-cabin)}.profile-avatar-upload-btn{position:absolute;bottom:0;right:0;background-color:var(--color-accent);color:#fff;border:2px solid var(--color-surface);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer}.reminder-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;margin-bottom:12px}.reminder-status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;text-transform:uppercase}.status-active{background-color:var(--color-accent-dim);color:var(--color-accent)}.status-accepted{background-color:#22c55e26;color:#22c55e}.status-rejected{background-color:#ef444426;color:#ef4444}.status-expired{background-color:#9ca3af26;color:#9ca3af}
