:root{--color-bg: #ffffff;--color-text-primary: #122220;--color-text-secondary: #4a5a57;--color-brand-primary: #9fe870;--color-brand-dark: #163300;--color-interactive: #163300;--color-border-subtle: #d5e0dc;--color-surface: #ffffff;--color-error: #d92d20;--color-interactive-hover: #0e2400;--color-brand-tint: #eef9e3;--color-surface-muted: #f4f8f6;--color-error-tint: #fdecea;--green: var(--color-interactive);--green-dark: var(--color-interactive-hover);--green-light: var(--color-brand-tint);--ink: var(--color-text-primary);--muted: var(--color-text-secondary);--line: var(--color-border-subtle);--bg: var(--color-bg);--card: var(--color-surface);--gold: var(--color-brand-primary);--radius: 14px;--radius-lg: 22px;--radius-pill: 999px;--shadow: 0 1px 2px rgba(18, 34, 32, .06), 0 12px 32px rgba(18, 34, 32, .06);--shadow-sm: 0 1px 2px rgba(18, 34, 32, .08);--font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Tilt Warp", system-ui, -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-bg);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--color-interactive);text-decoration:none;font-weight:500}a:hover{text-decoration:underline}.display-heading{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em;line-height:1.04}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-shell>main{flex:1 0 auto}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border-subtle);position:sticky;top:0;z-index:10}.header-inner{max-width:1040px;margin:0 auto;padding:0 24px;height:68px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--color-text-primary);font-size:1.05rem}.brand:hover{text-decoration:none}.brand-name{font-size:1.3rem;color:var(--color-text-primary);white-space:nowrap}.brand-year{color:var(--color-interactive)}.header-nav{display:flex;align-items:center;gap:18px;font-size:.92rem}.header-user{color:var(--color-text-secondary);font-size:.88rem;font-weight:500}.site-footer{background:var(--color-brand-primary);color:var(--color-brand-dark);flex-shrink:0}.site-footer-inner{max-width:1040px;margin:0 auto;padding:28px 24px;text-align:center}.footer-copy{font-family:var(--font-display);font-size:1.05rem;letter-spacing:-.01em}.container{max-width:1040px;margin:0 auto;padding:40px 24px 72px}.page-title{font-size:1.7rem;margin:0 0 6px;letter-spacing:-.01em}.page-sub{color:var(--color-text-secondary);margin:0 0 24px;font-size:1rem}.muted{color:var(--color-text-secondary)}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:16px}.hero{position:relative;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);background:var(--color-surface);box-shadow:var(--shadow);padding:64px 56px;margin-top:8px}.hero:before{content:"";position:absolute;top:-120px;right:-120px;width:360px;height:360px;background:radial-gradient(circle,var(--color-brand-primary) 0%,rgba(159,232,112,0) 70%);opacity:.5;pointer-events:none}.hero-inner{position:relative;max-width:600px}.hero h1{font-size:clamp(2.4rem,5vw,3.6rem);margin:18px 0 16px;color:var(--color-text-primary)}.hero p{font-size:1.12rem;color:var(--color-text-secondary);margin:0 0 28px;max-width:48ch}.hero .btn-row{margin-top:0}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--radius-pill);background:var(--color-brand-tint);color:var(--color-brand-dark);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.card+.card{margin-top:16px}.card-title{margin:0 0 6px;font-size:1.1rem}.auth-wrap{max-width:440px;margin:56px auto;padding:0 24px}label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--color-text-primary)}.field{margin-bottom:16px}.input,input[type=text],input[type=email],input[type=password],input[type=number],input[type=datetime-local],.select,select,textarea{width:100%;padding:11px 13px;border:1px solid var(--color-border-subtle);border-radius:10px;font-size:.95rem;font-family:inherit;background:var(--color-surface);color:var(--color-text-primary)}.input:focus,input:focus,.select:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-brand-dark);box-shadow:0 0 0 3px #9fe87099}textarea{min-height:70px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:var(--radius-pill);border:1px solid transparent;font-size:.92rem;font-weight:600;cursor:pointer;background:var(--color-interactive);color:#fff;font-family:inherit;transition:background-color .15s ease,transform .05s ease,box-shadow .15s ease}.btn:hover{background:var(--color-interactive-hover);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #9fe870b3}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border-subtle)}.btn.secondary:hover{background:var(--color-surface-muted)}.btn.ghost{background:transparent;color:var(--color-interactive);border-color:transparent}.btn.ghost:hover{background:var(--color-brand-tint)}.btn.danger{background:var(--color-surface);color:var(--color-error);border-color:#f0c9c6}.btn.danger:hover{background:var(--color-error-tint)}.btn.small{padding:7px 14px;font-size:.85rem}.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.badge{display:inline-flex;align-items:center;padding:4px 11px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.badge.neutral,.badge.DRAFT{background:var(--color-surface-muted);color:var(--color-text-secondary)}.badge.accent,.badge.OPEN{background:var(--color-brand-primary);color:var(--color-brand-dark)}.badge.CLOSED{background:#fff3d6;color:#8a6500}.badge.SCORED{background:var(--color-brand-dark);color:#fff}.tabs{display:inline-flex;gap:4px;padding:4px;border-radius:var(--radius-pill);background:var(--color-surface-muted);border:1px solid var(--color-border-subtle)}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font-family:inherit;font-size:.88rem;font-weight:600;color:var(--color-text-secondary);padding:8px 16px;border-radius:var(--radius-pill);cursor:pointer;transition:all .15s ease}.tab:hover{color:var(--color-text-primary)}.tab.active{background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.alert{padding:12px 14px;border-radius:10px;font-size:.9rem;margin-bottom:16px}.alert.error{background:var(--color-error-tint);color:#b3261e;border:1px solid #f4cfcc}.alert.success{background:var(--color-brand-tint);color:var(--color-brand-dark);border:1px solid #c8ecae}.alert.info{background:var(--color-surface-muted);color:var(--color-text-secondary);border:1px solid var(--color-border-subtle)}.question{border:1px solid var(--color-border-subtle);border-radius:var(--radius);padding:20px;background:var(--color-surface)}.question+.question{margin-top:14px}.question-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.question-text{font-weight:600}.points{white-space:nowrap;color:var(--color-brand-dark);font-size:.82rem;font-weight:700}.option{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--color-border-subtle);border-radius:10px;margin-top:8px;cursor:pointer}.option:hover{border-color:var(--color-brand-dark)}.option.selected,.option.correct{border-color:var(--color-brand-dark);background:var(--color-brand-tint)}.option.wrong{border-color:#f0c9c6;background:var(--color-error-tint)}.option input{width:auto;margin:0;accent-color:var(--color-brand-dark)}.tag{margin-left:auto;font-size:.75rem;font-weight:700}.tag.ok{color:var(--color-brand-dark)}.tag.no{color:#b3261e}.table,table{width:100%;border-collapse:collapse;font-size:.95rem}.table th,.table td,th,td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--color-border-subtle)}.table th,th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary)}tr.top-1 td{background:var(--color-brand-tint)}tr.top-1 td:first-child{box-shadow:inset 3px 0 0 var(--color-brand-primary)}tr.top-2 td,tr.top-3 td{background:var(--color-surface-muted)}.rank{font-weight:700;width:48px}.medal{font-size:1.1rem}.event-card{display:block;border:1px solid var(--color-border-subtle);border-radius:var(--radius);padding:22px 24px;background:var(--color-surface);box-shadow:var(--shadow);transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease}.event-card:hover{border-color:var(--color-brand-dark);text-decoration:none;transform:translateY(-2px)}.event-card h3{margin:0 0 4px;color:var(--color-text-primary);font-size:1.35rem}.grid{display:grid;gap:16px}@media (min-width: 720px){.grid.cols-2{grid-template-columns:repeat(2,1fr)}}.divider{height:1px;background:var(--color-border-subtle);margin:20px 0;border:0}.empty{text-align:center;padding:56px 20px;color:var(--color-text-secondary);border:1px dashed var(--color-border-subtle);border-radius:var(--radius)}@media (max-width: 600px){.hero{padding:40px 28px}}
