@font-face{font-family:Planeswalker;src:url(/assets/Planewalker-Dg6mN_dK.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Planeswalker;src:url(/assets/PlanewalkerBold-BfOL6CWW.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Planeswalker;src:url(/assets/PlanewalkerItalic-AwagqJZq.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:Planeswalker;src:url(/assets/PlanewalkerBoldItalic-D_nBAT4S.ttf) format("truetype");font-weight:700;font-style:italic}:root{--bg-brown: #2d1f15;--bg-brown-deep: #1a1108;--bg-brown-light: #3d2f25;--accent-blue: #4a9fd8;--accent-green: #4db560;--accent-red: #d84a48;--text-primary: #f5f0e8;--text-secondary: #a89d94;--border-color: #4d3d2f;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-brown);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--accent-blue);text-decoration:inherit}a:hover{color:var(--accent-blue);opacity:.8}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden}h1,h2,h3{font-family:Planeswalker,system-ui,sans-serif}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid var(--border-color);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--bg-brown-light);color:var(--text-primary);cursor:pointer;transition:all .25s}button:hover{background-color:var(--bg-brown-light);opacity:.8}button:focus,button:focus-visible{outline:2px solid var(--accent-blue)}.ladder-page{padding:1.5rem;flex:1;display:flex;flex-direction:column;align-items:center}.ladder-loading{color:var(--text-secondary);padding:2rem}.ladder-header{width:100%;max-width:800px;display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.ladder-header h1{margin:0;font-size:2rem;color:var(--text-primary);text-align:center}.ladder-search{padding:.75rem;font-size:1rem;background-color:var(--bg-brown-deep);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;transition:border-color .2s}.ladder-search:focus{outline:none;border-color:var(--accent-blue)}.ladder-search::placeholder{color:var(--text-secondary);opacity:.5}.ladder-table-container{width:100%;max-width:800px;overflow-x:auto;background-color:var(--bg-brown-deep);border:1px solid var(--border-color);border-radius:8px}.ladder-table{width:100%;border-collapse:collapse}.ladder-table thead{background-color:var(--bg-brown);border-bottom:2px solid var(--accent-blue)}.ladder-table th{padding:1rem .75rem;text-align:left;font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.ladder-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .2s}.ladder-table tbody tr:hover{background-color:var(--bg-brown-light);opacity:.8}.ladder-table tbody tr:last-child{border-bottom:none}.ladder-table td{padding:1rem .75rem;color:var(--text-primary)}.rank-col{width:60px;text-align:center;font-weight:600;color:var(--accent-blue)}.alias-col{min-width:150px;font-weight:500}.name-col{min-width:120px}.elo-col{width:100px;text-align:center;font-weight:700;color:var(--accent-blue);font-size:1.1rem}.record-col{width:80px;text-align:center;color:var(--text-secondary);font-family:monospace}.no-players{text-align:center;color:var(--text-secondary);padding:2rem!important}@media(max-width:640px){.ladder-page{padding:1rem}.ladder-header h1{font-size:1.5rem}.ladder-table th,.ladder-table td{padding:.75rem .5rem;font-size:.875rem}.rank-col{width:40px}.alias-col,.name-col{min-width:100px}.elo-col{width:70px;font-size:1rem}.record-col{width:60px;font-size:.75rem}}.player-selector-modal{width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column}.player-selector-search{padding:.75rem;font-size:1rem;background-color:var(--bg-brown-deep);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;margin-bottom:1rem;transition:border-color .2s}.player-selector-search:focus{outline:none;border-color:var(--accent-blue)}.player-selector-search::placeholder{color:var(--text-secondary);opacity:.5}.player-selector-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.player-selector-loading,.no-players-found{text-align:center;color:var(--text-secondary);padding:2rem}.player-selector-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:var(--bg-brown-deep);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s}.player-selector-item:hover{background-color:var(--bg-brown-light);border-color:var(--accent-blue)}.player-info{display:flex;flex-direction:column;gap:.25rem}.player-name{font-size:1rem;font-weight:600;color:var(--text-primary)}.player-details{display:flex;gap:.5rem;font-size:.875rem}.player-firstname{color:var(--text-secondary)}.player-elo{font-size:1.25rem;font-weight:700;color:var(--accent-blue)}.deck-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background-color:var(--bg-brown-deep);border:1px solid var(--border-color);border-radius:4px;gap:1rem;transition:border-color .2s}.deck-item:hover{border-color:var(--accent-blue)}.deck-info{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.deck-name{font-weight:500;color:var(--text-primary);text-decoration:none;transition:color .2s}.deck-name:hover{color:var(--accent-blue)}.deck-url{font-size:.75rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deck-delete-btn{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background-color:transparent;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .2s;font-size:1rem;padding:0}.deck-delete-btn:hover{background-color:var(--accent-red);border-color:var(--accent-red);color:var(--text-primary)}.deck-selector-modal{width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column}.deck-selector-search{padding:.75rem;font-size:1rem;background-color:var(--bg-brown-deep);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;margin-bottom:1rem;transition:border-color .2s}.deck-selector-search:focus{outline:none;border-color:var(--accent-blue)}.deck-selector-search::placeholder{color:var(--text-secondary);opacity:.5}.back-to-players-btn{padding:.5rem 1rem;font-size:.875rem;background-color:var(--bg-brown-deep);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;margin-bottom:1rem;transition:all .2s}.back-to-players-btn:hover{background-color:var(--bg-brown-light);border-color:var(--accent-blue);color:var(--text-primary)}.deck-selector-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.deck-selector-loading,.no-items-found{text-align:center;color:var(--text-secondary);padding:2rem}.deck-selector-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:var(--bg-brown-deep);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s}.deck-selector-item:hover{background-color:var(--bg-brown-light);border-color:var(--accent-blue)}.deck-selector-item .player-name,.deck-selector-item .deck-name{font-size:1rem;font-weight:600;color:var(--text-primary);flex:1}.deck-selector-item .deck-count{font-size:.875rem;color:var(--text-secondary)}.deck-dropdown{position:relative;width:100%}.deck-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;padding:.75rem;font-size:1rem;background-color:var(--bg-brown-deep);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:border-color .2s}.deck-dropdown-trigger:hover{border-color:var(--accent-blue)}.selected-value{color:var(--text-primary)}.placeholder-value{color:var(--text-secondary);opacity:.7}.dropdown-arrow{color:var(--text-secondary);font-size:.75rem;margin-left:.5rem}.deck-dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;right:0;background-color:var(--bg-brown);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 6px #0000004d;z-index:1000;max-height:300px;display:flex;flex-direction:column;overflow:hidden}.deck-dropdown-search{padding:.75rem;font-size:1rem;background-color:var(--bg-brown-deep);color:var(--text-primary);border:none;border-bottom:1px solid var(--border-color);outline:none}.deck-dropdown-search:focus{background-color:var(--bg-brown-light)}.deck-dropdown-search::placeholder{color:var(--text-secondary);opacity:.5}.deck-dropdown-list{overflow-y:auto;flex:1}.deck-dropdown-item{padding:.75rem;cursor:pointer;transition:all .2s;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.deck-dropdown-item:last-child{border-bottom:none}.deck-dropdown-item:hover{background-color:var(--bg-brown-light)}.deck-dropdown-item.selected{background-color:var(--bg-brown-light);color:var(--accent-blue);font-weight:600}.deck-dropdown .no-decks-message{padding:1rem;text-align:center;color:var(--text-secondary)}.modal-overlay{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background-color:var(--bg-brown);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;position:relative;box-shadow:0 4px 6px #00000080}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.modal-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.modal-close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close-btn:hover{color:var(--text-primary)}.log-match-modal{width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.match-form{display:flex;flex-direction:column;gap:2rem}.player-section{display:flex;flex-direction:column;gap:.75rem}.player-section h3{margin:0;font-size:1.125rem;color:var(--text-primary)}.player-section label{font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-top:.5rem}.player-display{padding:.75rem;background-color:var(--bg-brown-deep);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-weight:500}.player-display.clickable{cursor:pointer;transition:all .2s}.player-display.clickable:hover{border-color:var(--accent-blue);background-color:var(--bg-brown-light)}.player-display .placeholder{color:var(--text-secondary);opacity:.5}.player-section select{padding:.75rem;font-size:1rem;background-color:var(--bg-brown-deep);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:border-color .2s}.player-section select:focus{outline:none;border-color:var(--accent-blue)}.player-section select:disabled{opacity:.5;cursor:not-allowed}.wins-checkboxes{display:flex;gap:1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem}.modal-discard-btn,.modal-save-btn{flex:1;padding:.75rem;font-size:1rem;font-weight:600;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.modal-discard-btn{background-color:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.modal-discard-btn:hover{background-color:var(--bg-brown-light);color:var(--text-primary)}.modal-save-btn:hover{opacity:.8}.select-other-deck-btn{padding:.5rem 1rem;font-size:.875rem;background-color:transparent;color:var(--accent-blue);border:1px solid var(--accent-blue);border-radius:4px;cursor:pointer;transition:all .2s;margin-top:.5rem}.select-other-deck-btn:hover{background-color:var(--bg-brown-light);opacity:.8}.no-decks-message{padding:.75rem;background-color:var(--bg-brown-deep);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-style:italic;text-align:center}.confirmation-modal{width:90%;max-width:400px}.confirmation-message{color:var(--text-primary);line-height:1.6;margin:1rem 0}.confirmation-message strong{color:var(--accent-blue)}.matches-page{height:100% -2rem;flex:1;flex-grow:1;display:flex;flex-direction:column;align-items:center;position:relative}.matches-loading,.matches-login-prompt{color:var(--text-secondary);padding:2rem}.matches-header{width:100%;max-width:600px;display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.matches-header h1{margin:0;font-size:2rem;color:var(--text-primary);text-align:center}.matches-search{padding:.75rem;font-size:1rem;background-color:var(--bg-brown-deep);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;transition:border-color .2s}.matches-search:focus{outline:none;border-color:var(--accent-blue)}.matches-search::placeholder{color:var(--text-secondary);opacity:.5}.matches-list{width:100%;max-width:600px;display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.no-matches{text-align:center;color:var(--text-secondary);padding:2rem}.match-item{background-color:var(--bg-brown-deep);border:1px solid var(--border-color);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.match-result{display:flex;align-items:center;gap:.75rem;font-style:italic}.match-wins{display:flex;gap:.25rem;min-width:40px}.win-check{font-size:1.25rem;font-weight:700;line-height:1}.match-result.winner{color:var(--accent-green)}.match-result.loser{color:var(--accent-red)}.match-result .player-name{font-weight:600;min-width:100px;font-style:normal}.match-result .deck-name{flex:1;font-weight:500;cursor:pointer}.match-result .deck-name.copied{color:#4a90e2;font-style:normal}.match-result .elo-change{font-weight:700;min-width:50px;text-align:right;margin-left:auto}.log-match-btn{position:fixed;bottom:calc(70px + 2rem);left:0;right:0;width:100%;max-width:600px;margin:0 auto;padding:1rem;font-size:1rem;font-weight:600;background-color:var(--accent-blue);color:var(--text-primary);border:none;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px #00000080}.log-match-btn:hover{opacity:.8}@media(max-width:640px){.matches-header h1{font-size:1.5rem}.match-result{font-size:.875rem}.match-result .player-name{min-width:80px}.match-score{font-size:1.25rem}.log-match-btn{max-width:calc(100% - 2rem);margin:0 1rem}}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.modal-content{background-color:var(--bg-brown);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;width:100%;max-width:400px;display:flex;flex-direction:column;gap:1.5rem}.modal-content h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.modal-form{display:flex;flex-direction:column;gap:1rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.modal-discard-btn,.modal-save-btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.modal-discard-btn{background-color:var(--bg-brown-deep);color:var(--text-primary);border:1px solid var(--border-color)}.modal-discard-btn:hover{opacity:.8}.modal-save-btn{background-color:var(--accent-blue);color:var(--text-primary)}.modal-save-btn:hover:not(:disabled){opacity:.8}.modal-save-btn:disabled{opacity:.5;cursor:not-allowed}.form-group input:disabled{opacity:.7;cursor:not-allowed;background-color:var(--bg-brown-deep)}.profile-page{padding:0;flex:1;display:flex;align-items:center;justify-content:center}.login-container{width:100%;max-width:400px;display:flex;align-items:center;justify-content:center;padding:0 1rem}.login-form{width:100%;display:flex;flex-direction:column;gap:1.5rem}.email-auth-section{display:flex;flex-direction:column;gap:1rem;width:100%}.email-login-btn{width:100%;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;background-color:var(--accent-blue);color:var(--text-primary);border:none;border-radius:4px;cursor:pointer;transition:all .2s}.email-login-btn:hover{opacity:.8}.auth-divider{display:flex;align-items:center;text-align:center;color:var(--text-secondary);margin:.5rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.auth-divider span{padding:0 1rem;font-size:.875rem;font-weight:500}.auth-error{padding:.75rem;background-color:#d84a481a;border:1px solid var(--accent-red);border-radius:4px;color:var(--accent-red);font-size:.875rem;text-align:center}.google-login-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;background-color:var(--bg-brown-light);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s}.google-login-btn:hover{opacity:.8}.google-login-btn svg{flex-shrink:0}.profile-loading{color:var(--text-secondary)}.profile-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:400px;padding:0 1rem}.profile-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:1rem}.profile-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid var(--accent-blue)}.profile-header h2{margin:0;font-size:1.5rem}.profile-email{color:var(--text-secondary);margin:0;text-align:left;flex:1}.profile-stats{display:flex;gap:2rem;width:100%;justify-content:center;padding:1rem 0}.stats-loading{display:flex;align-items:center;justify-content:center;width:100%}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.stat-item label{font-size:.875rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-item .stat-value{font-size:1.5rem;font-weight:700;color:var(--accent-blue)}.sign-out-btn{padding:.5rem 1.25rem;font-size:.875rem;background-color:transparent;color:var(--accent-red);border:1px solid var(--accent-red);border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap}.sign-out-btn:hover{opacity:.8}.profile-form{width:100%;display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-group input{padding:.75rem;font-size:1rem;background-color:var(--bg-brown-deep);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--accent-blue)}.form-group input::placeholder{color:var(--text-secondary);opacity:.5}.decks-section{width:100%;display:flex;flex-direction:column;gap:1rem;background-color:var(--bg-brown-deep);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem}.decks-section h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary)}.deck-search{padding:.75rem;font-size:1rem;background-color:var(--bg-brown-deep);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;transition:border-color .2s}.deck-search:focus{outline:none;border-color:var(--accent-blue)}.deck-search::placeholder{color:var(--text-secondary);opacity:.5}.decks-list{display:flex;flex-direction:column;gap:.75rem}.add-deck-btn{padding:.75rem;font-size:1rem;background-color:transparent;color:var(--accent-blue);border:1px solid var(--accent-blue);border-radius:4px;cursor:pointer;transition:all .2s}.add-deck-btn:hover{background-color:var(--bg-brown-light);opacity:.8}.bottom-nav{flex-shrink:0;flex-grow:0;display:flex;justify-content:space-around;align-items:center;background-color:var(--bg-brown-deep);border-top:1px solid var(--border-color);padding:.5rem 0;height:70px}.nav-button{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:var(--text-secondary);transition:color .2s;flex:1;padding:.5rem}.nav-button:hover{color:var(--text-primary)}.nav-button.active{color:var(--accent-blue)}.nav-icon{font-size:2rem}.save-bar{flex-shrink:0;flex-grow:0;display:flex;justify-content:space-between;align-items:center;background-color:#1a1a1a;border-top:1px solid #333;padding:.75rem 1rem;gap:1rem;height:70px}.discard-btn,.save-changes-btn{flex:1;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.discard-btn{background-color:#333;color:#fff}.discard-btn:hover{background-color:#444}.save-changes-btn{background-color:#646cff;color:#fff}.save-changes-btn:hover{background-color:#535bf2}.match-approval-modal{width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.approval-loading{text-align:center;color:var(--text-secondary);padding:2rem}.approval-form{display:flex;flex-direction:column;gap:2rem}#root{width:100%;height:100%}.app{display:flex;flex-direction:column;height:100%;width:100%}.content{flex-grow:1;flex-shrink:1;flex-basis:0;overflow-y:auto;overflow-x:hidden}.page{padding:2rem 1rem 0;min-height:100% -2rem;display:flex;flex-direction:column}.page h1{font-size:2rem;margin-bottom:1rem}.page p{color:var(--text-secondary)}
