:root{--bg-color: #121212;--card-bg: #1e1e1e;--accent-color: #ff9800;--text-color: #e0e0e0;--text-dim: #999;--success: #4caf50;--error: #f44336}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-color);display:flex;flex-direction:column;align-items:center;min-height:100vh;overflow-x:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#app{flex:1;display:flex;flex-direction:column;width:100%;max-width:96%;padding:0rem 1rem}.screen{display:flex;flex-direction:column;gap:1rem;animation:fadeIn .3s ease-out}.blurred{filter:blur(8px);pointer-events:none;user-select:none;-webkit-user-select:none}.history-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:160px;z-index:100;text-align:center;border-radius:8px;pointer-events:none}.history-overlay button{padding:.8rem 2rem;font-size:1rem;pointer-events:auto;box-shadow:0 4px 20px #00000080}.hidden{display:none!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}h1{font-size:2rem;text-align:center;color:var(--accent-color)}@media(max-width:600px){h1{font-size:1.5rem}}h3{margin-bottom:.5rem;color:var(--text-dim);text-transform:uppercase;font-size:.8rem;letter-spacing:1px}.subtitle{color:var(--text-dim);font-size:.9rem;margin-top:.5rem}.control-group{display:flex;flex-direction:column;gap:.5rem;min-width:0}.checkbox-group{flex-direction:row;align-items:center;gap:.8rem;cursor:pointer}.checkbox-group input{width:20px;height:20px;accent-color:var(--accent-color)}.small-select{padding:.4rem;background:#222;color:#fff;border:1px solid #444;border-radius:4px;font-size:.8rem;margin-left:auto}select{padding:.8rem;background:var(--card-bg);color:#fff;border:1px solid #333;border-radius:4px;font-size:1rem}button{padding:1rem;background-color:var(--accent-color);color:#000;border:none;border-radius:4px;font-weight:700;font-size:1.1rem;cursor:pointer;transition:transform .1s,background-color .2s}button:hover{background-color:#ffa726}button:active{transform:scale(.98)}button:disabled{background-color:#333;color:#666;cursor:not-allowed}.subdivision-selector{display:flex;gap:6px;width:100%}.sub-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#252525;border:1px solid #333;padding:.45rem .2rem;cursor:pointer;border-radius:6px;transition:all .2s;color:var(--text-dim);font-weight:400;font-size:inherit}.sub-btn:hover{background-color:#333;border-color:#555;color:var(--text-color);transform:none}.sub-btn:active{transform:scale(.98)}.sub-btn.active{background-color:#ff980026;border-color:var(--accent-color);color:var(--accent-color);font-weight:700}.icon-note{width:22px;height:30px;margin-bottom:.2rem;fill:currentColor;display:block}.sub-btn span{font-size:.8rem;line-height:1}.exercise-info{background:var(--card-bg);padding:1rem 1.2rem;border-radius:8px;width:100%;min-width:0}.setup-panel{display:flex;flex-direction:column;margin-top:0}.setup-panel h3{margin-bottom:.75rem}.setup-panel .control-grid{gap:.75rem;margin-bottom:.5rem}.setup-actions{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #333}.setup-actions #start-btn{width:100%;margin:0}.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.full-width{grid-column:span 2}.input-with-button{display:flex;gap:.5rem;width:100%}.input-with-button select,.input-with-button input{flex:1;min-width:0}.input-with-button button{flex-shrink:0;padding:0 .8rem;font-size:.9rem;white-space:nowrap;display:flex;align-items:center;justify-content:center}.icon-btn{width:46px;padding:0!important}.icon-btn svg{display:block}@media(max-width:600px){.control-grid{grid-template-columns:1fr}.full-width{grid-column:span 1}.exercise-info{padding:1rem}#setup-controls{width:100%}.subdivision-selector{gap:6px}.input-with-button{flex-wrap:wrap}.input-with-button button{flex:1;padding:.6rem!important}.input-with-button button.icon-btn{flex:0 0 46px}}.stepper-input-wrapper{display:flex;align-items:center;justify-content:center;padding:0 4px;gap:2px}.note-display-wrapper{min-width:120px;padding:0 8px}.stepper-unit{color:var(--accent-color);font-size:.9rem;font-weight:700;-webkit-user-select:none;user-select:none}.small-number-input{width:32px!important;height:32px;background:transparent;color:var(--accent-color);border:none;font-size:.95rem;font-weight:700;text-align:center;outline:none;font-family:inherit;padding:0;margin:0}.note-stepper{display:flex;align-items:center;background:#252525;border:1px solid #444;border-radius:6px;width:fit-content;overflow:hidden;transition:all .2s}.note-stepper:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 2px #ff980033}.control-header{display:flex;justify-content:flex-start;align-items:center;width:100%;margin-bottom:2px;gap:.8rem}.control-header label{margin-bottom:0!important}.step-btn{background:transparent;color:var(--text-dim);border:none;width:28px;height:32px;font-size:.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0!important}.step-btn:hover{background:#ffffff0d;color:#fff}#note-down{border-right:1px solid #333}#note-up{border-left:1px solid #333}.step-btn:active{background:#ffffff1a}.small-number-input:hover{border-color:#666;background:#2a2a2a}.small-number-input:focus{border-color:var(--accent-color);background:#333;box-shadow:0 0 0 2px #ff980033}.small-btn{padding:0 .8rem!important;font-size:.8rem!important}.note-name{color:var(--accent-color);font-weight:800;font-size:.75rem;text-transform:uppercase;white-space:nowrap;transition:filter .2s}.note-display-wrapper:hover .note-name{filter:brightness(1.3)}.note-display-wrapper:active .note-name{transform:scale(.95)}.hint-text{font-size:.65rem;color:var(--text-dim);font-weight:400;font-style:italic;margin-left:6px;opacity:.7}.setup-metric{margin-top:.35rem;font-size:.7rem;color:var(--text-dim);opacity:.85}.setup-metric-inline{margin-top:0;margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}#note-group{transition:all .2s}#note-group label{margin-bottom:0;display:flex;align-items:baseline}@keyframes highlight-pulse{0%{transform:scale(1.05);filter:brightness(1.5)}to{transform:scale(1);filter:brightness(1)}}.detected-pulse{animation:highlight-pulse .4s ease-out}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}input[type=range]{width:100%;accent-color:var(--accent-color);margin:.5rem 0}#duration-value{color:var(--accent-color);font-weight:700}#screen-setup{width:100%}@media(min-width:900px){#screen-setup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.25rem;row-gap:0;align-items:start}#setup-controls,#history-container{grid-row:1;margin-top:0!important}#history-container{min-height:420px}}#screen-play,#screen-results{max-width:700px;width:100%;margin:auto;gap:1rem;position:relative}.status-bar{text-align:center}#timer{font-size:4rem;font-weight:700;font-variant-numeric:tabular-nums;margin-bottom:1rem}@media(max-width:600px){#timer{font-size:3rem}}#play-visual-area{width:100%;margin:0;height:180px;display:flex;flex-direction:column;justify-content:center}#countdown-view{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}#countdown-number{font-size:8rem;font-weight:900;color:var(--accent-color);text-transform:uppercase;line-height:1;display:flex;align-items:center;justify-content:center;height:128px}@media(max-width:600px){#countdown-number{font-size:5rem}}.countdown-params{display:flex;justify-content:center;gap:3rem;margin:0;animation:fadeIn .5s ease-out .2s both}.play-controls{display:flex;justify-content:center;gap:1rem;height:50px;align-items:center}.param-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.param-label{font-size:.65rem;color:var(--text-dim);letter-spacing:2px;font-weight:700}.param-value{font-size:1.5rem;font-weight:900;color:var(--accent-color);text-transform:uppercase}#countdown-duration,#res-duration{text-transform:none}@media(max-width:600px){.countdown-params{gap:1.5rem;flex-wrap:wrap;justify-content:center}.param-value{font-size:1.1rem}}#progress-container{height:8px;background:#333;border-radius:4px;overflow:hidden}#progress-bar{height:100%;background:var(--accent-color);width:0%;transition:width .1s linear}.hit-indicator-container{display:flex;align-items:center;gap:1rem;width:100%}.hit-indicator-label{font-size:.7rem;font-weight:700;color:var(--text-dim);letter-spacing:1px;width:50px}.hit-indicator-label.early{text-align:right}.hit-indicator-label.late{text-align:left}.hit-indicator{height:80px;background:#000;position:relative;border-radius:4px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #333;flex-grow:1}.center-line{position:absolute;height:100%;width:2px;background:#4caf50;box-shadow:0 0 15px #4caf50;z-index:1}#hit-cloud-canvas{position:absolute;width:100%;height:100%;pointer-events:none;z-index:2}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:500px){.metrics-grid{grid-template-columns:1fr}.metric-card:not(:last-child):after{display:none}}.metric-card{text-align:left;position:relative}.metric-card:not(:last-child):after{content:"";position:absolute;right:-.5rem;top:0;bottom:0;width:1px;background:#333}.metric-card label{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.9rem;font-weight:700;margin-bottom:1rem;position:relative}.info-icon{font-size:1rem;cursor:help;opacity:.6;transition:opacity .2s;position:relative;display:inline-block}.info-icon:hover{opacity:1;color:var(--accent-color)}.custom-tooltip{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:10px;background:#333;color:#e0e0e0;padding:.8rem;border-radius:4px;font-size:.85rem;width:200px;z-index:20;box-shadow:0 4px 15px #00000080;border:1px solid #555;line-height:1.5;pointer-events:none;opacity:0;transition:opacity .2s;text-align:left;font-weight:400;cursor:auto}.custom-tooltip.visible{opacity:1;pointer-events:auto}.custom-tooltip:after{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border-width:0 6px 6px;border-style:solid;border-color:transparent transparent #333 transparent}.metric-card .value{font-size:2.5rem;font-weight:800}.value-row{display:flex;align-items:center;gap:.8rem}.value-row .text-btn{margin-top:.5rem}.metric-card .sub-label{font-size:.9rem;margin-top:.2rem}.text-btn{background:none;border:1px solid #444;color:var(--text-dim);font-size:.65rem;padding:3px 8px;margin-top:8px;cursor:pointer;border-radius:4px;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}.text-btn:hover{color:var(--accent-color);border-color:var(--accent-color);background:#ff98001a}.chart-container{background:#000;padding:1rem;border-radius:8px;position:relative;border:1px solid #333}.chart-labels{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;font-size:.8rem;font-weight:600;color:#aaa;padding:10px}.chart-labels span:nth-child(1){position:absolute;top:10px;left:10px}.chart-labels span:nth-child(6){position:absolute;bottom:10px;left:10px}.chart-labels span:nth-child(2){position:absolute;bottom:-25px;left:0}.chart-labels span:nth-child(3){position:absolute;bottom:-25px;left:25%}.chart-labels span:nth-child(4){position:absolute;bottom:-25px;left:50%}.chart-labels span:nth-child(5){position:absolute;bottom:-25px;right:0}#error-chart{width:100%;height:200px}.feedback-box{background:#ffffff0d;border:1px solid #333;padding:1rem;border-radius:4px;text-align:center;margin-top:2.5rem}#res-feedback{font-size:1.1rem}.high-score-badge{display:inline-block;background:linear-gradient(135deg,gold,#ffa000);color:#000;padding:.3rem .8rem;border-radius:4px;font-weight:900;font-size:.85rem;text-transform:uppercase;margin-bottom:.8rem;box-shadow:0 4px 15px #ffa00066;animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.1)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.actions{display:grid;grid-template-columns:1fr 2fr;gap:1rem}@media(max-width:500px){.actions{grid-template-columns:1fr}}button.secondary{background:#2a2a2a;color:var(--text-color);border:1px solid #444}#stop-btn,#cancel-countdown{padding:.8rem 2rem;font-size:.9rem;display:inline-block}button.secondary:hover{background:#333;border-color:#666;color:#fff}#save-btn{background:linear-gradient(180deg,#ff9800,#e65100);color:#fff}#history-container{animation:fadeIn .3s ease-out;display:flex;flex-direction:column;position:relative}#history-content-wrapper{flex:1;display:flex;flex-direction:column;min-height:200px}.history-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1rem;z-index:10;background:var(--bg-color);width:100%;height:100%;justify-content:center;transition:opacity .3s ease}.spinner{width:30px;height:30px;border:3px solid rgba(255,255,255,.1);border-top:3px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.history-loader.hidden{display:none;opacity:0;pointer-events:none}#history-blur-container,#history-list-view{flex:1;display:flex;flex-direction:column}#history-table-container{flex:1;display:flex;flex-direction:column;justify-content:center}#history-container h3{margin-bottom:.2rem}.analysis-params{font-weight:700;color:var(--accent-color);font-size:.75rem;letter-spacing:1px;margin:-.25rem 0 .75rem}.analysis-params.hidden,.history-header{display:none}#history-graph-view{margin-bottom:1.5rem;position:relative}.analysis-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid #333;padding-bottom:.5rem}.analysis-tabs .tab-btn{background:transparent;border:none;color:var(--text-dim);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:.4rem .8rem;cursor:pointer;transition:all .2s;border-radius:4px}.analysis-tabs .tab-btn:hover{color:#fff;background:#ffffff0d}.analysis-tabs .tab-btn.active{color:var(--accent-color);background:#ff98001a}.analysis-controls{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:10;display:flex;justify-content:center;align-items:center;pointer-events:none}.analysis-controls .control-group{display:flex;flex-direction:row;align-items:center;gap:.5rem;background:#000000b3;padding:0 10px;height:28px;border-radius:4px;border:1px solid #444;pointer-events:auto;white-space:nowrap}.chart-legend-overlay{position:absolute;top:10px;right:10px;z-index:5;background:#000000b3;padding:0 10px;height:28px;display:flex;align-items:center;border-radius:4px;font-size:.75rem;border:1px solid #444}.analysis-controls label{font-size:.75rem;color:var(--text-dim);text-transform:uppercase;font-weight:700;margin:0}.analysis-controls input[type=number]{width:38px;height:18px;padding:0;background:#000;border:1px solid #444;color:var(--accent-color);font-size:.75rem;font-weight:700;text-align:center;border-radius:3px;-moz-appearance:textfield}.analysis-controls input[type=number]::-webkit-outer-spin-button,.analysis-controls input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.analysis-controls .unit{font-size:.75rem;color:var(--text-dim);font-weight:700}.canvas-container{position:relative;width:100%;background:#000;border:1px solid #333;border-radius:8px;margin-top:1rem}.canvas-container canvas{display:block;width:100%}.chart-tooltip{position:absolute;background:#1e1e1ef2;border:1px solid var(--accent-color);padding:.6rem .8rem;border-radius:4px;font-size:.8rem;pointer-events:none;z-index:20;box-shadow:0 4px 15px #00000080;white-space:nowrap;line-height:1.4;min-width:140px}.chart-tooltip b{color:var(--accent-color)}.chart-tooltip .date{font-size:.7rem;color:#888;display:block;margin-top:.2rem}.inline-number-input{background:transparent;border:none;color:var(--accent-color);font-weight:700;font-size:inherit;font-family:inherit;width:50px;padding:0;margin:0;cursor:text;border-bottom:1px dashed var(--accent-color)}.inline-number-input::-webkit-outer-spin-button,.inline-number-input::-webkit-inner-spin-button,.small-number-input::-webkit-outer-spin-button,.small-number-input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.inline-number-input[type=number],.small-number-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.inline-number-input:focus{outline:none;border-bottom:1px solid var(--accent-color)}#bpm-accuracy-chart{width:100%;height:300px;background:#000;border-radius:4px;margin-bottom:.5rem}.chart-legend{font-size:.7rem;color:var(--text-dim);text-align:center;font-style:italic}.storage-notice{margin-top:1rem;padding:.75rem 0 0;color:var(--text-dim);font-size:.75rem;line-height:1.4;text-align:center}.storage-notice.hidden{display:none}#history-table-container{margin-top:1rem;overflow-x:auto}.history-table{width:100%;border-collapse:collapse;font-size:.85rem;color:var(--text-color)}.history-table th{text-align:left;padding:.8rem .5rem;color:var(--text-dim);text-transform:uppercase;font-size:.7rem;letter-spacing:1px;border-bottom:1px solid #333;-webkit-user-select:none;user-select:none;transition:color .2s,background-color .2s}.history-table th:hover:not(:last-child){color:#fff;background:#ffffff0d}.history-table td{padding:.8rem .5rem;border-bottom:1px solid rgba(255,255,255,.05)}.no-select{user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.history-table tr:hover{background:#ffffff05}.col-score{font-weight:800;font-size:1rem}.col-date{color:#888;white-space:nowrap}.col-trend{font-weight:600}.delete-btn-small{background:transparent;color:#444;border:none;font-size:1.2rem;cursor:pointer;padding:0;line-height:1;transition:color .2s;border-radius:4px;height:24px;width:24px;display:flex;align-items:center;justify-content:center}.delete-btn-small:hover{color:var(--error);background:#f443361a}.history-table-mini h3{font-size:.8rem;margin-bottom:1.2rem;text-align:center;color:var(--text-dim);letter-spacing:2px}.history-table-mini .history-table{font-size:.8rem}.history-table-mini .history-table td{padding:.6rem .5rem}.history-table-mini tr.current-session{background:#ff980026!important}.history-table-mini tr.current-session td{color:var(--accent-color)}.history-table-mini tr.current-session td.col-date{color:var(--accent-color);font-weight:800}.footer-feedback{margin-top:auto;margin-bottom:1rem;text-align:center;font-size:.85rem;color:var(--text-dim)}.footer-feedback a{color:var(--text-dim);text-decoration:none;transition:color .2s;border-bottom:1px solid transparent}.footer-feedback a:hover{color:var(--accent-color);border-bottom-color:var(--accent-color)}.feedback-hint{margin-top:.8rem;font-size:.75rem;opacity:.6;line-height:1.4}.feedback-hint strong{color:var(--text-color);display:block;margin-top:2px}.custom-select-container{position:relative;-webkit-user-select:none;user-select:none;flex-grow:1;min-width:0}.custom-select-trigger{position:relative;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;height:44px;font-size:1rem;font-family:inherit;color:var(--text-color);background:#1e1e1e;border:1px solid #333;border-radius:6px;cursor:pointer;transition:all .2s ease}.custom-select-trigger:hover{border-color:var(--accent-color)}.custom-select-container.open .custom-select-trigger{border-color:var(--accent-color);border-bottom-left-radius:0;border-bottom-right-radius:0}.selected-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:2rem;display:flex;align-items:center}.arrow{position:absolute;right:1rem;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--text-dim);transition:transform .2s}.custom-select-container.open .arrow{transform:rotate(180deg)}.custom-options{position:absolute;display:block;top:100%;left:0;right:0;border:1px solid #333;border-top:0;border-bottom-left-radius:6px;border-bottom-right-radius:6px;background:#1e1e1e;transition:all .2s;opacity:0;visibility:hidden;pointer-events:none;z-index:100;max-height:250px;overflow-y:auto;box-shadow:0 4px 12px #00000080}.custom-select-container.open .custom-options{opacity:1;visibility:visible;pointer-events:all}.custom-option{position:relative;display:flex;align-items:center;padding:.75rem 1rem;font-size:.95rem;color:var(--text-dim);cursor:pointer;transition:all .1s}.custom-option:hover{color:var(--text-color);background:#252525}.custom-option.selected{color:var(--text-color);background:#ff98001a}.custom-option.disabled{opacity:.5;cursor:not-allowed}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:10px;flex-shrink:0}.status-dot.green{background-color:var(--success);box-shadow:0 0 5px var(--success)}.status-dot.red{background-color:var(--error);opacity:.5}.status-dot.demo{background-color:var(--accent-color)}#app-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 3rem;background-color:var( --bg-color )}#header-logo{display:flex;align-items:center;gap:4px;cursor:pointer}#header-logo img{height:32px;width:auto}#auth-container{position:static;margin-left:auto;min-width:250px;display:flex;align-items:center;justify-content:flex-end;gap:.25rem}.lang-switch{position:relative;flex-shrink:0}.lang-trigger{display:flex;align-items:center;gap:.3rem;padding:.28rem .38rem!important;min-width:auto;background:transparent!important;border:1px solid #333;border-radius:4px;cursor:pointer}.lang-switch.open .lang-trigger{border-color:var(--accent-color);border-bottom-left-radius:0;border-bottom-right-radius:0}.lang-selected{display:flex;align-items:center}.lang-chevron{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid var(--text-dim);transition:transform .2s}.lang-switch.open .lang-chevron{transform:rotate(180deg)}.lang-menu{position:absolute;top:100%;right:0;min-width:100%;background:#1e1e1e;border:1px solid var(--accent-color);border-top:0;border-radius:0 0 4px 4px;box-shadow:0 4px 12px #00000080;z-index:500;overflow:hidden}.lang-option{display:flex;align-items:center;gap:.45rem;width:100%;padding:.45rem .55rem!important;background:transparent!important;border:none;border-radius:0;color:var(--text-dim);font-size:.75rem!important;font-weight:500;text-align:left;cursor:pointer;white-space:nowrap}.lang-option:hover{background:#ffffff0d!important;color:var(--text-color)}.lang-option.active{color:var(--accent-color);background:#ff98001f!important}.lang-flag{width:1.125rem;height:.75rem;display:block;flex-shrink:0;border-radius:1px;box-shadow:inset 0 0 0 1px #ffffff14}#tour-btn{flex-shrink:0;width:1.5rem;height:1.5rem;padding:0!important;margin-right:.25rem;font-size:.8rem!important;font-weight:700;line-height:1;color:var(--text-dim);background:transparent!important;border:1px solid #444;border-radius:50%;cursor:pointer;letter-spacing:0;text-transform:none}#tour-btn:hover{color:var(--accent-color);border-color:var(--accent-color);background:transparent!important}#tour-btn:active{transform:none}.auth-btn{padding:.4rem .8rem;font-size:.8rem;background:transparent;border:none;color:var(--text-dim);border-radius:4px;display:flex;align-items:center;gap:.5rem;transition:all .2s;text-transform:none;letter-spacing:0;font-weight:600}.user-email-btn{text-transform:none!important;letter-spacing:normal!important;color:var(--text-dim)}.user-email-btn:hover{color:var(--text-color)}.auth-btn:hover{background:#ffffff0d;color:var(--text-color)}#auth-logged-out{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}#login-form-container{display:flex;gap:.5rem;background:transparent;padding:0;border:none;animation:fadeIn .2s ease-out;align-items:center;height:30px}#login-form-container input{padding:.4rem;background:transparent;border:none;border-bottom:1px solid var(--text-dim);color:#fff;border-radius:0;font-size:.8rem;width:160px;outline:none;transition:border-color .2s}#login-form-container input:focus{border-bottom-color:var(--accent-color)}#login-form-container button{padding:.4rem .8rem;font-size:.75rem;background:transparent;color:var(--accent-color);border:1px solid var(--accent-color);border-radius:4px;cursor:pointer;font-weight:700;text-transform:uppercase;transition:all .2s}#login-form-container button:hover{background:var(--accent-color);color:#000}#auth-logged-in{position:relative}#user-menu-btn .user-icon{font-size:1rem}#user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--card-bg);border:1px solid #333;border-radius:4px;width:160px;box-shadow:0 4px 12px #00000080;display:flex;flex-direction:column;overflow:hidden;z-index:500}#user-menu-dropdown button{background:transparent;border:none;color:var(--text-color);padding:.8rem 1rem;text-align:left;font-size:.85rem;font-weight:400;border-radius:0}#user-menu-dropdown button:hover{background:#ffffff0d}#user-menu-dropdown .divider{height:1px;background:#333;margin:0}#user-menu-dropdown button.danger{color:var(--error)}#user-menu-dropdown button.danger:hover{background:#f443361a}@media(max-width:600px){#app-header{padding:.8rem 1rem}#auth-container{width:auto;min-width:0;margin-bottom:0}.auth-btn svg{width:20px;height:20px}#user-menu-dropdown{left:auto;right:0;transform:none;width:200px}#user-email-display{display:none}#header-logo img{height:24px}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{background:var(--card-bg);padding:2.5rem;border-radius:12px;width:90%;max-width:900px;position:relative;border:1px solid #333;animation:modalSlideUp .3s ease-out}@keyframes modalSlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.close-btn{position:absolute;top:1rem;right:1.5rem;background:transparent;border:none;color:var(--text-dim);font-size:2rem;cursor:pointer;padding:0;line-height:1}.close-btn:hover{color:#fff;background:transparent}.feedback-modal{max-width:500px}.feedback-modal h2{text-align:center;font-size:1.8rem;margin-bottom:.5rem;color:#fff}.modal-subtitle{text-align:center;color:var(--text-dim);margin-bottom:2rem;font-size:1rem}#feedback-form{display:flex;flex-direction:column;gap:1.2rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:700;color:var(--text-dim)}.form-group select,.form-group textarea,.form-group input{padding:.8rem;background:#181818;border:1px solid #333;border-radius:6px;color:#fff;font-family:inherit;font-size:1rem;resize:vertical}.form-group select:focus,.form-group textarea:focus,.form-group input:focus{outline:none;border-color:var(--accent-color)}.form-actions{margin-top:1rem}#submit-feedback-btn{width:100%}.text-input{width:100%;padding:.8rem;background:#151515;color:#fff;border:1px solid #333;border-radius:4px;font-size:.9rem;outline:none;transition:all .2s}.text-input:focus{border-color:var(--accent-color);background:#1a1a1a}.session-presets{display:flex;flex-wrap:nowrap;gap:.6rem;overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;max-width:100%;scrollbar-width:none;-ms-overflow-style:none}.session-presets::-webkit-scrollbar{display:none}.preset-chip{padding:.4rem .8rem;font-size:.75rem;background:#ffffff08;border:1px solid transparent;color:var(--text-dim);border-radius:100px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;font-weight:500;flex:0 0 auto;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-chip:hover{background:#ffffff14;color:var(--text-color);border-color:#444}.preset-chip:active{transform:scale(.96)}.advanced-details{margin-top:.25rem;border-top:1px solid #333}.advanced-details[open] .advanced-toggle{color:var(--text-color)}.advanced-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;list-style:none;cursor:pointer;color:var(--text-dim);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;-webkit-user-select:none;user-select:none}.advanced-toggle::-webkit-details-marker{display:none}.advanced-toggle:after{content:"▸";font-size:.9rem;transition:transform .2s}.advanced-details[open] .advanced-toggle:after{transform:rotate(90deg)}.advanced-toggle:hover{color:var(--text-color)}.advanced-settings{padding-top:.75rem}.advanced-settings .session-presets{margin-top:.5rem}.start-hint{text-align:center;font-size:.75rem;color:var(--text-dim);margin-top:.5rem;line-height:1.4}.start-hint.hidden{display:none}.start-hint.is-error{color:#ffb74d}#start-btn{font-size:1.05rem;letter-spacing:.5px}.history-empty-state{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:1.5rem;border:1px dashed #2a2a2a;border-radius:6px;background:#ffffff03}.history-empty-state.hidden{display:none}.empty-state-desc{font-size:.85rem;color:var(--text-dim);line-height:1.5;max-width:240px}.history-sync-banner{display:flex;align-items:center;justify-content:center;gap:.35rem;margin-top:auto;padding-top:.75rem;font-size:.75rem;color:var(--text-dim)}.history-sync-banner.hidden{display:none}.sync-login-btn{flex-shrink:0;margin-top:0!important}.link-btn{background:none;border:none;padding:0;color:var(--accent-color);text-decoration:underline;cursor:pointer;font:inherit;font-size:inherit}.link-btn:hover{color:#ffa726}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:2000;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;max-width:min(360px,calc(100vw - 2rem))}.toast{padding:.85rem 1.1rem;border-radius:6px;font-size:.9rem;line-height:1.4;box-shadow:0 4px 20px #0006;pointer-events:auto;animation:toastIn .25s ease-out;border:1px solid #444;background:var(--card-bg);color:var(--text-color)}.toast.success{border-color:var(--success)}.toast.error{border-color:var(--error)}.toast.info{border-color:var(--accent-color)}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.confirm-modal{max-width:420px;padding:2rem}.confirm-modal p{color:var(--text-color);line-height:1.5;margin-bottom:1.5rem;white-space:pre-line}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.confirm-actions button{padding:.75rem;font-size:.95rem}.confirm-actions button.danger{background:var(--error);color:#fff}.confirm-actions button.danger:hover{background:#e53935}.driver-popover.edrum-tour-popover{background:var(--card-bg);color:var(--text-color);border:1px solid #444;border-radius:8px;box-shadow:0 8px 32px #00000080;max-width:min(340px,calc(100vw - 2rem))}.driver-popover.edrum-tour-popover .driver-popover-title{color:#fff;font-size:1rem;font-weight:700}.driver-popover.edrum-tour-popover .driver-popover-description{color:var(--text-dim);font-size:.9rem;line-height:1.5}.driver-popover.edrum-tour-popover .driver-popover-progress-text{color:var(--text-dim);font-size:.75rem}.driver-popover.edrum-tour-popover button{padding:.45rem .85rem;font-size:.8rem;font-weight:700;border-radius:4px;border:none;text-shadow:none;text-transform:none;letter-spacing:normal}.driver-popover.edrum-tour-popover .driver-popover-next-btn,.driver-popover.edrum-tour-popover .driver-popover-done-btn{background:var(--accent-color)!important;color:#000!important}.driver-popover.edrum-tour-popover .driver-popover-prev-btn{background:#2a2a2a!important;color:var(--text-color)!important;border:1px solid #444!important}.driver-popover.edrum-tour-popover .driver-popover-close-btn{color:var(--text-dim)}.driver-popover.edrum-tour-popover .driver-popover-close-btn:hover{color:#fff}.driver-popover.edrum-tour-popover .driver-popover-arrow-side-left{border-left-color:var(--card-bg)}.driver-popover.edrum-tour-popover .driver-popover-arrow-side-right{border-right-color:var(--card-bg)}.driver-popover.edrum-tour-popover .driver-popover-arrow-side-top{border-top-color:var(--card-bg)}.driver-popover.edrum-tour-popover .driver-popover-arrow-side-bottom{border-bottom-color:var(--card-bg)}
