@import"https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap";.app-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:var(--border-width-thick) solid var(--black);margin-bottom:var(--space-lg);background-color:var(--white)}.app-header h1{margin-bottom:0;font-size:2.5rem;border-bottom:none;padding-bottom:0}.user-controls{display:flex;align-items:center;gap:var(--space-md)}.welcome-message{font-family:var(--font-mono);font-weight:700;padding:var(--space-sm) var(--space-md);border:var(--border-width) solid var(--black);background-color:var(--black);color:var(--white);text-transform:uppercase;letter-spacing:-.5px}.logout-button{background-color:var(--black);color:var(--white);border:1px solid var(--accent)}.dashboard-button{background-color:var(--secondary);color:var(--white)}.app-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-top:var(--border-width) solid var(--black);margin-top:var(--space-xl);background-color:var(--white)}.version-info{display:inline-block;font-family:var(--font-mono)}.version-text{padding:var(--space-xs) var(--space-sm);background-color:var(--black);color:var(--white);font-size:.875rem;letter-spacing:-.5px}.environment-badge{margin-left:var(--space-xs);padding:var(--space-xs) var(--space-sm);background-color:var(--accent);color:var(--white);font-size:.75rem;text-transform:uppercase}.app{min-height:100vh;display:flex;flex-direction:column}.app-content{flex:1;padding:0 var(--space-lg);max-width:1600px;margin:0 auto;width:100%}@media(max-width:768px){.app-header,.app-footer{padding:var(--space-sm);flex-direction:column;gap:var(--space-md);text-align:center}.user-controls{flex-direction:column;width:100%}.welcome-message,.logout-button,.dashboard-button{width:100%;margin-bottom:var(--space-sm)}.app-content{padding:0 var(--space-sm)}}.env-badge{font-size:10px;color:#eb6834;margin-left:4px;vertical-align:super;text-transform:lowercase}.batch-dashboard{max-width:1200px;margin:0 auto;padding:var(--space-lg)}.batch-dashboard.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh}.dashboard-header{margin-bottom:var(--space-xl)}.dashboard-header h2{font-family:var(--font-mono);text-transform:uppercase;font-size:2rem;border-bottom:var(--border-width) solid var(--black);padding-bottom:var(--space-sm);margin-bottom:var(--space-md)}.tab-navigation{display:flex;border-bottom:var(--border-width) solid var(--black);margin-bottom:var(--space-xl)}.tab-button{font-family:var(--font-mono);text-transform:uppercase;font-weight:700;padding:var(--space-md) var(--space-lg);background-color:var(--white);color:var(--black);border:var(--border-width) solid var(--black);border-bottom:none;margin-right:var(--space-xs);cursor:pointer;position:relative;bottom:calc(-1 * var(--border-width))}.tab-button.active{background-color:var(--black);color:var(--white);z-index:1}.error-message{background-color:var(--accent);color:var(--white);padding:var(--space-md);margin-bottom:var(--space-lg);border:var(--border-width) solid var(--black);display:flex;justify-content:space-between;align-items:center}.error-message p{margin:0}.error-message button{background-color:var(--white);color:var(--black);border:var(--border-width) solid var(--black);padding:var(--space-xs) var(--space-sm);cursor:pointer;font-family:var(--font-mono);font-size:.9rem}.empty-state{text-align:center;padding:var(--space-xl);border:var(--border-width) dashed var(--black);margin-bottom:var(--space-xl)}.empty-state p{margin-bottom:var(--space-lg);font-size:1.1rem}.find-batches-button,.view-completed-button,.view-active-button{margin:var(--space-sm);min-width:200px}.assigned-batches h3,.completed-batches-tab h3{font-family:var(--font-mono);text-transform:uppercase;margin-bottom:var(--space-lg);border-left:var(--border-width-thick) solid var(--accent);padding-left:var(--space-md)}.batch-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}.batch-card{border:var(--border-width) solid var(--black);padding:var(--space-md);background-color:var(--white);transition:transform .1s}.batch-card:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--gray-light)}.batch-card.in-progress{border-color:var(--accent)}.batch-card.completed{border-color:var(--black);background-color:var(--gray-light)}.batch-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--gray-light)}.batch-card-header h4{font-family:var(--font-mono);text-transform:uppercase;margin:0;font-size:1.1rem}.status-tag{font-family:var(--font-mono);text-transform:uppercase;font-size:.7rem;padding:var(--space-xs) var(--space-sm);background-color:var(--gray-light)}.status-in_progress{background-color:var(--accent);color:var(--white)}.status-completed{background-color:var(--black);color:var(--white)}.batch-progress{margin-bottom:var(--space-md)}.progress-text{font-family:var(--font-mono);font-size:.9rem;text-align:right;margin-top:var(--space-xs)}.batch-info{margin-bottom:var(--space-md);font-size:.9rem}.info-item{display:flex;justify-content:space-between;margin-bottom:var(--space-xs)}.info-label{font-weight:700}.batch-dimensions{font-style:italic;display:block;margin-bottom:var(--space-md);font-size:.9rem;color:var(--gray-dark)}.start-batch-button{width:100%;font-family:var(--font-mono);text-transform:uppercase;font-weight:700;background-color:var(--black);color:var(--white);border:var(--border-width) solid var(--black);padding:var(--space-sm);cursor:pointer;transition:transform .1s,box-shadow .1s}.start-batch-button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--gray-dark)}.find-more-section{text-align:center;margin-top:var(--space-xl)}.find-more-button,.back-button{font-family:var(--font-mono);text-transform:uppercase;padding:var(--space-sm) var(--space-lg)}.unassigned-batches .instruction{font-size:1.1rem;margin-bottom:var(--space-lg)}.batch-actions{display:flex;justify-content:space-between;margin-bottom:var(--space-xl)}.assign-button{font-family:var(--font-mono);text-transform:uppercase;font-weight:700;background-color:var(--black);color:var(--white);border:var(--border-width) solid var(--black);padding:var(--space-md) var(--space-lg);cursor:pointer;transition:transform .1s,box-shadow .1s}.assign-button:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--gray-dark)}.assign-button:disabled{background-color:var(--gray-light);color:var(--gray-dark);cursor:not-allowed}.batch-item{border:var(--border-width) solid var(--black);padding:var(--space-md);margin-bottom:var(--space-md);cursor:pointer;transition:transform .1s}.batch-item:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--gray-light)}.batch-item.selected{background-color:var(--black);color:var(--white);transform:translate(-4px,-4px);box-shadow:6px 6px 0 var(--gray-medium)}.batch-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.batch-header h3{font-family:var(--font-mono);text-transform:uppercase;margin:0;font-size:1.1rem}.batch-type{font-family:var(--font-mono);text-transform:uppercase;font-size:.8rem;padding:var(--space-xs) var(--space-sm);background-color:var(--gray-light)}.batch-details{display:flex;justify-content:space-between;margin-top:var(--space-md);font-size:.9rem;color:var(--gray-medium)}@media(max-width:768px){.batch-dashboard{padding:var(--space-md)}.tab-navigation{flex-direction:column;border-bottom:none}.tab-button{margin-right:0;margin-bottom:var(--space-xs);border:var(--border-width) solid var(--black);bottom:0}.batch-list{grid-template-columns:1fr}.batch-actions{flex-direction:column;gap:var(--space-md)}.assign-button,.back-button{width:100%}}.batch-card{background-color:var(--white, #ffffff);border:2px solid var(--black, #000000);padding:.75rem;margin-bottom:.75rem;transition:transform .15s ease,box-shadow .15s ease}.batch-card:hover{transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--black, #000000)}.batch-card.batch-card-unassigned{cursor:pointer}.batch-card.batch-card-completed{border-color:var(--gray-light, #cccccc)}.batch-card-content{display:flex;justify-content:space-between;align-items:center}.batch-card-left{flex:1;min-width:0}.batch-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;min-width:120px}.batch-card-header{margin-bottom:.25rem}.batch-title{font-family:var(--font-mono, monospace);font-size:1rem;font-weight:700;margin:0 0 .25rem;text-transform:uppercase;letter-spacing:-.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.batch-header-meta{display:flex;gap:.5rem;margin-bottom:.25rem}.batch-type{font-family:var(--font-mono, monospace);font-size:.7rem;text-transform:uppercase;font-weight:700;background-color:var(--black, #000000);color:var(--white, #ffffff);padding:.15rem .35rem;display:inline-block}.status-tag{font-family:var(--font-mono, monospace);font-size:.7rem;text-transform:uppercase;font-weight:700;padding:.15rem .35rem;border:1px solid var(--black, #000000)}.status-assigned{background-color:var(--light, #f2f0e6)}.status-in_progress{background-color:var(--secondary, #e09f3e);color:var(--black, #000000)}.status-completed{background-color:var(--primary, #0f4c5c);color:var(--white, #ffffff)}.batch-meta-info{font-size:.75rem}.batch-dimensions{font-style:italic;display:block;margin-bottom:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.batch-stats{display:flex;gap:1rem;color:var(--gray-dark, #666666);font-size:.7rem}.batch-stat{white-space:nowrap}.compact-progress{width:100%;margin-bottom:.25rem}.progress-bar{height:8px;background-color:var(--light, #f2f0e6);border:1px solid var(--black, #000000);position:relative;width:100%}.progress-text{font-family:var(--font-mono, monospace);font-size:.7rem;font-weight:700;margin-top:.15rem;display:block;text-align:right}.batch-action-button{font-family:var(--font-mono, monospace);font-size:.8rem;text-transform:uppercase;font-weight:700;background-color:var(--black, #000000);color:var(--white, #ffffff);border:2px solid var(--black, #000000);padding:.4rem .75rem;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.batch-action-button:hover{transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--accent, #9b2226)}.batch-action-button:active{transform:translate(0);box-shadow:none}.assign-batch-button{background-color:var(--white, #ffffff);color:var(--black, #000000)}.assign-batch-button:hover{background-color:var(--black, #000000);color:var(--white, #ffffff)}@media(max-width:550px){.batch-card-content{flex-direction:column;align-items:stretch}.batch-card-right{margin-top:.5rem;align-items:stretch;width:100%}.batch-action-button{width:100%;text-align:center}}.rating-control{display:flex;flex-direction:column;background-color:var(--white);border:var(--border-width) solid var(--black);padding:var(--space-md);width:100%;box-sizing:border-box;margin-bottom:var(--space-md)}.rating-question{margin-bottom:var(--space-md)}.rating-question h3{font-family:var(--font-mono);font-size:1.2rem;text-transform:uppercase;font-weight:700;letter-spacing:-.5px;border-left:var(--border-width-thick) solid var(--accent);padding-left:var(--space-md);margin:0}.continuous-rating{display:flex;flex-direction:column;width:100%;margin-bottom:var(--space-xl)}.value-display{font-family:var(--font-mono);background-color:var(--black);color:var(--white);font-weight:700;text-transform:uppercase;padding:var(--space-sm);min-width:70px;text-align:center;border:var(--border-width) solid var(--black);font-size:1.5rem;margin:var(--space-md) auto;display:inline-block}.scale-labels{display:flex;justify-content:space-between;width:100%;margin-bottom:var(--space-md);position:relative}.min-label,.max-label{max-width:45%;font-family:var(--font-mono);font-size:.9rem;line-height:1.4;white-space:normal;font-weight:700;text-transform:uppercase}.slider-container{width:100%;margin:var(--space-md) 0 var(--space-xl) 0;position:relative;padding-bottom:36px}.rating-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:var(--space-md);background-color:var(--white);border:var(--border-width) solid var(--black);outline:none;cursor:pointer;margin-bottom:var(--space-xs);z-index:2;position:relative;padding:0;margin-left:0;margin-right:0;box-sizing:border-box}.rating-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--space-md);height:var(--space-xl);background-color:var(--black);cursor:pointer;border:var(--border-width) solid var(--black)}.rating-slider::-moz-range-thumb{width:var(--space-md);height:var(--space-xl);background-color:var(--black);cursor:pointer;border:var(--border-width) solid var(--black)}.rating-slider:disabled{opacity:.5;cursor:not-allowed;border-color:var(--gray-light)}.rating-slider:disabled::-webkit-slider-thumb,.rating-slider:disabled::-moz-range-thumb{background-color:var(--gray-light);cursor:not-allowed}.tick-marks{display:flex;position:absolute;width:calc(100% - 12px);bottom:0;left:6px;height:30px;pointer-events:none}.tick-mark{position:absolute;width:1px;height:10px;background-color:var(--black);top:4px;left:calc(var(--tick-percent) * 1%);transform:translate(-50%)}.tick-mark[data-value="0"],.tick-mark[data-value="20"],.tick-mark[data-value="40"],.tick-mark[data-value="60"],.tick-mark[data-value="80"],.tick-mark[data-value="100"]{height:16px;width:2px;background-color:var(--black)}.tick-mark[data-value="0"]:after,.tick-mark[data-value="20"]:after,.tick-mark[data-value="40"]:after,.tick-mark[data-value="60"]:after,.tick-mark[data-value="80"]:after,.tick-mark[data-value="100"]:after{content:attr(data-value);position:absolute;top:100%;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:.8rem;color:var(--black);margin-top:4px;font-weight:700}.ab-rating{display:flex;flex-direction:column;margin-bottom:var(--space-xl);width:100%}.ab-options{display:flex;width:100%;gap:var(--space-md)}.ab-option{flex:1;font-family:var(--font-mono);font-size:1rem;text-transform:uppercase;font-weight:700;background-color:var(--white);color:var(--black);border:var(--border-width) solid var(--black);padding:var(--space-md);cursor:pointer;display:inline-block;text-align:center;transition:transform .1s,box-shadow .1s;position:relative;outline:none}.ab-option:hover:not(:disabled){transform:translate(-2px,-2px)}.ab-option.a:hover:not(:disabled):not(.selected){box-shadow:5px 5px 0 var(--color-a)}.ab-option.b:hover:not(:disabled):not(.selected){box-shadow:5px 5px 0 var(--color-b)}.ab-option:active:not(:disabled){transform:translate(0);box-shadow:none}.ab-option.selected{box-shadow:4px 4px 0 var(--black);transform:translate(-2px,-2px)}.ab-option:disabled{background-color:var(--gray-light);color:var(--gray-dark);border-color:var(--gray-dark);cursor:not-allowed;transform:none;box-shadow:none}.ab-option.selected.a{color:var(--white);background-color:var(--color-a)}.ab-option.selected.b{color:var(--black);background-color:var(--color-b)}.rating-actions{display:flex;justify-content:center;margin-top:var(--space-xl)}.submit-button{font-family:var(--font-mono);font-size:1.1rem;text-transform:uppercase;font-weight:700;padding:var(--space-md);cursor:pointer;display:inline-block;text-align:center;transition:transform .1s,box-shadow .1s;position:relative;outline:none;background-color:var(--black);color:var(--white);border:var(--border-width) solid var(--black);min-width:200px}.submit-button:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--accent)}.submit-button:active:not(:disabled){transform:translate(0);box-shadow:none}.submit-button:disabled{background-color:var(--gray-light);color:var(--gray-dark);border-color:var(--gray-dark);cursor:not-allowed;transform:none;box-shadow:none}.skip-button{font-family:var(--font-mono);font-size:1rem;text-transform:uppercase;font-weight:700;background-color:var(--white);color:var(--black);border:var(--border-width) solid var(--black);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:transform .1s,box-shadow .1s;margin-right:var(--space-md)}.skip-button:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--secondary)}@media(max-width:768px){.rating-control{padding:var(--space-sm)}.rating-question h3{font-size:1rem}.min-label,.max-label{font-size:.8rem}.value-display{font-size:1.2rem;padding:var(--space-xs)}.submit-button{padding:var(--space-sm);font-size:.9rem;min-width:180px}.ab-options{gap:var(--space-sm)}.ab-option{padding:var(--space-sm);font-size:.9rem}}.ab-discrete-rating{display:flex;flex-direction:column;margin-bottom:var(--space-xl);width:100%}.ab-discrete-options{display:flex;width:100%;gap:2px}.ab-discrete-option{flex:1;font-family:var(--font-mono);font-size:.9rem;text-transform:uppercase;font-weight:700;background-color:var(--white);color:var(--black);border:var(--border-width) solid var(--black);padding:var(--space-sm) var(--space-xs);cursor:pointer;display:inline-block;text-align:center;transition:transform .1s,box-shadow .1s;position:relative;outline:none;min-height:70px;white-space:normal;display:flex;align-items:center;justify-content:center;line-height:1.2}.ab-discrete-option:hover:not(:disabled){transform:translate(-2px,-2px)}.ab-discrete-option.a:hover:not(:disabled):not(.selected){box-shadow:5px 5px 0 var(--color-a)}.ab-discrete-option.b:hover:not(:disabled):not(.selected){box-shadow:5px 5px 0 var(--color-b)}.ab-discrete-option.neutral:hover:not(:disabled):not(.selected){box-shadow:5px 5px 0 var(--secondary)}.ab-discrete-option:active:not(:disabled){transform:translate(0);box-shadow:none}.ab-discrete-option.selected{box-shadow:4px 4px 0 var(--black);transform:translate(-2px,-2px)}.ab-discrete-option.selected.a{color:var(--white);background-color:var(--color-a)}.ab-discrete-option.selected.b{color:var(--black);background-color:var(--color-b)}.ab-discrete-option.selected.neutral{color:var(--white);background-color:var(--black)}.ab-discrete-option.strong.b{border-left:var(--border-width-thick) solid var(--color-b);background-color:rgba(var(--color-b-rgb),.2)}.ab-discrete-option.strong.a{border-right:var(--border-width-thick) solid var(--color-a);background-color:rgba(var(--color-a-rgb),.2)}.ab-discrete-option.slight.b{background-color:rgba(var(--color-b-rgb),.1)}.ab-discrete-option.slight.a{background-color:rgba(var(--color-a-rgb),.1)}.ab-discrete-option.a.selected{background-color:var(--color-a)}.ab-discrete-option.b.selected{background-color:var(--color-b)}.ab-discrete-option.neutral.selected{background-color:var(--secondary);color:var(--black)}.ab-discrete-option:disabled{background-color:var(--gray-light);color:var(--gray-dark);border-color:var(--gray-dark);cursor:not-allowed;transform:none;box-shadow:none}@media(max-width:768px){.ab-discrete-options{flex-direction:column;gap:var(--space-xs)}.ab-discrete-option{min-height:auto;padding:var(--space-sm);font-size:.8rem}.ab-discrete-option.strong-b{border-left:var(--border-width) solid var(--black);border-top:var(--border-width-thick) solid var(--color-b)}.ab-discrete-option.strong-a{border-right:var(--border-width) solid var(--black);border-bottom:var(--border-width-thick) solid var(--color-a)}}.rating-gate{position:relative}.rating-gate[data-gate] button:disabled{pointer-events:none}.rating-gate[data-gate]:hover:after{content:attr(data-gate);position:absolute;left:50%;top:-.5rem;transform:translate(-50%,-100%);padding:4px 8px;background:var(--black);color:var(--white);font-family:var(--font-mono);font-size:.8rem;white-space:nowrap;pointer-events:none;z-index:10}.rating-gate-message{display:none;margin:0 0 var(--space-sm);text-align:center;font-family:var(--font-mono);font-size:.85rem;color:var(--gray-light)}@media(hover:none){.rating-gate-message{display:block}}.din-test{max-width:760px;margin:0 auto;padding:var(--space-lg) var(--space-md);text-align:center}.din-test p{font-size:1.1rem;line-height:1.5}.din-text{max-width:560px;margin:0 auto var(--space-lg);text-align:left}.din-status{min-height:1.6em;color:var(--gray-dark)}.din-warning{color:var(--accent);font-weight:700}.din-subtitle{margin-bottom:var(--space-md)}.din-note{margin-top:var(--space-lg)}.din-note p{font-size:.95rem;color:var(--gray-dark)}.din-icon{width:96px;height:96px;margin-bottom:var(--space-md);color:var(--black)}.din-confirm{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);max-width:560px;margin:0 auto;padding:var(--space-sm) var(--space-md);border:var(--border-width-thick) solid var(--black);font-size:1.1rem;cursor:pointer}.din-confirm input{width:22px;height:22px;accent-color:var(--black);cursor:pointer}.din-help-toggle{margin-top:var(--space-lg);padding:var(--space-xs) var(--space-sm);font-size:.85rem;color:var(--gray-dark);border-color:var(--gray-light)}.din-slots{display:flex;justify-content:center;gap:var(--space-md);margin:var(--space-lg) 0}.din-slot{width:64px;height:80px;border:var(--border-width-thick) solid var(--black);background:var(--white);font-family:var(--font-mono);font-size:2.5rem;display:flex;align-items:center;justify-content:center}.din-slot.filled{background:var(--black);color:var(--white)}.din-keypad{display:grid;grid-template-columns:repeat(3,88px);gap:var(--space-sm);justify-content:center}.din-key{font-size:1.5rem;padding:var(--space-md) 0}.din-key-ok:not(:disabled){background:var(--black);color:var(--white)}.din-test button:disabled{background-color:var(--white);color:var(--gray-light);border-color:var(--gray-light)}.din-actions{margin-top:var(--space-lg);display:flex;justify-content:center}.din-question{max-width:560px;margin:0 auto var(--space-lg);text-align:left}.din-question p{margin-bottom:var(--space-sm)}.din-options{display:flex;flex-direction:column;gap:var(--space-xs)}.din-option{text-align:left;font-size:1rem;padding:var(--space-sm) var(--space-md)}.din-option.selected{background:var(--black);color:var(--white)}.din-result{font-family:var(--font-mono);font-size:2rem;margin:var(--space-lg) 0}.audio-player{border:var(--medium-border);padding:var(--spacing-md);margin-bottom:var(--spacing-md);background-color:#fff;position:relative;width:100%;box-sizing:border-box}.audio-player.error{border-color:var(--accent-color)}.audio-player-header{display:flex;justify-content:flex-start;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:var(--light-border);position:relative;padding-right:calc(var(--spacing-sm) + 1.5em)}.audio-title{font-family:Space Mono,monospace;font-weight:700;font-size:1rem;padding-left:var(--spacing-sm);border-left:var(--thick-border);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.audio-status{font-family:Space Mono,monospace;font-size:.8rem;text-transform:uppercase;background-color:#eee;position:absolute;top:50%;right:var(--spacing-sm);transform:translateY(-50%);white-space:nowrap;box-sizing:border-box}.audio-status.loading{display:inline-block;width:1em;height:1em;position:relative;color:var(--secondary);background:transparent;margin-left:auto}.audio-status.loading:before{content:"";box-sizing:border-box;position:absolute;top:0;left:0;right:0;bottom:0;border:2px solid currentColor;border-top-color:transparent;border-radius:30%;animation:spin .8s linear infinite}.audio-status.loading:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 8px currentColor;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.2}50%{opacity:.6}}.audio-status.error{background-color:var(--accent-color);color:#fff;font-size:.7rem;padding:2px var(--spacing-xs)}.audio-status.ready{background-color:var(--primary-color);color:#fff}.audio-controls{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-md)}.play-button{width:48px;height:48px;background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;border:none;transition:transform .1s}.play-button:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--secondary)}.play-button:active:not(:disabled){transform:translate(0);box-shadow:none}.play-button.playing{background-color:var(--secondary)}.play-button:disabled{background-color:#ccc;cursor:not-allowed}.audio-progress{width:100%;height:100%;background-color:#fff;border-radius:0;position:relative;cursor:pointer;border:0}.progress-bar{width:100%;height:100%;position:relative;border-radius:2;overflow:hidden}.progress-buffered{height:100%;background-color:var(--gray);position:absolute;top:0;left:0;transition:width .3s ease}.progress-fill{height:100%;background-color:var(--accent);position:absolute;top:0;left:0;transition:width .1s linear;will-change:width;transform:translateZ(0)}.progress-thumb{width:14px;height:14px;background-color:var(--accent);border-radius:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:left .3s ease;border:var(--border-width) solid var(--black)}.time-display{display:flex;justify-content:space-between;font-family:Space Mono,monospace;font-size:.8rem}.current-time,.duration{font-weight:700}.duration-separator{margin:0 var(--spacing-xs);color:var(--secondary)}.audio-error-details{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:#f8f0ed;border-left:var(--thick-border);border-left-color:var(--accent-color);font-family:Space Mono,monospace;font-size:.9rem}.debug-button{font-family:Space Mono,monospace;font-size:.8rem;padding:var(--spacing-xs) var(--spacing-sm);background-color:#fff;color:var(--primary-color);border:var(--light-border);margin-top:var(--spacing-sm);cursor:pointer}.debug-button:hover{background-color:#f0f0f0}.html5-audio{display:none}.force-native-controls .html5-audio{display:block;width:100%;margin-top:var(--spacing-md)}@media(max-width:768px){.audio-controls{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.play-button{align-self:center;margin-bottom:var(--spacing-sm)}}.audio-progress.not-seekable,.audio-progress.not-seekable .progress-bar{cursor:default}.ab-comparison{border:var(--border-width) solid var(--black);padding:var(--space-md);margin-bottom:var(--space-md);background-color:var(--white)}.ab-comparison-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:var(--border-width) solid var(--black)}.ab-comparison-header h3{font-family:var(--font-mono);text-transform:uppercase;font-weight:700;margin:0}.loading-status{font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;padding:var(--space-xs) var(--space-sm)}.loading-status .loading{background-color:var(--gray-light);animation:blink 1s infinite}.loading-status .error{background-color:var(--accent);color:var(--white)}.loading-status .ready{background-color:var(--black);color:var(--white)}.ab-players{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);margin-bottom:var(--space-lg)}.player-wrapper{box-sizing:border-box;border:var(--border-width) solid transparent;padding:0;background-color:var(--white);position:relative}.player-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding-bottom:var(--space-xs);border-bottom:1px solid var(--gray-light)}.player-header h4{font-family:var(--font-mono);text-transform:uppercase;font-size:1.1rem;margin:0}.error-message{background-color:var(--accent);color:var(--white);padding:var(--space-sm);margin-top:var(--space-md);font-family:var(--font-mono);font-size:.9rem}.error-message p{margin-bottom:var(--space-sm)}.error-message button{background-color:var(--white);color:var(--black);font-family:var(--font-mono);font-size:.8rem;padding:var(--space-xs) var(--space-sm);border:var(--border-width) solid var(--black);cursor:pointer}.ab-instructions{background-color:var(--gray-light);padding:var(--space-md);margin-top:var(--space-md);text-align:center;border:var(--border-width) dashed var(--black)}.ab-instructions p{margin:0;font-family:var(--font-mono);font-size:.9rem;font-style:italic}.player-a{position:relative}.player-a:after{content:"A";position:absolute;top:-15px;left:-15px;width:30px;height:30px;background-color:var(--color-a);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:1.2rem}.player-b{position:relative}.player-b:after{content:"B";position:absolute;top:-15px;left:-15px;width:30px;height:30px;background-color:var(--color-b);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:1.2rem}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:768px){.ab-players{grid-template-columns:1fr}}.batch-completion{max-width:800px;margin:0 auto;padding:var(--space-xl);text-align:center;border:var(--border-width-thick) solid var(--black);position:relative;background-color:var(--white)}.batch-completion.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh}.batch-completion.error{border-color:var(--accent)}.completion-icon{font-size:4rem;margin-bottom:var(--space-lg);line-height:1;display:inline-block;width:100px;height:100px;background-color:var(--black);color:var(--white);border-radius:0;display:flex;align-items:center;justify-content:center;transform:rotate(10deg);margin-left:auto;margin-right:auto}.batch-completion h2{font-family:var(--font-mono);text-transform:uppercase;font-size:2.5rem;margin-bottom:var(--space-xl);position:relative;display:inline-block}.batch-completion h2:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:var(--border-width);background-color:var(--black)}.summary-content{margin-bottom:var(--space-xl)}.summary-content h3{font-family:var(--font-mono);text-transform:uppercase;font-size:1.5rem;margin-bottom:var(--space-lg);border-left:var(--border-width-thick) solid var(--accent);padding-left:var(--space-md);display:inline-block}.batch-description{margin-bottom:var(--space-lg);font-size:1.1rem;max-width:600px;margin-left:auto;margin-right:auto}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md);margin:var(--space-xl) 0}.stat-item{border:var(--border-width) solid var(--black);padding:var(--space-md);background-color:var(--white);position:relative;text-align:center}.stat-item:nth-child(odd){transform:rotate(-1deg)}.stat-item:nth-child(2n){transform:rotate(1deg)}.stat-value{font-family:var(--font-mono);font-size:2rem;font-weight:700;margin-bottom:var(--space-xs)}.stat-label{font-family:var(--font-mono);text-transform:uppercase;font-size:.8rem}.completion-message{margin-bottom:var(--space-xl);font-size:1.2rem;max-width:600px;margin-left:auto;margin-right:auto;padding:var(--space-md);border:var(--border-width) dashed var(--black);font-style:italic}.batch-completion-actions{display:flex;justify-content:center;gap:var(--space-lg);margin-top:var(--space-xl)}.primary-button,.secondary-button{font-family:var(--font-mono);text-transform:uppercase;font-weight:700;padding:var(--space-md) var(--space-lg);cursor:pointer;transition:transform .1s,box-shadow .1s}.primary-button{background-color:var(--black);color:var(--white);border:var(--border-width) solid var(--black)}.secondary-button{background-color:var(--white);color:var(--black);border:var(--border-width) solid var(--black)}.primary-button:hover,.secondary-button:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--gray-medium)}.batch-completion:before{content:"";position:absolute;top:-10px;left:-10px;width:20px;height:20px;background-color:var(--black);transform:rotate(45deg)}.batch-completion:after{content:"";position:absolute;bottom:-10px;right:-10px;width:20px;height:20px;background-color:var(--accent);transform:rotate(45deg)}@media(max-width:768px){.batch-completion{padding:var(--space-md);margin:var(--space-md)}.batch-completion h2{font-size:2rem}.summary-stats{grid-template-columns:1fr}.batch-completion-actions{flex-direction:column;gap:var(--space-md)}.primary-button,.secondary-button{width:100%}}.batch-progress-header{margin-bottom:var(--spacing-md);font-family:var(--font-mono)}.batch-overall-progress{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--black)}.batch-progress-label{font-size:.8rem;color:var(--gray-dark);text-transform:uppercase;white-space:nowrap;letter-spacing:-.5px;font-weight:500}.batch-instructions-button{font-family:var(--font-mono);font-size:.75rem;padding:var(--spacing-xs) var(--spacing-md);background-color:transparent;border:2px solid var(--black);cursor:pointer;text-transform:uppercase;transition:all .15s ease;font-weight:700;margin-left:auto;position:relative;display:flex;align-items:center}.batch-instructions-button:hover{background-color:var(--black);color:#fff;transform:translateY(-2px);box-shadow:0 2px #0003}.batch-instructions-button:active{transform:translateY(0);box-shadow:none}.batch-progress-bar{height:5px;background-color:#f0f0f0;border:1px solid var(--black);flex-grow:1;position:relative}.batch-progress-fill{height:100%;background-color:var(--black);transition:width .3s ease-out}.batch-dimension-panel{padding:var(--spacing-sm) 0;border-left:3px solid var(--black);padding-left:var(--spacing-md);position:relative;margin-bottom:var(--spacing-md);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.batch-dimension-panel:before{content:"";position:absolute;top:0;left:0;width:10px;height:10px;background-color:var(--black);transform:translate(-50%,-50%)}.batch-dimension-info{flex:1;min-width:300px}.batch-active-dimension{display:flex;flex-direction:row;align-items:center;margin-bottom:var(--spacing-md)}.batch-active-dimension h2{font-size:1.2rem;text-transform:uppercase;margin:0;font-weight:700;letter-spacing:-.5px;position:relative;padding-left:var(--spacing-lg)}.batch-active-dimension h2:before{content:"→";position:absolute;left:0;font-size:1rem;top:50%;transform:translateY(-50%)}.batch-dimension-progress{display:flex;align-items:center;gap:var(--spacing-sm);min-width:140px;max-width:40%;margin-left:var(--spacing-md)}.batch-remaining-count{font-size:.75rem;white-space:nowrap;color:var(--gray-dark);letter-spacing:-.5px}.batch-dimension-tabs{display:flex;overflow-x:auto;gap:var(--spacing-md);padding-bottom:var(--spacing-md);scrollbar-width:none;flex:1}.batch-dimension-tabs::-webkit-scrollbar{height:3px}.batch-dimension-tabs::-webkit-scrollbar-track{background:transparent}.batch-dimension-tabs::-webkit-scrollbar-thumb{background-color:var(--black)}.batch-dimension-tab{font-family:var(--font-mono);font-size:.75rem;padding:var(--spacing-sm) var(--spacing-md);background-color:#f5f5f5;text-align:center;white-space:nowrap;flex:0 0 auto;min-width:200px;max-width:240px;opacity:.9;position:relative;border:1px solid var(--gray-light);box-shadow:2px 2px #0000000d;cursor:pointer}.batch-dimension-tab.active{font-weight:700;opacity:1;background-color:#fff;border-color:var(--black);border-width:2px;box-shadow:3px 3px #0000001a}.batch-dimension-tab:after{content:attr(data-percentage);position:absolute;top:4px;right:4px;font-size:.65rem;color:var(--gray-dark);background-color:#fffc;padding:2px 4px;border-radius:0;border:1px solid var(--gray-light)}.batch-dimension-tab.active:after{background-color:var(--black);color:#fff;font-weight:700;opacity:1;border-color:var(--black)}.batch-dimension-tab.completed{color:var(--gray-medium);border-color:#ddd;background-color:#f9f9f9}.batch-dimension-tab.in_progress{border-left:3px solid var(--black)}.batch-tab-name{display:inline-block;margin-right:var(--spacing-xs);text-transform:uppercase;letter-spacing:-.5px;font-weight:500}.batch-tab-progress{font-size:.65rem;font-weight:400;display:none}.batch-item-navigation{display:flex;align-items:center;gap:var(--spacing-md);padding-left:var(--spacing-md);border-left:1px solid var(--gray-light);min-width:270px}.batch-item-counter{font-size:.8rem;color:var(--gray-dark);white-space:nowrap}.batch-rated-count{margin-left:var(--spacing-sm);color:var(--gray-medium);font-size:.7rem}.batch-nav-buttons{display:flex;gap:var(--spacing-sm)}.batch-nav-button{font-family:var(--font-mono);font-size:.7rem;padding:var(--spacing-sm) var(--spacing-md);background-color:transparent;border:2px solid var(--black);cursor:pointer;text-transform:uppercase;transition:all .15s ease;font-weight:700}.batch-nav-button:hover:not(:disabled){background-color:var(--black);color:#fff;transform:translateY(-2px);box-shadow:0 2px #0003}.batch-nav-button:active:not(:disabled){transform:translateY(0);box-shadow:none}.batch-nav-button:disabled{opacity:.4;cursor:not-allowed;border-color:var(--gray-light);color:var(--gray-medium)}.batch-previous-button{position:relative}.batch-previous-button:before{content:"←";position:absolute;left:5px;font-size:.8rem;opacity:.7}.batch-previous-button{padding-left:18px}.batch-next-button{position:relative}.batch-next-button:after{content:"→";position:absolute;right:5px;font-size:.8rem;opacity:.7}.batch-next-button{padding-right:18px}@media(max-width:960px){.batch-dimension-panel{flex-direction:column;align-items:flex-start}.batch-dimension-info,.batch-dimension-tabs{width:100%;max-width:100%;margin-bottom:var(--spacing-md)}.batch-item-navigation{width:100%;margin-top:var(--spacing-md);padding-left:0;padding-top:var(--spacing-md);border-left:none;border-top:1px solid var(--gray-light);justify-content:space-between}.batch-instructions-button{font-size:.7rem;padding:var(--spacing-xs) var(--spacing-sm)}}@media(max-width:768px){.batch-active-dimension{flex-direction:column;align-items:flex-start}.batch-active-dimension h2{margin-bottom:var(--spacing-sm);font-size:1.1rem}.batch-dimension-progress{width:100%;max-width:100%;margin-top:var(--spacing-sm);margin-left:0}.batch-dimension-tabs{padding-bottom:var(--spacing-sm);gap:var(--spacing-sm)}.batch-dimension-tab{min-width:90px;font-size:.7rem}.batch-item-navigation{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.batch-item-counter{text-align:center;margin-bottom:var(--spacing-sm)}.batch-nav-buttons{justify-content:space-between}.batch-overall-progress{flex-wrap:wrap}.batch-instructions-button{margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:.7rem}.batch-instructions-button:before{font-size:.8rem}}.shortcuts-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.shortcuts-modal-content{background-color:#fff;border-radius:var(--border-radius-md, 6px);box-shadow:var(--shadow-lg, 0 8px 16px rgba(0, 0, 0, .15));width:90%;max-width:550px;max-height:90vh;overflow-y:auto;position:relative;animation:slideIn .2s ease-out}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.shortcuts-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #eee}.shortcuts-modal-header h2{margin:0;font-family:var(--font-heading, "Poiret One", cursive);font-size:1.5rem;color:var(--primary, #0f4c5c)}.shortcuts-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s}.shortcuts-modal-close:hover{background-color:#f0f0f0}.shortcuts-modal-body{padding:1rem 1.5rem}.shortcuts-section{margin-bottom:1.5rem}.shortcuts-section h3{font-family:var(--font-subheading, "Raleway", sans-serif);font-size:1.1rem;margin-bottom:.75rem;border-left:3px solid var(--secondary, #e09f3e);padding-left:.75rem;color:var(--dark, #2b2b2b)}.shortcut-row{display:flex;align-items:center;margin-bottom:.75rem}.shortcut-key{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:.25rem .5rem;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;font-family:var(--font-mono, monospace);font-size:.9rem;font-weight:600;box-shadow:0 2px #ccc;color:var(--dark, #2b2b2b);margin-right:1rem}.shortcut-description{font-family:var(--font-body, "Work Sans", sans-serif);flex:1}.shortcuts-modal-footer{padding:1rem 1.5rem;text-align:right;border-top:1px solid #eee}.shortcuts-modal-ok{padding:.5rem 1.5rem;background-color:var(--primary, #0f4c5c);color:#fff;border:none;border-radius:4px;cursor:pointer;font-family:var(--font-subheading, "Raleway", sans-serif);font-weight:500;transition:background-color .2s}.shortcuts-modal-ok:hover{background-color:var(--accent, #9b2226)}@media(max-width:768px){.shortcuts-modal-content{width:95%}.shortcut-row{flex-direction:column;align-items:flex-start;margin-bottom:1rem}.shortcut-key{margin-bottom:.25rem}}.video-ab-comparison{width:100%;max-width:1000px;margin:0 auto;display:flex;flex-direction:column;background-color:var(--white);border:var(--border-width-thick) solid var(--black);overflow:hidden}.video-ab-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);background-color:var(--black);color:var(--white);text-transform:uppercase;font-family:var(--font-mono);letter-spacing:-1px}.video-ab-header h3{margin:0;font-weight:700;border-left:var(--border-width-thick) solid var(--accent);padding-left:var(--space-md)}.media-status{font-family:var(--font-mono);font-size:.85rem;padding:var(--space-xs) var(--space-sm);text-transform:uppercase;border:var(--border-width) solid var(--white)}.media-status .loading{color:var(--secondary)}.media-status .error{color:var(--accent)}.video-container{position:relative;width:100%;aspect-ratio:16 / 9;background-color:var(--black);overflow:hidden;border-bottom:var(--border-width-thick) solid var(--black)}.main-video{width:100%;height:100%;object-fit:contain;background-color:#000}.video-controls-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:#0000004d;opacity:0;transition:opacity .3s ease}.video-container:hover .video-controls-overlay,.video-controls-overlay:focus-within{opacity:1}.video-controls-overlay.playing{opacity:0}.video-container:hover .video-controls-overlay.playing{opacity:1}.play-pause-button{width:80px;height:80px;background-color:var(--white);border:var(--border-width-thick) solid var(--black);color:var(--black);font-size:32px;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:transform .1s,box-shadow .1s;font-family:var(--font-mono)}.play-pause-button:hover{transform:translate(-4px,-4px);box-shadow:4px 4px 0 var(--black)}.play-pause-button:disabled{background-color:var(--gray-light);color:var(--gray-dark);cursor:not-allowed;transform:none;box-shadow:none}.audio-switch-controls{padding:var(--space-lg);background-color:var(--black);color:var(--white);display:flex;flex-direction:column;gap:var(--space-md)}.switch-label{font-weight:700;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:-1px}.audio-buttons{display:flex;gap:var(--space-md)}.audio-button{flex:1;padding:var(--space-lg);border:var(--border-width) solid var(--white);background-color:var(--black);color:var(--white);font-family:var(--font-mono);font-weight:700;text-transform:uppercase;cursor:pointer;transition:transform .1s,box-shadow .1s;position:relative;display:flex;align-items:center;justify-content:center;gap:var(--space-md)}.audio-button .source-label{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:30px;padding:var(--space-xs);font-weight:700;font-size:1.2rem}.audio-button:nth-child(1) .source-label{background-color:var(--color-a);color:var(--white)}.audio-button:nth-child(2) .source-label{background-color:var(--color-b);color:var(--black)}.audio-button:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--white)}.audio-button:active:not(:disabled){transform:translate(0);box-shadow:none}.audio-button:nth-child(1).active{background-color:var(--color-a);color:var(--white);border-color:var(--white);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--white)}.audio-button:nth-child(2).active{background-color:var(--color-b);color:var(--black);border-color:var(--white);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--white)}.audio-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.error-indicator{position:absolute;top:-8px;right:-8px;font-size:16px;background-color:var(--accent);color:var(--white);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:var(--border-width) solid var(--white)}.media-error{position:absolute;bottom:0;left:0;width:100%;padding:var(--space-md);background-color:var(--accent);color:var(--white);font-size:.9rem;font-family:var(--font-mono);display:flex;justify-content:space-between;align-items:center;border-top:var(--border-width) solid var(--black)}.media-error button{background-color:var(--white);color:var(--accent);border:var(--border-width) solid var(--black);padding:var(--space-xs) var(--space-sm);cursor:pointer;font-weight:700;font-family:var(--font-mono);text-transform:uppercase}.media-error button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--black)}.comparison-instructions{padding:var(--space-md);background-color:var(--white);border-top:var(--border-width) solid var(--black);font-family:var(--font-sans);color:var(--black);text-align:center}@media(max-width:768px){.video-ab-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.audio-switch-controls{padding:var(--space-md) var(--space-sm)}.audio-buttons{flex-direction:column}.play-pause-button{width:60px;height:60px;font-size:24px}}:root{--color-great: #4caf50;--color-good: #8bc34a;--color-medium: #ffc107;--color-bad: #f44336}.dimension-instructions-page{max-width:900px;margin:0 auto;padding:var(--space-lg)}.dimension-instructions.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;padding:var(--space-xl);border:var(--border-width) solid var(--accent)}.instructions-header{margin-bottom:var(--space-xl);position:relative}.instructions-header h1{font-family:var(--font-mono);text-transform:uppercase;font-size:2.2rem;border-bottom:var(--border-width) solid var(--black);padding-bottom:var(--space-sm);margin-bottom:var(--space-lg)}.dimension-banner{display:inline-block;background-color:var(--black);color:var(--white);padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);text-transform:uppercase;font-size:.9rem;transform:rotate(-2deg);position:relative}.dimension-banner:before{content:"";position:absolute;top:3px;left:3px;right:3px;bottom:3px;border:1px dashed var(--white);pointer-events:none}.instructions-card{border:var(--border-width) solid var(--black);padding:var(--space-lg);margin-bottom:var(--space-xl);position:relative;background-color:var(--white)}.instructions-card h2{font-family:var(--font-mono);text-transform:uppercase;margin-top:0;margin-bottom:var(--space-lg);border-left:var(--border-width-thick) solid var(--accent);padding-left:var(--space-md)}.dimension-description h3{font-family:var(--font-mono);text-transform:uppercase;margin-top:var(--space-lg);margin-bottom:var(--space-md)}.question-display{border-left:var(--border-width-thick) solid var(--accent);padding:var(--space-md);margin:var(--space-lg) 0;font-size:1.5rem;font-weight:700}.question-text{font-family:var(--font-sans)}.rating-scale-info{margin-top:var(--space-xl)}.continuous-scale-explanation{margin-top:var(--space-md)}.scale-display{display:flex;align-items:center;margin-top:var(--space-md);border:var(--border-width) solid var(--black);padding:var(--space-md)}.scale-min,.scale-max{display:flex;flex-direction:column;align-items:center;text-align:center}.scale-value{font-family:var(--font-mono);font-size:1.5rem;font-weight:700}.scale-label{font-family:var(--font-mono);text-transform:uppercase;font-size:.8rem}.scale-line{flex:1;height:var(--space-sm);background:repeating-linear-gradient(90deg,var(--black),var(--black) 10px,var(--white) 10px,var(--white) 20px);margin:0 var(--space-md)}.ab-scale-explanation{margin-top:var(--space-md)}.ab-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);margin-top:var(--space-md)}.ab-option{border:var(--border-width) solid var(--black);padding:var(--space-md);text-align:center}.ab-option strong{display:block;font-family:var(--font-mono);text-transform:uppercase;font-size:1.2rem;margin-bottom:var(--space-sm)}.rating-tips ul{list-style-type:none;padding:0}.rating-tips li{padding:var(--space-sm) 0;padding-left:var(--space-xl);position:relative;border-bottom:1px solid var(--gray-light)}.rating-tips li:last-child{border-bottom:none}.rating-tips li:before{content:"→";position:absolute;left:0;font-family:var(--font-mono);font-weight:700}.examples-section h2{margin-bottom:var(--space-md);font-size:1.2rem}.examples-section p{margin-bottom:var(--space-md);font-size:.9rem}.examples-container{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)}.example-item{border-left:4px solid var(--black);padding-left:var(--space-md);position:relative}.example-item[data-rating="95"],.example-item[data-rating="90"],.example-item[data-rating="85"]{border-left-color:var(---color-great)}.example-item[data-rating="50"],.example-item[data-rating="60"],.example-item[data-rating="40"]{border-left-color:var(--color-medium)}.example-item[data-rating="20"],.example-item[data-rating="10"],.example-item[data-rating="0"]{border-left-color:var(--color-bad)}.example-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs)}.example-header h3{font-size:.9rem;margin:0;font-family:var(--font-mono);text-transform:uppercase}.rating-badge{font-family:var(--font-mono);font-size:.8rem;font-weight:700;padding:2px 4px;background-color:var(--black);color:var(--white)}.rating-badge[data-rating="100"],.rating-badge[data-rating="95"],.rating-badge[data-rating="90"]{background-color:var(--color-great)}.rating-badge[data-rating="70"] .rating-badge[data-rating="80"] .rating-badge[data-rating="85"]{background-color:var(--color-good)}.rating-badge[data-rating="50"],.rating-badge[data-rating="60"],.rating-badge[data-rating="40"]{background-color:var(--color-medium)}.rating-badge[data-rating="30"],.rating-badge[data-rating="20"],.rating-badge[data-rating="10"],.rating-badge[data-rating="0"]{background-color:var(--color-bad)}.rating-badge[data-rating=A]{background-color:var(--color-a)}.rating-badge[data-rating=B]{background-color:var(--color-b)}.example-description{display:none}.example-player{margin:var(--space-xs) 0}.example-rating-description{font-size:.8rem;font-style:italic;color:var(--gray-medium)}.instruction-audio-player{max-width:100%}.instructions-actions{display:flex;justify-content:space-between;margin-top:var(--space-xl)}@media(max-width:768px){.dimension-instructions-page{padding:var(--space-md)}.instructions-header h1{font-size:1.8rem}.instructions-card{padding:var(--space-md)}.examples-container,.ab-options{grid-template-columns:1fr}.instructions-actions{flex-direction:column;gap:var(--space-md)}.instructions-actions button{width:100%}}.ws-status-indicator{display:flex;align-items:center;margin-left:auto;padding:0 15px}.connection-status{display:inline-flex;align-items:center;font-size:12px;font-weight:500;padding:2px 8px;border-radius:12px;cursor:pointer;position:relative}.connection-status.connected{color:#4caf50}.connection-status.disconnected{color:#f44336}.update-badge{position:absolute;top:-8px;right:-8px;background-color:var(--accent, #9b2226);color:#fff;font-size:10px;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}.realtime-updates-panel{position:fixed;top:60px;right:15px;width:320px;max-height:calc(100vh - 120px);background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e0e0e0;animation:slide-in .3s ease}@keyframes slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e0e0e0}.panel-header h3{margin:0;font-size:16px;font-weight:600}.close-button{background:none;border:none;font-size:20px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%}.close-button:hover{background-color:#f0f0f0}.connection-status{padding:8px 16px;font-size:13px;display:flex;align-items:center;border-bottom:1px solid #f0f0f0}.connection-status .connected{color:#4caf50}.connection-status .disconnected{color:#f44336}.connection-status .error{color:#f44336;margin-left:8px;font-size:12px}.updates-list{overflow-y:auto;padding:0;max-height:400px}.no-updates{padding:16px;text-align:center;color:#999;font-style:italic}.update-item{padding:12px 16px;border-bottom:1px solid #f0f0f0;display:flex;flex-direction:column}.update-item:last-child{border-bottom:none}.update-item.dimension_update{background-color:#f9f9f9}.update-item.batch_completed{background-color:#f0f7ff}.update-time{font-size:11px;color:#666;margin-bottom:4px}.update-content{display:flex;flex-direction:column;gap:4px}.dimension-name{font-weight:500;font-size:13px}.batch-name{font-weight:500;color:var(--primary, #0f4c5c)}.progress-bar{height:6px;background-color:#e0e0e0;border-radius:3px;overflow:hidden;margin:2px 0}.progress-fill{height:100%;background-color:var(--primary, #0f4c5c);transition:width .3s ease}.progress-value{font-size:12px;align-self:flex-end;color:#666}.completion-detail{font-size:12px;color:#666}.websocket-debug .events-list{max-height:200px;overflow-y:auto;margin-top:8px;border:1px solid #eee;border-radius:4px;font-size:12px}.websocket-debug .event{padding:6px 8px;border-bottom:1px solid #eee;display:flex;gap:8px}.websocket-debug .event:last-child{border-bottom:none}.websocket-debug .event-time{color:#666;font-size:11px;min-width:75px}.websocket-debug .event-type{font-weight:500;min-width:70px}.websocket-debug .event.connection .event-type{color:var(--primary, #0f4c5c)}.websocket-debug .event.message .event-type{color:#4caf50}.websocket-debug .event.error .event-type{color:#f44336}@media(max-width:600px){.realtime-updates-panel{width:calc(100% - 30px);max-height:50vh}}:root{--background-color: #f9f9f9;--primary-color: #000000;--secondary-color: #6b5b4c;--accent-color: #9e6a45;--text-color: #333333;--light-border: 1px solid var(--primary-color);--medium-border: 2px solid var(--primary-color);--thick-border: 4px solid var(--primary-color);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px}.audio-rating-page{max-width:1600px;margin:0 auto;padding:var(--spacing-md);background-color:var(--background-color);font-family:Space Mono,monospace}.audio-rating-page.loading,.audio-rating-page.error,.audio-rating-page.inactive,.audio-rating-page.no-dimensions,.audio-rating-page.no-files{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;text-align:center;padding:var(--spacing-xl);border-left:var(--thick-border)}.audio-rating-page.error{border-left-color:var(--accent-color)}.error-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.select-batch-button{margin-top:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--primary-color);color:#fff;border:none;font-family:Space Mono,monospace;text-transform:uppercase;font-weight:700;cursor:pointer}.top-nav-bar{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-xs);border-bottom:var(--light-border)}.overall-progress{width:100%;display:flex;align-items:center;gap:var(--spacing-sm)}.progress-label{font-family:Space Mono,monospace;font-size:.7rem;color:var(--secondary-color);white-space:nowrap}.progress-bar{height:var(--spacing-xs);background-color:#f0f0f0;flex-grow:1;position:relative}.progress-fill{height:100%;background-color:var(--secondary-color);transition:width .3s ease-out}.dimension-panel{margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-left:var(--thick-border);background-color:#f9f9f9}.dimension-panel{margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-left:3px solid var(--black);background-color:transparent;position:relative;border-top:1px solid var(--black)}.dimension-panel:before{content:"";position:absolute;top:0;left:0;width:10px;height:10px;background-color:var(--black);transform:translate(-50%,-50%)}.active-dimension{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.active-dimension h2{font-family:var(--font-mono);text-transform:uppercase;margin:0;font-size:1rem;font-weight:700;letter-spacing:-.5px;position:relative;padding-left:var(--spacing-md)}.active-dimension h2:before{content:"→";position:absolute;left:0;font-size:1.2rem;top:50%;transform:translateY(-50%)}.dimension-progress{display:flex;align-items:center;gap:var(--spacing-xs);min-width:120px;max-width:35%}.remaining-count{font-family:var(--font-mono);font-size:.65rem;white-space:nowrap;color:var(--secondary-color);letter-spacing:-.5px}.dimension-progress .progress-bar{height:4px;background-color:#f0f0f0;border:1px solid var(--black);border-radius:0}.dimension-progress .progress-fill{background-color:var(--black)}.dimension-tabs{display:flex;overflow-x:auto;gap:0;padding:0;scrollbar-width:none;margin-bottom:var(--spacing-xs);border-bottom:1px solid var(--black)}.dimension-tabs::-webkit-scrollbar{height:2px}.dimension-tabs::-webkit-scrollbar-track{background:transparent}.dimension-tabs::-webkit-scrollbar-thumb{background-color:var(--black)}.dimension-tab{font-family:var(--font-mono);font-size:.65rem;padding:var(--spacing-xs) var(--spacing-sm);background-color:transparent;cursor:pointer;text-align:center;white-space:nowrap;flex:0 0 auto;min-width:80px;opacity:.8;transition:all .2s ease;position:relative;border:none;border-right:1px solid #ddd}.dimension-tab:last-child{border-right:none}.dimension-tab:hover{opacity:1;background-color:#f5f5f5}.dimension-tab.active{font-weight:700;opacity:1;background-color:#f0f0f0;border-top:2px solid var(--black);padding-top:calc(var(--spacing-xs) - 2px)}.dimension-tab.completed{color:#999}.dimension-tab.in_progress .tab-progress{color:var(--black);font-weight:700}.tab-name{display:inline-block;margin-right:var(--spacing-xs);text-transform:uppercase;letter-spacing:-.5px}.tab-progress{font-size:.6rem;font-weight:400}@media(max-width:768px){.active-dimension{flex-direction:column;align-items:flex-start}.active-dimension h2{margin-bottom:var(--spacing-xs);font-size:1.2rem}.dimension-progress{width:100%;max-width:100%;margin-top:var(--spacing-xs)}.dimension-tabs{padding-bottom:var(--spacing-xs)}}.tab-progress{font-size:.7rem}.rating-container{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.audio-section{padding:var(--spacing-md);border:var(--medium-border);background-color:#fff;display:flex;flex-direction:column;margin-bottom:var(--spacing-md)}.rating-section{padding:var(--spacing-md) var(--spacing-lg);border-left:var(--thick-border);background-color:#fff;display:flex;flex-direction:column}.rating-navigation{margin:var(--spacing-md) 0;padding:var(--spacing-sm);border-top:var(--light-border);border-bottom:var(--light-border);display:flex;justify-content:space-between;align-items:center;opacity:.8}.item-counter{font-size:.8rem;font-family:Space Mono,monospace;color:var(--secondary-color)}.nav-buttons{display:flex;gap:var(--spacing-md)}.nav-button{background-color:transparent;color:var(--secondary-color);border:var(--light-border);border-color:var(--secondary-color);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;font-family:Space Mono,monospace;font-size:.75rem}.nav-button:hover:not(:disabled){background-color:#f5f5f5}.nav-button:disabled{opacity:.5;cursor:not-allowed}.previous-button{border-color:var(--secondary-color)}.force-enable-button{margin-top:var(--spacing-md);padding:var(--spacing-sm);font-size:.8rem;background-color:var(--accent-color);color:#fff;border:none;font-family:Space Mono,monospace;text-transform:uppercase;cursor:pointer}.previous-rating-indicator{margin-bottom:var(--spacing-md);padding:var(--spacing-md);border-left:var(--thick-border);border-left-color:var(--accent-color);background-color:#f5f5f5}.rating-badge{display:inline-block;background-color:var(--accent-color);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem;font-weight:700;margin-bottom:var(--spacing-xs);text-transform:uppercase}.rating-hint{font-size:.8rem;color:#666;font-style:italic;margin-top:var(--spacing-xs)}.feedback-message{position:fixed;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);padding:var(--spacing-md);background-color:var(--primary-color);color:#fff;border:var(--medium-border);font-family:Space Mono,monospace;font-size:1rem;z-index:100;max-width:80%;text-align:center}.feedback-message.error{background-color:#d62828}.feedback-message.success{background-color:#1a936f}.feedback-message.warning{background-color:var(--accent-color)}.debug-section{margin-top:var(--spacing-xl);border-top:var(--light-border);padding-top:var(--spacing-md)}.debug-toggle-button{font-size:.8rem;padding:var(--spacing-xs) var(--spacing-sm);background-color:#eee;color:var(--text-color);border:var(--light-border);cursor:pointer;font-family:Space Mono,monospace}.debug-panel{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:#f5f5f5;border:var(--light-border);font-family:Space Mono,monospace;font-size:.8rem}.debug-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);border-bottom:var(--light-border);padding-bottom:var(--spacing-sm)}.debug-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.debug-column p{margin-bottom:var(--spacing-xs);font-family:Space Mono,monospace;font-size:.7rem}.debug-controls{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.debug-controls button{font-size:.7rem;padding:var(--spacing-xs) var(--spacing-sm);background-color:#eee;border:var(--light-border);cursor:pointer}@media(min-width:1024px){.rating-container{flex-direction:row;align-items:flex-start}.audio-section{flex:2;margin-bottom:0;margin-right:var(--spacing-md);max-width:60%}.rating-section{flex:3;border-left:var(--thick-border);border-color:var(--accent-color);align-self:stretch}.active-dimension{flex-direction:row}}@media(max-width:912px){.active-dimension{flex-direction:column;align-items:flex-start}.active-dimension h2{margin-bottom:var(--spacing-xs);font-size:1.2rem}.dimension-progress{width:100%;margin-top:var(--spacing-xs)}.rating-navigation{flex-direction:column;gap:var(--spacing-xs)}.nav-buttons{width:100%;justify-content:space-between}.debug-grid{grid-template-columns:1fr}}.audio-rating-page.study-mode{background-color:var(--white)}.rating-container.study-mode{flex-direction:column;align-items:center}.rating-container.study-mode .audio-section,.rating-container.study-mode .rating-section{flex:none;align-self:center;width:100%;max-width:760px;margin:0}.rating-container.study-mode .audio-section,.rating-container.study-mode .rating-section{border:none;padding:var(--spacing-md)}.rating-container.study-mode .rating-control,.rating-container.study-mode .ab-comparison{border:none;padding:0;margin-bottom:0}.rating-container.study-mode .ab-players{margin-bottom:0}.top-nav-bar{display:flex;align-items:center;padding:8px 16px;background-color:#fff;border-bottom:2px solid #000000;height:40px;position:sticky;top:0;z-index:10}.overall-progress{flex:1;display:flex;align-items:center;gap:12px;max-width:300px;margin-left:auto;margin-right:auto}.progress-label{font-size:12px;font-weight:700;color:#000;width:120px;text-align:right;white-space:nowrap;letter-spacing:.5px;text-transform:uppercase}.progress-bar{flex:1;height:10px;background-color:#fff;border:2px solid #000000;overflow:hidden;position:relative}.progress-fill{height:100%;background:#000;transition:width .3s ease}.dimension-panel{display:flex;flex-direction:column;margin-bottom:16px;padding:0;border-bottom:2px solid #000000}.active-dimension{display:flex;align-items:center;gap:16px;margin-bottom:10px;padding:8px 16px}.active-dimension h2{font-size:18px;margin:0;font-weight:800;color:#000;flex:1;letter-spacing:-.5px;text-transform:uppercase}.dimension-progress{display:flex;align-items:center;gap:10px;width:200px}.remaining-count{font-size:12px;font-weight:700;color:#000;min-width:100px;text-align:right;font-family:monospace}.dimension-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px;overflow-x:auto;scrollbar-width:none;margin-bottom:0}.dimension-tabs::-webkit-scrollbar{display:none}.dimension-tab{position:relative;background:#fff;border:2px solid #000000;font-size:12px;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-width:0;transition:all .2s ease;white-space:nowrap;margin-bottom:2px;font-family:monospace}.dimension-tab:hover{background-color:#f5f5f5}.dimension-tab.active{background-color:#000;color:#fff}.dimension-tab.active .tab-name{color:#fff}.dimension-tab.active .tab-progress{background:#444;color:#fff;border-color:#fff}.dimension-tab.completed{background-color:#fff;border-color:#000}.dimension-tab.completed:after{content:"✓";position:absolute;top:-8px;right:-8px;width:18px;height:18px;background:#000;color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;font-family:monospace}.dimension-tab.in_progress{background-color:#fff;border-color:#000;border-bottom-width:4px}.tab-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;color:#000;text-transform:uppercase;letter-spacing:.5px}.tab-progress{font-size:10px;font-weight:700;color:#000;padding:1px 6px;background:#fff;font-family:monospace;border:1px solid #000000}.active-dimension .progress-bar{background-color:#fff}.active-dimension .progress-fill{background-color:#000}.dimension-progress-panel{padding:0;margin-bottom:20px}.dimension-progress-panel h3{font-size:12px;font-weight:800;color:#000;margin-bottom:10px;padding:0 16px;text-transform:uppercase;letter-spacing:.5px}.dimension-list{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px}.dimension-card{flex:0 0 auto;width:auto;min-width:100px;max-width:180px;padding:6px 10px;background-color:#fff;cursor:pointer;border:2px solid #000000;transition:all .2s ease;position:relative}.dimension-card:hover{background-color:#f5f5f5}.dimension-card.active{background-color:#000}.dimension-card.active .dimension-name{color:#fff}.dimension-card.completed{border-color:#000}.dimension-card.in_progress{border-bottom-width:4px}.dimension-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.dimension-status{width:8px;height:8px;flex-shrink:0;border:1px solid #000000}.dimension-status.completed{background-color:#000}.dimension-status.in_progress{background-color:#000;opacity:.5}.dimension-status.pending{background-color:#fff}.dimension-name{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#000;text-transform:uppercase;letter-spacing:.5px}.dimension-dropdown{display:none;margin:10px 16px}@media(max-width:600px){.dimension-list{display:none}.dimension-dropdown{display:block}.dimension-select{width:100%;padding:10px;font-size:14px;font-weight:700;background-color:#fff;border:2px solid #000000;font-family:monospace;color:#000}}.rater-leaderboard-page{max-width:100%;margin:0 auto;padding:20px;font-family:var(--font-body)}.rater-leaderboard-page h1{margin-bottom:16px;font-family:var(--font-heading);color:var(--primary)}.time-period{margin-bottom:24px;font-size:1rem;color:var(--dark)}.time-filters{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.time-filters button{padding:8px 16px;background:#fff;border:2px solid var(--primary);border-radius:6px;cursor:pointer;font-family:var(--font-subheading);transition:all .2s;font-weight:500}.time-filters button.active{background:var(--primary);color:#fff}.time-filters button:hover:not(.active){background:#0f4c5c1a}.leaderboard-table-container{width:100%;overflow-x:auto;margin-bottom:24px;border:1px solid #ddd;border-radius:6px;box-shadow:var(--shadow-sm)}.leaderboard-table{width:100%;border-collapse:collapse;min-width:1000px}.leaderboard-table th,.leaderboard-table td{padding:12px 8px;text-align:left;border-bottom:1px solid #ddd;font-size:.9rem;white-space:nowrap}.leaderboard-table th:nth-child(1),.leaderboard-table td:nth-child(1){width:60px;text-align:center}.leaderboard-table th:nth-child(2),.leaderboard-table td:nth-child(2){min-width:120px}.leaderboard-table th:nth-child(3),.leaderboard-table th:nth-child(4),.leaderboard-table th:nth-child(5),.leaderboard-table th:nth-child(6),.leaderboard-table th:nth-child(7),.leaderboard-table td:nth-child(3),.leaderboard-table td:nth-child(4),.leaderboard-table td:nth-child(5),.leaderboard-table td:nth-child(6),.leaderboard-table td:nth-child(7){width:100px;text-align:right}.leaderboard-table th:nth-child(8),.leaderboard-table th:nth-child(9),.leaderboard-table td:nth-child(8),.leaderboard-table td:nth-child(9){width:100px;text-align:right}.leaderboard-table th:nth-child(10),.leaderboard-table td:nth-child(10){width:100px}.leaderboard-table th:nth-child(11),.leaderboard-table td:nth-child(11){width:120px}.leaderboard-table th{background-color:#f5f5f5;font-weight:600;font-family:var(--font-subheading);position:sticky;top:0;z-index:1}.leaderboard-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.leaderboard-table th.sortable:hover{background-color:#e9e9e9}.leaderboard-table th.active{color:var(--primary);background-color:#e0e9ec}.leaderboard-table tbody tr:hover{background-color:#f9f9f9}.leaderboard-table .no-data{text-align:center;padding:24px;font-style:italic;color:#777}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:24px}.pagination-button{padding:8px 16px;background:#fff;border:2px solid var(--primary);border-radius:6px;cursor:pointer;transition:all .2s;font-family:var(--font-subheading)}.pagination-button:disabled{opacity:.5;cursor:not-allowed;border-color:#ccc}.pagination-button:hover:not(:disabled){background:var(--primary);color:#fff}.page-info{font-family:var(--font-subheading);color:var(--dark)}.rater-leaderboard.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.loading-indicator{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.error-message{background-color:#ffebee;border:1px solid #ffcdd2;border-radius:6px;padding:16px;margin-bottom:24px;color:#b71c1c}.retry-button{margin-top:8px;padding:6px 12px;background:#fff;border:1px solid #b71c1c;border-radius:4px;color:#b71c1c;cursor:pointer}.retry-button:hover{background-color:#ffebee}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.rater-leaderboard-page{padding:16px}.leaderboard-table th,.leaderboard-table td{padding:8px 4px;font-size:.85rem}.time-filters button{padding:6px 12px;font-size:.9rem}.pagination-controls{flex-wrap:wrap}}.leaderboard-table tbody tr.low-completion{background-color:#ff634726}.leaderboard-table tbody tr.low-completion:hover{background-color:#ff634740}.leaderboard-table tbody tr.low-completion td:nth-child(9){color:#d32f2f;font-weight:700}.ratings-analysis-page{padding:20px;max-width:1400px;margin:0 auto}.page-header{display:flex;align-items:center;margin-bottom:24px}.back-button{padding:8px 16px;background-color:#f0f0f0;border:1px solid #ccc;border-radius:var(--border-radius-sm);cursor:pointer;margin-right:20px;transition:background-color .2s}.back-button:hover{background-color:#e0e0e0}.ratings-analysis-page h1{margin-bottom:0;color:var(--primary);flex-grow:1;text-align:center}.filter-controls{display:flex;flex-wrap:wrap;gap:16px;background-color:#f8f8f8;padding:16px;border-radius:var(--border-radius-md);margin-bottom:24px;box-shadow:var(--shadow-sm)}.filter-group{display:flex;flex-direction:column;flex:1;min-width:200px}.filter-group label{font-weight:500;margin-bottom:6px;color:var(--dark)}.filter-group select{padding:8px 12px;border:1px solid #ccc;border-radius:var(--border-radius-sm);background-color:#fff;font-family:var(--font-body)}.reset-filters-button{align-self:flex-end;padding:8px 16px;background-color:#f0f0f0;border:1px solid #ccc;border-radius:var(--border-radius-sm);cursor:pointer;transition:background-color .2s;margin-top:24px}.reset-filters-button:hover:not(:disabled){background-color:#e0e0e0}.reset-filters-button:disabled{opacity:.5;cursor:not-allowed}.ratings-table-container{overflow-x:auto;margin-bottom:24px;border-radius:var(--border-radius-md);box-shadow:var(--shadow-md)}.ratings-table{width:100%;border-collapse:separate;border-spacing:0;background-color:#fff}.ratings-table th{background-color:#2b2b2b;color:#fff;padding:12px 16px;text-align:left;position:sticky;top:0;cursor:pointer;transition:background-color .2s}.ratings-table th:hover{background-color:#222}.ratings-table th.sorted{background-color:#0f4c5c}.ratings-table td{padding:12px 16px;border-bottom:1px solid #eee;vertical-align:middle}.ratings-table tr:last-child td{border-bottom:none}.ratings-table tr:nth-child(2n){background-color:#f9f9f9}.ratings-table tr:hover{background-color:#f0f7ff}.sort-indicator{margin-left:6px;font-size:12px}.no-data{text-align:center;padding:40px!important;color:#888;font-style:italic}.audio-file-info{display:flex;flex-direction:column;gap:4px}.audio-file-info .name{font-weight:500;font-size:15px}.audio-file-info .format,.audio-file-info .duration{font-size:13px;color:#666}.audio-player-wrapper{margin-top:8px;max-width:250px}.analysis-audio-player{border:1px solid #e0e0e0;border-radius:var(--border-radius-sm);padding:4px;background-color:#f9f9f9}.rating-distribution{min-width:200px}.histogram-chart{display:flex;align-items:flex-end;height:80px;gap:4px;padding:8px 0 22px;position:relative}.histogram-bar{flex:1;display:flex;flex-direction:column;height:100%;position:relative;justify-content:flex-end}.bar-fill{width:100%;background-color:var(--secondary);border-radius:2px 2px 0 0;transition:height .2s;min-height:2px}.bar-label{position:absolute;bottom:-20px;font-size:11px;color:#666;width:100%;text-align:center}.pagination-controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:16px;background-color:#f8f8f8;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm)}.page-buttons{display:flex;gap:4px}.page-button{padding:6px 12px;border:1px solid #ccc;background-color:#fff;border-radius:var(--border-radius-sm);cursor:pointer;transition:all .2s}.page-button.active{background-color:var(--primary);color:#fff;border-color:var(--primary)}.page-button:hover:not(:disabled){background-color:#f0f0f0}.page-button:disabled{opacity:.5;cursor:not-allowed}.page-size-selector{display:flex;align-items:center;gap:8px}.page-size-selector label{display:flex;gap:8px;align-items:center}.page-size-selector select{padding:6px 8px;border:1px solid #ccc;border-radius:var(--border-radius-sm)}.page-info{font-size:14px;color:#666}.retry-button{margin-top:16px;padding:8px 16px;background-color:var(--accent);color:#fff;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:background-color .2s}.retry-button:hover{background-color:#7e1a1e}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#ffffffb3;display:flex;justify-content:center;align-items:center;z-index:10}.loading-spinner{width:40px;height:40px;border:4px solid rgba(0,0,0,.1);border-left-color:var(--secondary);border-radius:50%;animation:spin 1s linear infinite}@media(max-width:768px){.filter-controls{flex-direction:column}.pagination-controls{flex-direction:column;gap:16px}.page-buttons{margin:0 auto}.page-info{text-align:center}.ratings-table th,.ratings-table td{padding:8px}.audio-file-info .name{font-size:14px}}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:var(--white);background-image:linear-gradient(45deg,var(--gray-light) 25%,transparent 25%),linear-gradient(-45deg,var(--gray-light) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--gray-light) 75%),linear-gradient(-45deg,transparent 75%,var(--gray-light) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px}.login-card{width:100%;max-width:500px;background-color:var(--white);border:var(--border-width-thick) solid var(--black);padding:var(--space-xl);position:relative}.login-card h2{font-family:var(--font-mono);text-transform:uppercase;font-size:1.8rem;text-align:center;margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:var(--border-width) solid var(--black)}.login-tabs{display:flex;margin-bottom:var(--space-xl)}.login-tab{flex:1;font-family:var(--font-mono);text-transform:uppercase;font-weight:700;padding:var(--space-md);background-color:var(--white);border:var(--border-width) solid var(--black);cursor:pointer;text-align:center;transition:background-color .2s}.login-tab:first-child{border-right:none}.login-tab.active{background-color:var(--black);color:var(--white)}.form-description{background-color:var(--gray-light);margin:calc(-1 * var(--space-md));margin-bottom:var(--space-lg);padding:var(--space-md);border-bottom:var(--border-width) solid var(--black)}.form-description p{margin:0;font-size:.9rem}.form-group{margin-bottom:var(--space-lg)}.form-group label{font-family:var(--font-mono);text-transform:uppercase;font-weight:700;display:block;margin-bottom:var(--space-xs)}.form-group input{width:100%;font-family:var(--font-mono);font-size:1rem;padding:var(--space-md);border:var(--border-width) solid var(--black);background-color:var(--white)}.form-group input:focus{outline:none;border-color:var(--accent)}.form-help{font-size:.8rem;margin-top:var(--space-xs);color:var(--gray-medium)}.error-message{background-color:var(--accent);color:var(--white);padding:var(--space-md);margin-bottom:var(--space-lg);border:var(--border-width) solid var(--black);font-family:var(--font-mono);font-size:.9rem}.login-button{width:100%;font-family:var(--font-mono);text-transform:uppercase;font-weight:700;font-size:1.1rem;padding:var(--space-md);background-color:var(--black);color:var(--white);border:var(--border-width) solid var(--black);cursor:pointer;transition:transform .1s,box-shadow .1s}.login-button:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--gray-dark)}.login-button:disabled{background-color:var(--gray-light);color:var(--gray-dark);cursor:not-allowed;transform:none;box-shadow:none}.login-card:before{content:"";position:absolute;width:30px;height:30px;background-color:var(--accent);top:-15px;left:-15px;transform:rotate(45deg)}.login-card:after{content:"";position:absolute;width:30px;height:30px;background-color:var(--black);bottom:-15px;right:-15px;transform:rotate(45deg)}@media(max-width:600px){.login-card{margin:var(--space-md);padding:var(--space-md)}.login-card h2{font-size:1.5rem}.login-tab{padding:var(--space-sm);font-size:.9rem}}:root{--black: #000000;--white: #ffffff;--gray-dark: #333333;--gray-medium: #666666;--gray-light: #999999;--accent: #e63946;--secondary: #a3a3a3;--color-a: #457b9d;--color-b: #f4a261;--color-a-rgb: 69, 123, 157;--color-b-rgb: 244, 162, 97;--font-mono: "Space Mono", monospace;--font-sans: "Arial", "Helvetica", sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--border-width: 2px;--border-width-thick: 4px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--white);color:var(--black);line-height:1.5;font-size:16px;max-width:100%;overflow-x:hidden}.container{width:100%;max-width:1600px;margin:0 auto;padding:var(--space-md)}h1,h2,h3,h4,h5,h6{font-family:var(--font-mono);text-transform:uppercase;font-weight:700;letter-spacing:-1px;margin-bottom:var(--space-md)}h1{font-size:2.5rem;border-bottom:var(--border-width) solid var(--black);padding-bottom:var(--space-sm)}h2{font-size:2rem;border-left:var(--border-width-thick) solid var(--accent);padding-left:var(--space-md)}h3{font-size:1.5rem}p{margin-bottom:var(--space-md)}a{color:var(--black);text-decoration:none;border-bottom:var(--border-width) solid var(--accent);transition:background-color .2s}a:hover{background-color:var(--accent);color:var(--white)}.button,button,input[type=submit]{font-family:var(--font-mono);font-size:1rem;text-transform:uppercase;font-weight:700;background-color:var(--white);color:var(--black);border:var(--border-width) solid var(--black);padding:var(--space-sm) var(--space-md);cursor:pointer;display:inline-block;text-align:center;transition:transform .1s,box-shadow .1s;position:relative;outline:none}.button:hover,button:hover,input[type=submit]:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--black)}.button:active,button:active,input[type=submit]:active{transform:translate(0);box-shadow:none}.button-primary,.primary-button{background-color:var(--black);color:var(--white);border:var(--border-width) solid var(--black)}.button-secondary,.secondary-button{background-color:var(--white);color:var(--black);border:var(--border-width) solid var(--black)}button:disabled{background-color:var(--gray-light);color:var(--gray-dark);border-color:var(--gray-dark);cursor:not-allowed;transform:none;box-shadow:none}input[type=text],input[type=email],input[type=password],input[type=number],textarea,select{font-family:var(--font-mono);font-size:1rem;border:var(--border-width) solid var(--black);padding:var(--space-sm);width:100%;background-color:var(--white);margin-bottom:var(--space-md)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}label{font-family:var(--font-mono);text-transform:uppercase;font-weight:700;display:block;margin-bottom:var(--space-xs)}.form-group{margin-bottom:var(--space-md)}.error-message{background-color:var(--accent);color:var(--white);padding:var(--space-md);margin-bottom:var(--space-md);border:var(--border-width) solid var(--black)}.loading{font-family:var(--font-mono);font-size:1.2rem;text-align:center;padding:var(--space-lg)}.loading-indicator{display:inline-block;width:var(--space-xl);height:var(--space-xl);border:var(--border-width-thick) solid var(--black);border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.top-nav-bar{background-color:var(--black);color:var(--white);padding:var(--space-md);display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.progress-bar{height:var(--space-md);background-color:var(--white);border:var(--border-width) solid var(--black);position:relative;margin:var(--space-sm) 0}.progress-fill{height:100%;background-color:var(--black);transition:width .3s ease}.feedback-message{font-family:var(--font-mono);padding:var(--space-md);margin-bottom:var(--space-md);border:var(--border-width) solid var(--black)}.feedback-message.error{background-color:var(--accent);color:var(--white)}.feedback-message.success{background-color:var(--black);color:var(--white)}.feedback-message.warning{background-color:#fc0;color:var(--black)}.feedback-message.info{background-color:var(--secondary);color:var(--white)}@media(max-width:768px){.container{padding:var(--space-sm)}h1{font-size:2rem}h2{font-size:1.5rem}}
