:root{--bg:#f4f6f5;--surface:#fff;--border:#dde3e0;--text:#1a2b22;--text-muted:#63756c;--accent:#0a5c36;--accent-hover:#084a2c;--error:#b3261e;--badge-draft-bg:#f0e9d8;--badge-draft-text:#7a5c00;--badge-drawn-bg:#dff0e6;--badge-drawn-text:#0a5c36;--badge-invalid-bg:#fbe0de;--badge-invalid-text:#b3261e;--position-l:#0a5c36;--position-p:#8a4b00}@media (prefers-color-scheme:dark){:root{--bg:#121815;--surface:#1a221d;--border:#2c372f;--text:#eaf1ec;--text-muted:#97a69d;--accent:#4caf7d;--accent-hover:#6cc494;--error:#ff8a80;--badge-draft-bg:#3a3320;--badge-draft-text:#e0c15a;--badge-drawn-bg:#1e3a2b;--badge-drawn-text:#6cc494;--badge-invalid-bg:#3a1f1c;--badge-invalid-text:#ff8a80;--position-l:#4caf7d;--position-p:#d99a4e}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.page{flex-direction:column;gap:16px;max-width:720px;margin:0 auto;padding:16px;display:flex}.page-wide{max-width:1100px}.centered-page{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.page-header h1{margin:0;font-size:1.4rem}.back-link{color:var(--text-muted);font-size:.9rem;text-decoration:none}.back-link:hover{color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;padding:16px;display:flex}.card h2{margin:0;font-size:1.1rem}.card h3{color:var(--text-muted);margin:4px 0 0;font-size:.95rem}.login-card{text-align:center;width:100%;max-width:360px}.login-card h1{margin:0;font-size:1.3rem}.muted{color:var(--text-muted);margin:0;font-size:.9rem}.error{color:var(--error);margin:0;font-size:.9rem}.field{text-align:left;flex-direction:column;flex:1;gap:4px;display:flex}.field span{color:var(--text-muted);font-size:.85rem}.field-row{flex-wrap:wrap;gap:12px;display:flex}.field-row .field{min-width:140px}input,textarea,button{font:inherit}input,textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;width:100%;padding:8px 10px}textarea{resize:vertical;margin-bottom:8px}button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-weight:600}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.5;cursor:not-allowed}.link-button{color:var(--error);background:0 0;padding:2px 6px;font-size:.85rem;font-weight:400}.link-button:hover:not(:disabled){background:0 0;text-decoration:underline}.tournament-list{flex-direction:column;gap:10px;display:flex}.tournament-card{align-items:stretch;gap:10px}.tournament-card:has(.tournament-card-link:hover){border-color:var(--accent)}.tournament-card-link{color:inherit;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;display:flex}.delete-token-input{flex:1;width:auto;min-width:160px}.tournament-meta{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.badge{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:600;display:inline-block}.badge-draft{background:var(--badge-draft-bg);color:var(--badge-draft-text)}.badge-drawn{background:var(--badge-drawn-bg);color:var(--badge-drawn-text)}.badge-invalid{background:var(--badge-invalid-bg);color:var(--badge-invalid-text)}.params-grid{grid-template-columns:1fr auto;gap:6px 12px;margin:0;display:grid}.params-grid dt{color:var(--text-muted)}.params-grid dd{text-align:right;margin:0;font-weight:600}.participant-list{flex-direction:column;gap:6px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.participant-list li{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:6px 0;display:flex}.participant-list li:last-child{border-bottom:none}.bib{color:var(--text-muted);font-variant-numeric:tabular-nums;min-width:2.5em}.action-card{align-items:flex-start}.confirm-row{flex-direction:column;gap:10px;width:100%;display:flex}.confirm-buttons{flex-wrap:wrap;gap:10px;display:flex}button.secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}button.secondary:hover:not(:disabled){background:var(--border)}@media (width<=480px){.page-header{flex-direction:column}.tournament-card{flex-direction:column;align-items:flex-start}.tournament-meta{align-items:flex-start}.participant-list li{flex-wrap:wrap;row-gap:6px}}.results-name{flex:1}.results-edit-link{color:var(--accent);white-space:nowrap;font-size:.85rem;font-weight:600;text-decoration:none}.results-edit-link:hover{text-decoration:underline}.position-l{color:var(--position-l);font-weight:700}.position-p{color:var(--position-p);font-weight:700}.results-table{flex-direction:column;gap:2px;display:flex;overflow-x:auto}.results-table-header,.results-table-row{grid-template-columns:2.5rem 4rem 1fr 7rem 8rem;align-items:center;gap:10px;min-width:560px;display:grid}.results-table-header{color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:6px;font-size:.8rem;font-weight:600}.results-table-row{border-bottom:1px solid var(--border);padding:6px 0}.results-table-row:last-child{border-bottom:none}.results-table-row input{padding:6px 8px}.results-table-row-conflict{background:var(--badge-invalid-bg);border-radius:6px;padding-left:6px;padding-right:6px}.results-table-row-conflict .badge{margin-left:8px}.leaderboard-card{overflow-x:auto}.leaderboard-table{flex-direction:column;gap:2px;width:fit-content;min-width:100%;display:flex}.leaderboard-row{border-bottom:1px solid var(--border);border-radius:6px;align-items:center;gap:10px;padding:10px 8px;display:grid}.leaderboard-row:last-child{border-bottom:none}.leaderboard-header{color:var(--text-muted);border-bottom:1px solid var(--border);padding:0 8px 8px;font-size:.8rem;font-weight:600}.leaderboard-points{font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700}.leaderboard-row-invalid{opacity:.6}.leaderboard-place{font-variant-numeric:tabular-nums;align-items:center;gap:4px;font-weight:700;display:flex}.leaderboard-medal{font-size:1.1rem}.leaderboard-row-place-1{background:linear-gradient(90deg,#d4af3729,#0000 70%);border-left:3px solid #d4af37}.leaderboard-row-place-2{background:linear-gradient(90deg,#a0a0aa29,#0000 70%);border-left:3px solid #a0a0aa}.leaderboard-row-place-3{background:linear-gradient(90deg,#b06f3a29,#0000 70%);border-left:3px solid #b06f3a}.leaderboard-participant-cell{flex-direction:column;gap:4px;min-width:0;display:flex}.leaderboard-participant-name{font-weight:600}.leaderboard-participant-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.leaderboard-weight-badge{font-size:.8rem}.leaderboard-round-cell{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.85rem}.leaderboard-legend{margin-top:10px}.tournament-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;display:flex}.tournament-nav a{color:var(--text-muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:.9rem;font-weight:600;text-decoration:none}.tournament-nav a:hover{color:var(--text)}.tournament-nav a.tournament-nav-active{color:var(--accent);border-bottom-color:var(--accent)}.results-header-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}button.danger{background:var(--error);color:#fff}button.danger:hover:not(:disabled){background:var(--error);filter:brightness(.9)}.weight-input-row{align-items:center;gap:6px;display:flex}.weight-input-row input{width:6rem;padding:4px 6px}.status-filter-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.status-filter-row button{padding:6px 12px;font-size:.85rem}.results-row-link{color:inherit;flex:1;align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.results-row-link:hover .results-name{color:var(--accent)}.rules-box{font-size:.9rem;line-height:1.6}@media (width<=480px){.results-row-link{min-width:100%}}.external-link-row{align-items:center;gap:8px;display:flex}.external-link-row input{color:var(--text-muted);flex:1}.digital-current-badge{background:var(--accent);color:#fff}.digital-round-compact{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.digital-round-compact.digital-round-future{opacity:.55}.digital-round-compact-title{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.digital-round-hint{margin:0;font-size:.85rem}.digital-round-title{justify-content:space-between;align-items:center;gap:12px;font-weight:700;display:flex}.digital-section{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:8px;display:flex}.digital-section h3{color:var(--text-muted);margin:0;font-size:.85rem}.digital-summary-counts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.digital-detail-table{flex-direction:column;gap:2px;display:flex;overflow-x:auto}.digital-detail-header,.digital-detail-row{grid-template-columns:5rem 1fr 1fr 1fr 8rem;align-items:center;gap:10px;min-width:640px;display:grid}.digital-detail-header{color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:6px;font-size:.8rem;font-weight:600}.digital-detail-row{border-bottom:1px solid var(--border);padding:6px 0}.digital-detail-row:last-child{border-bottom:none}.digital-dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.digital-dashboard-card{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.digital-dashboard-card-current{border-color:var(--accent);background:var(--badge-drawn-bg);border-width:2px}.digital-dashboard-card-title{flex-direction:column;gap:4px;font-weight:700;display:flex}.digital-dashboard-bar{background:var(--border);border-radius:4px;height:8px;display:flex;overflow:hidden}.digital-dashboard-bar-locked{background:var(--accent)}.digital-dashboard-bar-pending{background:var(--badge-draft-text)}.digital-dashboard-bar-bye{background:var(--text-muted);opacity:.4}.digital-dashboard-numbers{grid-template-columns:1fr auto;gap:2px 8px;margin:0;font-size:.85rem;display:grid}.digital-dashboard-numbers dt{color:var(--text-muted)}.digital-dashboard-numbers dd{text-align:right;margin:0;font-weight:600}.digital-dashboard-done{margin:0;font-size:.8rem}.app-footer{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:8px;padding:20px 16px 28px;font-size:.8rem;display:flex}.app-footer-brand{letter-spacing:.02em;font-weight:600}.app-footer-contact{align-items:center;gap:6px;display:flex}.app-footer-contact a{color:var(--accent);text-decoration:none}.app-footer-contact a:hover{text-decoration:underline}.app-footer-qr-toggle{cursor:pointer;background:0 0;border-radius:4px;padding:0;line-height:0}.app-footer-qr-icon{border-radius:3px;width:20px;height:20px;display:block}.app-footer-qr-popover{z-index:50;cursor:pointer;background:#00000080;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:fixed;inset:0}.app-footer-qr-popover img{background:#fff;border-radius:12px;width:220px;height:220px;padding:12px}.digital-sticky-header{z-index:10;background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex;position:sticky;top:0}.digital-sticky-header h1{margin:0;font-size:1.2rem}.digital-sticky-header-info{min-width:0}.digital-phase-banner{text-align:center}.digital-phase-banner p{margin:0;font-size:1.05rem}.logo{align-items:center;gap:8px;display:inline-flex}.logo-wordmark{letter-spacing:-.01em;color:var(--text);font-size:1.25rem;font-weight:800}.login-logo{justify-content:center;margin-bottom:4px;display:flex}.landing{flex-direction:column;display:flex}.landing-nav{z-index:10;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px max(16px,50% - 550px);display:flex;position:sticky;top:0}.landing-nav-cta{color:var(--accent);border:1px solid var(--border);border-radius:8px;padding:8px 14px;font-size:.9rem;font-weight:600;text-decoration:none}.landing-nav-cta:hover{border-color:var(--accent)}.landing-hero{text-align:center;background:linear-gradient(180deg, var(--badge-drawn-bg) 0%, var(--bg) 70%);flex-direction:column;align-items:center;gap:16px;padding:64px max(16px,50% - 550px) 56px;display:flex}.landing-eyebrow{background:var(--surface);border:1px solid var(--border);color:var(--accent);border-radius:999px;padding:4px 14px;font-size:.85rem;font-weight:600;display:inline-block}.landing-hero h1{max-width:780px;margin:0;font-size:2.4rem;line-height:1.15}.landing-hero-sub{max-width:560px;color:var(--text-muted);margin:0;font-size:1.05rem;line-height:1.6}.landing-cta-button{background:var(--accent);color:#fff;border-radius:10px;padding:12px 28px;font-size:1rem;font-weight:700;text-decoration:none;display:inline-block}.landing-cta-button:hover{background:var(--accent-hover)}.landing-section{padding:56px max(16px,50% - 550px)}.landing-section h2{text-align:center;margin:0 0 36px;font-size:1.7rem}.landing-features-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:1100px;margin:0 auto;display:grid}.landing-feature-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:8px;padding:24px;display:flex}.landing-feature-icon{font-size:1.8rem}.landing-feature-card h3{margin:0;font-size:1.05rem}.landing-feature-card p{margin:0;font-size:.92rem;line-height:1.55}.landing-steps-section{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.landing-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;max-width:1100px;margin:0 auto;display:grid}.landing-step{flex-direction:column;gap:6px;display:flex}.landing-step-num{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:4px;font-size:.95rem;font-weight:700;display:inline-flex}.landing-step h3{margin:0;font-size:1rem}.landing-step p{margin:0;font-size:.9rem;line-height:1.5}.landing-roadmap-intro{text-align:center;max-width:500px;margin:-24px auto 28px}.landing-roadmap-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;max-width:1100px;margin:0 auto;display:grid}.landing-roadmap-card{border:1px dashed var(--border);border-radius:12px;align-items:flex-start;gap:14px;padding:18px;display:flex}.landing-roadmap-card h3{margin:0 0 4px;font-size:.98rem}.landing-roadmap-card p{margin:0;font-size:.88rem;line-height:1.5}.landing-final-cta{text-align:center;background:var(--badge-drawn-bg);flex-direction:column;align-items:center;gap:16px;display:flex}.landing-final-cta h2{max-width:480px;margin:0}@media (width<=600px){.landing-hero h1{font-size:1.8rem}.landing-section{padding:40px 16px}}.digital-conflict{border:1px solid var(--error);background:var(--badge-invalid-bg);border-radius:10px;flex-direction:column;gap:10px;padding:12px;display:flex}.digital-conflict-compare{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.digital-conflict-compare>div{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px}.digital-conflict-compare p{margin:4px 0 0}.conflict-card{border-color:var(--error)}.conflict-numbers{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.conflict-numbers>div{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px}.conflict-resolve-row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.conflict-resolve-row .field{max-width:120px}.digital-conflicts-list{flex-direction:column;gap:12px;display:flex}
