: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;display:flex;place-items:center;min-width:320px;min-height:100vh}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}}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}#root{width:100%;min-height:100vh}.container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,#ff6b35,#f7931e)}.signup-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.signup-card h1{margin:0 0 .5rem;color:#333;font-size:2rem}.signup-card h2{margin:0 0 1.5rem;color:#666;font-size:1.25rem;font-weight:400}.form-group{margin-bottom:1rem;text-align:left}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input:focus{outline:none;border-color:#ff6b35}button{width:100%;padding:.75rem;background:#ff6b35;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;font-weight:500}button:hover:not(:disabled){background:#e55a28}.link-button{background:transparent;color:#ff6b35;text-decoration:none;padding:.5rem;font-size:.95rem}.link-button:hover{background:transparent;text-decoration:underline}button:disabled{opacity:.6;cursor:not-allowed}.error{background:#fee;color:#c33;padding:.75rem;border-radius:4px;margin-bottom:1rem}.success{background:#efe;color:#3c3;padding:.75rem;border-radius:4px;margin-bottom:1rem}.link-section{margin-top:1.5rem;text-align:center}.link-section a{color:#ff6b35;text-decoration:none}.link-section a:hover{text-decoration:underline}.team-portal{min-height:100vh;background:#f5f5f5}.portal-header{background:#ff6b35;color:#fff;padding:1rem;box-shadow:0 2px 4px #0000001a}.header-content h1{margin:0 0 .5rem;font-size:1.5rem}.team-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.team-name{font-weight:500}.score{background:#fff3;padding:.25rem .75rem;border-radius:12px;font-size:.9rem}.timer{background:#fff3;padding:.5rem 1rem;border-radius:4px;text-align:center;font-weight:500;margin-bottom:.5rem}.header-buttons{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.header-btn{flex:1;min-width:80px;background:#fff3;border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;font-size:.9rem}.header-btn:hover{background:#ffffff4d}.leaderboard-section,.settings-section{background:#fff;margin:1rem;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.leaderboard-section h2,.settings-section h2{margin:0 0 1rem;color:#333}.settings-form{max-width:500px}.settings-form button{margin-top:.5rem}.leaderboard-list{display:flex;flex-direction:column;gap:.5rem}.leaderboard-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#f5f5f5;border-radius:4px}.leaderboard-item.current-team{background:#ffe5db;border:2px solid #ff6b35}.leaderboard-item .rank{font-weight:700;color:#ff6b35;min-width:30px}.leaderboard-item .team{flex:1;font-weight:500}.leaderboard-item .solved{color:#666;font-size:.9rem}.portal-content{display:flex;flex-direction:column;gap:1rem;padding:1rem;max-width:100%}.puzzle-list{background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.puzzle-list h2{margin:0 0 1rem;color:#333;font-size:1.25rem}.puzzle-item{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.75rem;margin-bottom:.5rem;background:#f5f5f5;border:2px solid transparent;border-radius:4px;text-align:left}.puzzle-item:hover:not(:disabled){background:#e8e8e8}.puzzle-item.active{border-color:#ff6b35;background:#ffe5db}.puzzle-item.solved{opacity:.7}.puzzle-title{font-weight:500;color:#333}.status-badge{font-size:1.2rem}.status-badge.solved{color:#4caf50}.status-badge.unlocked{color:#ff6b35}.status-badge.locked{color:#999}.puzzle-detail{background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:1}.puzzle-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.puzzle-header h2{margin:0;color:#333;font-size:1.5rem}.status{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.status.solved{background:#e8f5e9;color:#2e7d32}.status.unlocked{background:#e3f2fd;color:#1565c0}.puzzle-info{margin-bottom:1rem;color:#666}.solved-time{color:#4caf50;font-weight:500}.answer-form{margin-bottom:2rem}.answer-form input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;margin-bottom:.5rem}.answer-form button{width:100%}.submissions-section h3{margin:1.5rem 0 1rem;color:#333}.no-submissions{color:#999;text-align:center;padding:2rem}.submissions-list{display:flex;flex-direction:column;gap:.75rem}.submission-item{padding:.75rem;border-radius:4px;border-left:4px solid}.submission-item.correct{background:#e8f5e9;border-color:#4caf50}.submission-item.almost{background:#fff3e0;border-color:#ff9800}.submission-item.incorrect{background:#ffebee;border-color:#f44336}.submission-answer{font-weight:500;display:block;margin-bottom:.25rem}.submission-status{font-size:.9rem;display:block;margin-bottom:.25rem}.hint-message{background:#0000000d;padding:.5rem;border-radius:4px;margin:.5rem 0;font-style:italic}.submission-time{font-size:.85rem;color:#999}.no-puzzle{text-align:center;padding:3rem;color:#999}.admin-portal{min-height:100vh;background:#f5f5f5}.admin-header{background:#333;color:#fff;padding:1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.admin-header h1{margin:0;font-size:1.5rem}.logout-btn{width:auto;padding:.5rem 1rem;background:#666}.admin-content{padding:1rem;max-width:1200px;margin:0 auto}.hunt-config,.puzzles-section{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem}.hunt-config h2,.puzzles-section h2{margin:0 0 1rem;color:#333}.config-info{margin-bottom:1rem}.config-info p{margin:.5rem 0;color:#666}.hunt-controls{margin:1rem 0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.btn-primary{background:#ff6b35;width:auto}.btn-primary:hover:not(:disabled){background:#e55a28}.btn-secondary{background:#999;width:auto}.btn-danger{background:#f44336;width:auto}.btn-small{padding:.4rem .75rem;font-size:.85rem;width:auto;margin-left:.5rem}.puzzle-form{background:#f5f5f5;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.puzzle-form h3{margin:0 0 1rem;color:#333}.form-actions{display:flex;gap:.5rem;margin-top:1rem}.puzzles-list{display:flex;flex-direction:column;gap:1rem;max-height:600px;overflow-y:auto}.puzzle-card{border:1px solid #ddd;border-radius:8px;padding:1rem;background:#fafafa}.puzzle-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.puzzle-card-header h3{margin:0;color:#333}.puzzle-actions{display:flex;gap:.5rem}.puzzle-details p{margin:.5rem 0;color:#666}.almost-solutions{margin-top:1rem;padding-top:1rem;border-top:1px solid #ddd}.almost-solutions h4{margin:0 0 .5rem;color:#333;font-size:1rem}.almost-solutions ul{list-style:none;padding:0;margin:.5rem 0}.almost-solutions li{padding:.5rem;background:#fff;border-radius:4px;margin-bottom:.5rem;display:flex;justify-content:space-between;align-items:center}.almost-solutions .empty{color:#999;font-style:italic}.almost-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.almost-form input{padding:.5rem;border:1px solid #ddd;border-radius:4px}.almost-form button{width:auto}.admin-leaderboard-page{min-height:100vh;background:#f5f5f5}.leaderboard-header{background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;padding:1.5rem;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.leaderboard-header h1{margin:0;font-size:2rem}.leaderboard-header .timer{background:#0000004d;padding:1rem 1.5rem;border-radius:8px;text-align:center;font-weight:500}.leaderboard-header .timer-label{font-size:.9rem;margin-bottom:.25rem}.leaderboard-header .timer-countdown{font-size:3rem;font-weight:700;line-height:1}.leaderboard-info-bubble{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:1.5rem;margin:1.5rem;box-shadow:0 2px 4px #0000001a}.leaderboard-info-bubble h1,.leaderboard-info-bubble h2,.leaderboard-info-bubble h3{color:#333;margin-top:0}.leaderboard-info-bubble p{color:#666;line-height:1.6;margin:.5rem 0}.leaderboard-info-bubble ul,.leaderboard-info-bubble ol{color:#666;line-height:1.6;margin:.5rem 0;padding-left:1.5rem}.leaderboard-info-bubble code{background:#0000001a;padding:.2rem .4rem;border-radius:3px;font-family:monospace}.leaderboard-info-bubble pre{background:#0000000d;padding:1rem;border-radius:4px;overflow-x:auto}.leaderboard-info-bubble pre code{background:none;padding:0}.leaderboard-content{padding:1.5rem}.leaderboard-grid-container{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto;margin-bottom:1rem}.leaderboard-grid table{width:100%;border-collapse:collapse;font-size:.9rem}.leaderboard-grid th,.leaderboard-grid td{padding:.4rem .5rem;text-align:center;border:1px solid #ddd;min-width:60px}.leaderboard-grid th{background:#333;color:#fff;font-weight:500;position:sticky;top:0;z-index:10}.leaderboard-grid .sticky-col{position:sticky;left:0;background:#fff;z-index:5}.leaderboard-grid th.sticky-col{background:#333;z-index:15}.leaderboard-grid .team-col{left:50px;min-width:150px;text-align:left}.leaderboard-grid .points-col{left:200px;min-width:80px}.leaderboard-grid .solved-col{left:280px;min-width:80px}.leaderboard-grid .rank-cell{font-weight:700;color:#ff6b35}.leaderboard-grid .puzzle-header{display:flex;flex-direction:column;gap:.1rem}.leaderboard-grid .puzzle-title{font-weight:500}.leaderboard-grid .puzzle-points{font-size:.75rem;color:#fff9}.leaderboard-grid .puzzle-header .puzzle-title{color:#fff}.leaderboard-grid .puzzle-cell{font-size:1rem}.leaderboard-grid .puzzle-cell.solved{background:#ffe5db;color:#ff6b35;font-weight:700}.leaderboard-grid .puzzle-cell.unsolved{background:#f5f5f5;color:#999;font-size:.85rem}.back-link{text-align:center;padding:1rem}.back-link a{color:#ff6b35;text-decoration:none;font-size:.9rem}.back-link a:hover{text-decoration:underline}@media(min-width:768px){.portal-content{flex-direction:row}.puzzle-list{min-width:250px;max-width:300px}.almost-form{flex-direction:row}.form-actions button{flex:1}}
