body{margin:0;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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.theme-toggle-container{display:flex;align-items:center}.theme-toggle{position:relative;display:inline-block;width:60px;height:34px;cursor:pointer}.theme-toggle input{opacity:0;width:0;height:0}.slider{position:absolute;inset:0;background-color:#7f8c8d;transition:.4s;border-radius:34px}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#3498db}input:checked+.slider:before{transform:translate(26px)}.icon{position:absolute;top:50%;transform:translateY(-50%);font-size:18px;pointer-events:none}.icon.sun{left:7px;opacity:1;transition:opacity .2s ease-in-out}.icon.moon{right:7px;opacity:0;transition:opacity .2s ease-in-out}input:checked~.icon.sun{opacity:0}input:checked~.icon.moon{opacity:1}:root{color-scheme:light;--color-background: #f4f7f6;--color-text-primary: #333;--color-text-secondary: #555;--color-text-light: white;--color-panel-bg: white;--color-header-bg: #2c3e50;--color-border: #ddd;--color-border-light: #eee;--color-border-medium: #ccc;--color-border-heavy: #bdc3c7;--color-interactive-bg: #ecf0f1;--color-shadow: rgba(0, 0, 0, .1);--color-shadow-header: rgba(0, 0, 0, .2);--color-shadow-modal: rgba(0, 0, 0, .3);--color-backdrop: rgba(0, 0, 0, .6);--color-highlight-bg: #d4edda;--color-highlight-hover: #f9f9f9;--color-warning-bg: #fff9e6;--color-warning-bg-hover: #fff2d1;--color-warning-border: #e67e22;--color-warning-icon-bg: #fce1d0;--color-warning-icon-text: #e67e22;--color-tooltip-bg: #2c3e50;--color-tooltip-text: white;--color-checklist-tooltip-bg: #f39c12;--color-checklist-tooltip-text: #2c3e50;--color-g1-border: #27ae60;--color-g2-border: #e67e22;--color-g3-border: #e74c3c;--color-career-border: #3498db;--color-accent-blue: #3498db;--color-accent-blue-hover: #2980b9;--color-accent-green: #27ae60;--color-accent-green-hover: #2ecc71;--color-accent-red: #e74c3c;--color-accent-red-hover: #c0392b;--color-accent-orange: #f39c12;--color-accent-orange-hover: #e67e22;--color-accent-gray: #95a5a6;--color-accent-gray-hover: #7f8c8d;--color-accent-dark-blue: #34495e;--color-accent-dark-blue-hover: #2c3e50}body.dark-mode{color-scheme:dark;--color-background: #121212;--color-text-primary: #e0e0e0;--color-text-secondary: #a0a0a0;--color-text-light: #e0e0e0;--color-panel-bg: #1e1e1e;--color-header-bg: #1e1e1e;--color-border: #333;--color-border-light: #2a2a2a;--color-border-medium: #444;--color-border-heavy: #555;--color-interactive-bg: #2c2c2c;--color-shadow: rgba(0, 0, 0, .3);--color-shadow-header: rgba(0, 0, 0, .5);--color-shadow-modal: rgba(0, 0, 0, .5);--color-backdrop: rgba(0, 0, 0, .7);--color-highlight-bg: #2a4a3a;--color-highlight-hover: #252525;--color-warning-bg: #4a412a;--color-warning-bg-hover: #5a513a;--color-warning-border: #f39c12;--color-warning-icon-bg: #5c3f2f;--color-warning-icon-text: #f39c12;--color-tooltip-bg: #f0f0f0;--color-tooltip-text: #121212;--color-checklist-tooltip-bg: #f39c12;--color-checklist-tooltip-text: #121212;--color-g1-border: #2ecc71;--color-g2-border: #f39c12;--color-g3-border: #e74c3c;--color-career-border: #3498db;--color-accent-blue: #3498db;--color-accent-green: #2ecc71}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--color-background);color:var(--color-text-primary);transition:background-color .3s ease,color .3s ease}footer{text-align:center;padding:20px;font-size:.8em;color:var(--color-text-secondary)}.App-header{background-color:var(--color-header-bg);padding:20px;color:var(--color-text-light);text-align:center;box-shadow:0 2px 4px var(--color-shadow-header);z-index:100;position:relative;display:flex;justify-content:space-between;align-items:center}.App-header h1{margin:0;flex-grow:1;text-align:center;padding-left:80px;font-size:1.5em}.container{display:flex;padding:20px;gap:20px;align-items:flex-start}.left-panel{flex:1;display:flex;flex-direction:column;gap:20px;max-width:520px;min-width:420px}.panel-section{background:var(--color-panel-bg);padding:20px;border-radius:8px;box-shadow:0 2px 4px var(--color-shadow)}h2{margin-top:0;margin-bottom:15px;font-size:1.2em;border-bottom:2px solid var(--color-interactive-bg);padding-bottom:10px;display:flex;justify-content:space-between;align-items:center}h4{margin-top:0;margin-bottom:8px}.collapsible-header{cursor:pointer;-webkit-user-select:none;user-select:none}.collapsible-header span{display:inline-block;width:1.6em;text-align:center;font-size:.9em}.search-bar{width:calc(100% - 22px);padding:10px;margin-bottom:10px;border:1px solid var(--color-border-medium);border-radius:4px;font-size:1em;background-color:var(--color-background);color:var(--color-text-primary)}.character-list{list-style-type:none;padding:0;margin:0;max-height:250px;overflow-y:auto;border:1px solid var(--color-border);border-radius:4px}.character-list li{padding:10px;cursor:pointer;border-bottom:1px solid var(--color-border-light)}.character-list li:hover{background-color:var(--color-accent-blue);color:var(--color-text-light)}.aptitude-editor .aptitude-group:last-child{margin-bottom:0}.aptitude-editor .aptitude-group{margin-bottom:15px}.aptitude-editor .aptitude-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.aptitude-item{display:flex;flex-direction:column}.aptitude-item label{font-weight:700;margin-bottom:5px;font-size:.9em}.aptitude-item select{padding:5px;border-radius:4px;border:1px solid var(--color-border-medium);background-color:var(--color-background);color:var(--color-text-primary)}.free-play-toggle{background-color:var(--color-interactive-bg);padding:10px;border-radius:5px;margin-bottom:10px}.free-play-toggle label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:700}.filters-container{display:flex;flex-direction:column;gap:20px}.show-hide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.checkbox-filter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 30px}.aptitude-filter-item-group{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filter-group{display:flex;flex-direction:column;gap:10px}.filter-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.filter-group hr{width:100%;border:none;border-top:1px solid var(--color-border-light);margin:5px 0}.aptitude-filter-item{display:flex;align-items:center;gap:8px}.aptitude-filter-item select{padding:5px;border-radius:4px;border:1px solid var(--color-border-medium);flex-grow:0;width:80px;background-color:var(--color-background);color:var(--color-text-primary)}.generate-button{background-color:var(--color-accent-green);color:var(--color-text-light);border:none;padding:10px 20px;font-size:1em;font-weight:700;border-radius:8px;cursor:pointer;white-space:nowrap}.generate-button:hover{background-color:var(--color-accent-green-hover)}.generate-button:disabled{background-color:var(--color-accent-gray);cursor:not-allowed}.data-source a{color:var(--color-accent-blue);text-decoration:none}.data-source a:hover{text-decoration:underline}.known-issues ul{padding-left:20px;margin:0}.known-issues li{font-size:.9em;color:var(--color-text-secondary);margin-bottom:5px}.epithet-list ul{padding-left:20px;margin:0;list-style-type:disc}.epithet-list li{font-size:.9em;color:var(--color-text-secondary);margin-bottom:8px;line-height:1.5}.epithet-list li:last-child{margin-bottom:0}.epithet-list li strong{color:var(--color-text-primary);font-weight:700}.epithet-helper .epithet-list-container{display:flex;flex-direction:column;gap:15px;max-height:400px;overflow-y:auto;padding-right:5px}.epithet-item{background-color:var(--color-interactive-bg);border-radius:6px;padding:12px;border-left:4px solid var(--color-border-medium)}.epithet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.epithet-header h4{margin:0;font-size:1em}.epithet-badge{font-size:.8em;font-weight:700;padding:3px 8px;border-radius:12px;color:var(--color-text-light)}.epithet-badge.recommended{background-color:var(--color-accent-green)}.epithet-badge.not-recommended{background-color:var(--color-accent-gray)}.epithet-badge.complete{background-color:var(--color-accent-blue)}.epithet-badge.impossible{background-color:var(--color-accent-red)}.epithet-progress{font-size:.9em;color:var(--color-text-secondary);margin-bottom:10px}.epithet-actions button{width:100%;padding:8px;font-size:.9em;font-weight:700;cursor:pointer;border:none;border-radius:4px;background-color:var(--color-accent-dark-blue);color:var(--color-text-light)}.epithet-actions button:hover{background-color:var(--color-accent-dark-blue-hover)}.epithet-reason{font-size:.85em;color:var(--color-accent-red);margin-top:8px;background:#e74c3c1a;padding:5px;border-radius:4px}.fan-input-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fan-input-group label{font-weight:700}.fan-bonus-input{width:60px;padding:5px;border-radius:4px;border:1px solid var(--color-border-medium);background-color:var(--color-background);color:var(--color-text-primary);font-size:1em}.fan-input-group span{font-weight:500;display:inline-flex;align-items:center}.race-list-panel{display:flex;flex-direction:column;flex-grow:1;background:var(--color-panel-bg);padding:20px;border-radius:8px;box-shadow:0 2px 4px var(--color-shadow);max-height:90vh;position:relative}.race-list-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding-bottom:10px;gap:20px;flex-wrap:wrap}.race-list-title-group{display:flex;align-items:center;gap:15px;flex-grow:1}.race-list-actions{display:flex;gap:10px;align-items:center}.race-list-controls{display:flex;justify-content:space-between;align-items:center;padding:10px;background-color:var(--color-interactive-bg);border-radius:6px;margin-bottom:10px;flex-wrap:wrap;gap:15px}.show-only-selected-toggle{font-weight:700;cursor:pointer}.table-container{flex-grow:1;overflow-y:auto;position:relative}table{width:100%;border-collapse:separate;border-spacing:0}thead{position:sticky;top:0;z-index:10}th{background-color:var(--color-interactive-bg);padding:10px 8px;text-align:left;font-size:14px;white-space:nowrap;border-bottom:2px solid var(--color-border-heavy)}td{border-bottom:1px solid var(--color-border);padding:10px 8px;text-align:left;font-size:14px;white-space:nowrap}tr{transition:background-color .1s ease}tr:hover{background-color:var(--color-highlight-hover)}.highlighted-race{background-color:var(--color-highlight-bg)!important}.date-group-start td{border-top:2px solid var(--color-accent-blue)}.distance-name-column{text-transform:capitalize}.col-select,.col-status,.col-career,.col-exclusive{text-align:center}.col-select,.col-status{width:3%}.col-career{width:4%}.col-date{width:14%}.col-grade{width:6%}.col-name{width:25%}.col-track{width:6%}.col-dist-name{width:8%}.col-dist-m{width:6%}.col-fans{width:6%;text-align:right}.col-exclusive{width:8%}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--color-backdrop);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:var(--color-panel-bg);padding:20px;border-radius:8px;box-shadow:0 5px 15px var(--color-shadow-modal);width:90%;max-width:500px}.modal-input{width:calc(100% - 22px);padding:10px;margin-top:10px;border:1px solid var(--color-border-medium);border-radius:4px;font-size:1em;background-color:var(--color-background);color:var(--color-text-primary)}.modal-body p{margin:10px 0;line-height:1.5}.modal-footer{margin-top:20px;display:flex;justify-content:flex-end;gap:10px}.modal-button{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-size:1em;font-weight:700}.modal-button.confirm{background-color:var(--color-accent-green);color:var(--color-text-light)}.modal-button.cancel{background-color:var(--color-accent-red);color:var(--color-text-light)}.manager-button{width:100%;background-color:var(--color-accent-dark-blue);color:var(--color-text-light);border:none;padding:10px;font-size:1em;border-radius:5px;cursor:pointer;margin-top:5px}.manager-button:hover{background-color:var(--color-accent-dark-blue-hover)}.manager-button:disabled{background-color:var(--color-accent-gray);cursor:not-allowed}.saved-checklists-list{margin-top:15px;display:flex;flex-direction:column;gap:10px}.saved-checklist-item{display:block;background:var(--color-highlight-hover);padding:8px;border-radius:4px}.checklist-name{font-weight:700;font-size:.9em;word-break:break-all;display:block;margin-bottom:8px}.checklist-actions{display:flex;align-items:center;gap:5px;flex-shrink:0}.checklist-actions button{font-size:.8em;padding:3px 6px;cursor:pointer;border:1px solid var(--color-border-heavy);background:var(--color-panel-bg);color:var(--color-text-primary);border-radius:3px}.checklist-actions button:disabled{opacity:.4;cursor:not-allowed}.checklist-actions .load-button{background-color:var(--color-accent-blue);border-color:var(--color-accent-blue);color:var(--color-text-light);font-weight:700}.checklist-actions .load-button:hover{background-color:var(--color-accent-blue-hover)}.checklist-actions .delete-button{background:var(--color-accent-red);color:var(--color-text-light);border-color:var(--color-accent-red)}.io-buttons{display:flex;gap:10px;margin-top:15px}.checklist-page{padding:20px;max-width:1200px;margin:auto}.checklist-page-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:20px;gap:15px}.checklist-page-header h2{grid-column:2;text-align:center;margin-bottom:0}.current-checklist-name{margin:4px 0 0;font-size:.9em;font-weight:400;color:var(--color-text-secondary)}.back-button{grid-column:1;justify-self:start;background:var(--color-accent-blue);color:var(--color-text-light);border:none;padding:10px 20px;font-size:1em;border-radius:5px;cursor:pointer}.back-button:hover{background:var(--color-accent-blue-hover)}.checklist-page-actions{grid-column:3;justify-self:end;display:flex;gap:10px;flex-wrap:wrap}.action-button{background-color:var(--color-accent-gray);color:var(--color-text-light);border:none;padding:8px 12px;font-size:.9em;border-radius:5px;cursor:pointer}.action-button:hover{background-color:var(--color-accent-gray-hover)}.clear-button{background-color:var(--color-accent-orange)}.clear-button:hover{background-color:var(--color-accent-orange-hover)}.checklist-sticky-header{position:sticky;top:0;z-index:50;background-color:var(--color-background);padding-top:15px;padding-bottom:15px}.checklist-options{background-color:var(--color-interactive-bg);padding:15px;border-radius:5px;margin-bottom:15px;border:1px solid var(--color-border);display:flex;flex-direction:column;gap:15px}.checklist-options label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:700;font-size:.9em}.next-race-panel{background-color:var(--color-interactive-bg);border:1px solid var(--color-border-medium);border-radius:8px;margin-bottom:5px}.progress-helper{padding:20px;display:flex;flex-direction:column;align-items:stretch;text-align:center}.progress-helper-complete,.progress-race-info{width:100%}.progress-label{font-size:.9em;font-weight:700;color:var(--color-text-secondary);margin-bottom:4px}.progress-race-name{font-size:1.3em;font-weight:700;color:var(--color-text-primary)}.progress-race-meta{font-size:1em;color:var(--color-text-secondary);margin-top:4px;display:flex;flex-wrap:wrap;justify-content:center;gap:5px 10px}.progress-notes-textarea{width:90%;max-width:400px;margin-top:12px;padding:8px;border-radius:4px;border:1px solid var(--color-border-medium);background-color:var(--color-background);color:var(--color-text-primary);font-family:inherit;resize:vertical;min-height:40px;margin-left:auto;margin-right:auto}.progress-actions-container{display:flex;align-items:center;gap:20px;margin-top:15px;padding-top:15px;border-top:1px solid var(--color-border-medium)}.progress-actions-label{font-size:1.1em;font-weight:700;color:var(--color-text-primary);margin:0;flex-shrink:0}.progress-actions{flex-grow:1;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding-right:120px}.progress-actions-group{display:flex;gap:10px}.progress-action-button{border:none;padding:8px 16px;border-radius:5px;font-weight:700;cursor:pointer;font-size:.9em;color:var(--color-text-light);transition:background-color .2s ease;min-width:110px;text-align:center}.progress-action-button.ran{background-color:var(--color-accent-blue)}.progress-action-button.ran:hover{background-color:var(--color-accent-blue-hover)}.progress-action-button.won{background-color:var(--color-accent-green)}.progress-action-button.won:hover{background-color:var(--color-accent-green-hover)}.progress-action-button.skip{background-color:var(--color-accent-gray)}.progress-action-button.skip:hover{background-color:var(--color-accent-gray-hover)}.progress-action-button.undo{background-color:var(--color-accent-orange)}.progress-action-button.undo:hover{background-color:var(--color-accent-orange-hover)}.progress-action-button.remove{background-color:var(--color-accent-red)}.progress-action-button.remove:hover{background-color:var(--color-accent-red-hover)}.progress-action-button:disabled{background-color:var(--color-border-heavy);cursor:not-allowed;opacity:.7}.progress-details-toggle{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:15px;border-top:1px solid var(--color-border-medium);cursor:pointer;-webkit-user-select:none;user-select:none;width:100%}.progress-details-toggle h4{margin:0;font-size:.9em;color:var(--color-text-secondary)}.progress-details-content{padding-top:15px;width:100%}.turn-counter{margin-top:8px;font-size:1.1em;color:var(--color-text-secondary)}.turn-counter .turn-count{font-size:1.2em;font-weight:700;color:var(--color-text-primary);margin-right:6px;display:inline-block}.upcoming-races-preview{text-align:left;padding-top:15px}.upcoming-races-preview h4{margin:0 0 10px;text-align:center;font-size:.9em;color:var(--color-text-secondary)}.upcoming-races-preview ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.upcoming-races-preview li{font-size:.9em;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background-color:var(--color-background);padding:5px 8px;border-radius:4px}.upcoming-date{font-weight:700}.upcoming-name{color:var(--color-text-primary)}.upcoming-details{color:var(--color-text-secondary);font-size:.9em}.career-race-indicator.mini{padding:1px 4px;font-size:.9em}.next-race-item{box-shadow:0 4px 8px var(--color-shadow)}.career-race-indicator,.exclusive-race-indicator{color:var(--color-text-light);font-size:.7em;font-weight:700;padding:2px 6px;border-radius:8px;margin-left:10px;vertical-align:middle;text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center}.career-race-indicator{background-color:var(--color-accent-blue)}.exclusive-race-indicator{background-color:var(--color-accent-orange)}.smart-added-item{border-right:4px solid var(--color-accent-orange)}.smart-add-indicator{margin:0 5px;cursor:help;vertical-align:middle}.checklist-container{display:flex;flex-direction:column;gap:15px;flex-grow:1}.checklist-item{display:flex;align-items:center;justify-content:space-between;background:var(--color-panel-bg);border-radius:8px;box-shadow:0 2px 4px var(--color-shadow);padding:15px;gap:20px;border-left:4px solid transparent}.checklist-item-info{flex-grow:1}.checklist-item-info h3{margin:0 0 5px;font-size:1.1em;display:flex;align-items:center;flex-wrap:wrap}.checklist-item-meta{font-size:.9em;color:var(--color-text-secondary);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.checklist-item-actions{display:flex;align-items:center;gap:15px;flex-shrink:0}.checklist-item-controls{display:flex;gap:20px;align-items:center}.checklist-item-controls label{display:flex;align-items:center;gap:5px;white-space:nowrap}.checklist-item-controls label.control-disabled{cursor:not-allowed;opacity:.6}.checklist-item-actions textarea{border:1px solid var(--color-border-medium);border-radius:4px;padding:8px;font-family:inherit;min-height:20px;width:250px;resize:vertical;background-color:var(--color-background);color:var(--color-text-primary)}.checklist-item-date{background-color:var(--color-interactive-bg);padding:3px 8px;border-radius:12px;font-weight:700;color:var(--color-text-primary);font-size:.9em;white-space:nowrap}.grade-counter{display:flex;gap:10px 15px;font-size:.9em;align-items:center;flex-wrap:wrap}.grade-counter span{background-color:var(--color-interactive-bg);padding:5px 10px;border-radius:10px;font-weight:700}.grade-counter .counter-label{background-color:transparent;padding:0;color:var(--color-text-primary)}.checklist-page-counter{justify-content:center;padding-bottom:20px;border-bottom:2px solid var(--color-interactive-bg)}.checklist-page-counter .counter-label{margin-left:20px}.checklist-page-counter .counter-label:first-of-type{margin-left:0}.detail-item{display:flex;flex-direction:column}.detail-item .label{font-size:1em;font-weight:700;color:var(--color-text-secondary);margin-bottom:2px}.detail-item .value{font-size:1em;color:var(--color-text-primary)}.back-to-top-button{position:fixed;bottom:20px;right:20px;z-index:100;background-color:var(--color-accent-dark-blue);color:var(--color-text-light);border:none;border-radius:50%;width:50px;height:50px;font-size:24px;cursor:pointer;box-shadow:0 2px 8px var(--color-shadow-header);transition:background-color .2s,transform .2s}.back-to-top-button:hover{background-color:var(--color-accent-dark-blue-hover);transform:translateY(-2px)}.warning-race-row{background-color:var(--color-warning-bg)!important}.checklist-item.warning-race-row{border-left-color:var(--color-warning-border)!important}.warning-race-row:hover{background-color:var(--color-warning-bg-hover)!important}.warning-icon{color:var(--color-warning-icon-text);background-color:var(--color-warning-icon-bg);font-weight:700;font-size:1.1em;border-radius:50%;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;cursor:help;border:1px solid var(--color-warning-icon-text)}.tooltip-container{position:relative;display:inline-flex;justify-content:center;align-items:center}.tooltip-text{visibility:hidden;width:240px;background-color:var(--color-tooltip-bg);color:var(--color-tooltip-text);text-align:center;border-radius:6px;padding:8px;position:absolute;z-index:20;bottom:150%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .1s;pointer-events:none;white-space:normal}.status-column .tooltip-text{left:-15px;transform:none}.tooltip-container:hover .tooltip-text{visibility:visible;opacity:1}.checklist-tooltip{background-color:var(--color-checklist-tooltip-bg);color:var(--color-checklist-tooltip-text);font-weight:700}.checklist-item.g1-race-row{border-left-color:var(--color-g1-border)}.checklist-item.g2-race-row{border-left-color:var(--color-g2-border)}.checklist-item.g3-race-row{border-left-color:var(--color-g3-border)}.checklist-item.career-race-row{border-left-color:var(--color-career-border)}.grade-bubble{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.85em;font-weight:700;color:var(--color-text-light);background-color:var(--color-interactive-bg);margin-right:5px}.grade-bubble.g1-bubble{background-color:var(--color-g1-border)}.grade-bubble.g2-bubble{background-color:var(--color-g2-border)}.grade-bubble.g3-bubble{background-color:var(--color-g3-border)}.grade-bubble.career-bubble{background-color:var(--color-career-border)}.color-legend{display:flex;gap:15px;flex-wrap:wrap;width:100%;padding-top:10px;margin-top:10px;border-top:1px solid var(--color-border-light)}.legend-item{display:flex;align-items:center;gap:6px;font-size:.85em}.legend-color-box{width:12px;height:12px;border-radius:3px;border:1px solid var(--color-border-medium)}.legend-color-box.g1{background-color:var(--color-g1-border)}.legend-color-box.g2{background-color:var(--color-g2-border)}.legend-color-box.g3{background-color:var(--color-g3-border)}.legend-color-box.career{background-color:var(--color-career-border)}.confirmation-toast{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;max-width:300px}.toast-buttons{width:100%;display:flex;gap:8px;justify-content:flex-end}.toast-button{border:none;padding:8px 12px;border-radius:5px;font-weight:700;cursor:pointer;font-size:.9em}.toast-button.confirm{background-color:var(--color-accent-green);color:var(--color-text-light)}.toast-button.confirm:hover{background-color:var(--color-accent-green-hover)}.toast-button.cancel{background-color:var(--color-accent-red);color:var(--color-text-light)}.toast-button.cancel:hover{background-color:var(--color-accent-red-hover)}.calendar-page{padding:20px;max-width:1600px;margin:auto}.calendar-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-bottom:20px;gap:15px}.calendar-header h2{grid-column:2;text-align:center;margin-bottom:0;border:none}.calendar-container{display:flex;flex-direction:column;gap:30px}.calendar-year .year-title{font-size:1.5em;margin-bottom:10px;text-align:center;background-color:var(--color-interactive-bg);padding:8px;border-radius:6px}.months-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.calendar-month{background-color:var(--color-panel-bg);border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.month-header{font-weight:700;text-align:center;padding:6px;background-color:var(--color-interactive-bg);border-bottom:1px solid var(--color-border)}.turns-container{display:flex}.calendar-turn{flex:1;padding:20px 5px 5px;height:120px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;position:relative;flex-basis:50%}.calendar-turn:first-child{border-right:1px solid var(--color-border-light)}.turn-label{position:absolute;top:2px;right:4px;font-size:.8em;font-weight:700;color:var(--color-text-secondary);opacity:.5}.calendar-race-entry{font-size:.8em;padding:2px 4px;border-radius:4px;color:var(--color-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:help;display:flex;gap:4px}.calendar-race-entry.optional{background-color:var(--color-accent-gray)}.calendar-race-entry.career{background-color:var(--color-accent-blue)}.calendar-race-entry .race-grade{font-weight:700;flex-shrink:0}.calendar-race-entry .race-name{opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.App.compact-mode .panel-section{padding:10px 15px}.App.compact-mode h2{font-size:1.1em;padding-bottom:6px;margin-bottom:10px}.App.compact-mode .character-list li{padding:6px 10px}.App.compact-mode table th,.App.compact-mode table td{padding:4px 6px;font-size:12px}.App.compact-mode .checklist-page{padding:10px}.App.compact-mode .checklist-item{padding:8px 12px;gap:12px}.App.compact-mode .checklist-item-info h3{font-size:1em;margin-bottom:3px}.App.compact-mode .checklist-item-meta{font-size:.8em;gap:6px}.App.compact-mode .checklist-item-actions{gap:8px}.App.compact-mode .checklist-item-controls{gap:12px}.App.compact-mode .checklist-item-actions textarea{padding:5px;width:200px;font-size:.9em}.App.compact-mode .next-race-panel{margin-bottom:0}.App.compact-mode .progress-helper{padding:10px}.App.compact-mode .progress-race-name{font-size:1.1em}.App.compact-mode .turn-counter{font-size:1em}.App.compact-mode .turn-counter .turn-count{font-size:1.6em}@media(max-width:1200px){.table-container{overflow-x:auto}.months-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:992px){.months-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.container{flex-direction:column;padding:10px;gap:10px}.left-panel{max-width:100%;min-width:0;gap:10px}.panel-section{padding:15px}.App-header h1{font-size:1.2em;padding-left:0;text-align:left}.race-list-panel{max-height:none;padding:15px}.race-list-header{gap:10px}.race-list-title-group{width:100%;flex-wrap:wrap}.race-list-title-group .search-bar{width:100%}.race-list-controls{flex-direction:column;align-items:flex-start}th,td{font-size:12px;padding:8px 6px}.checklist-page{padding:10px}.checklist-page-header{grid-template-columns:1fr;grid-template-rows:auto auto auto;justify-items:center;gap:10px}.checklist-page-header h2{grid-row:1;grid-column:1}.back-button{grid-row:2;grid-column:1;justify-self:center}.checklist-page-actions{grid-row:3;grid-column:1;justify-self:center;justify-content:center}.checklist-item{flex-direction:column;align-items:flex-start;gap:10px}.checklist-item-actions{width:100%;flex-direction:column;align-items:flex-start;gap:10px}.checklist-item-controls{gap:15px}.checklist-item-actions textarea{width:calc(100% - 16px)}.grade-counter.checklist-page-counter{justify-content:flex-start;gap:5px 10px}.checklist-page-counter .counter-label{margin-left:0}.checklist-page-counter span{padding:3px 8px;font-size:.85em}.back-to-top-button{width:40px;height:40px;font-size:20px}.next-race-panel{flex-direction:column}.race-details-panel{width:100%;border-left:none;border-top:1px solid var(--color-border-medium)}.race-details-panel.collapsed{width:100%;cursor:default}.race-details-header{padding:10px 15px;justify-content:space-between}.race-details-header h3{flex-direction:row}.months-grid{grid-template-columns:repeat(2,1fr)}.calendar-header{grid-template-columns:1fr;justify-items:center;gap:10px}.calendar-header h2{grid-row:1}.calendar-header .back-button{grid-row:2;justify-self:center}}.batch-action-button:hover{background-color:var(--color-accent-dark-blue-hover)}.multi-select-form{display:flex;flex-direction:column;gap:15px;margin-top:10px}.multi-select-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.multi-select-row select{padding:5px;border-radius:4px;border:1px solid var(--color-border-medium);background-color:var(--color-background);color:var(--color-text-primary);font-size:.9em}.multi-select-actions{display:flex;gap:10px;border-left:1px solid var(--color-border-medium);padding-left:10px}.multi-select-button{background-color:var(--color-accent-dark-blue);color:var(--color-text-light);border:none;padding:5px 10px;font-size:.85em;border-radius:4px;cursor:pointer;transition:background-color .2s}.multi-select-button:hover{background-color:var(--color-accent-dark-blue-hover)}.multi-select-button.unselect{background-color:var(--color-accent-orange)}.multi-select-button.unselect:hover{background-color:var(--color-accent-orange-hover)}.multi-select-button.maximize{background-color:var(--color-accent-green);font-weight:700}.multi-select-button.maximize:hover{background-color:var(--color-accent-green-hover)}.multi-select-button:disabled{background-color:var(--color-accent-gray);cursor:not-allowed;opacity:.7}.multi-select-dropdown{position:relative;display:inline-block;min-width:120px}.multi-select-display{padding:5px 8px;border-radius:4px;border:1px solid var(--color-border-medium);background-color:var(--color-background);color:var(--color-text-primary);font-size:.9em;cursor:pointer;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.multi-select-display span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:5px}.multi-select-options{display:block;position:absolute;background-color:var(--color-panel-bg);min-width:160px;box-shadow:0 8px 16px 0 var(--color-shadow);z-index:100;border:1px solid var(--color-border-medium);border-radius:4px;padding:5px;max-height:200px;overflow-y:auto}.multi-select-options label{color:var(--color-text-primary);padding:8px 12px;text-decoration:none;display:block;cursor:pointer;border-radius:3px;display:flex;align-items:center;gap:8px}.multi-select-options label:hover{background-color:var(--color-interactive-bg)}
