@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Outfit:wght@500;700;850;900&display=swap";.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .25s ease-out}.modal-backdrop.transparent-bg{background-color:#0006}.modal-content{width:90%;max-width:420px;background:#1e1e23d9;border-radius:24px;padding:30px;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 40px #00000080;text-align:center}.modal-content h3{font-size:1.35rem;font-weight:800;margin-bottom:12px;letter-spacing:.5px}.modal-content p{color:var(--text-muted);font-size:.95rem;line-height:1.5;margin-bottom:24px}.modal-icon{font-size:2.5rem;margin-bottom:16px;display:inline-block}.modal-icon.warning{color:#fc0}.modal-icon.success{color:#34c759}.form-group{text-align:left;margin-bottom:16px}.form-group label{display:block;font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.modal-input{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:12px 16px;border-radius:12px;font-size:1rem;transition:all .2s;outline:none;font-family:inherit}.modal-input:focus{border-color:var(--primary-red);background:#ffffff14;box-shadow:0 0 0 4px #ff3b3026}.modal-footer{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.modal-footer .btn-full{width:100%}button{font-weight:700;padding:12px 20px;border-radius:12px;font-size:.95rem;transition:transform .1s active,background-color .2s;display:inline-flex;align-items:center;justify-content:center}button:active{transform:scale(.97)}.btn-primary{background:var(--accent-gradient);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#ff453a,#e03229)}.btn-secondary{background:#ffffff14;border:1px solid rgba(255,255,255,.05);color:#fff}.btn-secondary:hover{background:#ffffff1f}.btn-danger{background:#ff3b30;color:#fff}.btn-danger:hover{background:#ff453a}.btn-text{background:transparent;color:var(--text-muted);border:none;padding:8px 12px}.btn-text:hover{color:#fff}.guide-tour-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.guide-focus-palette{position:absolute;bottom:0;left:0;right:0;height:160px;box-shadow:0 0 0 9999px #000000bf;border:2px dashed rgba(255,59,48,.8);z-index:999}.guide-focus-canvas{position:absolute;inset:100px 10px 180px;box-shadow:0 0 0 9999px #000000bf;border:2px dashed rgba(255,59,48,.8);z-index:999}.guide-focus-header{position:absolute;top:0;left:0;right:0;height:60px;box-shadow:0 0 0 9999px #000000bf;border:2px dashed rgba(255,59,48,.8);z-index:999}.guide-card{position:absolute;top:25%;left:5%;right:5%;max-width:400px;margin:0 auto;background:#1c1c21e6;border-radius:24px;padding:24px;text-align:center;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 50px #0009;pointer-events:auto;z-index:1000}.guide-card h3{font-size:1.25rem;font-weight:800;margin-top:12px;margin-bottom:8px}.guide-desc{font-size:.92rem;color:#ffffffd9;line-height:1.5;margin-bottom:20px}.guide-checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:20px;font-size:.88rem;color:var(--text-muted)}.guide-checkbox input{accent-color:var(--primary-red);width:16px;height:16px;cursor:pointer}.guide-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.guide-indicators{display:flex;gap:6px}.guide-dot{width:6px;height:6px;border-radius:50%;background:#ffffff40;transition:all .2s}.guide-dot.active{background:var(--primary-red);transform:scale(1.2)}.guide-icon-header{height:80px;display:flex;justify-content:center;align-items:center;background:#ffffff08;border-radius:12px;position:relative;overflow:hidden}.guide-big-icon{font-size:2.2rem;z-index:2}.guide-anim-container{position:absolute;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.guide-anim-ripple{width:48px;height:48px;border-radius:50%;border:2px solid var(--primary-red);animation:guide-ripple 1.5s infinite ease-out;position:absolute}.guide-anim-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-red)}@keyframes guide-ripple{0%{transform:scale(.4);opacity:1}to{transform:scale(1.6);opacity:0}}.guide-anim-rotate{width:48px;height:48px;border:2px solid var(--primary-red);border-radius:8px;animation:guide-rotate 2.5s infinite linear}@keyframes guide-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.guide-anim-pulse{width:32px;height:32px;background:#ff3b3059;border-radius:50%;animation:guide-pulse 1.2s infinite ease-in-out}@keyframes guide-pulse{0%,to{transform:scale(.85);box-shadow:0 0 #ff3b3066}50%{transform:scale(1.15);box-shadow:0 0 0 10px #ff3b3000}}.guide-arrow{position:absolute;z-index:1001;pointer-events:none}.drag-arrow{bottom:180px;left:50%;transform:translate(-50%);background:var(--primary-red);color:#fff;padding:8px 14px;border-radius:8px;font-weight:700;font-size:.8rem;box-shadow:0 4px 12px #ff3b3066;animation:arrow-bounce .8s infinite alternate ease-in-out}.drag-arrow:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border-width:6px 6px 0;border-style:solid;border-color:var(--primary-red) transparent}@keyframes arrow-bounce{0%{transform:translate(-50%,-10px)}to{transform:translate(-50%)}}.zoom-in{animation:zoomIn .25s cubic-bezier(.16,1,.3,1)}@keyframes zoomIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.export-options-list{display:flex;flex-direction:column;gap:12px;margin:20px 0;text-align:left}.export-option-card{display:flex;align-items:center;gap:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative}.export-option-card:hover{background:#ffffff0f;border-color:#ffffff26}.export-option-card.selected{background:#ff3b3014;border-color:var(--primary-red)}.export-option-radio{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.export-option-card.selected .export-option-radio{border-color:var(--primary-red)}.export-option-radio:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--primary-red);transform:scale(0);transition:transform .2s}.export-option-card.selected .export-option-radio:after{transform:scale(1)}.export-option-content{flex-grow:1}.export-option-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.export-option-title{font-size:.95rem;font-weight:700;color:#fff}.export-option-badge{font-size:.75rem;font-weight:800;background:#ffffff1a;color:var(--text-muted);padding:2px 8px;border-radius:8px;text-transform:uppercase}.export-option-card.selected .export-option-badge{background:#ff3b3033;color:#ff453a}.export-option-desc{font-size:.8rem;color:var(--text-muted);line-height:1.35}.about-modal-content{max-width:480px}.about-modal-header{margin-bottom:20px;text-align:center}.about-modal-logo{font-size:3rem;margin-bottom:8px}.about-modal-version{display:inline-block;font-size:.85rem;color:var(--text-muted);font-weight:700;background:#ffffff0d;padding:4px 10px;border-radius:20px;margin-top:6px}.about-modal-body{text-align:left}.about-app-desc{font-size:.95rem;line-height:1.5;color:var(--text-main);margin-bottom:20px;text-align:center}.about-meta-info{background:#00000026;border-radius:14px;padding:14px 18px;border:1px solid rgba(255,255,255,.04);margin-bottom:20px}.meta-info-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.meta-label{font-weight:700;color:var(--text-muted)}.meta-value{font-weight:800;color:var(--text-main)}.about-oss-section{margin-top:20px}.oss-toggle-btn{display:flex;justify-content:space-between;align-items:center;width:100%}.oss-arrow-icon{font-size:.7rem;transition:transform .2s ease}.oss-licenses-list{margin-top:12px;text-align:left;max-height:220px;overflow-y:auto;background:#0003;padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.05)}.oss-licenses-list::-webkit-scrollbar{width:6px}.oss-licenses-list::-webkit-scrollbar-track{background:transparent}.oss-licenses-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.oss-licenses-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.oss-license-card{margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:16px}.oss-license-card:last-child{margin-bottom:0;border-bottom:none;padding-bottom:0}.oss-pkg-header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px}.oss-pkg-name{font-weight:800;color:#fff;font-size:.9rem}.oss-pkg-version{color:var(--text-muted);font-size:.8rem}.oss-pkg-license{font-size:.7rem;font-weight:800;background:#ff3b3026;color:#ff453a;padding:2px 8px;border-radius:8px}.oss-pkg-repo{display:block;font-size:.75rem;color:#0a84ff;text-decoration:none;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oss-pkg-repo:hover{text-decoration:underline}.oss-pkg-license-text{font-size:.72rem;color:#ffffffb3;background:#00000040;padding:10px;border-radius:8px;overflow-x:auto;white-space:pre-wrap;word-break:break-all;font-family:monospace;max-height:120px;overflow-y:auto;border:1px solid rgba(255,255,255,.03)}.oss-pkg-license-text::-webkit-scrollbar{width:4px}.oss-pkg-license-text::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.terms-modal-content,.privacy-modal-content{max-width:520px!important}.terms-modal-header,.privacy-modal-header{margin-bottom:20px;text-align:center}.terms-modal-date,.privacy-modal-date{font-size:.85rem;color:var(--text-muted);font-weight:700;display:block;margin-top:4px}.terms-modal-body,.privacy-modal-body{text-align:left;max-height:380px;overflow-y:auto;background:#00000026;padding:16px;border-radius:16px;border:1px solid rgba(255,255,255,.05);font-size:.9rem;line-height:1.6;color:var(--text-main)}.terms-intro,.privacy-intro{margin-bottom:20px;white-space:pre-wrap}.terms-section,.privacy-section{margin-bottom:20px}.terms-section:last-child,.privacy-section:last-child{margin-bottom:0}.terms-section-title,.privacy-section-title{font-size:.95rem;font-weight:800;color:#fff;margin-bottom:8px}.terms-section-body,.privacy-section-body{color:#fffc;white-space:pre-wrap;font-size:.88rem}.terms-modal-body::-webkit-scrollbar,.privacy-modal-body::-webkit-scrollbar{width:6px}.terms-modal-body::-webkit-scrollbar-track,.privacy-modal-body::-webkit-scrollbar-track{background:transparent}.terms-modal-body::-webkit-scrollbar-thumb,.privacy-modal-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.terms-modal-body::-webkit-scrollbar-thumb:hover,.privacy-modal-body::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.dashboard-container{min-height:100vh;padding:40px 24px 60px;max-width:900px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.logo-title{font-size:1.8rem;font-weight:900;text-transform:uppercase;letter-spacing:1.5px;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:0}.settings-icon-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.02);color:#fff;width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.settings-icon-btn svg{width:28px;height:28px}.dashboard-container.light .settings-icon-btn{background:#0000000a;color:#1c1c1e}.settings-icon-btn:hover{background:#ffffff1f;transform:rotate(45deg)}.dashboard-container.light .settings-icon-btn:hover{background:#00000014}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:48px}@media (max-width: 600px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-card.action-card{height:200px;border-radius:24px;overflow:hidden;background:#1e1e2399;border:1px solid rgba(255,255,255,.08);cursor:pointer;display:flex;flex-direction:column;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 10px 25px #00000040;position:relative}.dashboard-container.light .dashboard-card.action-card{background:#fff;border-color:#00000014;box-shadow:0 10px 25px #0000000d}.dashboard-card.action-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #0006}.dashboard-container.light .dashboard-card.action-card:hover{box-shadow:0 15px 35px #0000001a}.card-media{flex:1.2;display:flex;align-items:center;justify-content:center;position:relative}.new-course-banner{background:linear-gradient(135deg,#ff3b30,#ff2d55)}.import-course-banner{background:linear-gradient(135deg,#007aff,#5856d6)}.card-symbol-icon{font-size:2.8rem;animation:float 3s infinite alternate ease-in-out}.import-file-input{display:none}.card-info-content{flex:.8;padding:16px 20px;text-align:left}.card-info-content h3{font-size:1.15rem;font-weight:800;margin:0 0 4px}.card-info-content p{font-size:.8rem;color:var(--text-muted);margin:0}.section-header-title{font-size:1.25rem;font-weight:800;margin-bottom:20px;letter-spacing:.5px}.no-courses-placeholder{padding:40px;border-radius:20px;text-align:center;color:var(--text-muted);border:1px solid rgba(255,255,255,.05)}.no-courses-placeholder span{font-size:3rem;display:block;margin-bottom:12px}.courses-list-grid{display:flex;flex-direction:column;gap:12px}.course-saved-row{display:flex;align-items:center;padding:14px 20px;border-radius:20px;cursor:pointer;transition:all .25s;border:1px solid rgba(255,255,255,.06)}.course-saved-row:hover{background:#ffffff0a;transform:scale(1.01)}.dashboard-container.light .course-saved-row:hover{background:#00000005}.course-row-thumbnail{width:56px;height:56px;border-radius:12px;background:#ff3b3014;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(255,59,48,.15);margin-right:18px;flex-shrink:0}.course-thumbnail-img{width:100%;height:100%;object-fit:contain}.course-thumbnail-placeholder{font-size:1.6rem}.course-row-info{flex:1;text-align:left}.course-row-name{font-size:.98rem;font-weight:750;margin:0 0 4px}.course-row-stats{font-size:.8rem;color:var(--text-muted);margin:0}.course-row-actions{display:flex;gap:8px;align-items:center}.row-action-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.02);color:var(--text-muted);width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .2s}.dashboard-container.light .row-action-btn{background:#00000008}.row-action-btn:hover{background:#ffffff1a;color:#fff}.dashboard-container.light .row-action-btn:hover{background:#0000000f;color:#1c1c1e}.row-action-btn.run-btn{color:#34c759d9;background:#34c7590f;border:1px solid rgba(52,199,89,.15)}.row-action-btn.run-btn:hover{background:#34c7592e;color:#30d158;border-color:#34c7594d}.row-action-btn.danger{color:#ff3b30b3}.row-action-btn.danger:hover{background:#ff3b3026;color:#ff3b30}@keyframes float{0%{transform:translateY(-3px)}to{transform:translateY(3px)}}.directory-permission-banner{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-radius:20px;margin-bottom:24px;gap:16px}@media (max-width: 600px){.directory-permission-banner{flex-direction:column;align-items:stretch}}.banner-content{display:flex;align-items:center;gap:16px;flex:1}.banner-icon{font-size:2rem}.banner-text{text-align:left}.banner-text h4{font-size:1rem;font-weight:800;margin:0 0 4px}.banner-text p{font-size:.8rem;color:var(--text-muted);margin:0}.dashboard-footer{margin-top:60px;padding-top:24px;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--text-muted)}.footer-copyright{font-family:Outfit,sans-serif;font-weight:500;letter-spacing:.5px;margin:0}.footer-links{display:flex;gap:16px}.footer-link-btn{background:none;border:none;padding:0;font-size:.85rem;color:var(--text-muted);cursor:pointer;transition:color .2s;font-weight:500;text-decoration:none}.footer-link-btn:hover{color:var(--text-main);text-decoration:underline}@media (max-width: 600px){.dashboard-footer{flex-direction:column;gap:12px;text-align:center}}.creator-header{position:absolute;top:0;left:0;right:0;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:950;background:#141419d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}.header-left{display:flex;align-items:center}.icon-btn-round{width:40px;height:40px;border-radius:50%;background:#ffffff0d;border:1px solid rgba(255,255,255,.02);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .2s}.icon-btn-round:hover{background:#ffffff1f;transform:translateY(-1px)}.icon-btn-round:active{transform:translateY(1px)}.header-title-container{display:flex;align-items:center;gap:8px;background:#ffffff0a;padding:6px 16px;border-radius:14px;max-width:40%;cursor:pointer;transition:background-color .2s;border:1px solid rgba(255,255,255,.02)}.header-title-container:hover{background:#ffffff14}.header-course-name{font-size:1rem;font-weight:800;color:#fff;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.5px}.edit-pencil-icon{color:#fff6;flex-shrink:0}.header-title-container:hover .edit-pencil-icon{color:#fff}.header-right{display:flex;align-items:center;gap:12px}.icon-btn-round.lock-btn.locked{background:#ffcc001a;border-color:#fc03}.save-action-btn{background:var(--accent-gradient);color:#fff;padding:10px 18px;border-radius:12px;font-size:.88rem;font-weight:750;border:none;cursor:pointer;box-shadow:0 4px 12px #ff3b3040;transition:all .2s}.save-action-btn:hover{background:linear-gradient(135deg,#ff453a,#e03229);box-shadow:0 6px 16px #ff3b3059}.course-canvas-wrapper{position:relative;width:100%;height:100%;overflow:hidden;-webkit-user-select:none;user-select:none;background-color:#0b0b0e}.course-canvas-wrapper.light{background-color:#f5f5f7}.canvas-svg{width:100%;height:100%;display:block}.canvas-navigation-bar{position:absolute;top:15px;left:90px;display:flex;flex-direction:column;gap:8px;z-index:100}.canvas-navigation-bar button{width:42px;height:42px;border-radius:12px;background:#1c1c21bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .2s;box-shadow:0 4px 10px #0000004d}.course-canvas-wrapper.light .canvas-navigation-bar button{background:#fffc;border:1px solid rgba(0,0,0,.08);color:#1c1c1e;box-shadow:0 4px 10px #00000014}.canvas-navigation-bar button:hover{background:#ffffff1f;transform:translateY(-2px)}.course-canvas-wrapper.light .canvas-navigation-bar button:hover{background:#00000008}.canvas-trash-zone{position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to top,#ff3b30cc,#ff3b3033);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-top:1px solid rgba(255,59,48,.5);z-index:500;display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;font-weight:800;font-size:1.1rem;animation:slideUp .25s cubic-bezier(.16,1,.3,1);pointer-events:none}.canvas-trash-zone.active{background:linear-gradient(to top,#ff3b30f2,#ff3b3066);font-size:1.25rem}.canvas-trash-zone .trash-icon{font-size:1.6rem;animation:jitter .5s infinite alternate}.canvas-trash-zone.active .trash-icon{transform:scale(1.3);animation:jitter-fast .2s infinite}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes jitter{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes jitter-fast{0%{transform:rotate(-12deg) scale(1.3)}to{transform:rotate(12deg) scale(1.3)}}.course-stats-container{position:absolute;top:80px;right:20px;z-index:850;background:#1c1c21d9;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:12px 16px;box-shadow:0 10px 25px #00000059;animation:slideInRight .25s cubic-bezier(.16,1,.3,1);max-width:220px}.stats-header{text-align:center;margin-bottom:8px}.stats-title-label{font-size:.65rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px}.stats-content-row{display:flex;align-items:center;gap:12px}.stat-unit-box{display:flex;flex-direction:column;align-items:center;min-width:75px}.stat-label-sub{font-size:.62rem;font-weight:700;color:var(--text-muted);margin-bottom:2px}.stat-label-sub.highlighted{color:var(--primary-red)}.stat-value-text{font-size:1.15rem;font-weight:850;color:#fff}.stat-value-text.highlighted{color:var(--primary-red);text-shadow:0 0 10px rgba(255,59,48,.15)}.stats-vertical-divider{width:1px;height:24px;background-color:#ffffff14}@keyframes slideInRight{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}.course-controls-container{position:absolute;top:64px;bottom:0;left:0;width:160px;background:#1c1c21bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid rgba(255,255,255,.1);border-top-right-radius:24px;border-bottom-right-radius:0;padding:24px 10px;z-index:900;transition:transform .3s cubic-bezier(.16,1,.3,1);box-shadow:10px 0 30px #0000004d;display:flex;flex-direction:column;box-sizing:border-box}.course-controls-container.collapsed{transform:translate(-160px)}.controls-toggle-handle{position:absolute;top:50%;right:-24px;transform:translateY(-50%);width:24px;height:60px;background:#1c1c21bf;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-left:none;border-top-right-radius:12px;border-bottom-right-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;box-shadow:4px 0 10px #0003;z-index:1000}.controls-toggle-handle .handle-bar{display:none}.controls-toggle-handle .handle-chevron{font-size:.8rem;color:#ffffffb3;font-weight:700}.controls-toggle-handle:hover .handle-chevron{color:#fff}.controls-content-wrapper{margin-top:5px;display:flex;flex-direction:column;gap:15px;flex:1;overflow:hidden}.selection-tools-panel{position:absolute;left:172px;top:20px;display:flex;flex-direction:column;gap:12px;align-items:center;background:#1c1c21d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);padding:16px 10px;border-radius:20px;width:auto;box-sizing:border-box;animation:slideInLeftAnim .25s cubic-bezier(.16,1,.3,1);box-shadow:5px 0 20px #0000004d;z-index:910}.selection-tools-grid{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%}.tool-btn{width:50px;height:50px;border-radius:50%;background:#ffffff0f;border:1px solid rgba(255,255,255,.05);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all .2s}.tool-btn:hover{background:#ffffff1f;transform:scale(1.05)}.tool-btn:active{transform:scale(.95)}.tool-btn.active{background:var(--primary-red);border-color:#ffffff26}.tool-btn.danger{color:#ff3b30;background:#ff3b301a;border-color:#ff3b3026}.tool-btn.danger:hover{background:#ff3b30;color:#fff}.tool-btn.layer-front{background:#ff3b3033;color:#ff3b30}.tool-btn.layer-back{background:#007aff33;color:#007aff}.layer-indicator-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;border-radius:50%;background:#ff3b30}.palette-tray-container{display:flex;flex-direction:column;gap:12px;overflow-y:auto;overflow-x:hidden;padding:10px 0;scrollbar-width:none;flex:1}.palette-tray-container::-webkit-scrollbar{display:none}.palette-item-box{display:flex;flex-direction:column;align-items:center;cursor:grab;min-width:80px;transition:all .2s;padding:8px;border-radius:16px}.palette-item-box:hover{background:#ffffff0d;transform:translateY(-2px)}.palette-item-box:active{cursor:grabbing}.palette-preview-wrapper{position:relative;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px}.palette-item-box.active .palette-preview-wrapper{border-color:var(--primary-red);background:#ff3b300d}.palette-svg-render{width:54px;height:54px;display:block}.palette-badge{position:absolute;bottom:-4px;right:-4px;background:var(--primary-red);color:#fff;font-size:.72rem;font-weight:800;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #0000004d}.palette-label{font-size:.75rem;color:var(--text-muted);margin-top:8px;font-weight:600;text-align:center;white-space:nowrap}.palette-item-box.active .palette-label{color:#fff}.bwr-mini-preview{display:flex;width:24px;height:24px;border-radius:50%;overflow:hidden;border:1px solid rgba(255,255,255,.2)}.bwr-mini-preview span{flex:1}.color-palette-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000}.color-palette-card{background:#1c1c1e;border-radius:20px;padding:24px;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 40px #00000080;width:280px;text-align:center}.color-palette-card h4{margin-top:0;margin-bottom:18px;font-weight:800}.color-options-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:24px}.color-option-circle{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.1);cursor:pointer;position:relative;overflow:hidden;padding:0;transition:transform .2s}.color-option-circle:hover{transform:scale(1.1)}.color-option-circle.selected{border:3px solid var(--primary-red)}.bwr-preview-option{display:flex;position:absolute;top:0;left:0;width:100%;height:100%}.bwr-preview-option span{flex:1;height:100%}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInLeftAnim{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.settings-screen-container{min-height:100vh;padding:40px 24px 60px;max-width:600px;margin:0 auto;display:flex;flex-direction:column}.settings-header{display:flex;align-items:center;gap:20px;margin-bottom:40px}.settings-header-title{font-size:1.5rem;font-weight:850;text-transform:uppercase;letter-spacing:1px;margin:0}.settings-main-content{flex:1;display:flex;flex-direction:column;gap:24px}.settings-block-card{padding:20px;border-radius:20px;border:1px solid rgba(255,255,255,.06)}.settings-screen-container.light .settings-block-card{background:#fff;border-color:#00000014;box-shadow:0 4px 15px #00000005}.block-card-label{display:block;font-size:.72rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;opacity:.8}.settings-toggle-container{display:flex;background:#0003;border-radius:12px;padding:4px;gap:4px}.settings-screen-container.light .settings-toggle-container{background:#0000000a}.toggle-option-btn{flex:1;height:44px;border-radius:9px;font-weight:700;font-size:.95rem;color:var(--text-muted);border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;padding:0}.toggle-option-btn:hover{color:#fff}.settings-screen-container.light .toggle-option-btn:hover{color:#1c1c1e}.toggle-option-btn.active{background:var(--primary-red);color:#fff!important;box-shadow:0 3px 8px #ff3b3033}.theme-icon-symbol{font-size:1.1rem}.settings-instructions-action-btn{background:#ff3b301a;color:var(--primary-red);border:1px solid rgba(255,59,48,.25);font-weight:800;padding:14px 20px;border-radius:14px;font-size:1rem;cursor:pointer;transition:all .2s;margin-top:10px}.settings-instructions-action-btn:hover{background:var(--primary-red);color:#fff;box-shadow:0 4px 12px #ff3b3040}.settings-about-action-btn{background:#ffffff0d;color:var(--text-main);border:1px solid rgba(255,255,255,.1);font-weight:800;padding:14px 20px;border-radius:14px;font-size:1rem;cursor:pointer;transition:all .2s;margin-top:10px}.settings-screen-container.light .settings-about-action-btn{background:#00000008;border-color:#00000014;color:#1c1c1e}.settings-about-action-btn:hover{background:#ffffff1a;border-color:#fff3}.settings-screen-container.light .settings-about-action-btn:hover{background:#0000000f;border-color:#0000001f}.settings-footer-version{text-align:center;margin-top:40px}.version-info-text{font-size:.85rem;color:var(--text-muted);font-weight:600;opacity:.6}.directory-setting-container{display:flex;flex-direction:column;margin-top:10px}.directory-info-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#0003;padding:12px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.05)}.settings-screen-container.light .directory-info-row{background:#0000000a;border-color:#0000000d}.directory-name{font-size:.95rem;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-small{padding:8px 14px;font-size:.85rem;border-radius:8px}@keyframes settingsFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.settings-fade-in{animation:settingsFadeIn .25s cubic-bezier(.16,1,.3,1) forwards}.settings-modal-content{max-width:520px!important;text-align:left!important;max-height:90vh;overflow-y:auto;padding:30px!important}.settings-modal-content::-webkit-scrollbar{width:6px}.settings-modal-content::-webkit-scrollbar-track{background:transparent}.settings-modal-content::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.settings-modal-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.settings-modal-content .settings-header{justify-content:space-between;margin-bottom:24px}.settings-modal-content .settings-main-content{gap:20px}.playmode-screen-container{width:100vw;height:100vh;display:flex;flex-direction:column;overflow:hidden;background-color:#070709;color:#fff;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative}.playmode-screen-container.light{background-color:#f5f5f7;color:#1c1c1e}.glass{background:#121218b3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08)}.playmode-screen-container.light .glass{background:#fffc;border:1px solid rgba(0,0,0,.06);box-shadow:0 4px 30px #00000008}.play-header{height:70px;padding:0 24px;display:flex;justify-content:space-between;align-items:center;z-index:10;border-bottom:1px solid rgba(255,255,255,.08)}.play-back-btn{display:flex;align-items:center;gap:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.02);color:#fff;padding:8px 16px;border-radius:12px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1)}.playmode-screen-container.light .play-back-btn{background:#0000000d;color:#1c1c1e}.play-back-btn:hover{background:#ffffff26;transform:translate(-3px)}.playmode-screen-container.light .play-back-btn:hover{background:#0000001a}.play-back-btn svg{transition:transform .2s}.play-back-btn:hover svg{transform:translate(-2px)}.play-title-wrap{display:flex;align-items:center;gap:12px}.play-course-name{font-size:1.25rem;font-weight:800;margin:0;letter-spacing:.5px}.play-badge{font-size:.72rem;font-weight:800;background:linear-gradient(135deg,#ff3b30,#ff2d55);color:#fff;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.race-stopwatch{display:flex;align-items:center;gap:12px;background:#ff3b301a;border:1px solid rgba(255,59,48,.2);padding:6px 16px;border-radius:12px}.playmode-screen-container.light .race-stopwatch{background:#ff3b300d;border-color:#ff3b3026}.stopwatch-label{font-size:.72rem;font-weight:800;color:#ff3b30;letter-spacing:1px}.stopwatch-digits{font-family:SF Mono,SFMono-Regular,ui-monospace,DejaVu Sans Mono,monospace;font-size:1.2rem;font-weight:700;color:#ff3b30;letter-spacing:.5px;min-width:90px}.play-main-layout{flex:1;display:flex;overflow:hidden;position:relative}.play-canvas-container{flex:1;position:relative;overflow:hidden;cursor:grab}.play-canvas-container:active{cursor:grabbing}.canvas-svg{width:100%;height:100%;touch-action:none;display:block}.control-panel{width:320px;border-left:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;overflow-y:auto;padding:24px;gap:24px;z-index:5;box-shadow:-10px 0 30px #00000026}.playmode-screen-container.light .control-panel{box-shadow:-10px 0 30px #00000005}.ctrl-section{display:flex;flex-direction:column;gap:12px;text-align:left}.ctrl-section.main-actions{display:flex;flex-direction:column;gap:12px}.section-title{font-size:.8rem;font-weight:800;text-transform:uppercase;color:var(--text-muted);margin:0;letter-spacing:1px}.playmode-screen-container.light .section-title{color:#8e8e93}.play-pause-btn{background:linear-gradient(135deg,#34c759,#30d158);border:none;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:14px;cursor:pointer;font-size:.95rem;box-shadow:0 4px 15px #34c75959;transition:all .25s cubic-bezier(.16,1,.3,1)}.play-pause-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #34c75980}.play-pause-btn:active{transform:translateY(0)}.play-pause-btn.active{background:linear-gradient(135deg,#ff9500,#fc0);box-shadow:0 4px 15px #ff950059}.play-pause-btn.active:hover{box-shadow:0 6px 20px #ff950080}.play-pause-btn.reset{background:linear-gradient(135deg,#007aff,#0a84ff);box-shadow:0 4px 15px #007aff59}.play-pause-btn.reset:hover{box-shadow:0 6px 20px #007aff80}.reset-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.02);color:#fff;width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.playmode-screen-container.light .reset-btn{background:#0000000d;color:#1c1c1e}.reset-btn:hover{background:#ffffff29;transform:rotate(-45deg)}.playmode-screen-container.light .reset-btn:hover{background:#0000001a}.reset-btn .btn-icon{font-size:1.1rem}.segmented-control{display:flex;background:#ffffff0d;padding:3px;border-radius:10px;border:1px solid rgba(255,255,255,.02)}.playmode-screen-container.light .segmented-control{background:#0000000a}.seg-btn{flex:1;background:transparent;border:none;color:var(--text-muted);padding:6px;font-size:.8rem;font-weight:700;border-radius:8px;cursor:pointer;transition:all .2s}.playmode-screen-container.light .seg-btn{color:#8e8e93}.seg-btn.active{background:#ffffff1f;color:#fff;box-shadow:0 2px 8px #00000026}.playmode-screen-container.light .seg-btn.active{background:#fff;color:#1c1c1e}.lane-selector-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.lane-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.05);color:#fff;padding:8px 0;border-radius:10px;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .2s}.playmode-screen-container.light .lane-btn{background:#fff;border-color:#00000014;color:#1c1c1e}.lane-btn.active{border-color:#ff9500;color:#ff9500;background:#ff950014}.lane-btn.active.lane-1{border-color:#007aff;color:#007aff;background:#007aff14}.lane-btn.active.lane-2{border-color:#8e8e93;color:#d1d1d6;background:#8e8e9314}.playmode-screen-container.light .lane-btn.active.lane-2{color:#1c1c1e;border-color:#8e8e93}.lane-btn.active.lane-3{border-color:#ff3b30;color:#ff3b30;background:#ff3b3014}.color-selector-grid{display:flex;gap:8px;flex-wrap:wrap}.color-bubble{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s;padding:0}.color-bubble:hover{transform:scale(1.15)}.color-bubble.active{border-color:#fff;box-shadow:0 0 10px #fff6;transform:scale(1.1)}.playmode-screen-container.light .color-bubble.active{border-color:#1c1c1e;box-shadow:0 0 10px #00000026}.speed-buttons-column{display:flex;flex-direction:column;gap:8px}.speed-selector-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.05);color:#fff;padding:10px 14px;border-radius:12px;font-size:.82rem;font-weight:600;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);text-align:left}.playmode-screen-container.light .speed-selector-btn{background:#fff;border-color:#00000014;color:#1c1c1e}.speed-bullet{width:8px;height:8px;border-radius:50%;background:#ffffff4d;transition:all .2s}.speed-selector-btn:hover{transform:translate(3px);background:#ffffff14}.playmode-screen-container.light .speed-selector-btn:hover{background:#00000005}.speed-selector-btn.active{background:#ffffff14;border-color:#ffffff26}.playmode-screen-container.light .speed-selector-btn.active{background:#007aff0a;border-color:#007aff26}.speed-selector-btn.active .speed-bullet{transform:scale(1.4);box-shadow:0 0 8px currentColor}.speed-selector-btn:nth-child(1).active{color:#34c759}.speed-selector-btn:nth-child(1).active .speed-bullet{background-color:#34c759}.speed-selector-btn:nth-child(2).active{color:#ff9500}.speed-selector-btn:nth-child(2).active .speed-bullet{background-color:#ff9500}.speed-selector-btn:nth-child(3).active{color:#ff3b30}.speed-selector-btn:nth-child(3).active .speed-bullet{background-color:#ff3b30}.leaderboard-section{border-top:1px solid rgba(255,255,255,.08);padding-top:20px}.playmode-screen-container.light .leaderboard-section{border-top-color:#00000014}.leaderboard-table-container{display:flex;flex-direction:column;gap:16px;overflow-y:auto}.leaderboard-car-row{background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.playmode-screen-container.light .leaderboard-car-row{background:#00000003;border-color:#0000000a}.leaderboard-row-header{display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,.06);padding-bottom:6px}.playmode-screen-container.light .leaderboard-row-header{border-bottom-color:#0000000f}.car-color-pill{width:14px;height:14px;border-radius:4px;display:inline-block;box-shadow:0 0 6px currentColor}.car-lane-label{font-weight:750;font-size:.85rem;flex:1}.live-speed{font-family:SF Mono,SFMono-Regular,monospace;font-size:.8rem;font-weight:700;color:#34c759}.lap-times-table{width:100%;border-collapse:collapse;font-size:.78rem}.lap-times-table td{padding:3px 0;color:var(--text-muted)}.playmode-screen-container.light .lap-times-table td{color:#8e8e93}.lap-times-table .time-col{text-align:right;font-family:SF Mono,SFMono-Regular,monospace;font-weight:600;color:#fff}.playmode-screen-container.light .lap-times-table .time-col{color:#1c1c1e}.lap-times-table .highlight-tr td{border-top:1px dashed rgba(255,255,255,.06);padding-top:6px;margin-top:4px}.playmode-screen-container.light .lap-times-table .highlight-tr td{border-top-color:#0000000f}.lap-times-table .highlight-tr .time-col.best{color:#fc0}.lap-times-table .total-row td{font-weight:750;color:#fff;padding-top:4px}.playmode-screen-container.light .lap-times-table .total-row td{color:#1c1c1e}.lap-times-table .total-row .time-col{color:#ff3b30;font-weight:800}.play-loading-container{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background-color:#070709}.spinner{width:50px;height:50px;border:3px solid rgba(255,255,255,.1);border-radius:50%;border-top-color:#ff3b30;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.manual-controller-section{display:flex;flex-direction:column;align-items:center;gap:16px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:16px;margin-bottom:8px}.playmode-screen-container.light .manual-controller-section{background:#00000005;border-color:#0000000d}.speedometer-container{position:relative;width:140px;height:140px;display:flex;align-items:center;justify-content:center}.speedometer-svg{width:100%;height:100%}.speedometer-active-arc{filter:drop-shadow(0 0 4px rgba(255,149,0,.4));transition:stroke-dashoffset .05s ease-out}.speedometer-readout{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;top:50%;left:50%;transform:translate(-50%,-40%)}.speedometer-number{font-family:SF Mono,SFMono-Regular,monospace;font-size:1.6rem;font-weight:750;color:#fff;line-height:1}.playmode-screen-container.light .speedometer-number{color:#1c1c1e}.speedometer-unit{font-size:.65rem;font-weight:700;color:#8e8e93;margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.accel-button-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.accel-btn-circle{width:90px;height:90px;border-radius:50%;border:none;background:linear-gradient(135deg,#ff3b3026,#ff950026);border:2px solid rgba(255,149,0,.3);box-shadow:0 4px 15px #ff950026,inset 0 2px 4px #ffffff1a;color:#ff9500;font-size:.95rem;font-weight:800;letter-spacing:.5px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.accel-btn-circle:hover{background:linear-gradient(135deg,#ff3b3040,#ff950040);border-color:#ff950080;box-shadow:0 6px 20px #ff950040,inset 0 2px 4px #ffffff26;transform:translateY(-2px)}.accel-btn-circle:active,.accel-btn-circle.active{background:linear-gradient(135deg,#ff3b30,#ff9500);border-color:#fc0;box-shadow:0 0 25px #ff950099,inset 0 1px 2px #fff3;color:#fff;transform:scale(.92)}.accel-text{text-transform:uppercase;pointer-events:none}.accel-hint{font-size:.68rem;font-weight:600;color:#8e8e93;text-align:center}.records-section{border-top:1px solid rgba(255,255,255,.08);padding-top:20px}.playmode-screen-container.light .records-section{border-top-color:#00000014}.records-header{display:flex;justify-content:space-between;align-items:center}.clear-records-btn{background:transparent;border:none;color:#ff3b30;font-size:.75rem;font-weight:700;cursor:pointer;padding:2px 6px;border-radius:4px;transition:background-color .2s}.clear-records-btn:hover{background:#ff3b301a}.no-records-placeholder{text-align:center;color:#8e8e93;font-size:.8rem;padding:12px 0;background:#ffffff03;border:1px dashed rgba(255,255,255,.06);border-radius:10px}.playmode-screen-container.light .no-records-placeholder{background:#00000003;border-color:#0000000f}.records-list{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto}.record-row{display:flex;align-items:center;gap:10px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);border-radius:10px;padding:8px 12px;font-size:.8rem}.playmode-screen-container.light .record-row{background:#00000003;border-color:#0000000a}.record-rank{font-weight:800;color:#ff9500;min-width:24px}.record-time{font-family:SF Mono,SFMono-Regular,monospace;font-weight:700;color:#fff;flex:1}.playmode-screen-container.light .record-time{color:#1c1c1e}.record-date{font-size:.72rem;color:#8e8e93}.delete-record-btn{background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;font-size:.7rem;opacity:.4;transition:opacity .2s,transform .2s}.delete-record-btn:hover{opacity:1;transform:scale(1.15)}.course-out-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#ff3b3026;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:8;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.course-out-content{background:#121218e6;border:1px solid rgba(255,59,48,.3);padding:32px;border-radius:20px;text-align:center;box-shadow:0 10px 40px #ff3b304d;max-width:320px;width:90%;display:flex;flex-direction:column;align-items:center;gap:12px}.playmode-screen-container.light .course-out-content{background:#fffffff2;box-shadow:0 10px 40px #ff3b3026}.course-out-emoji{font-size:3rem;animation:shake .5s infinite}.course-out-title{font-size:1.8rem;font-weight:900;color:#ff3b30;margin:0;letter-spacing:.5px}.course-out-subtitle{font-size:.9rem;color:#8e8e93;margin:0 0 8px;line-height:1.4}.course-out-reset-btn{background:linear-gradient(135deg,#007aff,#0a84ff);border:none;color:#fff;font-weight:700;padding:12px 24px;border-radius:12px;cursor:pointer;font-size:.95rem;box-shadow:0 4px 15px #007aff59;transition:all .2s;width:100%}.course-out-reset-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #007aff80}.course-out-reset-btn:active{transform:translateY(0)}.course-out-text{color:#ff3b30!important;font-weight:700}@keyframes shake{0%{transform:translate(0) rotate(0)}20%{transform:translate(-3px,2px) rotate(-3deg)}40%{transform:translate(2px,-1px) rotate(3deg)}60%{transform:translate(-2px,1px) rotate(-1deg)}80%{transform:translate(3px,1px) rotate(2deg)}to{transform:translate(0) rotate(0)}}.animate-pop{animation:popIn .35s cubic-bezier(.34,1.56,.64,1)}@keyframes popIn{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.machine-balance-selector{display:flex;flex-direction:column;gap:12px;padding:8px 0}.balance-slider-container{position:relative;display:flex;align-items:center}.balance-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,#30d158,#ff9500,#ff3b30);outline:none;transition:opacity .2s}.balance-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid #1c1c1e;cursor:pointer;box-shadow:0 2px 6px #0000004d;transition:transform .1s ease}.balance-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.balance-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid #1c1c1e;cursor:pointer;box-shadow:0 2px 6px #0000004d;transition:transform .1s ease}.balance-slider::-moz-range-thumb:hover{transform:scale(1.2)}.balance-labels{display:flex;justify-content:space-between;font-size:.72rem;font-weight:500;color:#fff9}.playmode-screen-container.light .balance-labels{color:#0009}.playmode-screen-container.light .balance-slider::-webkit-slider-thumb{border-color:#fff;box-shadow:0 2px 6px #00000026}.balance-label-left{color:#30d158;font-weight:600}.balance-label-right{color:#ff3b30;font-weight:600}#root,.main-content{width:100%;min-height:100vh;margin:0;padding:0}:root{--bg-dark: #07070a;--card-bg: #141418;--primary-red: #ff3b30;--primary-blue: #007aff;--text-main: #f5f5f7;--text-muted: #8e8e93;--border-color: rgba(255, 255, 255, .08);--accent-gradient: linear-gradient(135deg, #ff3b30 0%, #db2a21 100%)}:root.light{--bg-dark: #f2f2f7;--card-bg: #ffffff;--text-main: #1c1c1e;--text-muted: #6e6e73;--border-color: rgba(0, 0, 0, .08)}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--bg-dark);color:var(--text-main);-webkit-font-smoothing:antialiased;min-height:100vh;transition:background-color .25s,color .25s}.main-content{min-height:100vh}h1,h2,h3,h4{margin-top:0;color:var(--text-main);font-family:Outfit,sans-serif}*{box-sizing:border-box}.glass{background:#1c1c21b3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color)}.light .glass{background:#fffc;border:1px solid var(--border-color)}button{border-radius:8px;border:1px solid transparent;padding:10px 16px;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}
