.udl-wrap{max-width:1200px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#e9f1ff;box-sizing:border-box}
.udl-wrap *{box-sizing:border-box}
.udl-stage{position:relative;width:100%;background:#000;border-radius:10px;overflow:hidden;border:2px solid #1e2a3a;box-shadow:0 8px 30px rgba(0,0,0,.45);user-select:none;-webkit-user-select:none;touch-action:none}
.udl-stage:fullscreen{border-radius:0;border:0}
#udl-canvas{display:block;width:100%;height:100%}
.udl-overlay{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:rgba(4,10,24,.74);padding:10px;overflow:auto;z-index:5}
.udl-card{background:linear-gradient(160deg,#10213d,#0a1428);border:2px solid #2b9bff;border-radius:14px;padding:18px 22px;max-width:640px;width:100%;text-align:center;box-shadow:0 0 30px rgba(43,155,255,.4);max-height:100%;overflow:auto}
.udl-card h2{margin:0 0 6px;font-size:clamp(18px,3.2vw,27px);color:#ffd84d}
.udl-card p{margin:6px 0;font-size:clamp(12px,1.9vw,15px);line-height:1.45;color:#dbe8ff}
.udl-disc{background:#2a1a0c;border:2px solid #ff9d1c;border-radius:10px;padding:10px 12px;margin:8px 0;font-size:clamp(12px,1.9vw,15px);line-height:1.45;color:#ffe9c9;text-align:left}
.udl-goals{text-align:left;background:#0c1b36;border:1px solid #27457a;border-radius:10px;padding:8px 14px;margin:8px 0;font-size:clamp(12px,1.8vw,14px)}
.udl-goals ul{margin:4px 0 2px 18px;padding:0}
.udl-btn{display:inline-block;margin:10px 5px 2px;padding:11px 22px;border:0;border-radius:30px;font-weight:800;font-size:clamp(13px,2vw,16px);cursor:pointer;color:#06101f;background:linear-gradient(180deg,#ffe36b,#ffb300);box-shadow:0 4px 0 #a66f00}
.udl-btn:active{transform:translateY(3px);box-shadow:0 1px 0 #a66f00}
.udl-btn.alt{background:linear-gradient(180deg,#7fe3ff,#2aa8e0);box-shadow:0 4px 0 #14688d}
.udl-btn:disabled{cursor:not-allowed}
.udl-lessons{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin:8px 0}
.udl-lesson{display:flex;flex-direction:column;gap:3px;text-align:left;padding:9px 12px;border-radius:10px;border:1px solid #2b5bb0;background:#0c1b36;color:#fff;cursor:pointer;font-size:clamp(12px,1.8vw,14px)}
.udl-lesson span{font-size:.85em;opacity:.8}
.udl-lesson em{color:#7dffb0;font-style:normal;font-size:.85em}
.udl-lesson:hover:not(.locked){border-color:#ffd84d;background:#12295a}
.udl-lesson.locked{opacity:.5;cursor:not-allowed}
.udl-stars{font-size:34px;color:#ffd84d;letter-spacing:4px}
.udl-stars span{color:#3b4a66}
.udl-list{list-style:none;margin:8px 0;padding:0;text-align:left;font-size:clamp(12px,1.8vw,14px)}
.udl-list li{padding:3px 6px;border-bottom:1px solid #1d3562}
.udl-ok{color:#7dffb0}.udl-no{color:#ff9b9b}
.udl-note{font-size:13px;color:#9fd2ff}
.udl-tools{position:absolute;right:8px;top:8px;display:flex;flex-direction:column;gap:6px;z-index:4}
.udl-tools button{width:34px;height:34px;border-radius:50%;border:1px solid #3a5a96;background:rgba(10,20,40,.75);color:#fff;font-size:15px;cursor:pointer;line-height:1;padding:0}
.udl-touch{position:absolute;inset:0;z-index:3;pointer-events:none}
.udl-wheel{position:absolute;left:12px;bottom:calc(var(--ph,150px) + 8px);width:150px;height:44px;border-radius:24px;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.35);pointer-events:auto;touch-action:none}
.udl-wheel span{position:absolute;top:-15px;left:0;right:0;text-align:center;font-size:10px;color:#cfe3ff}
.udl-wheelk{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:rgba(255,214,60,.85);border:2px solid #fff}
.udl-tl{position:absolute;left:12px;bottom:calc(var(--ph,150px) + 62px);display:flex;flex-wrap:wrap;gap:4px;max-width:220px;pointer-events:auto}
.udl-tr{position:absolute;right:12px;bottom:calc(var(--ph,150px) + 8px);display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end;max-width:230px;pointer-events:auto}
.udl-touch button{padding:7px 9px;border-radius:8px;border:1px solid #6b8fd6;background:rgba(10,20,40,.7);color:#fff;font-size:11px;font-weight:700}
.udl-touch .udl-pedal{padding:14px 18px;font-size:13px}
.udl-touch .udl-pedal.g{background:rgba(40,150,70,.8)}.udl-touch .udl-pedal.b{background:rgba(190,40,40,.8)}
.udl-below{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:14px;margin-top:14px}
@media(max-width:760px){.udl-below{grid-template-columns:1fr}}
.udl-box{background:#0b1730;border:1px solid #24427a;border-radius:10px;padding:12px 16px}
.udl-box h3{margin:12px 0 8px;color:#ffd84d;font-size:18px}
.udl-box h3:first-child{margin-top:0}
.udl-box p{font-size:14px;line-height:1.5;margin:8px 0;color:#d5e4ff}
.udl-box .udl-disc{font-size:14px}
.udl-small{font-size:12px!important;opacity:.85}
.udl-top-list ol{margin:0;padding:0;list-style:none;counter-reset:n}
.udl-top-list li{counter-increment:n;display:flex;gap:8px;align-items:center;padding:5px 4px;border-bottom:1px solid #1d3562;font-size:14px}
.udl-top-list li:before{content:counter(n);width:22px;height:22px;border-radius:50%;background:#2b7bff;color:#fff;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;flex:none}
.udl-top-list li:nth-child(1):before{background:#ffc400;color:#111}
.udl-top-list li:nth-child(2):before{background:#c0c8d4;color:#111}
.udl-top-list li:nth-child(3):before{background:#d08a4a;color:#111}
.udl-top-list li span.n{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.udl-top-list li span.l{color:#8fb6ff;font-size:12px}
.udl-top-list li b{color:#7dffb0}
.udl-keys{width:100%;border-collapse:collapse;font-size:13px;margin:6px 0}
.udl-keys th{text-align:left;color:#7fe3ff;padding:4px 0}
.udl-keys td{padding:3px 6px;border-bottom:1px solid #1d3562;vertical-align:top}
.udl-keys td:first-child{white-space:nowrap;color:#ffd84d;font-weight:700;width:1%}
.udl-llist{margin:6px 0 6px 20px;padding:0;font-size:14px;line-height:1.5;color:#d5e4ff}
.udl-llist li{margin:4px 0}.udl-llist b{color:#ffd84d}
