.name-entry{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 30px #0000004d;max-width:600px;width:100%}.entry-title{text-align:center;color:#333;font-size:1.8rem;margin:0 0 1.5rem;font-weight:700}.entry-header{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem}.entry-image{width:250px;height:auto;border-radius:12px;flex-shrink:0}.instructions{color:#555;line-height:1.6;text-align:center;margin:0 0 1rem}.file-upload-section{display:flex;flex-direction:column;align-items:center;gap:.5rem}.file-upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-block}.file-upload-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.file-upload-hint{color:#888;font-size:.85rem}.divider{text-align:center;margin:1.5rem 0;position:relative}.divider:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#e0e0e0}.divider span{background:#fff;padding:0 1rem;position:relative;color:#999;font-weight:600}.name-inputs{max-height:400px;overflow-y:auto;margin-bottom:1.5rem;padding-right:.5rem}.name-input-row{display:flex;gap:.5rem;margin-bottom:.75rem}.name-input-row input{flex:1;padding:.75rem;border:2px solid #e0e0e0;border-radius:.5rem;font-size:1rem;transition:border-color .2s}.name-input-row input:focus{outline:none;border-color:#667eea}.remove-btn{background:#ff4757;color:#fff;border:none;border-radius:.5rem;width:2.5rem;font-size:1.5rem;cursor:pointer;transition:background .2s}.remove-btn:hover{background:#ff3838}.actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.add-btn,.start-btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.add-btn{background:#f1f2f6;color:#333}.add-btn:hover{background:#dfe4ea}.start-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.start-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.start-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.name-entry{padding:1.5rem}.name-inputs{max-height:300px}.entry-header{flex-direction:column;text-align:center}.entry-image{width:200px}.instructions{text-align:center}}.bracket{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 30px #0000004d;max-width:1400px;width:100%}.voting-section{background:#f8f9fa;border-radius:1rem;padding:2rem;margin-bottom:2rem}.bracket-header{text-align:center;margin-bottom:2rem}.bracket-header h2{color:#667eea;font-size:2rem;margin-bottom:.5rem}.bracket-header p{color:#888}.matchup{display:flex;flex-direction:column;gap:1rem;align-items:center;margin-bottom:3rem}.name-choice{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:.75rem;padding:2rem;font-size:1.5rem;font-weight:600;cursor:pointer;width:100%;max-width:400px;transition:all .3s;box-shadow:0 4px 15px #667eea4d}.name-choice:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 8px 25px #667eea80}.name-choice:active{transform:translateY(-2px)}.vs{color:#999;font-weight:700;font-size:1.2rem;margin:.5rem 0}.bracket-progress{background:#f8f9fa;border-radius:.5rem;padding:1.5rem;margin-top:2rem}.bracket-progress h3{color:#333;margin-bottom:1rem;font-size:1.2rem}.round-summary{margin-bottom:1.5rem}.round-summary:last-child{margin-bottom:0}.round-summary strong{color:#555;display:block;margin-bottom:.5rem}.matches{display:flex;flex-wrap:wrap;gap:.5rem}.match{background:#fff;padding:.5rem .75rem;border-radius:.25rem;font-size:.9rem;border:1px solid #e0e0e0}.match.completed{background:#d4edda;border-color:#c3e6cb;color:#155724}.match.pending{color:#999}.winner-screen{background:#f8f9fa;border-radius:1rem;padding:3rem;text-align:center;margin-bottom:2rem}.winner-screen h2{color:#555;font-size:1.5rem;margin-bottom:1.5rem}.winner-name{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:3rem;font-weight:700;padding:2rem;border-radius:1rem;margin-bottom:2rem;box-shadow:0 8px 25px #667eea66;animation:celebrate .6s ease-out}@keyframes celebrate{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;flex-wrap:wrap}.skip-btn{background:#ffc107;color:#333;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.skip-btn:hover{background:#ffb300;transform:translateY(-2px)}.winner-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.reset-btn,.reset-btn-small{background:#6c757d;color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.reset-btn:hover,.reset-btn-small:hover{background:#5a6268}.reset-btn-small{padding:.75rem 1.5rem;font-size:1rem}@media(max-width:768px){.bracket,.winner-screen{padding:1.5rem}.name-choice{font-size:1.2rem;padding:1.5rem}.winner-name{font-size:2rem;padding:1.5rem}.bracket-header h2{font-size:1.5rem}}.bracket-visual{background:#f8f9fa;border-radius:1rem;padding:1.5rem;margin-bottom:2rem;overflow-x:auto}.bracket-visual h3{color:#333;margin-bottom:1rem;text-align:center;font-size:1.2rem}.bracket-rounds{display:flex;gap:2rem;justify-content:center;min-width:min-content;padding:1rem 0}.bracket-round{display:flex;flex-direction:column;gap:.75rem;min-width:180px}.round-label{text-align:center;font-weight:600;color:#667eea;font-size:.9rem;margin-bottom:.5rem;white-space:nowrap}.round-matches{display:flex;flex-direction:column;justify-content:space-around;gap:1rem;flex:1}.bracket-match{background:#fff;border:2px solid #e0e0e0;border-radius:.5rem;padding:.5rem;display:flex;flex-direction:column;gap:.25rem;transition:all .3s}.bracket-match.current{border-color:#667eea;box-shadow:0 0 0 3px #667eea33;transform:scale(1.05)}.bracket-match.completed{background:#d4edda;border-color:#c3e6cb}.bracket-match.pending{border-color:#ffc107;background:#fff9e6}.bracket-match.unplayed{background:#f8f9fa;border-style:dashed;opacity:.6}.bracket-name{padding:.4rem .5rem;background:#fff;border-radius:.25rem;font-size:.85rem;color:#333;display:flex;justify-content:space-between;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bracket-match.completed .bracket-name{background:#f8f9fa;opacity:.7}.bracket-match.completed .bracket-name:has(.winner-indicator){background:#fff;opacity:1;font-weight:600;color:#155724}.bracket-match.unplayed .bracket-name{color:#999;font-style:italic}.winner-indicator{color:#28a745;font-weight:700;margin-left:.5rem}.champion-round{min-width:200px}.champion-spot{flex:1;display:flex;align-items:center;justify-content:center}.champion-name{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem 1rem;border-radius:.5rem;font-weight:700;font-size:1.1rem;text-align:center;min-height:60px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #667eea4d}.champion-name:empty:before{content:"???";color:#ffffff80}@media(max-width:1200px){.bracket-visual{padding:1rem}.bracket-rounds{gap:1rem}.bracket-round{min-width:140px}.bracket-name{font-size:.75rem;padding:.3rem .4rem}.round-label{font-size:.8rem}}@media(max-width:768px){.bracket-visual h3{font-size:1rem}.bracket-rounds{gap:.75rem}.bracket-round{min-width:120px}.bracket-name{font-size:.7rem}.champion-name{font-size:.9rem;padding:1rem .5rem}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:1rem;padding:2rem;max-width:500px;width:100%;box-shadow:0 20px 60px #0006}.modal-content h2{margin:0 0 .5rem;color:#333;font-size:1.5rem}.modal-content p{margin:0 0 1.5rem;color:#666;font-size:.95rem}.modal-content input{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:.5rem;font-size:1rem;margin-bottom:1.5rem;box-sizing:border-box;transition:border-color .2s}.modal-content input:focus{outline:none;border-color:#667eea}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.modal-actions button{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.cancel-btn{background:#e0e0e0;color:#333}.cancel-btn:hover{background:#d0d0d0}.save-btn{background:#28a745;color:#fff}@media(max-width:768px){.modal-content{padding:1.5rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.rank-match{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 30px #0000004d;max-width:1400px;width:100%}.rank-header{text-align:center;margin-bottom:2rem}.rank-header h2{color:#667eea;font-size:2rem;margin-bottom:.5rem}.rank-header p{color:#888;margin-bottom:1.5rem}.progress-bar{background:#e0e0e0;border-radius:1rem;height:2rem;position:relative;overflow:hidden;margin-top:1rem}.progress-fill{background:linear-gradient(135deg,#667eea,#764ba2);height:100%;transition:width .3s ease;border-radius:1rem}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#333;font-weight:600;font-size:.9rem;z-index:1}.current-rankings{background:#f8f9fa;border-radius:1rem;padding:1.5rem;margin-top:2rem}.current-rankings h3{color:#333;margin-bottom:1rem;font-size:1.2rem}.rankings-list{display:flex;flex-direction:column;gap:.5rem}.ranking-item{background:#fff;padding:.75rem 1rem;border-radius:.5rem;display:flex;align-items:center;gap:1rem;border:1px solid #e0e0e0}.ranking-position{font-weight:700;color:#667eea;min-width:2.5rem}.ranking-name{flex:1;font-weight:600;color:#333}.ranking-stats{color:#666;font-size:.9rem}.rank-complete{text-align:center}.rank-complete h2{color:#667eea;font-size:2rem;margin-bottom:1rem}.rank-complete p{color:#666;font-size:1.1rem;margin-bottom:2rem}.final-rankings{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.rank-item{background:#fff;border:2px solid #e0e0e0;border-radius:.75rem;padding:1.5rem;display:flex;align-items:center;gap:1.5rem;transition:all .3s}.rank-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.rank-item.rank-1{background:linear-gradient(135deg,gold,#ffed4e);border-color:gold}.rank-item.rank-2{background:linear-gradient(135deg,silver,#e8e8e8);border-color:silver}.rank-item.rank-3{background:linear-gradient(135deg,#cd7f32,#e8a87c);border-color:#cd7f32}.rank-position{font-size:2rem;font-weight:700;color:#667eea;min-width:3rem}.rank-item.rank-1 .rank-position,.rank-item.rank-2 .rank-position,.rank-item.rank-3 .rank-position{color:#333}.rank-details{flex:1;text-align:left}.rank-name{font-size:1.5rem;font-weight:700;color:#333;margin-bottom:.25rem}.rank-stats{color:#666;font-size:1rem}.rank-item.rank-1 .rank-stats,.rank-item.rank-2 .rank-stats,.rank-item.rank-3 .rank-stats{color:#555}.rank-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}.save-result-btn{background:#28a745;color:#fff;border:none;border-radius:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.save-result-btn:hover{background:#218838;transform:translateY(-2px)}@media(max-width:768px){.rank-match{padding:1.5rem}.rank-header h2{font-size:1.5rem}.progress-text{font-size:.8rem}.ranking-item{padding:.5rem .75rem;font-size:.9rem}.rank-name{font-size:1.2rem}.rank-position{font-size:1.5rem;min-width:2.5rem}.rank-stats{font-size:.85rem}}.navbar{background:#fff;box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:100;width:100%}.navbar-content{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.navbar-title{color:#667eea;font-size:1.5rem;margin:0;font-weight:700}.navbar-tabs{display:flex;gap:.5rem}.nav-tab{padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .2s;color:#666}.nav-tab:hover{background:#f8f9fa;color:#667eea}.nav-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}@media(max-width:768px){.navbar-content{padding:1rem;flex-direction:column;gap:1rem;align-items:flex-start}.navbar-title{font-size:1.25rem}.nav-tab{padding:.5rem 1rem;font-size:.9rem}}.adsense-container{margin:1rem 0;min-height:250px;display:flex;align-items:center;justify-content:center}.adsense-placeholder{background:#f8f9fa;border:2px dashed #ddd;border-radius:.5rem;padding:2rem;text-align:center;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center}.ad-label{font-weight:600;color:#667eea;margin-bottom:.5rem;font-size:1.1rem}.ad-info{color:#666;font-size:.9rem;line-height:1.6}.footer{background-color:#f8f9fa;border-top:1px solid #dee2e6;padding:2rem 1rem;margin-top:4rem;text-align:center}.footer-content{max-width:1200px;margin:0 auto}.footer p{margin:.5rem 0;color:#6c757d;font-size:.9rem}.footer a{color:#007bff;text-decoration:none}.footer a:hover{text-decoration:underline}.footer-keywords{font-size:.75rem;color:#999;margin-top:1rem;line-height:1.6}.session-manager{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 30px #0000004d;max-width:700px;width:100%}.session-manager h2{text-align:center;color:#333;font-size:2rem;margin:0 0 1rem}.session-description{text-align:center;color:#666;margin-bottom:2rem;line-height:1.6}.session-actions{display:flex;gap:2rem;align-items:center}.session-action-card{flex:1;padding:1.5rem;border:2px solid #e0e0e0;border-radius:.75rem;transition:border-color .2s}.session-action-card:hover{border-color:#667eea}.session-action-card h3{margin:0 0 .5rem;color:#333;font-size:1.2rem}.session-action-card p{color:#666;font-size:.9rem;margin-bottom:1rem;line-height:1.5}.session-divider{font-weight:600;color:#999;text-align:center}.session-input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:.5rem;font-size:1rem;margin-bottom:1rem;transition:border-color .2s}.session-input:focus{outline:none;border-color:#667eea}.session-btn{width:100%;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.create-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.create-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.join-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.join-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #f5576c66}.session-btn:disabled{opacity:.5;cursor:not-allowed}.session-error{margin-top:1rem;padding:1rem;background:#fee;border:1px solid #fcc;border-radius:.5rem;color:#c33;text-align:center}@media(max-width:768px){.session-manager{padding:1.5rem}.session-actions{flex-direction:column}.session-divider{transform:rotate(90deg)}.session-manager h2{font-size:1.5rem}}.session-name-entry{background:#fff;border-radius:1rem;padding:2rem;box-shadow:0 10px 30px #0000004d;max-width:700px;width:100%}.session-info{background:#f8f9fa;border-radius:.5rem;padding:1rem;margin-bottom:1.5rem}.connection-status{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:1rem;font-size:.85rem;font-weight:600;color:#666}.status-indicator{width:10px;height:10px;border-radius:50%;background:#ccc}.status-indicator.connected{background:#28a745;box-shadow:0 0 5px #28a745}.status-indicator.disconnected{background:#dc3545}.session-share{margin-top:2.5rem}.session-share label{display:block;font-size:.9rem;color:#666;margin-bottom:.5rem}.share-link-container{display:flex;gap:.5rem}.share-link{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:.25rem;font-size:.9rem;font-family:monospace}.copy-btn{padding:.5rem 1rem;background:#667eea;color:#fff;border:none;border-radius:.25rem;cursor:pointer;font-weight:600;transition:background .2s}.copy-btn:hover{background:#5568d3}.session-names-display{background:#f8f9fa;border-radius:.5rem;padding:1rem;margin-bottom:1.5rem}.session-names-display h3{margin:0 0 1rem;color:#333}.names-list{display:flex;flex-wrap:wrap;gap:.5rem}.name-chip{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1rem;border-radius:1rem;font-size:.9rem;font-weight:600}.no-names{color:#999;font-style:italic;margin:0}.loading{text-align:center;padding:2rem;color:#666}.save-btn{background:#28a745;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.save-btn:hover:not(:disabled){background:#218838;transform:translateY(-2px)}.save-btn:disabled{opacity:.5;cursor:not-allowed}.saved-results{margin-top:3rem;padding-top:2rem;border-top:2px solid #e0e0e0}.saved-results h3{color:#333;font-size:1.3rem;margin-bottom:1.5rem}.results-list{display:flex;flex-direction:column;gap:1rem}.result-item{background:#f8f9fa;border-radius:.5rem;padding:1rem;border:1px solid #e0e0e0;transition:all .2s}.result-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.result-name{font-weight:600;font-size:1.1rem;color:#333}.result-type{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.85rem;font-weight:600}.result-date{color:#666;font-size:.85rem;margin-bottom:.5rem}.result-winner,.result-top3{color:#28a745;font-weight:600;font-size:.95rem;margin-top:.5rem}@media(max-width:768px){.session-name-entry{padding:1.5rem}.share-link-container{flex-direction:column}.copy-btn{width:100%}}.app{min-height:100vh;display:flex;flex-direction:column}.app-layout{flex:1;display:flex;gap:1rem;max-width:100vw;overflow-x:hidden}.sidebar{position:sticky;top:80px;height:fit-content;max-height:calc(100vh - 100px);overflow-y:auto;padding:1rem}.sidebar-left,.sidebar-right{flex:0 0 160px;min-width:160px}.app-content{flex:1;display:flex;flex-direction:column;align-items:center;padding:2rem;min-width:0}header{text-align:center;margin-bottom:2rem}header h1{color:#fff;font-size:2.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.3);margin-bottom:.5rem;line-height:1.3}@media(max-width:1200px){.sidebar{display:none}.app-layout{gap:0}}@media(max-width:768px){.app-content{padding:1rem}header h1{font-size:2rem}}.exit-session-btn{background:#dc3545;color:#fff;padding:.5rem 1rem;border:none;border-radius:.5rem;font-weight:600;cursor:pointer;margin:0 auto 1rem;display:block;transition:background .2s}.exit-session-btn:hover{background:#c82333}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}#root{min-height:100vh}
