:root{font-family:Manrope,Arial,sans-serif;color:#f4f3f8;background:#101014;font-synthesis:none;font-weight:500;color-scheme:dark;font-size:14px}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:2px solid #bb9cff;outline-offset:5px}button{border:0}a{color:inherit;text-decoration:none}p{color:#91909e;line-height:1.8}h1,h2,h3,p{margin:0}h1{font-size:48px;line-height:1.2;letter-spacing:-2px;font-weight:800}h2{font-size:26px;letter-spacing:-.8px}h3{font-size:22px;letter-spacing:-.6px}.header{height:94px;border-bottom:1px solid #25242d;display:flex;align-items:center;gap:70px;padding:0 max(28px,calc((100vw - 1152px)/2));background:#111115}.brand{display:flex;flex-direction:column;min-width:170px}.brand-word{font-size:25px;letter-spacing:-1.8px;font-weight:800;line-height:1.1}.brand-word>span{color:#aa84ff}.brand-word i{font-style:normal;font-size:35px;margin-left:7px;color:#ad86fc}.brand-sub{font-size:9px;letter-spacing:5px;color:#9994a7;margin-top:5px}.header nav{display:flex;gap:31px;align-self:stretch}.header nav button{background:none;color:#85818e;font-size:12px;position:relative}.header nav .nav-active{color:#efedf6}.nav-active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#a278f5}.profile{margin-left:auto;display:flex;gap:20px;align-items:center}.xp-pill{color:#b795ff;background:#231b33;border:1px solid #37284d;border-radius:20px;padding:7px 12px;display:flex;gap:6px;font-size:11px}.avatar{display:grid;place-items:center;background:#27222f;border:1px solid #44364e;width:34px;height:34px;border-radius:50%;font-size:12px}main{max-width:1152px;margin:auto;padding:0}.hero{min-height:350px;display:flex;align-items:center;position:relative;overflow:hidden}.hero-copy{z-index:1;padding-top:9px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#b894ff;display:flex;align-items:center;gap:8px;margin-bottom:20px}.eyebrow>span,.badge>span,.floating-label>span,.footer-status>span{height:5px;width:5px;border-radius:50%;background:#ae85ff;display:inline-block}.hero h1{font-size:46px;line-height:1.23}.hero h1>span{color:#ae86fb}.hero p{margin-top:18px;font-size:13px}.mobile-break{display:none}.hero-tags{display:flex;gap:22px;margin-top:22px;font-size:10px;color:#8a8696}.hero-tags>span{display:flex;align-items:center;gap:7px}.hero-tags svg{color:#ae91db}.record-art{width:410px;height:330px;position:relative;margin-left:auto;display:grid;place-items:center;background:radial-gradient(ellipse,#6f3bbe1f,transparent 67%)}.vinyl{width:240px;height:240px;transform:rotate(-18deg);border-radius:50%;border:1px solid #38313f;background:repeating-radial-gradient(circle,#18171d 0px 2px,#27232e 3px,#17151c 4px);box-shadow:20px 20px 65px #0007;display:grid;place-items:center}.vinyl:after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(transparent 10%,#b79bc217 23%,transparent 31%,transparent 58%,#b79bc213 70%,transparent 80%)}.record-label{width:88px;height:88px;background:#a879ee;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border-radius:50%;color:#211333;border:9px solid #9663d6}.record-label span{font-size:8px;font-weight:800;letter-spacing:1px}.orbit{position:absolute;border:1px solid #6e43902c;border-radius:50%;width:310px;height:310px}.orbit-two{width:365px;height:365px}.floating-label{position:absolute;right:7px;top:62px;border:1px solid #493259;background:#201827;transform:rotate(8deg);font-size:9px;letter-spacing:1.5px;padding:12px 15px;border-radius:6px;display:flex;align-items:center;gap:8px}.wave-mini{position:absolute;left:9px;bottom:36px;color:#b68af5;letter-spacing:4px;font-size:24px;transform:rotate(-7deg)}.journey-bar{display:flex;align-items:center;border:1px solid #2b2636;border-radius:11px;background:linear-gradient(100deg,#21192e,#17151d);padding:18px 23px;gap:17px;margin-bottom:44px}.journey-icon{background:#30213f;color:#b98cff;width:39px;height:39px;display:grid;place-items:center;border-radius:10px}.journey-info{display:flex;flex-direction:column;gap:6px}.journey-info strong{font-size:12px}.journey-info>span{font-size:10px;color:#95909e}.journey-track{height:5px;background:#302936;width:215px;margin-left:auto;border-radius:8px;overflow:hidden}.journey-track>div,.round-track>div{background:#aa7bf4;height:100%;border-radius:5px}.level-pill{color:#b793ed;font-size:9px;padding:7px 10px;border:1px solid #463252;border-radius:5px;letter-spacing:1px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.section-head .eyebrow{font-size:9px;margin-bottom:8px}.muted{color:#77737f}.section-note{font-size:11px;color:#6d6979;padding-bottom:5px}.count{font-size:11px;vertical-align:middle;margin-left:12px;padding:4px 7px;background:#232027;border:1px solid #332d3c;border-radius:5px;color:#8c829c;letter-spacing:0}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.module{border:1px solid #2c2934;border-radius:12px;overflow:hidden;background:#19181f;text-align:left}.featured{grid-row:span 2;border-color:#604386;background:radial-gradient(ellipse at 50% 30%,#48306155,transparent 65%),#1c1825;display:flex;flex-direction:column;position:relative}.card-top{display:flex;align-items:center;justify-content:space-between;padding:23px}.module-icon{height:42px;width:42px;border-radius:11px;display:grid;place-items:center;color:#8b829a;background:#25212e;border:1px solid #342e40}.featured .module-icon{color:#ba93ff;background:#352445;border-color:#513462}.module-icon svg{width:22px}.badge{font-size:8px;letter-spacing:1px;color:#c3a4fa;display:flex;align-items:center;gap:6px;background:#39264d;padding:6px 8px;border:1px solid #55376b;border-radius:4px}.beat-art{display:flex;height:128px;align-items:center;justify-content:center;gap:4px;margin:0 24px 8px;position:relative}.beat-art:after{content:"";height:1px;background:#a16de333;position:absolute;left:0;right:0;top:50%}.beat-art i{width:4px;flex:1;border-radius:3px;background:linear-gradient(#c096fc,#7e48b7);opacity:.85}.module-body{padding:0 24px 24px;margin-top:auto}.module-number{font-size:8px;letter-spacing:1.4px;color:#7c718a;font-weight:700}.featured .module-number{color:#b58ddc}.module h3{margin-top:12px;margin-bottom:9px}.module p{font-size:11px;line-height:1.85}.featured h3{font-size:30px}.card-meta{display:flex;gap:20px;font-size:9px;color:#aba0b9;margin-top:22px;margin-bottom:24px}.card-meta>span{display:flex;align-items:center;gap:5px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#ac82f5;color:#190e2a;border:1px solid #c29cff;border-radius:7px;padding:13px 19px;font-weight:800;font-size:12px;transition:.2s}.primary:hover{background:#bf9aff;box-shadow:0 0 24px #ad7aff22}.wide{width:100%}.wide svg:last-child{margin-left:auto}.soon{font-size:8px;color:#77717f;display:flex;gap:5px;align-items:center;letter-spacing:1px}.future{min-height:226px;transition:border-color .2s,background .2s}.future:hover{border-color:#625076;background:#201d27}.future .card-top{padding-bottom:8px}.future-bottom{padding:12px 23px 18px}.future h3{font-size:19px;margin-top:9px}.future-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #2b2733;margin-top:18px;padding-top:13px;font-size:9px;color:#67616f}.tip{margin:28px 0 48px;display:flex;align-items:center;gap:17px;background:#17161c;border:1px solid #26232d;border-radius:10px;padding:23px}.tip-icon{width:41px;height:41px;background:#24202c;border-radius:50%;display:grid;place-items:center;color:#aa8acb}.tip strong{font-size:12px}.tip p{font-size:10px;margin-top:4px}.tip-mark{margin-left:auto;font-weight:800;font-size:24px;color:#39303f;letter-spacing:-2px}footer{border-top:1px solid #27232e;padding:26px 0 30px;display:flex;align-items:center;justify-content:space-between;color:#686270;font-size:9px}.footer-brand{color:#a39aaa;font-size:12px;font-weight:800;letter-spacing:-.4px}.footer-brand span{font-size:7px;letter-spacing:1px;margin-left:7px;color:#6c6575}.footer-status{font-size:7px;letter-spacing:1.2px;display:flex;align-items:center;gap:7px}.footer-status>span{background:#63506f;width:4px;height:4px}.back{background:none;color:#96909e;font-size:11px;display:flex;gap:8px;align-items:center;padding:0;margin:32px 0}.game-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.game-heading h1{font-size:39px}.game-heading .eyebrow{margin-bottom:10px}.game-heading p{font-size:12px;margin-top:12px}.heading-icon{color:#705986}.purple{color:#b58afa}.game-layout{display:grid;grid-template-columns:340px 1fr;gap:24px;margin-bottom:48px}.panel{border:1px solid #302a3a;background:#19171f;border-radius:12px}.settings{padding:25px}.settings h3{font-size:16px;margin-bottom:19px}.level-option{width:100%;display:flex;align-items:center;text-align:left;gap:12px;background:#201c27;border:1px solid #302b39;padding:15px 10px;border-radius:8px;margin-bottom:10px}.level-option.selected{border-color:#9b6cdb;background:#30213f}.level-num{font-size:11px;color:#a681d1;background:#352840;border-radius:6px;padding:9px}.level-option strong{display:block;font-size:12px}.level-option small{display:block;color:#8d819a;font-size:9px;margin-top:5px}.level-option>svg,.selected-dot{margin-left:auto;color:#b78aef}.selected-dot{width:7px;height:7px;border-radius:50%;background:#b78aef}.setting-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;color:#ada0bc;margin:25px 0 12px}.setting-label span{color:#72677f}.tempos{display:flex;gap:6px}.tempos button{flex:1;background:#24202c;border:1px solid #37303f;border-radius:6px;padding:10px 0;font-size:11px;color:#aaa0b5}.tempos .selected{background:#a779e7;color:#20132c;border-color:#bc90fb;font-weight:800}.instructions{display:flex;gap:10px;color:#a584c4;margin-top:25px}.instructions svg{flex-shrink:0;margin-top:4px}.instructions p{font-size:10px}.accuracy-legend{border-top:1px solid #302738;padding-top:20px;margin-top:20px;display:flex;flex-direction:column;gap:10px;color:#8f819d;font-size:10px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px}.green{background:#8edeb4}.purple-bg{background:#b58afa}.gray{background:#665c70}.play-panel{padding:26px 30px 20px;display:flex;align-items:center;flex-direction:column;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#5b337a20,transparent 64%),#19171f}.game-stats{display:flex;justify-content:space-between;width:100%;text-align:center}.game-stats>div{min-width:90px}.game-stats span{font-size:8px;letter-spacing:1.7px;color:#8c7e9b}.game-stats strong{font-size:26px;display:flex;justify-content:center;align-items:center;gap:5px;margin-top:6px}.game-stats small{font-size:10px;color:#8a7699}.round-track{width:100%;background:#2f2638;height:3px;border-radius:5px;margin-top:23px}.beat-indicators{display:flex;gap:15px;margin-top:24px}.beat-indicators span{display:grid;place-items:center;width:28px;height:28px;background:#29222f;border:1px solid #40324a;border-radius:50%;font-size:10px;color:#776582}.beat-indicators .lit{background:#b78af8;color:#251431;box-shadow:0 0 18px #af77ef50;border-color:#d3b1ff}.feedback{height:79px;padding-top:20px;text-align:center;display:flex;flex-direction:column;gap:7px;max-width:100%}.feedback strong{font-size:14px}.feedback span{font-size:9px;color:#81738e}.feedback.perfect strong{color:#96e4b9}.feedback.good strong{color:#bb90fa}.feedback.miss strong{color:#e8a591}.tap-button{width:210px;height:210px;border-radius:50%;background:radial-gradient(circle at 50% 20%,#513169,#271b37);border:1px solid #a375d5;box-shadow:0 0 0 12px #6d3d9420,0 0 0 26px #7849a00a,inset 0 0 35px #a873ed17;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#be94f2;touch-action:manipulation;-webkit-user-select:none;user-select:none;margin-top:12px;transition:background .1s,transform .1s}.tap-button strong{font-size:17px;letter-spacing:1px}.tap-button>span{font-size:9px;color:#aa8cbf}.tap-button:active{transform:scale(.96);background:#68428b}.keyboard-hint{color:#7f708e;font-size:10px;margin-top:32px}kbd{font:inherit;border:1px solid #47364f;background:#2b2233;border-radius:4px;padding:4px 7px;margin-left:5px;font-size:8px}.play-footer{border-top:1px solid #312737;display:flex;width:100%;justify-content:space-between;margin-top:25px;padding-top:15px;color:#8c7a99;font-size:10px}.play-footer button{background:none;display:flex;gap:6px;align-items:center;color:#b59bc8;font-size:10px}.results{max-width:640px;margin:45px auto;padding:35px;text-align:center}.result-icon{display:grid;place-items:center;margin:auto auto 20px;color:#bd91fb;border-radius:50%;height:75px;width:75px;background:#342443}.results .eyebrow{justify-content:center;margin-bottom:12px}.results h1{font-size:33px}.results>p{font-size:12px;margin-top:12px}.result-accuracy{font-size:85px;letter-spacing:-5px;color:#c09aff;font-weight:800;margin-top:22px}.result-accuracy>span{font-size:35px;letter-spacing:-1px}.results>.muted{font-size:11px}.result-stats{display:flex;justify-content:space-around;background:#231c2c;border-radius:9px;padding:22px 12px;margin-top:27px}.result-stats>div{display:flex;flex-direction:column;gap:7px}.result-stats strong{font-size:23px}.result-stats span{font-size:10px;color:#9986aa}.hit-history{display:grid;grid-template-columns:repeat(16,1fr);gap:5px;margin-top:26px}.hit-history>span{height:17px;background:#59455f;border-radius:3px}.hit-history .perfect{background:#8edeb4}.hit-history .good{background:#b58afa}.result-detail{margin-bottom:25px}.text-button{display:flex;align-items:center;justify-content:center;gap:9px;margin:18px auto 0;color:#a995ba;background:none;font-size:11px}.progress-page{max-width:760px;min-height:680px;padding:45px 0;margin:auto}.progress-page h1{font-size:38px}.progress-page>p{margin-top:10px;font-size:12px}.progress-summary{display:flex;justify-content:space-around;padding:28px;margin:30px 0}.progress-summary>div{display:flex;flex-direction:column;align-items:center;gap:12px}.progress-summary svg{color:#af82ef}.progress-summary strong{font-size:30px}.progress-summary span{color:#9d8ca9;font-size:11px}.progress-page h2{font-size:18px;margin-bottom:20px}.record-row{display:flex;align-items:center;gap:17px;padding:17px;margin-bottom:12px}.record-row>div{flex:1}.record-row small{display:block;color:#8d7d9b;font-size:10px;margin-top:5px}.record-row button{background:#33243f;border-radius:6px;padding:9px;color:#b88de9}.reset{color:#a68190}.storage-warning{color:#ecb48d;padding:20px;font-size:12px}.modal-backdrop{position:fixed;inset:0;z-index:10;background:#08060dbb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}.modal{max-width:420px;position:relative;padding:35px;text-align:center}.modal h2{margin-top:20px;font-size:24px}.modal p{margin:16px 0 24px;font-size:12px}.modal-close{position:absolute;top:12px;right:12px;background:none;color:#9b89a9}.modal-close svg{width:18px}@media(min-width:1400px){main{max-width:1152px}.hero{min-height:375px}.hero h1{font-size:51px}}@media(max-width:1200px){main{margin:0 32px}.header{padding:0 32px;gap:40px}.module h3{font-size:18px}.featured h3{font-size:28px}.card-meta{gap:10px}.record-art{width:350px}.hero h1{font-size:42px}}@media(max-width:850px){.header{gap:25px}.header nav{gap:18px}.record-art{width:260px}.vinyl{width:200px;height:200px}.orbit-one{width:240px;height:240px}.orbit-two{width:290px;height:290px}.floating-label{right:0;font-size:7px;padding:9px}.hero h1{font-size:35px}.module-grid{grid-template-columns:repeat(2,1fr)}.featured{grid-row:span 2}.game-layout{grid-template-columns:280px 1fr;gap:16px}.settings{padding:18px}.play-panel{padding:25px 18px}.section-note,.footer-status{display:none}.journey-track{width:130px}.game-stats>div{min-width:60px}}@media(max-width:600px){main{margin:0 20px}.header{height:79px;padding:0 20px;gap:12px;flex-wrap:wrap;align-content:center;position:relative}.brand{min-width:130px}.brand-word{font-size:22px}.brand-sub{font-size:7px;letter-spacing:4px}.brand-word i{font-size:27px}.header nav{position:absolute;right:20px;bottom:0;height:27px;gap:16px}.header nav button{font-size:9px;padding:0 0 6px}.profile{align-self:flex-start;margin-top:-12px;gap:9px}.avatar{width:26px;height:26px;font-size:10px}.xp-pill{font-size:9px;padding:4px 8px}.xp-pill svg{width:11px}.hero{min-height:315px;align-items:start;padding-top:35px}.hero-copy{padding-top:0}.eyebrow{font-size:8px;margin-bottom:16px;letter-spacing:1.6px}.hero h1{font-size:32px;letter-spacing:-1.4px;line-height:1.27}.hero p{font-size:11px;margin-top:17px;max-width:240px}.mobile-break{display:block}.hero-tags{flex-direction:column;gap:8px;margin-top:18px;font-size:9px}.hero-tags svg{width:12px}.record-art{position:absolute;right:-90px;bottom:-30px;width:240px;height:240px;opacity:.55;z-index:0;pointer-events:none}.vinyl{width:180px;height:180px}.record-label{width:70px;height:70px}.record-label svg{width:25px}.record-label span{font-size:6px}.orbit-one{width:220px;height:220px}.orbit-two{width:260px;height:260px}.floating-label,.wave-mini{display:none}.journey-bar{padding:15px 13px;gap:10px;flex-wrap:wrap;margin-bottom:32px}.journey-icon{width:32px;height:32px}.journey-info{flex:1}.journey-info strong{font-size:10px}.journey-info>span{font-size:8px}.level-pill{padding:5px;font-size:8px}.journey-track{order:4;width:100%;margin:3px 0 0 42px;height:3px}.section-head{margin-bottom:18px}h2{font-size:23px}.module-grid{grid-template-columns:1fr;gap:13px}.featured{grid-row:auto}.featured .card-top{padding:19px}.beat-art{height:93px;margin-top:-20px;margin-left:70px;opacity:.85}.module-body{padding:0 20px 20px}.featured h3{font-size:27px}.featured .module-body>p br{display:none}.card-meta{margin:18px 0;gap:22px}.module p{font-size:11px}.future{min-height:186px}.future .card-top{padding:18px 20px 5px}.future-bottom{padding:10px 20px 15px}.future h3{font-size:20px}.future-footer{margin-top:12px;padding-top:10px}.tip{padding:17px 13px;gap:11px;margin-bottom:30px}.tip-icon{width:32px;height:32px;flex-shrink:0}.tip strong{font-size:10px}.tip p{font-size:9px;line-height:1.7}.tip-mark{display:none}footer{gap:18px;padding:21px 0;align-items:start}footer>span:nth-child(2){font-size:8px;max-width:130px;text-align:right;line-height:1.8}.footer-brand{font-size:10px}.footer-brand span{display:block;font-size:6px;margin:5px 0 0;letter-spacing:2px}.back{margin:24px 0;font-size:10px}.game-heading{margin-bottom:23px}.game-heading h1{font-size:33px}.game-heading p{font-size:10px}.heading-icon{width:30px}.game-layout{grid-template-columns:1fr}.settings{padding:18px}.settings h3{font-size:14px;margin-bottom:14px}.level-option{padding:11px;margin-bottom:7px}.level-option small{font-size:9px}.setting-label{margin-top:19px}.instructions{margin-top:15px}.accuracy-legend{flex-direction:row;gap:8px;flex-wrap:wrap;padding-top:13px;margin-top:13px;font-size:8px}.play-panel{padding:22px 20px 18px;min-height:540px}.tap-button{width:200px;height:200px}.game-stats strong{font-size:24px}.game-stats span{font-size:8px}.feedback strong{font-size:12px}.feedback span{font-size:8px}.game-layout{margin-bottom:30px}.results{padding:26px 18px;margin:28px 0}.results h1{font-size:27px}.result-stats{padding:20px 8px}.result-stats strong{font-size:20px}.results .result-detail{font-size:10px}.progress-page{padding-top:30px;min-height:650px}.progress-page h1{font-size:31px}.progress-summary{padding:25px 12px}.record-row{padding:13px;gap:10px}.record-row strong{font-size:12px}.progress-summary strong{font-size:25px}.progress-summary span{font-size:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.school-demo-banner{max-width:1152px;margin:18px auto 4px;padding:11px 17px;border:1px solid #7454a2;border-radius:10px;background:#764aae26;color:#e2d0ff;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.school-demo-banner strong{font-size:11px;letter-spacing:1px}.school-demo-banner span{font-size:12px;color:#d4c7e6}@media(max-width:640px){.school-demo-banner{margin:10px 12px 0}}.wolna-brand{display:inline-flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0}.wolna-brand img{display:block;width:130px;height:auto;max-width:100%}.wolna-brand>span{font-size:10px;letter-spacing:2.5px;color:#a69bb1}.wolna-brand.compact img{width:83px}.wolna-brand.compact>span{font-size:8px;letter-spacing:1.4px}.header .brand{min-width:145px}.header{height:112px;gap:38px}.header .profile{gap:14px}.account-link{display:flex;align-items:center;gap:10px;max-width:170px;background:transparent;color:#c3afd5;font-size:11px;overflow-wrap:anywhere}.account-link .avatar{flex-shrink:0}.record-label{background:transparent;border:none;width:120px;height:90px;transform:rotate(18deg)}.record-label .wolna-brand img{width:98px}.record-label .wolna-brand>span{font-size:7px;color:#a991bf}.tip-mark{opacity:.7}.tip-mark .wolna-brand img{width:65px}.footer-legal{display:flex;gap:12px}.footer-legal button{background:transparent;color:#9e8bab;font-size:9px;padding:6px}footer{flex-wrap:wrap;gap:20px}.locked-module{opacity:.6!important;border-style:dashed}.locked-module .future-footer{color:#bb9bce;line-height:1.7}.locked-module:disabled{cursor:not-allowed}.training-brand{display:flex;gap:20px;align-items:center;margin-bottom:20px;color:#a891bd;font-size:10px;letter-spacing:2px}.account-page{max-width:820px;margin:35px auto 50px}.account-page>.wolna-brand{margin-bottom:25px}.account-page h1{font-size:34px;overflow-wrap:anywhere}.account-page>p{margin:18px 0;font-size:12px}.profile-form,.profile-card,.delete-profile{padding:25px;margin:25px 0}.profile-form>label{display:flex;flex-direction:column;gap:10px;color:#bda9cd;font-size:12px;margin-bottom:20px}.profile-form input:not([type=checkbox]),.profile-form select,.profile-form textarea{font:inherit;background:#211929;color:#f3e9fd;border:1px solid #50365f;border-radius:7px;padding:12px;width:100%;resize:vertical}.consents{border-top:1px solid #3b2c46;margin:20px 0;padding:20px 0;font-size:12px}.consents label{display:flex;align-items:start;gap:12px;line-height:1.8}.consents input{accent-color:#b58afa;width:19px;height:19px;flex-shrink:0}.consents .text-button{margin:8px 0 20px 30px;padding:3px 0;text-decoration:underline}.consents p{font-size:10px}.account-notice{color:#c49df5!important}.profile-card dl{display:grid;grid-template-columns:150px 1fr;gap:17px;margin:25px 0}.profile-card dt{color:#9780a8;font-size:12px}.profile-card dd{font-size:13px;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.account-page .progress-summary{margin:25px 0}.delete-profile p{font-size:12px;margin-bottom:20px}.legal-overlay{position:fixed;inset:0;background:#09060de8;z-index:20;overflow-y:auto;padding:25px}.legal-page{max-width:820px;margin:auto;padding:30px}.legal-page h1{font-size:29px;letter-spacing:-.8px}.legal-page h2{font-size:18px;margin-top:25px}.legal-page p{font-size:12px;margin:15px 0;line-height:1.9}.legal-notice{color:#d3a7f1!important;border-left:3px solid #ac82f5;padding:12px 18px;background:#2b1b36}.legal-page .primary{margin-top:20px}.wheel-wrap{max-width:510px;margin:20px auto}.camelot-wheel{width:100%;height:auto}.wheel-key{cursor:pointer;outline:0}.wheel-key path{stroke:#17111f;stroke-width:1.5;transition:stroke .15s}.wheel-key text{fill:#f1e9fa;font-size:12px;font-weight:800;pointer-events:none}.wheel-key .wheel-note{font-size:9px;fill:#d3c8df;font-weight:500}.wheel-key.compatible path{stroke:#be96ed;stroke-width:2}.wheel-key.source path{stroke:#f4e7ff;stroke-width:3}.wheel-key.chosen path,.wheel-key:focus-visible path{stroke:#fff;stroke-width:4;filter:brightness(1.6)}.wheel-key:hover path{filter:brightness(1.3)}.wheel-center{fill:#c79af9;font-size:15px;font-weight:800}.wheel-center-sub{font-size:7px;fill:#aa94bd}.wheel-caption{font-size:11px!important;line-height:1.8}.dj-controller{padding:16px;margin:20px 0;background:linear-gradient(140deg,#211c29,#151319 60%,#211a2b);box-shadow:inset 0 0 0 4px #121016,0 18px 35px #0005}.controller-top{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #413148;padding:5px 12px 16px;margin-bottom:17px}.controller-top>.wolna-brand img{width:75px}.controller-top>span{font-size:8px;color:#8c789e;letter-spacing:1.3px}.hardware-led{color:#c2a4e6!important}.hardware-led:before{content:"";display:inline-block;background:#aa81de;width:5px;height:5px;border-radius:50%;box-shadow:0 0 8px #b792ed;margin-right:7px}.controller-body{display:grid;grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr);gap:15px}.hardware-deck-A{grid-column:1;grid-row:1}.hardware-deck-B{grid-column:3;grid-row:1}.hardware-mixer{grid-column:2;grid-row:1;border:1px solid #3e3048;background:#151119;border-radius:8px;padding:12px}.hardware-deck{min-width:0;border:1px solid #3b2d46;border-radius:8px;padding:17px;background:linear-gradient(#211a2a,#17121d)}.deck-screen{border:1px solid #493255;background:#110d17;padding:12px;margin:17px 0;border-radius:5px}.deck-screen>span{font-size:7px;letter-spacing:1px;color:#856d9e}.deck-screen>strong{display:block;color:#d7b4ff;font-size:19px;margin:7px 0}.deck-decoration{display:flex;gap:2px;height:35px;align-items:center;overflow:hidden}.deck-decoration i{flex:1;min-width:2px;background:#9461c8;border-radius:1px;opacity:.65}.platter-pitch{display:flex;align-items:center;gap:15px;margin:24px 0 18px}.hardware-jog{position:relative;width:100%;max-width:210px;aspect-ratio:1;border-radius:50%;border:6px solid #29232f;background:repeating-radial-gradient(circle,#26202e 0 2px,#151119 3px 5px);box-shadow:0 0 0 2px #483250,inset 0 0 15px #000;touch-action:none;cursor:grab;display:grid;place-items:center;outline-offset:7px;flex:1}.hardware-jog:active{cursor:grabbing;border-color:#705184}.jog-rim{position:absolute;inset:6px;border:1px dashed #81678e;border-radius:50%}.jog-center{display:flex;flex-direction:column;align-items:center;justify-content:center;width:56%;aspect-ratio:1;background:radial-gradient(circle,#3c2551,#201529);border:2px solid #9d72c5;border-radius:50%;box-shadow:0 0 18px #b284e91c;position:relative}.jog-center strong{font-size:31px;color:#d2a4fd}.jog-center small{font-size:6px;letter-spacing:1px;color:#ad89c7}.jog-center i{position:absolute;inset:5px;border-top:2px solid #c49be9;border-radius:50%}.pitch-strip{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:8px;color:#a48bb6;width:37px;flex-shrink:0}.pitch-strip input{writing-mode:vertical-lr;direction:rtl;height:140px;width:26px;accent-color:#bd8ff1}.pitch-strip output{font-size:9px}.jog-step{display:flex;gap:8px;justify-content:space-between;align-items:center}.jog-step>span{font-size:8px;color:#897096}.dj-controller button{background:#292031;border:1px solid #53395f;padding:9px 10px;min-height:38px;border-radius:5px;font-size:10px;color:#bca1d0}.bpm-field{display:flex;align-items:center;gap:12px;font-size:11px;color:#a185b7;margin:20px 0}.bpm-field input{background:#120f18;border:1px solid #4a3258;border-radius:4px;font:inherit;color:#d7b5f8;padding:9px;min-width:0;max-width:100px}.transport-pads{display:flex;gap:8px;flex-wrap:wrap}.transport-pads button{flex:1;min-height:53px;font-size:11px}.transport-pads small{display:block;margin-top:5px;font-size:7px;letter-spacing:1px;color:#9e7bb7}.transport-pads .cue-pad{border-color:#8d68ad}.transport-pads .play-pad{border-color:#ac77db}.transport-pads .lit{background:#583071;color:#e4c9ff;box-shadow:0 0 12px #b478e622}.hardware-mixer h3{text-align:center;letter-spacing:3px;font-size:10px;color:#9578ac;margin:3px 0 19px}.mixer-channels{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mixer-channel{display:flex;flex-direction:column;align-items:center;min-width:0}.mixer-channel>strong{font-size:9px;color:#c299df;letter-spacing:1px;margin-bottom:14px}.hardware-knob{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;margin-bottom:13px;font-size:8px;color:#ad91be}.knob-cap{display:block;width:39px;height:39px;flex-shrink:0;border:3px solid #4b3957;border-radius:50%;background:radial-gradient(circle at 35% 30%,#40324a,#141019);box-shadow:0 3px 5px #0008}.knob-cap i{display:block;width:2px;height:11px;background:#c49bea;margin:3px auto}.hardware-knob output{font-size:9px;color:#d3a6fa}.hardware-knob input{width:100%;accent-color:#ab7bda;height:15px;cursor:pointer}.channel-fader{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:12px;color:#ad91be;font-size:9px}.channel-fader input{writing-mode:vertical-lr;direction:rtl;height:125px;width:28px;accent-color:#b78aec}.channel-fader output{color:#d3a6fa;font-size:10px}.hardware-cross{display:flex;flex-direction:column;gap:13px;color:#b99bcf;margin-top:26px;padding-top:17px;border-top:1px solid #3b2948;font-size:10px}.hardware-cross>span{font-size:9px;color:#89709f}.hardware-cross input{width:100%;accent-color:#c096fa;height:28px}.hardware-cross output{font-size:9px;color:#977eaa;text-align:center}.controller-hint{font-size:9px!important;color:#8b739d;margin:17px 5px 4px!important;line-height:1.8}.account-page>.record-row{margin-top:12px}@media(max-width:1050px){.controller-body{grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr);gap:10px}.hardware-deck{padding:12px}.platter-pitch{gap:10px}.hardware-jog{border-width:4px}.jog-step>span{display:none}.hardware-mixer{padding:10px}.mixer-channels{gap:12px}}@media(max-width:750px){.controller-body{grid-template-columns:1fr 1fr}.hardware-deck-A{grid-column:1;grid-row:1}.hardware-deck-B{grid-column:2;grid-row:1}.hardware-mixer{grid-column:1/-1;grid-row:2}.mixer-channels{gap:35px;max-width:350px;margin:auto}.mixer-channel{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}.mixer-channel>strong{grid-column:1/-1}.channel-fader{grid-row:2/5;grid-column:2}.channel-fader input{height:215px}.hardware-cross{max-width:350px;margin:20px auto 5px}.jog-step button{padding:6px;font-size:9px}.hardware-deck .deck-head span{display:none}.deck-screen>strong{font-size:14px}.platter-pitch{gap:8px}.pitch-strip{width:26px}.pitch-strip input{height:105px}.jog-center strong{font-size:22px}.jog-center small{font-size:5px}.hardware-jog{min-width:55px}.controller-top>span{display:none}.controller-top>.hardware-led{display:block}.transport-pads button{padding:7px 4px;flex-basis:40%;font-size:9px}.transport-pads button:last-child{min-height:31px}.jog-step{gap:5px}.bpm-field{font-size:9px;gap:7px}.bpm-field input{padding:7px;width:65px}.hardware-mixer .hardware-knob{min-width:47px}.dj-controller{padding:10px}}@media(max-width:600px){.header{height:108px}.header .brand{min-width:100px}.header .wolna-brand img{width:95px}.header .wolna-brand>span{font-size:8px;letter-spacing:1.5px}.header nav{right:20px;height:26px}.header .profile{margin-top:-4px;gap:8px}.account-link{font-size:9px;gap:7px;max-width:115px}.account-link .avatar{display:none}.header .xp-pill{font-size:8px}.header nav button{font-size:10px}.record-label .wolna-brand img{width:77px}.record-label{width:90px}.account-page{margin-top:27px}.account-page h1{font-size:27px}.profile-form,.profile-card,.delete-profile{padding:19px}.profile-card dl{grid-template-columns:1fr;gap:8px}.profile-card dd{margin-bottom:12px}.consents{font-size:11px}.legal-overlay{padding:12px}.legal-page{padding:20px}.legal-page h1{font-size:24px}.legal-page p{font-size:11px}.training-brand .wolna-brand img{width:72px}.controller-body{gap:8px}.hardware-deck{padding:8px}.hardware-deck .deck-head strong{font-size:10px}.deck-screen{padding:8px;margin:12px 0}.deck-screen>span{font-size:5px}.deck-decoration{height:26px}.platter-pitch{gap:6px}.pitch-strip{font-size:6px;width:20px}.pitch-strip input{width:18px;height:86px}.hardware-jog{border-width:3px}.jog-center strong{font-size:16px}.jog-center small{display:none}.jog-step button{font-size:8px;min-height:32px}.transport-pads small{font-size:6px}.bpm-field{gap:4px}.bpm-field input{width:61px}.controller-top{padding:3px 4px 12px}.controller-top>.wolna-brand img{width:65px}.controller-top>.hardware-led{font-size:6px}.mixer-channel{column-gap:15px}.wheel-key text{font-size:13px}.wheel-key .wheel-note{font-size:9px}footer>.wolna-brand img{width:73px}.footer-legal{flex-basis:100%;justify-content:space-between}.footer-legal button{font-size:9px}}@media(max-width:360px){.controller-body{grid-template-columns:1fr}.hardware-deck-A{grid-column:1;grid-row:1}.hardware-deck-B{grid-column:1;grid-row:3}.hardware-mixer{grid-column:1;grid-row:2}.hardware-deck{padding:15px}.hardware-jog{max-width:155px}.jog-center strong{font-size:24px}.platter-pitch{justify-content:center;gap:25px}.pitch-strip input{height:135px;width:26px}.pitch-strip{font-size:8px;width:28px}.deck-screen>strong{font-size:20px}.deck-screen>span{font-size:7px}.jog-step button{font-size:10px;padding:10px}.jog-step>span{display:block;font-size:8px}.bpm-field input{width:95px}.bpm-field{font-size:12px}.transport-pads button{font-size:11px}.transport-pads small{font-size:8px}.controller-top>.hardware-led{display:none}}.knob-cap{touch-action:none;cursor:ns-resize}.channel-fader{grid-row:2/6}@media(max-width:600px){.header{gap:8px}.account-link{max-width:100px}}.app{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}.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}.account-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header nav .audio-status-button{align-self:center;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:9px 12px;border:1px solid #493355;border-radius:7px;background:#211728;color:#bfa1d7;font-size:11px}.audio-status-button i{width:7px;height:7px;display:inline-block;border-radius:50%;background:#766882}.audio-running i{background:#b993f2;box-shadow:0 0 8px #a374cc66}.audio-interrupted i,.audio-error i,.audio-suspended i{background:#e8a591}.sound-settings{max-width:850px;margin:35px auto 50px}.sound-settings h1{font-size:36px}.sound-card{padding:25px;margin:24px 0}.sound-card h2{font-size:23px}.sound-card p{font-size:12px;margin:16px 0;line-height:1.9}.sound-card .audio-state{color:#c49df3;overflow-wrap:anywhere}.sound-card .sound-message{color:#d4b2f2}.sound-card label{display:flex;flex-direction:column;gap:12px;color:#c6a9dc;font-size:13px;margin:20px 0}.sound-card input[type=number]{font:inherit;max-width:200px;background:#19121f;border:1px solid #563d67;color:#f1e9fa;border-radius:6px;padding:12px;min-height:44px}.sound-card input[type=range]{width:100%;height:44px;accent-color:#bb8def}.sound-confirm{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.sound-confirm button{min-height:44px;padding:11px 16px;border:1px solid #72518a;border-radius:7px;background:#30203e;color:#d3b1ec}.sound-confirm button[aria-pressed=true]{border-color:#e1b9ff;background:#503266}.calibration-caption{font-size:11px;color:#a992be;margin:12px 0}.timing-audit{margin:20px 0;text-align:left}.timing-audit summary{cursor:pointer;color:#bda0d8;font-size:12px;padding:10px 0}.timing-audit table{width:100%;border-collapse:collapse;font-size:11px}.timing-audit th,.timing-audit td{padding:9px 5px;border-bottom:1px solid #3b294a;text-align:left;overflow-wrap:anywhere}.sound-settings .text-button{min-height:44px}.sound-card button{touch-action:manipulation}@media(max-width:600px){main{min-width:0}.header{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"brand profile" "nav nav";height:auto;min-height:120px;gap:8px 12px;padding:12px 16px 0}.header .brand{grid-area:brand;min-width:0;align-items:start}.header .profile{grid-area:profile;align-self:center;justify-self:end;margin:0;max-width:100%;gap:6px;flex-wrap:wrap;justify-content:flex-end}.header nav{grid-area:nav;position:static;display:flex;justify-content:space-between;gap:12px;height:auto;min-width:0}.header nav>button{min-height:44px;padding:8px 0 12px;font-size:10px}.header nav .audio-status-button{margin-bottom:7px;padding:8px 10px;min-height:40px;font-size:10px}.header .account-link{min-height:40px;max-width:110px}.account-name{max-width:85px}.header .xp-pill{max-width:95px;overflow:hidden}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:28px 0 18px;overflow:visible}.hero-copy{width:100%;min-width:0}.hero h1{font-size:clamp(28px,8.2vw,34px);line-height:1.25}.hero p{max-width:none}.hero-tags{flex-direction:row;flex-wrap:wrap;gap:12px 18px}.record-art{position:relative;right:auto;bottom:auto;top:auto;width:100%;height:270px;margin:14px auto 0;opacity:1;overflow:visible}.vinyl{width:200px;height:200px}.orbit-one{width:230px;height:230px}.orbit-two{width:260px;height:260px}.orbit{max-width:100%;aspect-ratio:1;height:auto}.module-grid,.game-layout,.training,.progress-page,.account-page,.sound-settings{min-width:0}.future-footer>span{min-width:0;overflow-wrap:anywhere}.training h1,.progress-page h1,.account-page h1,.sound-settings h1{font-size:29px;line-height:1.25;letter-spacing:-1px;overflow-wrap:anywhere}.controller-body{grid-template-columns:minmax(0,1fr)}.hardware-deck-A{grid-column:1;grid-row:1}.hardware-mixer{grid-column:1;grid-row:2}.hardware-deck-B{grid-column:1;grid-row:3}.hardware-deck{padding:15px;min-width:0}.platter-pitch{justify-content:center;gap:22px}.hardware-jog{min-width:140px;max-width:200px}.jog-center strong{font-size:28px}.jog-center small{display:block;font-size:6px}.pitch-strip{width:44px;font-size:9px}.pitch-strip input{width:44px;height:155px}.channel-fader input{width:44px;min-height:180px}.channel-fader output{font-size:12px}.hardware-knob .knob-cap{width:48px;height:48px}.hardware-knob input{min-height:30px}.hardware-knob>span:not(.knob-cap),.hardware-knob output{font-size:10px}.mixer-channels{column-gap:22px}.mixer-channel{column-gap:20px}.hardware-cross input{min-height:44px}.dj-controller button,.jog-step button,.transport-pads button{min-height:44px;font-size:11px}.jog-step>span{display:block;font-size:9px}.bpm-field{font-size:12px;gap:10px}.bpm-field input{width:96px;padding:12px;min-height:44px;font-size:16px}.deck-screen>strong{font-size:21px}.deck-screen>span{font-size:8px}.deck-head strong{font-size:12px!important}.deck-head>span{display:block!important;font-size:9px}.transport-pads button{flex-basis:40%;padding:10px}.transport-pads small{font-size:8px}.training-levels button{min-height:58px;padding:12px 9px}.training-levels{gap:7px}.exercise-toolbar button{min-height:44px}.sound-settings{margin-top:26px}.sound-card{padding:19px}.sound-card h2{font-size:21px}.sound-card input[type=number],.profile-form input,.profile-form select,.profile-form textarea{font-size:16px}.legal-overlay{padding-bottom:max(12px,env(safe-area-inset-bottom))}footer{gap:18px}.tip{margin-top:24px}.play-panel{min-width:0}.game-stats{gap:6px}.game-stats strong{font-size:23px}}@media(max-width:940px)and (orientation:landscape){.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(180px,1fr);gap:18px;min-height:0;overflow:visible;padding:24px 0}.hero-copy{min-width:0}.record-art{position:relative;right:auto;bottom:auto;width:100%;height:240px;margin:0;opacity:1}.vinyl{width:170px;height:170px}.orbit-one{width:200px;max-width:100%;height:auto;aspect-ratio:1}.orbit-two{width:225px;max-width:100%;height:auto;aspect-ratio:1}.hero h1{font-size:30px}.controller-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hardware-deck-A{grid-column:1;grid-row:1}.hardware-deck-B{grid-column:2;grid-row:1}.hardware-mixer{grid-column:1/-1;grid-row:2}.platter-pitch{gap:10px}.hardware-jog{min-width:90px;max-width:175px}.pitch-strip{width:36px}.pitch-strip input{width:36px;height:130px}.mixer-channels{max-width:370px;margin:auto}.mixer-channel{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.mixer-channel>strong{grid-column:1/-1}.channel-fader{grid-row:2/6;grid-column:2}.channel-fader input{height:230px;width:44px}.hardware-cross{max-width:350px;margin:22px auto 0}}@supports (-webkit-touch-callout: none){.pitch-strip input,.channel-fader input{-webkit-appearance:slider-vertical}}@media(min-width:601px)and (max-width:760px){.header{display:flex;flex-wrap:wrap;height:auto;min-height:110px;gap:10px;padding:12px 20px 0}.header .profile{margin-left:auto}.header nav{position:static;order:3;width:100%;justify-content:space-between;margin:0}.header nav>button{min-height:44px}}@media(max-width:600px)and (orientation:portrait){.dj-controller{padding:6px;margin:12px 0}.dj-controller .controller-top{padding:3px 4px 8px;margin-bottom:8px}.dj-controller .controller-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-items:start}.dj-controller .hardware-deck-A{grid-column:1;grid-row:1}.dj-controller .hardware-deck-B{grid-column:2;grid-row:1}.dj-controller .hardware-mixer{grid-column:1 / -1;grid-row:2}.dj-controller .hardware-deck{padding:7px;min-width:0}.dj-controller .deck-head{margin:0;gap:2px}.dj-controller .deck-head>strong{font-size:11px!important}.dj-controller .deck-head>span{display:none!important}.dj-controller .deck-screen{margin:6px 0;padding:5px}.dj-controller .deck-screen>span{display:none}.dj-controller .deck-screen>strong{font-size:12px;line-height:1.25;margin:3px 0}.dj-controller .deck-screen>.wave-lane{margin-top:3px}.dj-controller .deck-screen .wave-lane .wave-label{padding:2px 0;gap:4px;font-size:7px;flex-wrap:wrap}.dj-controller .deck-screen .wave-lane svg{display:block;min-height:42px;height:50px;width:100%}.dj-controller .deck-screen .wave-lane text{font-size:13px}.dj-controller .platter-pitch{margin:7px 0;gap:6px;justify-content:center}.dj-controller .hardware-jog{width:100%;min-width:0;max-width:102px;flex:1 1 auto;border-width:3px}.dj-controller .jog-center strong{font-size:18px}.dj-controller .jog-center small{display:none}.dj-controller .pitch-strip{width:29px;gap:4px;font-size:8px}.dj-controller .pitch-strip input{width:29px;height:86px}.dj-controller .jog-step{gap:3px}.dj-controller .jog-step>span{display:none}.dj-controller .jog-step button{flex:1 1 0;min-width:0;min-height:38px;padding:5px 1px;font-size:9px}.dj-controller .bpm-field{margin:7px 0;gap:5px;font-size:9px}.dj-controller .bpm-field input{width:60px;max-width:66px;min-width:0;min-height:38px;padding:6px;font-size:16px}.dj-controller .transport-pads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.dj-controller .transport-pads button{min-width:0;min-height:42px;padding:5px 2px;font-size:10px}.dj-controller .transport-pads small{display:none}.dj-controller .transport-pads button:last-child{grid-column:1 / -1;min-height:36px}.dj-controller .hardware-mixer{padding:8px;min-width:0}.dj-controller .hardware-mixer h3{margin:0 0 7px}.dj-controller .mixer-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:none}.dj-controller .mixer-channel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:5px;min-width:0}.dj-controller .mixer-channel>strong{grid-column:1 / -1;justify-self:center;margin:0;font-size:10px}.dj-controller .hardware-knob{margin:0;gap:2px;min-width:0;width:100%}.dj-controller .hardware-knob .knob-cap{width:34px;height:34px;border-width:2px}.dj-controller .hardware-knob .knob-cap i{height:9px}.dj-controller .hardware-knob input{width:100%;height:30px;min-height:30px}.dj-controller .hardware-knob>span:not(.knob-cap),.dj-controller .hardware-knob output{font-size:9px}.dj-controller .channel-fader{grid-column:1 / -1;grid-row:auto;display:flex;flex-direction:row;align-items:center;gap:6px;margin:2px 0;font-size:8px}.dj-controller .channel-fader input{-webkit-appearance:auto;appearance:auto;writing-mode:horizontal-tb;direction:ltr;min-width:0;width:100%;flex:1 1 auto;height:36px;min-height:36px}.dj-controller .channel-fader output{font-size:9px}.dj-controller .hardware-cross{max-width:none;margin:8px 0 0;padding-top:7px;gap:4px}.dj-controller .hardware-cross input{min-height:40px;height:40px}.dj-controller .controller-hint{font-size:9px!important;margin:8px 0 0!important}}@media(max-width:940px)and (orientation:landscape){.dj-controller{padding:7px;margin:10px 0}.dj-controller .controller-top{padding:2px 4px 8px;margin-bottom:8px}.dj-controller .controller-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.74fr) minmax(0,1fr);gap:6px;align-items:start}.dj-controller .hardware-deck-A{grid-column:1;grid-row:1}.dj-controller .hardware-mixer{grid-column:2;grid-row:1}.dj-controller .hardware-deck-B{grid-column:3;grid-row:1}.dj-controller .hardware-deck{padding:7px;min-width:0}.dj-controller .deck-head>strong{font-size:11px!important}.dj-controller .deck-head>span{display:none!important}.dj-controller .deck-screen{margin:6px 0;padding:5px}.dj-controller .deck-screen>span{display:none}.dj-controller .deck-screen>strong{margin:2px 0;font-size:13px}.dj-controller .deck-screen>.wave-lane{margin-top:3px}.dj-controller .deck-screen .wave-lane .wave-label{padding:2px 0;gap:4px;font-size:7px}.dj-controller .deck-screen .wave-lane svg{min-height:38px;height:46px}.dj-controller .deck-screen .wave-lane text{font-size:12px}.dj-controller .platter-pitch{margin:7px 0;gap:5px;justify-content:center}.dj-controller .hardware-jog{min-width:0;width:100%;max-width:115px;flex:1 1 auto;border-width:3px}.dj-controller .jog-center strong{font-size:19px}.dj-controller .jog-center small{display:none}.dj-controller .pitch-strip{width:26px;gap:3px;font-size:8px}.dj-controller .pitch-strip input{width:26px;height:84px}.dj-controller .jog-step{gap:3px}.dj-controller .jog-step>span{display:none}.dj-controller .jog-step button{min-height:34px;padding:3px 1px;font-size:9px;flex:1 1 0;min-width:0}.dj-controller .bpm-field{gap:5px;margin:7px 0;font-size:9px}.dj-controller .bpm-field input{width:60px;min-width:0;min-height:36px;padding:5px;font-size:16px}.dj-controller .transport-pads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.dj-controller .transport-pads button{min-width:0;min-height:38px;padding:3px 1px;font-size:9px}.dj-controller .transport-pads small{display:none}.dj-controller .transport-pads button:last-child{grid-column:1 / -1;min-height:32px}.dj-controller .hardware-mixer{padding:6px;min-width:0}.dj-controller .hardware-mixer h3{margin:0 0 6px;font-size:9px}.dj-controller .mixer-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-width:none}.dj-controller .mixer-channel{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.dj-controller .mixer-channel>strong{margin:0;font-size:9px}.dj-controller .hardware-knob{margin:0 0 2px;gap:2px;min-width:0}.dj-controller .hardware-knob .knob-cap{width:31px;height:31px;border-width:2px}.dj-controller .hardware-knob .knob-cap i{height:8px}.dj-controller .hardware-knob input{width:100%;height:24px;min-height:24px}.dj-controller .hardware-knob>span:not(.knob-cap),.dj-controller .hardware-knob output{font-size:8px}.dj-controller .channel-fader{grid-row:auto;grid-column:auto;display:flex;flex-direction:column;gap:3px;margin:3px 0 0;font-size:8px}.dj-controller .channel-fader input{width:25px;height:76px;min-height:76px;writing-mode:vertical-lr;direction:rtl}.dj-controller .hardware-cross{max-width:none;margin:7px 0 0;padding-top:6px;gap:2px}.dj-controller .hardware-cross input{height:36px;min-height:36px}.dj-controller .controller-hint{margin:6px 0 0!important}}#root .pro-waveform{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:#08090e;touch-action:none}#root .pro-waveform canvas,#root .pro-waveform>svg{display:block;position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none}#root .pro-waveform>svg{z-index:1;background:transparent;outline-offset:-2px}#root .wave-zoom{position:absolute;right:4px;top:14px;z-index:2;display:flex;align-items:center;gap:3px;background:#0d0914d9;border-radius:4px;font-size:9px}#root .wave-zoom button{min-height:24px;height:24px;min-width:24px;padding:0;border:1px solid #6f468e;background:#24132f;color:#e8cbff;border-radius:3px;font-size:14px}#root .empty-wave{position:absolute;inset:0;display:grid;place-items:center;color:#a398b3;font-size:12px;pointer-events:none;z-index:1}#root .pro-overview{height:20px;flex:none}#root .file-wave,#root .wave-lane{display:flex;flex-direction:column;min-height:0;position:relative}#root .file-wave>.pro-waveform:not(.pro-overview),#root .wave-lane>.pro-waveform:not(.pro-overview){flex:1;min-height:40px}#root .wave-label{flex:none}#root .wolna-controller .frequency-legend i:first-child{color:#fb7549}#root .wolna-controller .frequency-legend i:nth-child(2){color:#f8d65b}#root .wolna-controller .frequency-legend i:nth-child(3){color:#60caff}@media(max-width:1100px)and (max-height:600px),(max-width:600px)and (orientation:portrait){#root .wolna-controller .wave-lane>.pro-waveform:not(.pro-overview){min-height:0}#root .wolna-controller .wave-zoom{top:0;right:2px;font-size:6px;gap:1px}#root .wolna-controller .wave-zoom button{min-height:18px;height:18px;min-width:20px;font-size:12px}#root .wolna-controller .empty-wave{font-size:8px}#root .wolna-controller .pro-overview{display:none}}@media(min-width:1101px),(min-height:601px)and (min-width:601px){#root :is(.training,.controller-lab) .wolna-controller .wave-lane>.pro-waveform:not(.pro-overview){min-height:96px}}#root .wolna-controller [inert]{opacity:.45;pointer-events:none}#root .wolna-controller[data-skin=wolna23] .frequency-legend i:first-child{color:#fb7549}#root .wolna-controller[data-skin=wolna23] .frequency-legend i:nth-child(2){color:#f8d65b}#root .wolna-controller[data-skin=wolna23] .frequency-legend i:nth-child(3){color:#60caff}#root .wolna-controller .exam-performance>.wave-lane{display:flex;position:relative}#root .wolna-controller .file-wave .wave-seek{right:84px}#root .wolna-controller .pro-waveform .wave-zoom button{min-height:24px;height:24px;min-width:24px}@media(max-width:1100px)and (max-height:600px),(max-width:600px)and (orientation:portrait){#root .wolna-controller .pro-waveform .wave-zoom button{min-height:18px;height:18px;min-width:20px}#root .wolna-controller .file-wave .wave-seek{right:72px}#root .wolna-controller .wave-seek summary{min-height:18px;line-height:18px}}#root .direct-mix .exam-toolbar button{color:#e4cff5;background:#25172f;border:1px solid #604578;border-radius:4px}#root :is(.training,.controller-lab) section.dj-controller.wolna-controller[data-skin=wolna23]{--metal: #111017;--edge: #35303f;--neon: #b478ff;--ice: #dbc3ff;--row: 64px;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:12px;position:relative;min-width:0;isolation:isolate;padding:16px;margin:12px 0;border:1px solid #51435e;border-radius:16px;color:#eee8fa;background:radial-gradient(ellipse at 50% -25%,#6e3ba52e,transparent 70%),linear-gradient(150deg,#202027,#0c0c11 65%,#16131e);box-shadow:inset 0 1px #ffffff15,inset 0 -3px #050508,0 22px 60px #0006}#root .wolna-controller *{box-sizing:border-box}#root :is(.training,.controller-lab) .wolna-controller .controller-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:0 2px 10px;border-bottom:1px solid #ffffff0d;color:#ada1bc;font-size:10px;letter-spacing:1.8px}#root .wolna-controller .hardware-led{color:#c6a7fc;font-size:8px}#root .wolna-controller .hardware-led:before{content:"";display:inline-block;width:5px;height:5px;margin-right:6px;border-radius:50%;background:#a575ff;box-shadow:0 0 8px #b08aff}#root :is(.training,.controller-lab) .wolna-controller .controller-performance{min-width:0;overflow:hidden;border:1px solid #44334f;border-radius:8px;background:#08080d}#root :is(.training,.controller-lab) .wolna-controller .performance-display{padding:8px;margin:0;border:0;background:transparent;box-shadow:none}#root :is(.training,.controller-lab) .wolna-controller .performance-title,#root :is(.training,.controller-lab) .wolna-controller .exam-performance h2{margin:0 0 4px;font-size:9px;line-height:1.2;color:#a692bf;letter-spacing:1px}#root :is(.training,.controller-lab) .wolna-controller .performance-display>p{display:none}#root :is(.training,.controller-lab) .wolna-controller .wave-lane{margin:3px 0 0;background:#0b0a12;border:1px solid #282033;border-radius:3px}#root :is(.training,.controller-lab) .wolna-controller .wave-label{height:22px;padding:3px 8px;font-size:10px;line-height:1.1;white-space:nowrap;overflow:hidden}#root .wolna-controller .wave-label strong{flex:none}#root .wolna-controller .wave-label span{min-width:0;overflow:hidden;text-overflow:ellipsis}#root :is(.training,.controller-lab) .wolna-controller .wave-lane>svg:not(.wave-overview):not(.file-overview){width:100%;height:94px;min-height:0;max-height:none}#root :is(.training,.controller-lab) .wolna-controller .wave-overview,#root :is(.training,.controller-lab) .wolna-controller .file-overview{height:13px!important;min-height:13px!important;max-height:13px!important}#root :is(.training,.controller-lab) .wolna-controller .wave-lane text{font-size:10px}#root .wolna-controller .fixed-playhead{stroke:#f5eeff;stroke-width:2;filter:drop-shadow(0 0 2px #d29aff)}#root :is(.training,.controller-lab) .wolna-controller .controller-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(225px,.72fr) minmax(0,1fr);gap:14px;align-items:stretch;min-width:0}#root :is(.training,.controller-lab) .wolna-controller .hardware-deck,#root :is(.training,.controller-lab) .wolna-controller .hardware-mixer{position:relative;min-width:0;margin:0;border:1px solid #302c37;border-radius:9px;background:linear-gradient(160deg,#1b1b22,#101016);padding:14px;box-shadow:inset 0 1px #ffffff09}#root :is(.training,.controller-lab) .wolna-controller .hardware-deck{display:grid;grid-template-columns:minmax(0,1fr) 48px;grid-template-rows:36px minmax(165px,1fr) 40px 64px;gap:8px}#root .wolna-controller .hardware-deck-A{grid-column:1;grid-row:1}#root .wolna-controller .hardware-deck-B{grid-column:3;grid-row:1}#root :is(.training,.controller-lab) .wolna-controller .deck-head{grid-column:1/-1;display:flex;align-items:center;gap:8px;min-width:0;padding-right:110px}#root .wolna-controller .deck-head>strong{font-size:12px;letter-spacing:2px;white-space:nowrap;color:#d4bbf4}#root .wolna-controller .deck-head>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:#8f849e}#root :is(.training,.controller-lab) .wolna-controller .deck-screen{position:absolute;right:14px;top:14px;padding:0;margin:0;border:0;background:none}#root :is(.training,.controller-lab) .wolna-controller .deck-screen>span{display:none}#root :is(.training,.controller-lab) .wolna-controller .actual-bpm{font-size:11px;font-variant-numeric:tabular-nums;color:#e1c9ff;white-space:nowrap}#root :is(.training,.controller-lab) .wolna-controller .platter-pitch{grid-column:1/-1;grid-row:2;display:flex;align-items:center;justify-content:center;gap:16px;margin:0;min-height:0}#root :is(.training,.controller-lab) .wolna-controller .hardware-jog{position:relative;width:min(100%,220px);max-width:220px;flex:1 1 auto;aspect-ratio:1;min-width:0;border:8px solid #27242f;border-radius:50%;outline:1px solid #645371;background:repeating-conic-gradient(from 0deg,#2c2936 0deg 2deg,#181720 2deg 5deg);box-shadow:0 8px 16px #0009,inset 0 0 0 2px #09090d,0 0 0 3px #121015;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}#root .wolna-controller .hardware-jog:active{cursor:grabbing}#root :is(.training,.controller-lab) .wolna-controller .hardware-jog.is-playing{outline-color:#bc81ff;box-shadow:0 0 0 3px #1f152e,0 0 24px #ad65ff35,inset 0 0 0 2px #08080c}#root .wolna-controller .jog-rim{position:absolute;inset:7%;border:1px solid #685174;border-radius:50%;box-shadow:0 0 0 5px #101016}#root :is(.training,.controller-lab) .wolna-controller .jog-center{position:absolute;inset:15%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid #6e4c8c;border-radius:50%;background:radial-gradient(#30243d,#17131f 68%);box-shadow:inset 0 0 20px #000a}#root :is(.training,.controller-lab) .wolna-controller .jog-center strong{font-size:38px;font-weight:500;color:#d3adff}#root .wolna-controller .jog-center small{font-size:7px;letter-spacing:1px;color:#9680af}#root :is(.training,.controller-lab) .wolna-controller .jog-center i{position:absolute;inset:4px;border-radius:50%;border:0;animation:none!important;transition:none!important}#root .wolna-controller .jog-center i:after{content:"";position:absolute;top:0;left:calc(50% - 2px);width:4px;height:10px;border-radius:3px;background:#e4c7ff;box-shadow:0 0 8px #b772ff}#root :is(.training,.controller-lab) .wolna-controller .pitch-strip{width:38px;display:flex;flex:none;flex-direction:column;align-items:center;gap:6px;font-size:8px;letter-spacing:.5px;color:#ad98be}#root :is(.training,.controller-lab) .wolna-controller .pitch-strip input{writing-mode:vertical-lr;direction:ltr;appearance:auto;width:36px;height:165px;min-height:0;touch-action:none;accent-color:#ae7ae0}#root .wolna-controller input[type=range]{accent-color:#b17ce5}#root :is(.training,.controller-lab) .wolna-controller .jog-step{grid-column:1;grid-row:3;display:flex;gap:5px;align-items:center}#root .wolna-controller .jog-step>span{display:none}#root :is(.training,.controller-lab) .wolna-controller .jog-step button{flex:1;min-height:36px;padding:5px 2px;font-size:9px;background:#1a1722;border:1px solid #4b395f;border-radius:5px;color:#bea6d8}#root :is(.training,.controller-lab) .wolna-controller .bpm-field{grid-column:2;grid-row:3;display:flex;flex-direction:column;align-items:center;gap:1px;margin:0;font-size:7px}#root :is(.training,.controller-lab) .wolna-controller .bpm-field input{width:48px;min-width:0;min-height:30px;height:30px;padding:2px;font-size:12px;background:#0c0a12;border:1px solid #43314f;color:#e5d5f4;border-radius:4px}#root :is(.training,.controller-lab) .wolna-controller .transport-pads{grid-column:1/-1;grid-row:4;display:flex;align-items:center;gap:12px}#root :is(.training,.controller-lab) .wolna-controller .transport-pads button{min-width:0;min-height:44px;height:56px;padding:3px;flex:none}#root :is(.training,.controller-lab) .wolna-controller .cue-pad,#root :is(.training,.controller-lab) .wolna-controller .play-pad{width:56px;border-radius:50%;border:2px solid #755198;background:radial-gradient(#282031,#15111e);color:#d9b6ff;font-size:8px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px}#root .wolna-controller .pad-symbol{display:block;font-size:16px;line-height:1}#root :is(.training,.controller-lab) .wolna-controller .transport-pads small{display:none}#root :is(.training,.controller-lab) .wolna-controller .play-pad.lit{border-color:#c09aff;box-shadow:0 0 13px #9e66e565,inset 0 0 9px #b777ff33;color:#f3e8ff}#root :is(.training,.controller-lab) .wolna-controller .cue-pad[aria-pressed=true]{border-color:#e0beff;box-shadow:0 0 9px #ba7df740}#root :is(.training,.controller-lab) .wolna-controller .transport-pads button:last-child{margin-left:auto;width:48px;height:32px;min-height:32px;border:1px solid #49374f;border-radius:5px;background:#15121c;color:#a995bd;font-size:9px}#root :is(.training,.controller-lab) .wolna-controller .hardware-mixer{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:5px}#root :is(.training,.controller-lab) .wolna-controller .hardware-mixer h3{text-align:center;font-size:8px;letter-spacing:2px;color:#927baf;margin:0}#root :is(.training,.controller-lab) .wolna-controller .mixer-channels{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:none;flex:1}#root :is(.training,.controller-lab) .wolna-controller .mixer-channel{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 2px;border:0;border-radius:0;background:none}#root .wolna-controller .mixer-channel+.mixer-channel{border-left:1px solid #423149!important}#root :is(.training,.controller-lab) .wolna-controller .mixer-channel>strong{font-size:8px;line-height:1.1;letter-spacing:1px;white-space:nowrap;color:#b89dcf}#root :is(.training,.controller-lab) .wolna-controller .hardware-knob{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:var(--row);gap:2px;margin:0;font-size:8px;color:#a998bc}#root :is(.training,.controller-lab) .wolna-controller .knob-cap{display:block;width:34px;height:34px;border:2px solid #3c3549;border-radius:50%;background:linear-gradient(130deg,#35303e,#15121c);box-shadow:0 2px 4px #0009;touch-action:none;cursor:ns-resize}#root .wolna-controller .knob-cap i{display:block;width:2px;height:10px;margin:2px auto;background:#d3b3f2;box-shadow:0 0 4px #bb81eb}#root :is(.training,.controller-lab) .wolna-controller .knob-native{position:absolute;width:1px;height:1px;min-height:0;clip-path:inset(50%);overflow:hidden}#root .wolna-controller .knob-precise summary{min-height:14px;padding:0 3px;font-size:8px;line-height:14px}#root :is(.training,.controller-lab) .wolna-controller .channel-fader{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;margin:0;font-size:8px}#root :is(.training,.controller-lab) .wolna-controller .channel-fader input{writing-mode:vertical-lr;direction:rtl;appearance:auto;width:36px;height:90px;min-height:0;flex:none;touch-action:none}#root :is(.training,.controller-lab) .wolna-controller .hardware-cross{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;max-width:none;margin:2px 0 0;padding:0;font-size:9px;color:#bba1d5}#root :is(.training,.controller-lab) .wolna-controller .hardware-cross input{width:100%;min-height:30px;height:30px;touch-action:none}#root .wolna-controller .hardware-cross output{display:none}#root :is(.training,.controller-lab) .wolna-controller .guided-control{outline:2px solid #ddaeff!important;outline-offset:1px;box-shadow:0 0 16px #b47aef70}#root .wolna-controller .controller-coach{min-width:0}#root .wolna-controller .controller-coach .eq-coaching{margin:0}#root .wolna-controller .file-analysis-badges{display:flex;flex-wrap:wrap;gap:10px;padding:2px 8px;font-size:9px;color:#b3a0c9}#root .wolna-controller .file-wave-warning{display:block;padding:3px 8px;font-size:9px;color:#d3b3e7}#root .wolna-controller button:focus-visible,#root .wolna-controller [tabindex]:focus-visible{outline:2px solid #e7c8ff;outline-offset:2px}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait){#root .training.training-landscape{--surface-h: calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) ;padding:3px max(5px,env(safe-area-inset-right)) 6px max(5px,env(safe-area-inset-left))}#root body.wolna-dj-portrait .training.training-landscape{--surface-h: calc(100dvw - 28px) }#root .training.training-landscape>.exercise-toolbar,#root .training.training-landscape>.exam-toolbar{height:22px;min-height:22px;margin:0 0 3px;padding:0;display:flex;flex-wrap:nowrap;gap:8px;flex:none}#root .training.training-landscape>.exercise-toolbar span,#root .training.training-landscape>.exam-toolbar strong{font-size:8px;white-space:nowrap}#root .training.training-landscape>.exercise-toolbar button,#root .training.training-landscape>.exam-toolbar button{min-height:22px;height:22px;padding:2px 6px;font-size:8px}#root .training.training-landscape>.exam-toolbar output{display:none}#root .training.training-landscape>.back,#root .training.training-landscape>.training-brand{display:none}#root .training.training-landscape>.dj-controller.wolna-controller{order:1;flex:none}#root .training.training-landscape>.eq-comparison,#root .training.training-landscape>.eq-lesson,#root .training.training-landscape>.mixer-meter{order:3}#root :is(.training,.controller-lab) section.dj-controller.wolna-controller[data-skin=wolna23]{--row: clamp(28px, calc((var(--surface-h, 360px) - 166px) / 6), 38px);height:var(--surface-h, 360px);padding:5px;margin:0;gap:3px;border-radius:8px;grid-template-rows:14px clamp(62px,calc(var(--surface-h, 360px) * .22),88px) auto minmax(0,1fr)}#root :is(.training,.controller-lab) .wolna-controller .controller-top{height:14px;padding:0;border:0;font-size:6px;letter-spacing:1px}#root :is(.training,.controller-lab) .wolna-controller .controller-top .wolna-brand img{width:42px}#root .wolna-controller .controller-top .wolna-brand>span{font-size:6px}#root .wolna-controller .controller-top .hardware-led{font-size:6px}#root :is(.training,.controller-lab) .wolna-controller .performance-display{padding:1px 3px;height:100%;display:flex;flex-direction:column;gap:2px}#root :is(.training,.controller-lab) .wolna-controller .performance-title,#root :is(.training,.controller-lab) .wolna-controller .exam-performance h2,#root :is(.training,.controller-lab) .wolna-controller .performance-display>p{display:none}#root :is(.training,.controller-lab) .wolna-controller .wave-lane{margin:0;flex:1;min-height:0;position:relative}#root :is(.training,.controller-lab) .wolna-controller .wave-label{height:10px;padding:0 4px;font-size:7px;gap:6px;line-height:10px}#root :is(.training,.controller-lab) .wolna-controller .wave-lane>svg:not(.wave-overview):not(.file-overview){height:calc(100% - 10px);min-height:0;max-height:none}#root :is(.training,.controller-lab) .wolna-controller .wave-overview,#root :is(.training,.controller-lab) .wolna-controller .file-overview{display:none}#root :is(.training,.controller-lab) .wolna-controller .wave-lane text{font-size:12px}#root :is(.training,.controller-lab) .wolna-controller .controller-body{grid-template-columns:minmax(0,1fr) minmax(132px,.68fr) minmax(0,1fr);gap:5px;min-height:0}#root :is(.training,.controller-lab) .wolna-controller .hardware-deck{padding:5px;gap:2px;grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:14px minmax(0,1fr) 26px 36px;overflow:visible}#root :is(.training,.controller-lab) .wolna-controller .deck-head{padding:0;gap:3px;font-size:8px}#root :is(.training,.controller-lab) .wolna-controller .deck-head>strong{font-size:8px!important;letter-spacing:1px}#root :is(.training,.controller-lab) .wolna-controller .deck-head>span{display:none}#root :is(.training,.controller-lab) .wolna-controller .deck-screen{top:5px;right:5px}#root :is(.training,.controller-lab) .wolna-controller .actual-bpm{font-size:8px!important;line-height:12px;margin:0}#root :is(.training,.controller-lab) .wolna-controller .platter-pitch{min-height:0;gap:7px;margin:0;overflow:hidden}#root :is(.training,.controller-lab) .wolna-controller .hardware-jog{width:clamp(80px,calc(var(--surface-h, 360px) - 172px),190px);flex:none;max-width:calc(100% - 35px);border-width:5px}#root :is(.training,.controller-lab) .wolna-controller .jog-center strong{font-size:24px}#root :is(.training,.controller-lab) .wolna-controller .jog-center small{display:none}#root :is(.training,.controller-lab) .wolna-controller .pitch-strip{width:28px;font-size:6px;gap:1px}#root :is(.training,.controller-lab) .wolna-controller .pitch-strip input{width:28px;height:clamp(65px,calc(var(--surface-h, 360px) - 175px),150px)}#root :is(.training,.controller-lab) .wolna-controller .jog-step{gap:3px}#root :is(.training,.controller-lab) .wolna-controller .jog-step button{min-height:24px;height:24px;padding:2px;font-size:7px}#root :is(.training,.controller-lab) .wolna-controller .bpm-field{display:block;font-size:0}#root :is(.training,.controller-lab) .wolna-controller .bpm-field input{width:44px;max-width:44px;min-height:24px;height:24px;padding:2px;font-size:10px}#root :is(.training,.controller-lab) .wolna-controller .transport-pads{gap:8px}#root :is(.training,.controller-lab) .wolna-controller .transport-pads button{height:34px;min-height:34px;padding:2px}#root :is(.training,.controller-lab) .wolna-controller .cue-pad,#root :is(.training,.controller-lab) .wolna-controller .play-pad{width:34px;font-size:5px;gap:0}#root .wolna-controller .pad-symbol{font-size:12px}#root :is(.training,.controller-lab) .wolna-controller .transport-pads button:last-child{grid-column:auto;width:34px;height:26px;min-height:26px;font-size:7px}#root :is(.training,.controller-lab) .wolna-controller .hardware-mixer{padding:3px;gap:1px}#root :is(.training,.controller-lab) .wolna-controller .hardware-mixer h3{display:none}#root :is(.training,.controller-lab) .wolna-controller .mixer-channels{gap:4px;flex:1;min-height:0}#root :is(.training,.controller-lab) .wolna-controller .mixer-channel{padding:0 2px;gap:1px}#root :is(.training,.controller-lab) .wolna-controller .mixer-channel>strong{font-size:6px;letter-spacing:.3px;line-height:8px}#root :is(.training,.controller-lab) .wolna-controller .hardware-knob{display:grid;grid-template-columns:var(--row) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:0 2px;height:var(--row);min-height:var(--row);font-size:6px}#root :is(.training,.controller-lab) .wolna-controller .knob-cap{width:calc(var(--row) - 2px);height:calc(var(--row) - 2px);grid-column:1;grid-row:1/3;border-width:2px}#root .wolna-controller .hardware-knob>span:not(.knob-cap){grid-column:2;grid-row:1;align-self:end;white-space:nowrap}#root .wolna-controller .knob-precise{grid-column:2;grid-row:2;align-self:start}#root .wolna-controller .knob-precise summary{min-height:12px;height:12px;padding:0;font-size:6px;line-height:12px}#root :is(.training,.controller-lab) .wolna-controller .channel-fader{gap:0;font-size:6px}#root :is(.training,.controller-lab) .wolna-controller .channel-fader input{height:clamp(30px,calc(var(--surface-h, 360px) - 290px),58px);min-height:0;width:32px;writing-mode:vertical-lr;direction:rtl}#root .wolna-controller .channel-fader output{display:none}#root :is(.training,.controller-lab) .wolna-controller .hardware-cross{margin:0;gap:0;font-size:6px;line-height:8px}#root :is(.training,.controller-lab) .wolna-controller .hardware-cross input{height:22px;min-height:22px}#root .wolna-controller .knob-editor{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:220px;padding:14px;box-shadow:0 0 0 100vmax #0009}#root .wolna-controller .knob-editor button{min-height:44px}#root .wolna-controller .controller-coach:empty{display:none}#root .wolna-controller .controller-coach .eq-coaching{display:grid;grid-template-columns:1fr auto;gap:2px;padding:2px 5px;margin:0;line-height:1.2}#root .wolna-controller .controller-coach .eq-coaching ol{display:none}#root .wolna-controller .controller-coach .academy-mentor{grid-column:1;grid-row:1}#root .wolna-controller .controller-coach .academy-mentor strong{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#root .wolna-controller .controller-coach .academy-mentor p{display:none}#root .wolna-controller .controller-coach .eq-countdown{grid-column:2;grid-row:1;font-size:7px;margin:0;line-height:1.4}#root .wolna-controller .controller-coach .eq-step-help{grid-column:1/-1;font-size:8px}#root .wolna-controller .controller-coach .eq-step-help:not([open]){position:absolute;right:2px;top:-18px}#root .wolna-controller .controller-coach .eq-step-help summary{font-size:7px;padding:0}#root .wolna-controller .controller-coach{position:relative}#root .wolna-controller .controller-coach .eq-step-help[open]{position:absolute;left:10%;right:10%;top:0;background:#18101f;padding:12px;z-index:50;border:1px solid #b482e8}#root .wolna-controller .file-analysis-badges{position:absolute;top:0;right:3px;max-width:57%;gap:4px;padding:0;font-size:6px;line-height:10px;white-space:nowrap;overflow:hidden}#root .wolna-controller .file-analysis-badges span{overflow:hidden;text-overflow:ellipsis}#root .wolna-controller .file-wave .wave-label{padding-right:57%}#root .wolna-controller .file-wave .wave-label strong{max-width:38%;overflow:hidden;text-overflow:ellipsis}#root .wolna-controller .file-wave-warning{position:absolute;bottom:0;left:5px;padding:0;max-width:80%;font-size:6px;line-height:8px;z-index:2;background:#0b0a12d9}#root .wolna-controller .exam-performance>div{display:contents}#root .wolna-controller .exam-performance>div>button{display:none}}@media(prefers-reduced-motion:reduce){#root .wolna-controller *{scroll-behavior:auto}}#root :is(.training,.controller-lab) .wolna-controller .controller-top{grid-row:1}#root :is(.training,.controller-lab) .wolna-controller .controller-performance{grid-row:2}#root :is(.training,.controller-lab) .wolna-controller .controller-coach{grid-row:3}#root :is(.training,.controller-lab) .wolna-controller .controller-body{grid-row:4}#root .wolna-controller .coach-stage{font-size:9px;color:#c5a5e7}#root .wolna-controller .set-cue{position:absolute;right:12px;bottom:90px;min-height:30px;padding:3px 6px;border:1px solid #634279;border-radius:4px;font-size:8px;background:#22162e;color:#d9b9f5}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait){#root .wolna-controller .coach-stage{font-size:8px;grid-column:1;grid-row:1}#root .wolna-controller .controller-coach:has(.academy-mentor) .coach-stage{display:none}#root .wolna-controller .set-cue{right:5px;bottom:68px;min-height:22px;height:22px;max-width:62px;padding:1px 3px;font-size:6px}}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait){#root .training.training-landscape.training-landscape-playing{padding:3px max(5px,env(safe-area-inset-right)) 5px max(5px,env(safe-area-inset-left));gap:0}#root .training.training-landscape.training-landscape-playing>.exercise-toolbar,#root .training.training-landscape.training-landscape-playing>.exam-toolbar{min-height:22px;height:22px;margin:0 0 3px;gap:4px;flex-shrink:0}#root .training.training-landscape.training-landscape-playing>.exercise-toolbar button,#root .training.training-landscape.training-landscape-playing>.exam-toolbar button{min-height:22px;height:22px;padding:2px 5px;font-size:7px}#root .training.training-landscape.training-landscape-playing>.academy-help-button,#root .training.training-landscape.training-landscape-playing>.academy-example-button{position:absolute;top:3px;min-height:22px;height:22px;margin:0;padding:2px 4px;font-size:7px;z-index:2}#root .training.training-landscape.training-landscape-playing>.academy-help-button{right:125px}#root .training.training-landscape.training-landscape-playing>.academy-example-button{right:205px}}#root .wolna-controller .controller-body{grid-template-rows:minmax(0,1fr)}#root .wolna-controller .hardware-mixer,#root .wolna-controller .hardware-deck{min-height:0}#root .wolna-controller .hardware-cross{display:grid;grid-template-columns:1fr auto;line-height:1.2}#root .wolna-controller .hardware-cross input{grid-column:1/-1}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait){#root .wolna-controller .controller-coach .academy-mentor{padding:0;border:0;background:none;border-radius:0}#root .wolna-controller .hardware-mixer{padding:2px}#root .wolna-controller .mixer-channel{min-height:0;padding:0}#root .wolna-controller .mixer-channel>strong{margin:0}#root .wolna-controller .channel-fader input{height:clamp(22px,calc((var(--surface-h, 360px) - 280px) * .45),44px)}#root .wolna-controller .hardware-cross{line-height:7px;font-size:6px}#root .wolna-controller .hardware-cross input{height:18px;min-height:18px}}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait){#root :is(.training,.controller-lab) section.dj-controller.wolna-controller[data-skin=wolna23] .hardware-mixer{display:grid;grid-template-rows:minmax(0,1fr) 25px;gap:1px;padding:2px}#root :is(.training,.controller-lab) section.dj-controller.wolna-controller[data-skin=wolna23] .mixer-channels{grid-row:1;grid-template-rows:minmax(0,1fr);height:100%;min-height:0}#root :is(.training,.controller-lab) section.dj-controller.wolna-controller[data-skin=wolna23] .mixer-channel{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:8px repeat(4,var(--row)) minmax(0,1fr);gap:0;align-items:stretch;height:100%;min-height:0;padding:0 2px}#root :is(.training,.controller-lab) section.dj-controller.wolna-controller[data-skin=wolna23] .mixer-channel>strong{margin:0;line-height:8px;font-size:6px}#root :is(.training,.controller-lab) section.dj-controller.wolna-controller[data-skin=wolna23] .channel-fader{height:100%;min-height:0;gap:0;line-height:7px;font-size:6px}#root :is(.training,.controller-lab) section.dj-controller.wolna-controller[data-skin=wolna23] .channel-fader input{height:calc(100% - 7px);min-height:0;width:32px}#root :is(.training,.controller-lab) section.dj-controller.wolna-controller[data-skin=wolna23] .channel-fader output{display:none}#root :is(.training,.controller-lab) section.dj-controller.wolna-controller[data-skin=wolna23] .hardware-cross{display:grid;grid-row:2;grid-template-columns:1fr auto;grid-template-rows:7px 18px;gap:0;margin:0;padding:0;line-height:7px;font-size:6px}#root :is(.training,.controller-lab) section.dj-controller.wolna-controller[data-skin=wolna23] .hardware-cross input{grid-column:1/-1;grid-row:2;height:18px;min-height:18px}}#root .wolna-controller .controller-top>.wolna-brand{display:inline-flex;align-items:center;gap:6px}#root .wolna-controller .controller-top>.wolna-brand>span{display:inline;font-size:8px;letter-spacing:.5px}#root .wolna-controller .controller-top>.wolna-brand img{display:block;object-fit:contain;height:auto;max-height:28px}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait){#root :is(.training,.controller-lab) .wolna-controller .hardware-jog{width:clamp(70px,calc(var(--surface-h, 360px) * .7 - 127px),190px);height:auto;flex:none;max-width:calc(100% - 35px)}#root .wolna-controller .controller-top>.wolna-brand img{width:28px;max-height:14px}#root .wolna-controller .controller-top>.wolna-brand>span{font-size:6px}}#root .wolna-controller .knob-cap{position:relative}#root .wolna-controller .knob-cap i{position:absolute;inset:3px;width:auto;height:auto;margin:0;border-radius:50%;background:none;box-shadow:none}#root .wolna-controller .knob-cap i:after{content:"";position:absolute;top:0;left:calc(50% - 1px);width:2px;height:7px;background:#dec0ff;box-shadow:0 0 5px #b781e8}#root .wolna-controller .controller-top>.wolna-brand{flex-direction:row}#root .wolna-controller .pad-symbol{font-family:Arial,sans-serif;font-variant-emoji:text}#root .training.training-landscape-playing>.academy-help-button,#root .training.training-landscape-playing>.academy-example-button{background:#21172e;border:1px solid #70508d;border-radius:5px;color:#d5b8ef}@media(min-width:941px){#root .training.training-landscape-playing{display:flex;flex-direction:column;gap:8px}#root .training.training-landscape-playing>.training-brand,#root .training.training-landscape-playing>h1,#root .training.training-landscape-playing>.training-description,#root .training.training-landscape-playing>.training-levels{display:none}#root .training.training-landscape-playing>.back,#root .training.training-landscape-playing>.exercise-toolbar,#root .training.training-landscape-playing>.exam-toolbar{order:0;margin:0}#root .training.training-landscape-playing>.dj-controller{order:1}#root .training.training-landscape-playing>.academy-help-button,#root .training.training-landscape-playing>.academy-example-button,#root .training.training-landscape-playing>.eq-comparison,#root .training.training-landscape-playing>.mixer-meter,#root .training.training-landscape-playing>.eq-lesson{order:3}#root .training.training-landscape-playing>.primary{order:4}#root .training.training-landscape-playing>.training-feedback{order:5}#root .wolna-controller .controller-coach .academy-mentor{padding:8px;border-radius:5px}}#root .wolna-controller .wave-seek{position:absolute;right:4px;bottom:2px;z-index:4;padding:0;border:0}#root .wolna-controller .wave-seek summary{list-style:none;cursor:pointer;background:#23182fbf;border:1px solid #684a81;border-radius:3px;min-width:24px;min-height:22px;text-align:center;line-height:22px;font-size:13px}#root .wolna-controller .wave-seek-editor{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);padding:16px;width:240px;background:#21162d;border:1px solid #b082d9;box-shadow:0 0 0 100vmax #0008;z-index:90}#root .wolna-controller .wave-seek-editor input,#root .wolna-controller .wave-seek-editor button{min-height:44px;width:100%;font-size:16px}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait){#root :is(.training,.controller-lab) .wolna-controller .bpm-field input{font-size:16px}}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape){body.wolna-dj-landscape{overflow:hidden;overscroll-behavior:none}#root .training.training-landscape{position:fixed;inset:0;width:100dvw;height:100dvh;max-width:none;margin:0;z-index:10000;transform:none;background:#101014;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}}@media(max-width:600px)and (orientation:portrait){#root .controller-lab{min-width:0;max-width:100%;overflow-x:auto}#root .controller-lab section.dj-controller.wolna-controller[data-skin=wolna23]{width:560px;min-width:560px}}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait){#root :is(.training,.controller-lab) .wolna-controller .hardware-deck{grid-template-rows:14px minmax(0,1fr) 26px 44px}#root :is(.training,.controller-lab) .wolna-controller .transport-pads{gap:8px}#root :is(.training,.controller-lab) .wolna-controller .transport-pads .cue-pad,#root :is(.training,.controller-lab) .wolna-controller .transport-pads .play-pad{width:44px;height:44px;min-height:44px;font-size:6px}#root :is(.training,.controller-lab) .wolna-controller .hardware-jog{width:auto;height:calc(100% - 6px);max-height:190px;max-width:calc(100% - 35px);aspect-ratio:1;flex:none}#root .wolna-controller .set-cue{bottom:76px}}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait){#root :is(.training,.controller-lab) .wolna-controller .platter-pitch{overflow:visible}#root :is(.training,.controller-lab) .wolna-controller .hardware-jog{height:100%;outline-offset:1px}#root :is(.training,.controller-lab) .wolna-controller .pitch-strip{height:100%;justify-content:center;min-height:0}#root :is(.training,.controller-lab) .wolna-controller .pitch-strip input{height:calc(100% - 16px);min-height:32px}}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait){#root .wolna-controller .controller-coach .eq-coaching{grid-template-columns:minmax(0,1fr) auto 14px}#root .wolna-controller .controller-coach .eq-step-help:not([open]){position:static;grid-column:3;grid-row:1}#root .wolna-controller .controller-coach .eq-step-help:not([open]) summary{font-size:0;line-height:10px}#root .wolna-controller .controller-coach .eq-step-help:not([open]) summary:after{content:"?";font-size:9px;color:#dfb9ff}}#root .wolna-controller details.knob-precise{padding:0;margin:0;border:0}#root .wolna-controller .pad-symbol svg{display:block;width:14px;height:14px;min-height:0;max-height:none}#root .wolna-controller .wave-seek summary svg{display:inline-block;width:12px;height:12px;min-height:0;max-height:none;vertical-align:middle}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait){#root :is(.training,.controller-lab) .wolna-controller .hardware-deck{grid-template-columns:minmax(0,1fr) 56px}#root :is(.training,.controller-lab) .wolna-controller .bpm-field input{width:56px;max-width:56px}#root .wolna-controller .bpm-field input::-webkit-inner-spin-button,#root .wolna-controller .bpm-field input::-webkit-outer-spin-button{appearance:none;margin:0}}#root .wolna-controller .set-cue{display:none}#root .wolna-controller .deck-loops{grid-row:3;grid-column:1;display:flex;gap:3px;align-items:center;min-width:0}#root .wolna-controller .deck-loops :is(button,select){min-width:0;min-height:32px;padding:3px 5px;font-size:9px;border:1px solid #634279;border-radius:4px;background:#191220;color:#ddc5fa}#root .wolna-controller .deck-loops button[aria-pressed=true]{background:#5b2583;box-shadow:0 0 8px #9742cf88}#root .wolna-controller .deck-loops label{display:flex;align-items:center;gap:2px;font-size:8px}#root .wolna-controller:has(.deck-loops) .jog-step{display:none}#root .wolna-controller:has(.deck-loops) .bpm-field{grid-row:3}#root .wolna-controller svg[data-wave-seek=true]{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}#root .wolna-controller svg[data-wave-seek=true]:active{cursor:grabbing}#root .wolna-controller .loop-region{pointer-events:none}#root .wolna-controller .loop-region rect{fill:#b44aff22;stroke:#c070ff;stroke-width:1}#root .wolna-controller .loop-region[data-active=false]{opacity:.35}#root .wolna-controller .loop-region text{fill:#ebcfff;font-size:10px}#root .controller-advanced{position:relative;grid-column:1/-1;width:100%;max-width:100%;margin:8px 0;padding:8px;border:1px solid #604477;background:#141019}#root .controller-advanced>summary{min-height:36px;cursor:pointer;color:#d8b6fa}#root .controller-advanced[open]{overflow:auto;max-height:65dvh}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait){#root .wolna-controller .deck-loops :is(button,select){min-height:26px;height:26px;font-size:6px;padding:1px 2px}#root .wolna-controller .deck-loops label{font-size:0}#root .wolna-controller .deck-loops{padding-right:0;gap:2px;flex-wrap:wrap}#root .wolna-controller:has(.deck-loops) .bpm-field{grid-row:3}}#root .training>.controller-advanced{order:4;flex:none}#root .wolna-controller :is(.cue-pad,.play-pad){touch-action:none}#root .wolna-controller .knob-cap{min-width:0;flex-shrink:0;aspect-ratio:1}#root .wolna-controller .wave-lane svg[data-wave-seek] text{transform-box:fill-box;transform-origin:left top;transform:scaleY(var(--wave-text-y, 1))}#root .wolna-controller .wave-lane svg[data-wave-seek] .wave-marker text{transform-origin:left bottom}#root .wolna-controller .frequency-band{stroke-width:.6;opacity:.7}#root .wolna-controller .frequency-low{fill:#8152d0;stroke:#ac7bea}#root .wolna-controller .frequency-mid{fill:#cf80d2;stroke:#e1a9e4;opacity:.5}#root .wolna-controller .frequency-high{fill:#c5d1f2;stroke:#e5eafa;opacity:.4}#root .wolna-controller .candidate-bar-line{stroke:#c9a6ec;stroke-width:1.5;opacity:.6}#root .wolna-controller .candidate-phrase-line{stroke:#dbaaff;stroke-width:2;opacity:.7}#root .wolna-controller .wave-edit{min-height:20px;padding:1px 4px;font-size:8px;background:#25152e;color:#ddc2ff;border:1px solid #8659a5;border-radius:3px;pointer-events:auto}#root .wolna-controller .file-analysis-badges{pointer-events:none}#root .wolna-controller .controller-hint{display:none}#root :is(.training,.controller-lab) .wolna-controller .hardware-deck:has(.deck-loops){grid-template-rows:32px 36px minmax(165px,1fr) 64px}#root :is(.training,.controller-lab) .wolna-controller .deck-loops{grid-row:2;grid-column:1}#root :is(.training,.controller-lab) .wolna-controller:has(.deck-loops) .bpm-field{grid-row:2}#root :is(.training,.controller-lab) .wolna-controller:has(.deck-loops) .platter-pitch{grid-row:3}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait){#root :is(.training,.controller-lab) .wolna-controller .hardware-deck:has(.deck-loops){grid-template-rows:14px 28px minmax(0,1fr) 44px}#root .wolna-controller .file-analysis-badges{max-width:75%}#root .wolna-controller .wave-edit{font-size:6px;min-height:12px;height:12px;padding:0 2px}}#root .wolna-controller .frequency-legend{display:flex;gap:8px;margin-left:auto;font-size:8px;letter-spacing:1px}#root .wolna-controller .frequency-legend i{font-style:normal;color:#ac7bea}#root .wolna-controller .frequency-legend i:nth-child(2){color:#e1a9e4}#root .wolna-controller .frequency-legend i:nth-child(3){color:#dce5ff}#root .wolna-controller .file-wave .wave-label strong{max-width:55%;overflow:hidden;text-overflow:ellipsis;min-width:0}#root .wolna-controller .wave-edit{flex-shrink:0}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait){#root .wolna-controller .file-analysis-badges{max-width:57%}#root .wolna-controller .file-wave .wave-label strong{max-width:38%}}@media(max-width:1100px)and (max-height:600px)and (orientation:landscape),(max-width:600px)and (orientation:portrait){#root :is(.training,.controller-lab) .wolna-controller .hardware-deck:has(.deck-loops){grid-template-rows:14px 28px minmax(90px,1fr) 44px}}@media(max-width:1100px)and (max-height:340px)and (orientation:landscape){#root :is(.training,.controller-lab) section.dj-controller.wolna-controller[data-skin=wolna23]:has(.controller-coach:not(:empty)){grid-template-rows:14px 52px auto minmax(0,1fr)}}@media(max-width:340px)and (orientation:portrait){#root :is(.training,.controller-lab) section.dj-controller.wolna-controller[data-skin=wolna23]:has(.controller-coach:not(:empty)){grid-template-rows:14px 52px auto minmax(0,1fr)}}#root .wolna-controller .file-wave .wave-label strong{flex:1 1 auto}#root .wolna-controller .file-wave .wave-label span{flex:0 0 auto;font-variant-numeric:tabular-nums}.wave-lane{position:relative;min-width:0;background:#100d17;border:1px solid #3d2a4d;border-radius:5px;overflow:hidden;margin-top:10px}.wave-label{display:flex;gap:12px;align-items:center;padding:7px 10px;font-size:9px;color:#ab8dc2}.wave-label strong{color:#d0a8f9}.wave-lane svg{display:block;width:100%;height:auto}.wave-lane .pcm-envelope{stroke:#a575db;opacity:.85}.wave-B .pcm-envelope{stroke:#d5b4f1}.wave-lane text{font-size:11px;fill:#ad92c3}.beat-line{stroke:#76518b;stroke-width:1;opacity:.35}.bar-line{stroke:#ad7bd0;stroke-width:1.5;opacity:.7}.phrase-line{stroke:#ede0ff;stroke-width:2}.fixed-playhead{stroke:#fff;stroke-width:2}.wave-marker line{stroke:#e5bafa;stroke-dasharray:3 3}.wave-marker text{fill:#efd3ff;font-size:9px}.wave-overview{height:20px!important;stroke:#68477b}.wave-overview circle{fill:#c49bea}.wave-overview rect{fill:#fff;stroke:none}.performance-display{padding:15px;margin-bottom:18px;background:#17111f}.performance-title{display:flex;justify-content:space-between;gap:15px;color:#ba9ad5;font-size:10px}.performance-display p{font-size:9px;margin-top:10px}.deck-screen>.wave-lane{border:0}.deck-screen>.wave-lane svg{min-height:64px}.guided-control{outline:2px solid #ca9dff!important;outline-offset:4px;border-radius:5px;box-shadow:0 0 15px #a66de730}.eq-lesson{padding:22px;margin:18px 0}.eq-lesson h2{font-size:19px}.eq-lesson h3{font-size:17px;color:#c79af5;margin-top:18px}.eq-lesson p{font-size:12px;margin-top:12px}.cue-checkbox{display:flex;align-items:center;gap:10px;color:#d2b1ed;font-size:12px;margin-top:22px}.cue-checkbox input{width:18px;height:18px;accent-color:#ba85f2}.eq-lesson .cue-routing{font-size:10px;color:#9782a8}.eq-lesson .text-button{margin-left:0}.jog-center i{animation:none!important;transition:none!important}.performance-display .wave-lane svg{max-height:150px}@media(max-width:600px){.performance-title{flex-direction:column;gap:8px}.performance-display{padding:10px}.wave-label{font-size:8px}.wave-lane svg{min-height:75px}.wave-overview{min-height:20px!important}.eq-lesson{padding:17px}.eq-lesson h2{font-size:17px}.eq-lesson p,.cue-checkbox{font-size:11px}.deck-screen>.wave-lane .wave-label{padding:4px 0;font-size:7px}.deck-screen>.wave-lane svg{min-height:58px}}.deck-screen .wave-lane text{font-size:20px}.deck-screen .wave-lane .wave-marker text{font-size:16px}@media(max-width:600px){.performance-display .wave-lane text{font-size:20px}.performance-display .wave-label{font-size:10px}}.training{padding-bottom:40px}.training h1{font-size:36px}.training-description{max-width:800px;margin:16px 0 24px;font-size:13px}.training-levels{display:flex;gap:12px;margin:22px 0}.training-levels button{flex:1;max-width:240px;text-align:left;border:1px solid #3b2b4d;border-radius:8px;background:#211b2b;padding:15px;color:#b9a5cd}.training-levels .selected,.camelot-options .selected{background:#38234e;border-color:#bd8afc;color:#e2caff}.training-levels small{display:block;margin-top:8px;color:#9984aa;font-size:10px}.exercise-intro{padding:28px;margin:25px 0}.exercise-intro h2{font-size:22px}.exercise-intro p{margin:16px 0 24px;max-width:850px}.exercise-toolbar{display:flex;justify-content:space-between;align-items:center;margin:22px 0;font-size:12px;color:#9d8aac}.exercise-toolbar button,.deck button,.camelot-options button,.camelot-map button{background:#33233e;border:1px solid #5c3d73;border-radius:6px;padding:11px 13px;color:#c3a1e5}.timing-exercise{display:flex;flex-direction:column;align-items:center;padding:35px;text-align:center;gap:17px}.timing-exercise h2{font-size:24px}.timing-exercise p{font-size:12px}.timing-exercise .tap-button{margin:25px 0}.training-feedback{min-height:50px;margin-top:20px;color:#d6b3fb;font-size:13px}.decks{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:20px 0}.deck{padding:23px;min-width:0}.deck-head{display:flex;justify-content:space-between;gap:10px}.deck-head strong{color:#bf8dff;letter-spacing:2px}.deck-head span{font-size:10px;color:#9784a6}.deck-disc{width:100px;height:100px;background:repeating-radial-gradient(#2e213b 0 3px,#151019 4px 6px);border:1px solid #74558a;border-radius:50%;display:grid;place-items:center;font-size:30px;margin:20px auto;color:#c79af9}.spinning{animation:spin 4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.deck-transport{display:flex;gap:10px;margin:20px 0}.deck button{font-size:12px;min-height:42px}.deck label,.crossfader label{display:flex;flex-direction:column;gap:12px;margin:18px 0;font-size:12px;color:#b6a1c7}.deck input[type=number]{width:100%;border:1px solid #4f375f;background:#24182e;color:#f5ebff;padding:11px;border-radius:6px;font:inherit}.deck input[type=range],.crossfader input{width:100%;accent-color:#b78af7;cursor:pointer;min-height:30px;touch-action:pan-y}.actual-bpm{color:#ba91e4;font-size:11px}.jog{display:flex;align-items:center;justify-content:space-between;gap:8px}.jog span{font-size:10px;color:#9680a7}.crossfader{padding:15px 25px;margin-bottom:22px}.crossfader p{font-size:10px}.mixer-meter{display:flex;justify-content:space-around;padding:20px;gap:15px}.mixer-meter>div{display:flex;flex-direction:column;gap:9px}.mixer-meter span{font-size:10px;color:#8e779f}.mixer-meter strong{font-size:15px;color:#c69cf8}.result-explanation{text-align:left;font-size:12px;color:#ae98be;line-height:1.8;padding-left:20px;margin:22px 0}.result-explanation li{margin:10px 0}.camelot{padding:28px;text-align:center}.camelot .eyebrow{justify-content:center}.camelot>.primary{margin:22px 0}.camelot-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.camelot-options button{padding:18px 10px}.camelot h3{margin:25px 0 15px;font-size:19px}.camelot-map{display:grid;grid-template-columns:repeat(12,1fr);gap:5px}.camelot-map button{padding:10px 3px;font-size:11px}.camelot p{font-size:12px;margin-top:14px}@media(max-width:600px){.training h1{font-size:29px;letter-spacing:-1px}.training-levels{gap:7px}.training-levels button{font-size:11px;padding:12px 8px}.training-levels small{font-size:9px}.exercise-intro{padding:20px}.exercise-intro p{font-size:12px}.timing-exercise{padding:25px 16px}.timing-exercise h2{font-size:21px}.exercise-toolbar{font-size:10px;gap:10px}.exercise-toolbar button{font-size:10px;padding:10px}.decks{grid-template-columns:1fr;gap:15px}.deck{padding:20px}.deck-disc{width:85px;height:85px}.mixer-meter{flex-wrap:wrap;justify-content:flex-start;padding:17px;gap:16px}.mixer-meter strong{font-size:13px}.mixer-meter>div{flex:1;min-width:100px}.camelot{padding:22px 14px}.camelot h2{font-size:21px}.camelot-options{grid-template-columns:1fr 1fr;gap:9px}.camelot-map{grid-template-columns:repeat(6,1fr)}.crossfader{padding:12px 18px}}@media(prefers-reduced-motion:reduce){.spinning{animation:none}}.musical-counter{width:min(100%,36rem);margin:1rem auto}.musical-dots{display:flex;justify-content:center;gap:clamp(.5rem,3vw,1rem)}.musical-dots span{display:grid;place-items:center;width:2.6rem;height:2.6rem;border:1px solid #5c4275;border-radius:50%;color:#a897bb}.musical-dots span.active{color:#fff;background:#7942b7;border-color:#bb8ffa;box-shadow:0 0 18px #9354d166}.musical-counter progress{width:100%;accent-color:#a16de0}.timing-preparation{color:#cfb0ff}#root .exam-mode-choice .practice-mode-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;align-items:stretch}#root .exam-mode-choice .practice-mode-actions>button{min-width:0;min-height:48px;width:100%;padding:12px 16px;font-size:14px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;justify-content:center;text-align:center;border:1px solid #ad82df;transition:background-color .15s,box-shadow .15s}#root .exam-mode-choice .practice-mode-actions>button:focus-visible{outline:3px solid #e5caff;outline-offset:3px;box-shadow:0 0 16px #955bcc55}#root .exam-mode-choice .practice-mode-actions>button:active{background:#9365c9;box-shadow:inset 0 2px 5px #21102d55}@media(hover:hover){#root .exam-mode-choice .practice-mode-actions>button:hover{background:#c2a0f3;box-shadow:0 0 14px #905cc844}}@media(max-width:720px){#root .exam-mode-choice .practice-mode-actions{grid-template-columns:1fr}}@media(max-width:600px)and (orientation:portrait){body.wolna-dj-portrait{overflow:hidden;overscroll-behavior:none}.training.training-landscape{position:fixed;top:0;left:100vw;width:100dvh;height:100dvw;max-width:none;min-width:0;margin:0;padding:8px 12px 14px;z-index:10000;transform:rotate(90deg);transform-origin:top left;background:#101014;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;color:#f4f3f8}}@media(max-width:940px)and (orientation:landscape){body.wolna-dj-landscape{overflow:hidden;overscroll-behavior:none}.training.training-landscape{position:fixed;inset:0;width:100dvw;height:100dvh;max-width:none;min-width:0;margin:0;padding:8px 12px 14px;z-index:10000;transform:none;background:#101014;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}}@media(max-width:600px)and (orientation:portrait),(max-width:940px)and (orientation:landscape){.training.training-landscape{box-sizing:border-box;scrollbar-width:thin;touch-action:auto}.training.training-landscape .back{min-height:38px;margin:0 0 6px}.training.training-landscape .training-brand{margin:0 0 6px}.training.training-landscape>h1{font-size:24px;line-height:1.15}.training.training-landscape .training-description{font-size:11px;margin:6px 0 10px}.training.training-landscape .training-levels{gap:8px;margin:8px 0}.training.training-landscape .training-levels button{padding:8px 10px;min-height:46px;font-size:11px}.training.training-landscape .training-levels small{margin-top:2px}.training.training-landscape .exercise-intro{margin:8px 0;padding:12px}.training.training-landscape .exercise-intro p{margin:7px 0;font-size:11px;line-height:1.4}.training.training-landscape .exercise-toolbar{display:flex;min-height:37px;margin:0 0 5px;font-size:11px;gap:8px}.training.training-landscape .exercise-toolbar button{min-height:36px;padding:7px 9px}.training.training-landscape-playing{display:flex;flex-direction:column}.training.training-landscape-playing>.back,.training.training-landscape-playing>.training-brand,.training.training-landscape-playing>h1,.training.training-landscape-playing>.training-description,.training.training-landscape-playing>.training-levels{display:none}.training.training-landscape-playing>.exercise-toolbar{order:0}.training.training-landscape-playing>.dj-controller{order:1}.training.training-landscape-playing>.mixer-meter{order:2}.training.training-landscape-playing>.eq-lesson{order:3}.training.training-landscape-playing>.primary{order:4}.training.training-landscape-playing>.training-feedback{order:5}.training.training-landscape .dj-controller{width:100%;min-width:0;padding:6px;margin:0 0 8px}.training.training-landscape .controller-top{padding:2px 5px 6px;margin-bottom:6px}.training.training-landscape .controller-top>.wolna-brand img{width:58px}.training.training-landscape .dj-controller .controller-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,.82fr) minmax(0,1fr);align-items:start;gap:5px}.training.training-landscape .dj-controller .hardware-deck-A{grid-column:1;grid-row:1}.training.training-landscape .dj-controller .hardware-mixer{grid-column:2;grid-row:1}.training.training-landscape .dj-controller .hardware-deck-B{grid-column:3;grid-row:1}.training.training-landscape .dj-controller .hardware-deck,.training.training-landscape .dj-controller .hardware-mixer{min-width:0;padding:6px}.training.training-landscape .dj-controller .deck-head{gap:3px}.training.training-landscape .dj-controller .deck-head>strong{font-size:10px!important;letter-spacing:.5px}.training.training-landscape .dj-controller .deck-head>span{display:none!important}.training.training-landscape .dj-controller .deck-screen{padding:5px;margin:5px 0}.training.training-landscape .dj-controller .deck-screen>span{display:none}.training.training-landscape .dj-controller .deck-screen>strong{font-size:12px;margin:2px 0;line-height:1.2}.training.training-landscape .dj-controller .deck-screen>.wave-lane{margin-top:4px}.training.training-landscape .dj-controller .deck-screen .wave-lane .wave-label{padding:2px 0;font-size:7px;gap:3px;flex-wrap:wrap}.training.training-landscape .dj-controller .deck-screen .wave-lane svg{height:43px;min-height:43px}.training.training-landscape .dj-controller .deck-screen .wave-lane text{font-size:14px}.training.training-landscape .dj-controller .platter-pitch{justify-content:center;margin:6px 0;gap:4px}.training.training-landscape .dj-controller .hardware-jog{min-width:0;max-width:94px;width:100%;flex:1 1 auto;border-width:3px;touch-action:none}.training.training-landscape .dj-controller .jog-center strong{font-size:18px}.training.training-landscape .dj-controller .jog-center small{display:none}.training.training-landscape .dj-controller .pitch-strip{width:25px;font-size:8px;gap:3px}.training.training-landscape .dj-controller .pitch-strip input{width:25px;height:76px;touch-action:none}.training.training-landscape .dj-controller .jog-step{gap:3px}.training.training-landscape .dj-controller .jog-step>span{display:none}.training.training-landscape .dj-controller .jog-step button{min-width:0;flex:1 1 0;min-height:36px;padding:4px 1px;font-size:8px}.training.training-landscape .dj-controller .bpm-field{margin:5px 0;gap:5px;font-size:9px}.training.training-landscape .dj-controller .bpm-field input{min-width:0;width:59px;max-width:65px;min-height:36px;padding:5px;font-size:16px}.training.training-landscape .dj-controller .transport-pads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.training.training-landscape .dj-controller .transport-pads button{min-width:0;min-height:37px;padding:4px 2px;font-size:9px}.training.training-landscape .dj-controller .transport-pads small{display:none}.training.training-landscape .dj-controller .transport-pads button:last-child{grid-column:1 / -1;min-height:33px}.training.training-landscape .dj-controller .hardware-mixer h3{font-size:9px;margin:0 0 5px}.training.training-landscape .dj-controller .mixer-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:5px}.training.training-landscape .dj-controller .mixer-channel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:3px;row-gap:1px}.training.training-landscape .dj-controller .mixer-channel>strong{grid-column:1/-1;margin-bottom:2px;font-size:9px}.training.training-landscape .dj-controller .hardware-knob{width:100%;min-width:0;margin:0 0 2px;gap:1px}.training.training-landscape .dj-controller .knob-cap{width:27px;height:27px;border-width:2px;touch-action:none}.training.training-landscape .dj-controller .knob-cap i{height:7px}.training.training-landscape .dj-controller .hardware-knob input{width:100%;min-height:25px;height:25px}.training.training-landscape .dj-controller .hardware-knob>span:not(.knob-cap),.training.training-landscape .dj-controller .hardware-knob output{font-size:8px}.training.training-landscape .dj-controller .channel-fader{display:flex;flex-direction:row;grid-row:auto;grid-column:1/-1;align-items:center;margin:2px 0;gap:3px;font-size:7px}.training.training-landscape .dj-controller .channel-fader input{-webkit-appearance:auto;appearance:auto;writing-mode:horizontal-tb;direction:ltr;width:100%;min-width:0;flex:1 1 auto;height:30px;min-height:30px}.training.training-landscape .dj-controller .channel-fader output{font-size:8px}.training.training-landscape .dj-controller .hardware-cross{margin:6px 0 0;padding-top:5px;gap:3px;max-width:none;font-size:9px}.training.training-landscape .dj-controller .hardware-cross input{min-height:35px;height:35px}.training.training-landscape .dj-controller .controller-hint{display:none}.training.training-landscape .mixer-meter{display:flex;flex-wrap:wrap;gap:10px;padding:8px;margin:5px 0}.training.training-landscape .mixer-meter>div{flex:1 1 100px}.training.training-landscape .eq-lesson{padding:10px;margin:6px 0}.training.training-landscape .eq-lesson h2{font-size:15px}.training.training-landscape .eq-lesson h3{margin:5px 0;font-size:14px}.training.training-landscape .eq-lesson p{font-size:10px;margin:5px 0;line-height:1.4}.training.training-landscape .cue-checkbox{margin-top:7px}.training.training-landscape .performance-display{margin:0 0 6px;padding:6px}.training.training-landscape .performance-display .wave-lane svg{max-height:68px;min-height:56px}.training.training-landscape .performance-title{font-size:9px;gap:5px}.training.training-landscape>.primary{align-self:start;min-height:40px}}.training .dj-controller .hardware-mixer .mixer-channel{display:flex;flex-direction:column;align-items:center;min-width:0;gap:6px;padding:8px 4px;border:1px solid #493453;border-radius:7px;background:linear-gradient(#24182b88,#17111d88)}.training .dj-controller .hardware-mixer .mixer-channel>strong{font-size:8px;letter-spacing:.4px;white-space:nowrap}.training .dj-controller .hardware-mixer .channel-fader{display:flex;flex-direction:column;grid-column:auto;grid-row:auto;width:100%;gap:4px;font-size:9px}.training .dj-controller .hardware-mixer .channel-fader input{writing-mode:vertical-lr;direction:rtl;width:36px;height:125px;min-height:125px;flex:none;-webkit-appearance:auto;appearance:auto;touch-action:none}.training .dj-controller .hardware-mixer .hardware-cross{width:100%}.hardware-knob{position:relative}.knob-precise{position:relative;font-size:10px;color:#d3a6fa}.knob-precise summary{cursor:pointer;list-style:none;padding:3px 5px;border-bottom:1px dotted #836195}.knob-precise summary::-webkit-details-marker{display:none}.knob-editor{position:absolute;z-index:30;top:100%;left:50%;transform:translate(-50%);width:150px;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:6px;border:1px solid #9c71bb;border-radius:7px;background:#23162e;box-shadow:0 7px 25px #000b}.knob-editor label{grid-column:1/-1;display:flex;flex-direction:column;gap:5px;font-size:12px}.knob-editor input[type=number]{width:100%;height:40px;min-height:40px;font:16px inherit;font-size:16px;background:#100c16;color:#f3e9fa;border:1px solid #72518b;padding:5px;box-sizing:border-box}.knob-editor button{min-height:36px;padding:6px;background:#3b254e;color:#eee0fa;border:1px solid #73518b;border-radius:4px}.knob-editor button:first-of-type{grid-column:1/-1}.hardware-knob:focus-within{outline:1px solid #c199f4;outline-offset:3px;border-radius:5px}.eq-coaching{margin:0 0 10px;padding:8px;border:1px solid #4c325e;border-radius:6px;background:#21152b}.eq-coaching ol{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;gap:4px}.eq-coaching li{font-size:9px;padding:4px;color:#9b87ad;border-radius:4px}.eq-coaching li:not(:last-child):after{content:" →"}.eq-coaching li[aria-current]{background:#714198;color:#f2e4ff;box-shadow:0 0 10px #b780e933}.eq-coaching li.done{color:#d0abef}.eq-coaching .eq-countdown{font-size:10px;color:#d6b0f5;line-height:1.5;margin:7px 0 0;font-variant-numeric:tabular-nums}.eq-step-help summary{cursor:pointer;padding-top:6px;font-size:11px;color:#ddc3f0}.eq-step-help p{font-size:10px;line-height:1.5;margin:5px 0 0;color:#af99bf}@media(max-width:600px)and (orientation:portrait),(max-width:940px)and (orientation:landscape){.training .dj-controller .hardware-mixer .mixer-channels{gap:6px}.training .dj-controller .hardware-mixer .mixer-channel{padding:6px 2px;gap:3px}.training .dj-controller .hardware-mixer .hardware-knob{display:flex;flex-direction:column;gap:2px;margin:0}.training .dj-controller .hardware-mixer .knob-cap{width:40px;height:40px;min-width:40px;touch-action:none}.training .dj-controller .hardware-mixer .knob-native{position:absolute;width:1px;height:1px;min-height:0;margin:-1px;padding:0;border:0;clip-path:inset(50%);overflow:hidden}.training .dj-controller .hardware-mixer .knob-precise{font-size:9px}.training .dj-controller .hardware-mixer .knob-precise summary{min-height:22px;display:flex;align-items:center;padding:2px 4px}.training .dj-controller .hardware-mixer .channel-fader input{height:85px;min-height:85px;width:36px}.training .dj-controller .hardware-mixer .hardware-cross input{min-height:40px;height:40px}.training .dj-controller .hardware-mixer .knob-editor input{width:100%;min-height:40px;height:40px;clip-path:none;position:static;margin:0}.training .dj-controller .hardware-mixer .knob-editor button{min-height:36px;font-size:11px}.eq-coaching{padding:5px;margin-bottom:6px}.eq-coaching li{font-size:8px;padding:3px}.eq-coaching .eq-countdown{font-size:9px}}@supports (-webkit-touch-callout: none){.training .dj-controller .hardware-mixer .channel-fader input{-webkit-appearance:slider-vertical}}@media(max-width:600px)and (orientation:portrait),(max-width:940px)and (orientation:landscape){.training .dj-controller .hardware-deck .transport-pads button,.training .dj-controller .hardware-deck .transport-pads button:last-child{min-height:44px}}.home-modules .module{position:relative;isolation:isolate;min-width:0;border:1px solid #57416c;background:radial-gradient(ellipse at 78% 12%,#7846ae30,transparent 67%),linear-gradient(145deg,#241c30,#16131d);box-shadow:inset 0 1px #ffffff08,0 10px 28px #0003;transition:border-color .25s,box-shadow .25s,transform .25s,opacity .25s}.home-modules .featured{border-color:#9169bb}.home-modules .future{display:flex;flex-direction:column;padding:0;min-height:320px}.home-modules .module.locked-module{opacity:.8!important;border-style:solid;border-color:#463450}.home-modules .card-top{padding:20px 22px 9px}.home-modules .module-icon{color:#c09aee;background:#382446;border-color:#5b3a70}.home-modules .soon{color:#c5a4e3;background:#362344;border:1px solid #624179;border-radius:4px;padding:6px 8px;font-size:8px}.home-modules .locked-module .soon{background:#27202f;color:#ac94bf;border-color:#4c3a59}.home-modules .future-bottom{display:flex;flex-direction:column;flex:1;padding:8px 22px 20px;min-width:0}.home-modules .module-number{color:#b18bcc}.home-modules .future h3{font-size:23px;line-height:1.22;margin:10px 0 9px;letter-spacing:-.7px}.home-modules .module p{color:#b0a4bc}.home-modules .future-footer{color:#e0c7fa;background:#8f5ec329;border:1px solid #76508c;border-radius:6px;min-height:44px;padding:10px 12px;margin-top:15px;gap:12px;font-weight:700;font-size:11px}.home-modules .future-footer svg{flex-shrink:0}.home-modules .locked-module .future-footer{background:#221a2b;color:#b8a1cb;border-color:#493752;font-size:10px;font-weight:400}.module-record{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 10px;color:#a991bb;font-size:9px;margin-top:auto;padding-top:15px}.module-record strong{color:#d3b2f0;font-weight:700}.module-record progress{display:block;width:100%;height:3px;border:0;border-radius:3px;overflow:hidden;background:#35283f;accent-color:#b68cf2}.module-record progress::-webkit-progress-bar{background:#35283f}.module-record progress::-webkit-progress-value{background:linear-gradient(90deg,#8954c2,#c09af4)}.module-record progress::-moz-progress-bar{background:#ae7de7}.featured .module-record{margin:0 0 20px;padding-top:0}.module-art{width:calc(100% - 40px);height:104px;flex:none;margin:0 20px 5px;position:relative;overflow:hidden;border-radius:8px;background:radial-gradient(ellipse at center,#8f51c51a,transparent 70%);pointer-events:none}.module-art>svg{width:100%;height:100%;display:block;color:#c39cf0}.module-art text{fill:#bca0d4;font-family:inherit;font-size:11px;font-weight:600;letter-spacing:1px}.module-art .art-caption{font-size:10px;fill:#cdb4e3;letter-spacing:.5px}.module-art .art-grid{stroke:#8d66ae38;stroke-width:1;fill:none}.module-art .art-line{stroke:#bb8bea;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}.module-art .art-solid{fill:#bc8aef}.module-art .art-medium{fill:#8554ac}.module-art .art-soft{fill:#69438655;stroke:#9866bb66;stroke-width:1}.module-art .art-dot{fill:#f1ddff}.module-art .art-wave-b{stroke:#8d63bb}.module-art .art-playhead{stroke:#e4caff;stroke-width:1.5;stroke-dasharray:3 4}.module-art .art-frequency-0{stroke:#d1b0fa}.module-art .art-frequency-1{stroke:#ac7ce0}.module-art .art-frequency-2{stroke:#8b5fb4}.module-art .art-camelot-sector{fill:#3b294c;stroke:#7b54975c;stroke-width:.5}.module-art .art-camelot-match{fill:#a76fdd;stroke:#d7b7f2;stroke-width:.5}.module-art .art-key{font-size:5px;letter-spacing:0;fill:#eddbfa}.module-art .art-panel{fill:#211929;stroke:#68477d;stroke-width:1}.module-art .art-ring{fill:none;stroke:#ad81d36b;stroke-width:1.5}.home-modules .featured .module-art{flex:1;height:auto;min-height:150px;margin-top:15px;margin-bottom:24px}.home-modules .module-art .beat-art{width:100%;height:100%;min-height:150px;margin:0;gap:4px}.home-modules .featured .beat-art i{box-shadow:0 0 12px #ac7ad02a}.home-modules .module:focus-visible,.home-modules .module:focus-within{outline:2px solid #c19af2;outline-offset:3px}@media(hover:hover)and (pointer:fine){.home-modules .module:not(:disabled):hover{transform:translateY(-3px);border-color:#ad7cd9;box-shadow:inset 0 1px #ffffff0d,0 0 28px #9452cf26}.home-modules .module:not(:disabled):hover .module-art{animation:home-art-breathe 2.8s ease-in-out infinite}}@media(hover:none){.home-modules .module:not(:disabled) .module-art{animation:home-art-breathe 4.8s ease-in-out infinite}}@keyframes home-art-breathe{0%,to{opacity:.72}50%{opacity:1}}@media(max-width:600px)and (orientation:portrait){.home-modules .future{min-height:335px}.home-modules .featured .module-art{height:128px;min-height:128px;flex:none;margin-top:0;margin-bottom:12px}.home-modules .module-art .beat-art{min-height:128px}.home-modules .future h3{font-size:26px}.home-modules .card-top{padding:20px 20px 10px}.home-modules .future-bottom{padding:8px 20px 20px}}@media(max-width:940px)and (orientation:landscape){.home-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:clamp(12px,3vw,28px);min-height:0;padding:clamp(16px,4svh,28px) 0;overflow:visible}.home-hero .hero-copy{min-width:0;width:auto;padding-top:0}.home-hero h1{font-size:clamp(24px,3.4vw,31px);line-height:1.24;letter-spacing:-1px;overflow-wrap:normal}.home-hero p{max-width:none;font-size:11px;line-height:1.7;margin-top:15px}.home-hero .hero-tags{display:flex;flex-direction:row;flex-wrap:wrap;gap:9px 15px;margin-top:16px;font-size:9px}.home-hero .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:13px}.home-hero .record-art{position:relative;inset:auto;width:100%;max-width:280px;width:min(100%,280px,70svh);height:auto;aspect-ratio:1;margin:0 auto;min-width:0;display:grid;place-items:center;opacity:1;overflow:hidden;overflow:clip;isolation:isolate;contain:paint;pointer-events:none}.home-hero .vinyl{width:66%;height:auto;aspect-ratio:1;margin:0;transform:rotate(-18deg);box-shadow:10px 10px 28px #0006}.home-hero .vinyl:after{animation:home-vinyl-turn 36s linear infinite}.home-hero .record-label{position:relative;z-index:1;width:38%;height:auto;aspect-ratio:1;border-width:5px}.home-hero .record-label .wolna-brand{width:100%}.home-hero .record-label .wolna-brand img{width:100%;max-width:100%}.home-hero .record-label .wolna-brand>span{font-size:4px;letter-spacing:1px}.home-hero .orbit{inset:0;margin:auto;width:83%;height:auto;aspect-ratio:1;max-width:none}.home-hero .orbit-two{width:96%}.home-hero .floating-label,.home-hero .wave-mini{display:none}.home-modules{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}.home-modules .featured{grid-row:auto}.home-modules .future{min-height:340px}.home-modules .card-top{padding:16px 16px 10px}.home-modules .module-icon{width:36px;height:36px}.home-modules .future-bottom{padding:8px 16px 16px}.home-modules .module-body{padding:0 16px 16px}.home-modules .module h3{font-size:24px}.home-modules .module-art{width:calc(100% - 32px);margin-left:16px;margin-right:16px;height:100px}.home-modules .featured .module-art{flex:none;height:100px;min-height:100px;margin-top:0;margin-bottom:12px}.home-modules .module-art .beat-art{min-height:100px}.home-modules .card-meta{gap:12px;flex-wrap:wrap;margin:14px 0}.home-modules .future-footer{font-size:10px}}@keyframes home-vinyl-turn{0%{transform:rotate(-18deg)}to{transform:rotate(342deg)}}@media(prefers-reduced-motion:reduce){.home-hero .vinyl,.home-hero .vinyl:after,.home-modules .module-art,.home-modules .beat-art,.home-modules .art-downbeat-accent{animation:none!important}.home-modules .module{transition:none!important}}.academy{max-width:1180px;margin:auto;padding:28px 0 42px;overflow-wrap:anywhere}.academy h1{font-size:clamp(30px,5vw,60px);margin:14px 0}.academy small{color:#aaa2ba}.academy-lead{font-size:clamp(17px,2vw,22px);line-height:1.6;max-width:760px}.academy-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}.academy-stage{position:relative;overflow:hidden;min-width:0;background:radial-gradient(ellipse at top right,#44276566,transparent 70%),linear-gradient(145deg,#22212a,#111115);border:1px solid #75529b55;padding:22px;display:flex;flex-direction:column;gap:9px}.academy-stage h2{font-size:25px;position:relative;margin:8px 0}.academy-stage button{position:relative;text-align:left}.academy-stage.locked{filter:saturate(.8)}.academy-stage .primary{margin-top:auto}.academy-art{height:100px;position:relative;overflow:hidden;opacity:.8}.academy-art>*{width:100%;height:100%}.academy-lock{font-size:13px;color:#bcaacb;line-height:1.5}.academy button,.academy select,.academy input{min-height:44px;font:inherit}.academy input,.academy select{max-width:100%;background:#201c29;color:#fff;border:1px solid #75638c;border-radius:8px;padding:10px}.academy label{display:block;margin:14px 0}.academy-actions{display:flex;gap:8px;flex-wrap:wrap}.lesson{max-width:850px}.lesson-block{padding:24px;margin:20px 0;line-height:1.7}.lesson h2{font-size:24px}.academy-lab{border:1px solid #8553a9;border-radius:18px;padding:20px;background:#1c1528;margin:24px 0}.academy-lab p{line-height:1.6}.academy-lab button,.academy-quiz button{margin:6px;max-width:100%;white-space:normal}.academy-beats{display:flex;gap:12px;margin:16px 0}.academy-beats b{padding:14px;border:1px solid #665277;border-radius:12px}.academy-beats .active{background:#9c50e8;color:#fff;box-shadow:0 0 20px #9347e866}.academy-quiz{padding:24px;max-width:850px;line-height:1.6}.academy-quiz>button{display:block;text-align:left}.academy-quiz li{margin:10px 0}.academy-summary{margin:20px 0;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}.academy-summary h2{margin:0;font-size:clamp(18px,2vw,22px);line-height:1.25}.academy-summary-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:12px;flex:1 1 400px;max-width:590px}.academy-summary-stat{min-width:0;padding:4px 12px;border-left:1px solid #624778;display:flex;flex-direction:column;gap:3px}.academy-summary-stat strong{color:#ead4ff;font-size:20px;line-height:1.15;font-variant-numeric:tabular-nums}.academy-summary-stat small{font-size:12px;font-weight:500;color:#aa96bc}.academy-summary-stat span{font-size:11px;color:#bda8ce}@media(max-width:700px){.academy-summary{padding:16px;gap:14px}.academy-summary-stats{flex-basis:100%;gap:4px}.academy-summary-stat{padding:4px 8px}.academy-summary-stat strong{font-size:18px}.academy-summary-stat span{font-size:10px}}.controller-lab{max-width:100%;overflow:auto}.controller-lab .dj-controller{min-width:700px}.academy .camelot-wheel{max-width:420px}.academy-storage{color:#f4c693}.academy-help{padding:24px;max-width:700px;margin:auto}.academy-mentor{padding:10px;border:1px solid #9862c5;background:#201529;border-radius:12px}.academy-mentor p{margin:5px 0}.header nav{flex-wrap:wrap;gap:6px}.calibration-tap{width:100%;min-height:160px;font-size:25px;background:#6c30aa;border-radius:24px;color:#fff;touch-action:manipulation}.academy-wizard{padding:20px}.academy .energy-bars{display:flex;gap:8px;align-items:flex-end;height:100px}@media(max-width:900px){.academy-map{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.academy{padding:20px 0}.academy-map{grid-template-columns:1fr}.academy-stage{padding:18px}.academy-quiz{padding:16px}.header nav{max-width:100%;overflow-x:auto}.academy-lab{padding:12px}.lesson-block{padding:18px}.academy small{line-height:1.6;display:block}}.academy-example-button,.academy-help-button{min-height:44px;margin:4px 8px 8px 0}.academy-lab .dj-controller{position:relative}.sound-settings select{min-height:44px;font:inherit;background:#231a30;color:#fff;border:1px solid #8c58ac;border-radius:8px;padding:8px;max-width:100%}.academy-stage>button:not(.primary),.academy-quiz>button,.academy-actions>button,.academy-lab>button:not(.primary),.lesson-block button,.academy>.panel>button:not(.primary),.lesson>.panel>button:not(.primary){background:#282031;color:#eee8f8;border:1px solid #655075;border-radius:10px;padding:11px 14px;transition:border-color .15s,background .15s}.academy-stage>button:hover,.academy-actions>button:hover{border-color:#b386ea}.academy button:focus-visible{outline:2px solid #cba7ff;outline-offset:3px}.academy button:disabled{cursor:not-allowed;opacity:.55}.lesson-timeline{width:100%;height:auto;display:block;margin:16px 0}.lesson-timeline text{font-size:13px;fill:#fff}.lesson-timeline line{stroke:#fff;stroke-width:2}.academy-quiz input[type=number]{width:160px}.training.training-help>:not(.academy-help-button):not(.academy-help):not([role=alert]){display:none!important}.lesson-block>p{white-space:pre-line}.lesson-layers{display:flex;flex-wrap:wrap;gap:.75rem;min-width:0;border:1px solid #5b3e75;border-radius:12px;padding:1rem}.lesson-layers legend{max-width:100%}.lesson-layers label{display:flex;align-items:center;gap:.5rem;min-height:44px}.lesson-layers input{width:22px;height:22px;accent-color:#a16de0}.lesson-layers small{flex-basis:100%}.eq-comparison{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.eq-comparison small{max-width:42rem}.glossary-search{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px}.glossary-search input,.glossary-search select{width:100%}.glossary-list{display:grid;gap:12px}.glossary-entry{padding:18px;min-width:0;scroll-margin-top:24px}.glossary-title{width:100%;display:flex;justify-content:space-between;gap:16px;text-align:left;background:#231b2e;color:#f4f0fa;border:1px solid #645175;border-radius:10px;padding:12px;font-size:18px}.glossary-title span{color:#b79acc;font-size:15px}.glossary-entry h2{font-size:18px;margin-top:20px}.glossary-entry p{max-width:780px;line-height:1.7}.glossary-entry details{margin:16px 0;padding:12px;background:#20182a;border-radius:10px}.inline-term{font:inherit}.term-trigger{display:inline!important;font:inherit!important;font-weight:inherit!important;line-height:inherit!important;min-height:0!important;background:transparent!important;color:#d1aff5!important;border:0!important;border-bottom:1px dotted #c192ed!important;border-radius:0!important;padding:0 1px!important;margin:0!important;cursor:help;vertical-align:baseline}.term-trigger:focus-visible{outline:2px solid #c7a1ef;outline-offset:3px}.term-explanation{display:block;width:100%;max-width:620px;margin:10px 0;padding:14px;border:1px solid #a26ed1;border-radius:12px;background:#251a32;color:#eee8f6;line-height:1.6;font-size:16px;font-weight:400;overflow-wrap:anywhere}.term-explanation>span,.term-explanation>strong{display:block}.term-explanation button{display:inline-block;min-height:44px;border:1px solid #7b5e96;background:#382747;color:#f7f1ff;border-radius:8px;padding:8px 12px;margin:8px 8px 0 0;font:inherit;cursor:pointer}.term-availability{padding:10px;border-left:3px solid #a878d0;background:#281e33;margin:12px 0}.lesson-listen,.lesson-use{padding:20px;margin:18px 0;line-height:1.7}.lesson-deep{padding:18px;margin:20px 0;border:1px solid #51405e;border-radius:12px}.lesson-deep summary{cursor:pointer;min-height:44px;font-size:18px}.lesson-deep p{line-height:1.7}.lesson-terms{padding:20px;border-top:1px solid #4e3b60;margin-top:20px}.lesson-terms .term-trigger{margin:0 12px 8px 0!important}.harmony-actions{display:flex;flex-wrap:wrap;gap:10px}.harmony-lab{padding:20px;background:#20152c;border:1px solid #8353b0;border-radius:16px;margin:20px 0}.harmony-lab p{line-height:1.7}.harmony-lab button{min-height:44px}.harmony-lab select{max-width:100%}.pulse-compare{display:block;width:100%;height:auto;max-width:640px}.pulse-compare text{fill:#e4d2f4;font-size:13px}.pulse-compare line{stroke:#665078}.pulse-compare circle{fill:#ba82ee}.training .term-trigger{font-size:inherit!important}.training .term-explanation{max-width:100%}@media(max-width:550px){.glossary-search{grid-template-columns:1fr;gap:0}.glossary-title{flex-direction:column;gap:5px}.glossary-entry{padding:14px}.term-explanation{font-size:16px;padding:12px}.lesson-listen,.lesson-use,.lesson-terms,.harmony-lab{padding:14px}}@media(prefers-reduced-motion:reduce){.term-trigger,.glossary-title{transition:none}}
