@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&display=swap";*{box-sizing:border-box;margin:0;padding:0}.app-root{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;overflow:hidden}.monitor-outer{width:min(calc((100vh - 110px)*1.6),calc(100vw - 32px));flex-shrink:0}.monitor{background:#d0d4df;border-radius:16px 16px 10px 10px;padding:12px 12px 0;box-shadow:0 0 0 1px #b8bcca,0 24px 64px #0000003d,0 6px 16px #00000024}.screen-ratio{position:relative;width:100%;aspect-ratio:16/10;border-radius:6px;overflow:hidden;box-shadow:inset 0 0 0 1px #0000002e;background:linear-gradient(145deg,#dde8ff,#e8e0ff,#ffdde8)}.screen-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow:hidden}@media (max-width:700px){.app-root{height:auto;min-height:100svh;padding:0;justify-content:flex-start;background:linear-gradient(145deg,#dde8ff,#e8e0ff,#ffdde8)}.monitor-outer{width:100%;max-width:100%}.monitor{padding:0;border-radius:0;box-shadow:none;background:transparent}.screen-ratio{aspect-ratio:unset;height:100svh;border-radius:0;box-shadow:none}.screen-inner{position:relative;inset:auto;height:100svh;display:flex;flex-direction:column;zoom:1!important}.stand-neck,.stand-base,.chin,.power-btn,.chin-text{display:none!important}.top-menubar{height:48px!important;padding:0 14px!important;flex-shrink:0}.menubar-left{display:none}.zoom-controls{display:none!important}.desktop{overflow-y:auto!important;-webkit-overflow-scrolling:touch;padding:16px 12px!important;gap:0!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;align-content:start!important}.app-icon{width:100%!important;padding:12px 4px!important}.icon-box{width:64px!important;height:64px!important;font-size:28px!important;border-radius:16px!important}.icon-label{font-size:11px!important}.store{overflow:hidden;flex:1}.store-grid{overflow-y:auto!important;-webkit-overflow-scrolling:touch;gap:8px!important}.store-item{flex-wrap:wrap!important;padding:10px 12px!important;gap:10px!important}.store-item-info{flex:1 1 calc(100% - 60px)!important;min-width:0!important}.store-item-name{font-size:14px!important}.store-item-sub{font-size:11px!important;white-space:normal!important;overflow:visible!important;line-height:1.35!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important}.store-item-icon{width:48px!important;height:48px!important;font-size:22px!important;flex-shrink:0}.store-item-right{flex-basis:100%!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:8px!important}.license-area{flex:1;align-items:stretch!important}.license-row{width:100%}.license-input{flex:1!important;width:auto!important;min-width:0!important;font-size:12px!important}.license-submit{font-size:11px!important;flex-shrink:0}.taskbar{position:fixed!important;bottom:0;left:0;right:0;height:60px!important;min-height:60px!important;z-index:100;padding:0 8px!important;border-top:1px solid rgba(255,255,255,.5)}.tabs{gap:0!important}.tab{font-size:9px!important;padding:4px 2px!important;flex-direction:column!important;gap:2px!important;flex:1;border-radius:8px!important}.tab-icon{display:flex!important}.tab-label{line-height:1}.clock-wrap{display:none!important}.desktop,.store-grid{padding-bottom:76px!important}.desktop.home-page{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:0!important}.home-header{padding:28px 20px 16px!important;gap:14px!important;align-items:center!important}.home-header img{width:160px!important}.home-icons-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:12px!important;padding:8px 20px 20px!important;width:100%!important;flex-basis:auto!important}.home-icons-grid .app-icon{width:100%!important;padding:16px 8px!important;background:#ffffff59!important;border-radius:16px!important}.home-icons-grid .icon-box{width:52px!important;height:52px!important;font-size:22px!important}.home-icons-grid .icon-label{font-size:12px!important}.overlay{position:fixed!important;align-items:flex-end!important}.badge{min-width:unset!important;max-width:100%!important;width:100%;border-radius:20px 20px 0 0!important;padding:24px 20px 88px!important;max-height:90svh!important;overflow-y:auto!important}.browser-window{right:0!important;bottom:0!important;left:0!important;border-radius:0!important;top:48px!important}.browser-bar{padding:12px 16px!important;gap:12px!important}.browser-close{width:32px!important;height:32px!important;min-width:32px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#ff5f57!important;margin-left:auto!important}.browser-url{font-size:15px!important}.user-popup{width:calc(100vw - 28px)!important;left:0!important}.store-title{font-size:18px!important}.tab.active-tab,.tab.store-active{background:#9b4fd426!important}}@media (max-width:480px){.piano-window,.piano-btn{display:none!important}}.screen-inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(100,100,200,.1) 1px,transparent 1px);background-size:3% 3%;pointer-events:none;z-index:0}.top-menubar{position:relative;z-index:50;flex-shrink:0;height:clamp(36px,5%,52px);background:#ffffff8c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.5);display:flex;align-items:center;padding:0 clamp(10px,1.5%,20px);justify-content:space-between;overflow:visible}.menubar-left{font-family:Nunito,sans-serif;font-size:clamp(11px,1.2%,16px);font-weight:800;color:#1e1e5059;letter-spacing:.8px;text-transform:uppercase;pointer-events:none}.menubar-right{display:flex;align-items:center;gap:clamp(8px,1%,16px)}.timer-chip{display:flex;align-items:center;gap:clamp(4px,.6%,8px);background:transparent;border:none;cursor:ns-resize;padding:clamp(4px,.6%,8px) clamp(8px,1%,14px);border-radius:clamp(6px,.8%,10px);transition:background .15s;touch-action:none;user-select:none;-webkit-user-select:none}.timer-chip:hover{background:#0000000f}.timer-chip.dragging{background:#6c63ff1f}.timer-chip-icon{font-size:clamp(20px,2.2vw,32px);line-height:1}.timer-chip-text{font-family:Nunito,sans-serif;font-size:clamp(16px,1.8vw,26px);font-weight:800;color:#1a1a3a;line-height:1;min-width:clamp(40px,5%,70px);text-align:center}.timer-chip-text.running{color:#6c63ff}.timer-chip-text.done{color:#ff4d6d;animation:pulse .5s ease infinite alternate}@supports not (zoom: 1){.screen-inner{zoom:unset!important;position:relative!important;inset:auto!important;height:100%!important}.screen-ratio{aspect-ratio:16/10}.store{overflow:hidden}.store-grid,.desktop{overflow-y:auto}.zoom-controls{display:none!important}}.desktop{position:relative;z-index:1;flex:1;min-height:0;padding:2.5% 3%;display:flex;flex-wrap:wrap;gap:1%;align-content:flex-start;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#9B4FD4 rgba(108,99,255,.1)}.desktop::-webkit-scrollbar{width:6px}.desktop::-webkit-scrollbar-track{background:#6c63ff1a;border-radius:3px}.desktop::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#6c63ff,#9b4fd4);border-radius:3px}.desktop::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#5a52e0,#8a3fbc)}.app-icon{display:flex;flex-direction:column;align-items:center;gap:clamp(6px,1.1%,12px);padding:clamp(10px,1.6%,20px) clamp(8px,1.2%,16px);border-radius:clamp(8px,1.2%,14px);cursor:pointer;width:clamp(110px,15%,170px);-webkit-user-select:none;user-select:none;transition:background .15s;position:relative}.app-icon:hover{background:#ffffff61}.icon-box{position:relative;width:clamp(72px,11%,120px);height:clamp(72px,11%,120px);border-radius:clamp(16px,2.2%,28px);display:flex;align-items:center;justify-content:center;font-size:clamp(32px,5%,64px);box-shadow:0 5px 18px #0000002e,0 1px 4px #0000001a,inset 0 1px #ffffff59;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s;flex-shrink:0}.app-icon:hover .icon-box{transform:translateY(-5%) scale(1.07);box-shadow:0 14px 32px #00000038,inset 0 1px #ffffff59}.icon-label{font-family:Nunito,sans-serif;font-size:clamp(10px,1.2%,15px);font-weight:800;color:#1a1a3a;text-align:center;line-height:1.25;text-shadow:0 1px 3px rgba(255,255,255,.8)}.tooltip{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:#141428d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:clamp(9px,.9%,12px);font-weight:700;padding:4px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;z-index:30}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:20;background:#00000038;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{transform:scale(.78);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%{opacity:1}to{opacity:.4}}@keyframes curtain{0%{height:0%}to{height:50%}}@keyframes bootIn{0%{clip-path:inset(50% 0% 50% 0%)}60%{clip-path:inset(0% 0% 0% 0%)}to{clip-path:inset(0% 0% 0% 0%)}}@keyframes fadeInText{to{opacity:1}}@keyframes loadBar{to{width:100%}}@keyframes ropeWiggle{0%,to{transform:scaleY(-1) rotate(0)}20%{transform:scaleY(-1) rotate(-8deg)}40%{transform:scaleY(-1) rotate(8deg)}60%{transform:scaleY(-1) rotate(-5deg)}80%{transform:scaleY(-1) rotate(5deg)}}.badge{position:relative;background:#ffffffed;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:clamp(12px,2%,22px);padding:clamp(14px,2.5%,30px) clamp(18px,3%,36px);display:flex;flex-direction:column;align-items:center;gap:clamp(5px,.8%,10px);box-shadow:0 20px 60px #0000002e;animation:popIn .22s cubic-bezier(.34,1.56,.64,1);min-width:clamp(110px,18%,220px);max-width:clamp(160px,26%,280px)}.badge-icon{font-size:clamp(24px,4.5%,52px);width:clamp(52px,8.5%,90px);height:clamp(52px,8.5%,90px);border-radius:clamp(12px,2%,20px);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #0000002e}.badge-name{font-family:Nunito,sans-serif;font-size:clamp(12px,1.6%,21px);font-weight:800;color:#1a1a3a;text-align:center}.badge-desc{font-size:clamp(10px,1.1%,14px);font-weight:600;color:#1e1e5073;text-align:center;line-height:1.4;max-width:clamp(120px,20%,220px)}.badge-btn{margin-top:clamp(4px,.6%,8px);background:#1a1a3a;color:#fff;border:none;cursor:pointer;font-family:Nunito,sans-serif;font-size:clamp(10px,1.1%,15px);font-weight:800;padding:clamp(6px,.9%,12px) clamp(14px,2.2%,26px);border-radius:100px;transition:background .15s,transform .15s;width:100%}.badge-btn:hover{background:#9b4fd4;transform:scale(1.03)}.badge-btn.secondary{background:transparent;color:#1e1e5066;border:1.5px solid rgba(30,30,80,.15);margin-top:0}.badge-btn.secondary:hover{background:#0000000d;transform:none}.badge-close{position:absolute;top:clamp(6px,.8%,10px);right:clamp(6px,.8%,10px);width:clamp(18px,2%,26px);height:clamp(18px,2%,26px);border-radius:50%;background:#00000012;border:none;cursor:pointer;font-size:clamp(9px,.9%,13px);color:#888;display:flex;align-items:center;justify-content:center;transition:background .15s}.badge-close:hover{background:#ff505026;color:#c00}.store{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;overflow:hidden}.store-header{padding:clamp(8px,1.2%,16px) clamp(12px,2%,24px) 0;display:flex;align-items:center;gap:clamp(6px,1%,12px);flex-shrink:0}.store-title{font-family:Nunito,sans-serif;font-size:clamp(14px,2%,26px);font-weight:800;color:#1a1a3a}.store-tabs{display:flex;gap:clamp(4px,.6%,8px);margin-left:auto}.store-tab{font-family:Nunito,sans-serif;font-size:clamp(10px,1.1%,15px);font-weight:700;padding:clamp(4px,.6%,8px) clamp(10px,1.5%,18px);border-radius:100px;border:none;cursor:pointer;background:#0000000f;color:#1e1e5080;transition:all .15s}.store-tab.active{background:#1a1a3a;color:#fff}.store-grid{flex:1;overflow-y:auto;padding:clamp(8px,1.2%,14px) clamp(12px,2%,24px);display:flex;flex-direction:column;gap:clamp(6px,1%,10px)}.store-grid::-webkit-scrollbar{width:4px}.store-grid::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}.store-item{background:#ffffffb3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:clamp(8px,1.2%,14px);padding:clamp(8px,1.2%,14px) clamp(10px,1.5%,18px);display:flex;align-items:center;gap:clamp(8px,1.2%,14px);box-shadow:0 2px 8px #0000000f;transition:background .15s}.store-item:hover{background:#ffffffe6}.store-item-icon{width:clamp(44px,7%,72px);height:clamp(44px,7%,72px);border-radius:clamp(10px,1.5%,18px);display:flex;align-items:center;justify-content:center;font-size:clamp(20px,3.2%,38px);flex-shrink:0;box-shadow:0 3px 10px #00000026}.store-item-info{flex:1;min-width:0}.store-item-name{font-family:Nunito,sans-serif;font-size:clamp(12px,1.5%,19px);font-weight:800;color:#1a1a3a}.store-item-sub{font-size:clamp(10px,1.1%,14px);color:#1e1e5073;font-weight:600;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.store-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:clamp(4px,.6%,8px);flex-shrink:0}.store-price{font-family:Nunito,sans-serif;font-size:clamp(11px,1.3%,17px);font-weight:800;color:#1a1a3a}.store-price.free{color:#06d6a0}.store-btn{font-family:Nunito,sans-serif;font-size:clamp(10px,1.1%,14px);font-weight:800;padding:clamp(5px,.7%,8px) clamp(10px,1.5%,18px);border-radius:100px;border:none;cursor:pointer;transition:all .15s;white-space:nowrap}.license-area{display:flex;flex-direction:column;gap:clamp(3px,.4%,5px);align-items:flex-end}.license-row{display:flex;gap:clamp(3px,.4%,5px);align-items:center}.license-input{font-family:Nunito,sans-serif;font-size:clamp(10px,1.1%,14px);font-weight:700;padding:clamp(4px,.6%,7px) clamp(8px,1%,12px);border-radius:6px;border:1.5px solid rgba(155,79,212,.3);background:#fff;color:#1a1a3a;width:clamp(100px,15%,160px);outline:none;transition:border .15s}.license-input:focus{border-color:#9b4fd4}.license-input::placeholder{color:#1e1e504d}.license-submit{font-family:Nunito,sans-serif;font-size:clamp(10px,1.1%,14px);font-weight:800;padding:clamp(4px,.6%,7px) clamp(8px,1%,12px);border-radius:6px;border:none;cursor:pointer;background:#1a1a3a;color:#fff;transition:background .15s;white-space:nowrap}.license-submit:hover{background:#9b4fd4}.license-msg{font-size:clamp(9px,1%,13px);font-weight:700}.taskbar{position:relative;z-index:29;height:9%;min-height:44px;background:#ffffff80;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.65);display:flex;align-items:center;padding:0 2%;justify-content:space-between;flex-shrink:0}.tabs{display:flex;align-items:center;gap:clamp(2px,.3%,4px);flex:1;justify-content:center}.tab{display:flex;align-items:center;justify-content:center;padding:clamp(5px,.8%,10px) clamp(10px,1.5%,20px);border-radius:clamp(6px,.9%,10px);cursor:pointer;font-family:Nunito,sans-serif;font-size:clamp(11px,1.4%,18px);font-weight:700;color:#1e1e5080;background:transparent;border:none;transition:background .15s,color .15s;white-space:nowrap}.tab-icon{display:none}.tab:hover{background:#0000000f;color:#1a1a3a}.tab.active-tab{background:#9b4fd41f;color:#9b4fd4}.tab.store-active{background:#ffd93d2e;color:#c8900a}.clock-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:1px;cursor:pointer;padding:clamp(2px,.3%,4px) clamp(4px,.5%,7px);border-radius:clamp(4px,.5%,7px);transition:background .15s}.clock-wrap:hover{background:#0000000f}.clock-time{font-family:Nunito,sans-serif;font-size:clamp(13px,1.8%,22px);font-weight:800;color:#1a1a3a;line-height:1}.clock-date{font-size:clamp(10px,1.3%,16px);font-weight:700;color:#1e1e5080}.chin{height:32px;background:linear-gradient(180deg,#d0d4df,#c4c8d4);border-radius:0 0 10px 10px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;position:relative}.chin-text{font-family:Nunito,sans-serif;font-size:10px;font-weight:700;color:#50556e66;letter-spacing:3px;text-transform:uppercase}.power-btn{width:22px;height:22px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:transform .1s,box-shadow .1s}.power-btn.on{background:radial-gradient(circle at 40% 35%,#34d977,#1aab55);box-shadow:0 2px 4px #00000059,0 1px #ffffff40 inset,0 0 8px #1aab5580}.power-btn.off{background:radial-gradient(circle at 40% 35%,#888,#555);box-shadow:0 2px 4px #0006,0 1px #ffffff26 inset}.power-btn:hover{transform:scale(1.1)}.power-btn:active{transform:scale(.92)}.power-btn svg{width:11px;height:11px}.stand-neck{width:60px;height:20px;background:linear-gradient(180deg,#c4c8d4,#b4b8c4);margin:0 auto}.stand-base{width:160px;height:10px;background:linear-gradient(180deg,#b4b8c4,#a4a8b4);border-radius:0 0 8px 8px;margin:0 auto}.screen-off{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none}.screen-off:before,.screen-off:after{content:"";position:absolute;left:0;right:0;background:#000;animation:curtain .45s cubic-bezier(.4,0,.2,1) forwards}.screen-off:before{top:0;transform-origin:top}.screen-off:after{bottom:0;transform-origin:bottom}.boot-screen{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;animation:bootIn .3s ease forwards}.boot-logo{opacity:0;animation:fadeInText .4s ease .5s forwards;display:flex;align-items:center;justify-content:center}.boot-logo img{width:clamp(120px,20%,240px);height:auto}.boot-bar-wrap{width:clamp(80px,14%,160px);height:3px;background:#ffffff26;border-radius:2px;overflow:hidden;opacity:0;animation:fadeInText .3s ease .7s forwards}.boot-bar{height:100%;background:#9b4fd4;border-radius:2px;animation:loadBar 1.2s ease .8s forwards;width:0%}.modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:25;background:#0000004d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .15s ease}.modal{background:#fffffff5;border-radius:clamp(12px,2%,22px);padding:clamp(16px,3%,36px);width:clamp(200px,38%,360px);max-width:90%;box-shadow:0 24px 64px #0003;animation:popIn .2s cubic-bezier(.34,1.56,.64,1)}.modal-title{font-family:Nunito,sans-serif;font-size:clamp(12px,1.8%,22px);font-weight:800;color:#1a1a3a;margin-bottom:clamp(4px,.6%,8px)}.modal-sub{font-size:clamp(8px,1%,13px);color:#1e1e5073;font-weight:600;margin-bottom:clamp(10px,1.5%,20px)}.modal-input{width:100%;font-family:Nunito,sans-serif;font-size:clamp(9px,1.1%,14px);font-weight:700;padding:clamp(6px,.9%,12px) clamp(8px,1.2%,16px);border-radius:8px;border:1.5px solid rgba(0,0,0,.12);background:#00000008;color:#1a1a3a;outline:none;margin-bottom:clamp(6px,.9%,12px);transition:border .15s;display:block}.modal-input:focus{border-color:#9b4fd4}.modal-btn{width:100%;font-family:Nunito,sans-serif;font-size:clamp(9px,1.1%,14px);font-weight:800;padding:clamp(7px,1%,14px);border-radius:8px;border:none;cursor:pointer;background:#1a1a3a;color:#fff;transition:background .15s;margin-top:clamp(4px,.6%,8px);display:block}.modal-btn:hover{background:#9b4fd4}.modal-error{font-size:clamp(8px,.9%,11px);font-weight:700;color:#e74c3c;margin-bottom:8px}.modal-close{float:right;background:none;border:none;cursor:pointer;font-size:clamp(12px,1.5%,18px);color:#1e1e504d}.modal-close:hover{color:#c00}.lesson-modal{background:#fffffff7;border-radius:clamp(8px,1.2%,16px);width:92%;max-width:680px;max-height:85%;display:flex;flex-direction:column;box-shadow:0 24px 64px #0003;animation:popIn .2s cubic-bezier(.34,1.56,.64,1)}.lesson-modal-header{display:flex;align-items:center;gap:clamp(6px,1%,12px);padding:clamp(10px,1.5%,18px) clamp(12px,2%,24px);border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0}.lesson-modal-title{font-family:Nunito,sans-serif;font-size:clamp(10px,1.4%,18px);font-weight:800;color:#1a1a3a;flex:1}.lesson-modal-body{flex:1;overflow-y:auto;padding:clamp(10px,1.5%,20px) clamp(12px,2%,24px);font-size:clamp(9px,1.1%,14px);line-height:1.6;color:#1a1a3a}.lesson-modal-body::-webkit-scrollbar{width:4px}.lesson-modal-body::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}.browser-window{position:absolute;inset:clamp(6%,8%,10%) clamp(4%,5%,8%);z-index:22;background:#fff;border-radius:clamp(8px,1.2%,14px);box-shadow:0 16px 48px #0000002e;display:flex;flex-direction:column;overflow:hidden;animation:popIn .2s cubic-bezier(.34,1.56,.64,1)}.browser-bar{display:flex;align-items:center;gap:clamp(5px,.7%,8px);padding:clamp(6px,.9%,10px) clamp(10px,1.5%,16px);background:#f5f5f7;border-bottom:1px solid rgba(0,0,0,.08);flex-shrink:0}.browser-close{width:20px;height:20px;min-width:20px;border-radius:50%;background:#ff5f57;border:none;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-left:auto}.browser-close:hover{background:#ff3b30}.browser-url{flex:1;font-family:Nunito,sans-serif;font-size:clamp(12px,1.5%,20px);font-weight:800;color:#1a1a3a;border:none;outline:none;background:transparent}.browser-content{flex:1;overflow-y:auto;padding:clamp(14px,2.5%,30px) clamp(16px,3%,36px);font-family:Nunito,sans-serif;color:#1a1a3a;line-height:1.6}.browser-content h2{font-family:Nunito,sans-serif;font-size:clamp(14px,2.2%,28px);font-weight:800;margin-bottom:clamp(10px,1.5%,18px)}.browser-content p{font-size:clamp(11px,1.3%,17px);margin-bottom:clamp(10px,1.5%,18px);color:#1e1e50b3}.browser-content strong{color:#1a1a3a}.piano-window{position:absolute;z-index:25;background:#fffffff5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:clamp(10px,1.5%,18px);box-shadow:0 20px 60px #0003;overflow:hidden;animation:popIn .2s cubic-bezier(.34,1.56,.64,1);min-width:clamp(320px,68vw,740px)}.piano-titlebar{background:linear-gradient(90deg,#1a1a3a,#2d2d5e);padding:clamp(8px,1vw,14px) clamp(12px,1.5vw,20px);display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none;cursor:grab;touch-action:none}.piano-titlebar:active{cursor:grabbing}.piano-title{font-family:Nunito,sans-serif;font-size:clamp(12px,1.3vw,18px);font-weight:800;color:#fff;letter-spacing:1px}.piano-close{width:clamp(16px,1.8vw,24px);height:clamp(16px,1.8vw,24px);border-radius:50%;background:#ff5f57;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.piano-close:hover{background:#ff3b30}.piano-keys-wrap{padding:clamp(12px,1.5vw,22px) clamp(12px,1.5vw,20px);display:flex;flex-direction:column;gap:clamp(8px,1vw,14px)}.piano-octave-label{font-family:Nunito,sans-serif;font-size:clamp(10px,1vw,14px);font-weight:700;color:#1e1e504d;letter-spacing:2px;text-transform:uppercase;text-align:center}.piano-keys{position:relative;display:flex;height:clamp(100px,14vw,160px);gap:2px}.white-key{flex:1;background:#fff;border-radius:0 0 clamp(4px,.6vw,8px) clamp(4px,.6vw,8px);border:1.5px solid #ddd;cursor:pointer;transition:background .08s,transform .08s;display:flex;align-items:flex-end;justify-content:center;padding-bottom:clamp(5px,.7vw,10px);box-shadow:0 4px 10px #0000001f;-webkit-user-select:none;user-select:none;touch-action:none}.white-key:hover{background:#f0f0ff}.white-key.active{background:#d0ccff;transform:scaleY(.97)}.white-key-label{font-family:Nunito,sans-serif;font-size:clamp(10px,1vw,14px);font-weight:800;color:#1e1e5059;pointer-events:none;text-align:center}.black-key{position:absolute;top:0;height:60%;z-index:2;background:linear-gradient(180deg,#2a2a3e,#1a1a2e);border-radius:0 0 clamp(4px,.5vw,7px) clamp(4px,.5vw,7px);cursor:pointer;box-shadow:0 5px 12px #0006;transition:background .08s,transform .08s;-webkit-user-select:none;user-select:none;display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px;touch-action:none}.black-key:hover{background:linear-gradient(180deg,#3a3a5e,#2a2a4e)}.black-key.active{background:linear-gradient(180deg,#6c63ff,#5a52e0);transform:scaleY(.96)}.black-key-label{font-family:Nunito,sans-serif;font-size:clamp(8px,.8vw,11px);font-weight:800;color:#ffffff4d;pointer-events:none}.piano-hint{font-family:Nunito,sans-serif;font-size:clamp(10px,1vw,14px);font-weight:600;color:#1e1e504d;text-align:center;padding-bottom:clamp(6px,.8vw,12px)}.clock-window{position:absolute;bottom:9%;right:1%;z-index:25;background:#fffffff7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:clamp(12px,1.6%,20px);box-shadow:0 12px 40px #0000002e;animation:popIn .2s cubic-bezier(.34,1.56,.64,1);width:clamp(240px,28%,340px)}.cw-titlebar{padding:clamp(10px,1.3%,16px) clamp(12px,1.6%,20px) 0;display:flex;align-items:center;justify-content:flex-end}.cw-close{width:clamp(14px,1.6%,20px);height:clamp(14px,1.6%,20px);border-radius:50%;background:#00000012;border:none;cursor:pointer;color:#888;display:flex;align-items:center;justify-content:center;transition:background .15s}.cw-close:hover{background:#ff505026;color:#c00}.cw-body{padding:clamp(10px,1.4%,18px);display:flex;flex-direction:column;gap:clamp(8px,1.1%,14px)}.cw-btn-row{display:flex;gap:clamp(6px,.8%,12px);justify-content:center}.cw-btn{font-family:Nunito,sans-serif;font-size:clamp(11px,1.2%,16px);font-weight:800;padding:clamp(6px,.8%,11px) clamp(14px,1.8%,22px);border-radius:100px;border:none;cursor:pointer;transition:all .15s}.cw-btn.primary{background:#6c63ff;color:#fff}.cw-btn.primary:hover{background:#5a52e0;transform:scale(1.04)}.cw-btn.secondary{background:#00000012;color:#1e1e5099}.cw-btn.danger{background:#ff4d6d1a;color:#ff4d6d}.cw-preset-row{display:flex;gap:clamp(5px,.6%,8px);justify-content:center;flex-wrap:wrap}.cw-preset{font-family:Nunito,sans-serif;font-size:clamp(10px,1.1%,14px);font-weight:800;padding:clamp(4px,.5%,7px) clamp(10px,1.2%,16px);border-radius:100px;border:1.5px solid rgba(108,99,255,.25);background:transparent;color:#6c63ffb3;cursor:pointer;transition:all .15s}.cw-preset:hover{background:#6c63ff1a}.cw-metro-bpm{font-family:Nunito,sans-serif;font-size:clamp(28px,4%,52px);font-weight:800;color:#1a1a3a;text-align:center;line-height:1}.cw-metro-label{font-family:Nunito,sans-serif;font-size:clamp(11px,1.2%,15px);font-weight:700;color:#1e1e5059;text-align:center;margin-top:4px}.cw-slider{width:100%;accent-color:#6C63FF;height:5px;cursor:pointer;margin:clamp(6px,.8%,10px) 0}.cw-beat-dots{display:flex;gap:clamp(6px,.8%,12px);justify-content:center;margin:clamp(4px,.6%,8px) 0}.cw-beat-dot{width:clamp(12px,1.6%,18px);height:clamp(12px,1.6%,18px);border-radius:50%;background:#0000001a;transition:background .05s,transform .05s}.cw-beat-dot.active{background:#6c63ff;transform:scale(1.3)}.cw-beat-dot.beat1{background:#ff6b35;transform:scale(1.4)}.user-popup{position:absolute;bottom:calc(100% + clamp(4px,.6%,8px));left:0;z-index:30;width:clamp(200px,26%,280px);background:#fffffff7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:clamp(10px,1.4%,18px);box-shadow:0 12px 40px #00000026;overflow:hidden;animation:popIn .18s cubic-bezier(.34,1.56,.64,1)}.user-popup-header{background:linear-gradient(135deg,#6c63ff,#9b93ff);padding:clamp(14px,2%,22px);display:flex;flex-direction:column;align-items:center;gap:clamp(5px,.7%,9px)}.user-avatar{display:none}.user-name{font-family:Nunito,sans-serif;font-size:clamp(15px,1.8%,22px);font-weight:800;color:#fff}.user-email-sm{font-size:clamp(11px,1.2%,15px);font-weight:600;color:#ffffffbf}.user-popup-body{padding:clamp(10px,1.4%,18px);display:flex;flex-direction:column;gap:clamp(4px,.5%,8px)}.user-menu-item{display:flex;align-items:center;gap:clamp(7px,1%,12px);padding:clamp(8px,1.1%,13px) clamp(10px,1.3%,16px);border-radius:clamp(6px,.9%,10px);border:none;background:transparent;cursor:pointer;font-family:Nunito,sans-serif;font-size:clamp(13px,1.5%,18px);font-weight:700;color:#1e1e50b3;width:100%;text-align:left;transition:background .12s,color .12s}.user-menu-item:hover{background:#6c63ff14;color:#6c63ff}.user-menu-item.danger:hover{background:#ff4d6d14;color:#ff4d6d}.user-divider{height:1px;background:#0000000f;margin:clamp(2px,.3%,4px) 0}.menu-btn{font-family:Nunito,sans-serif;font-size:clamp(11px,1.2%,16px);font-weight:800;color:#1e1e5099;background:transparent;border:none;cursor:pointer;padding:clamp(3px,.4%,6px) clamp(6px,.8%,10px);border-radius:clamp(4px,.5%,7px);transition:background .15s,color .15s;white-space:nowrap}.menu-btn:hover,.menu-btn.active{background:#6c63ff1a;color:#6c63ff}.menu-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:50;background:#fffffff7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:clamp(8px,1%,12px);box-shadow:0 12px 40px #00000026;min-width:clamp(160px,22%,240px);overflow:hidden;animation:popIn .15s cubic-bezier(.34,1.56,.64,1)}.menu-item{display:flex;align-items:center;gap:clamp(8px,1%,12px);padding:clamp(7px,1%,11px) clamp(10px,1.4%,16px);border:none;background:transparent;cursor:pointer;font-family:Nunito,sans-serif;font-size:clamp(11px,1.2%,16px);font-weight:700;color:#1e1e50bf;width:100%;text-align:left;transition:background .1s,color .1s}.menu-item:hover{background:#6c63ff14;color:#6c63ff}.menu-item.danger:hover{background:#ff4d6d14;color:#ff4d6d}.menu-separator{height:1px;background:#00000012;margin:3px 0}.lang-wrap{position:relative}.lang-btn{font-family:Nunito,sans-serif;font-size:clamp(10px,1.1%,15px);font-weight:800;background:#6c63ff1a;color:#6c63ff;border:none;cursor:pointer;padding:clamp(3px,.4%,5px) clamp(7px,.9%,12px);border-radius:100px;transition:background .15s;white-space:nowrap;width:clamp(58px,6vw,80px);text-align:center}.lang-btn:hover,.lang-btn.active{background:#6c63ff33}.lang-dropdown{position:absolute;top:calc(100% + 6px);right:0;z-index:50;background:#fffffff7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:clamp(8px,1%,12px);box-shadow:0 10px 32px #00000024;overflow:hidden;animation:popIn .15s cubic-bezier(.34,1.56,.64,1);min-width:120px}.lang-option{display:flex;align-items:center;gap:8px;padding:clamp(7px,1%,11px) clamp(12px,1.5%,18px);border:none;background:transparent;cursor:pointer;font-family:Nunito,sans-serif;font-size:clamp(11px,1.2%,16px);font-weight:700;color:#1e1e50bf;width:100%;text-align:left;transition:background .1s,color .1s}.lang-option:hover{background:#6c63ff14;color:#6c63ff}.lang-option.selected{color:#6c63ff;background:#6c63ff0f}@keyframes dmmIntroPulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes dmmIntroDot{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes dmmIntroRing{0%{transform:scale(1);opacity:.55}to{transform:scale(2.6);opacity:0}}body{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input,textarea,[contenteditable=true],.lesson-content,.lesson-content *,.info-modal-content,.info-modal-content *,.contact-form,.contact-form *,.allow-select,.allow-select *{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.beta-tag{display:inline-block;font-size:.6rem;font-weight:800;letter-spacing:.1em;padding:1px 6px;border-radius:999px;background:linear-gradient(135deg,var(--brand-orange) 0%,var(--brand-pink) 100%);color:#fff;text-transform:uppercase;vertical-align:middle;margin-left:.4rem}.beta-tag-under-logo{display:block;margin:2px 0 0;align-self:flex-start}.beta-banner{background:linear-gradient(135deg,#fff7e6,#ffe6ec);border-bottom:1px solid var(--border);color:var(--text);padding:.55rem 1rem;text-align:center;font-size:.9rem;font-weight:600}.beta-banner a{color:var(--primary);font-weight:700}.beta-roleselect-note{font-size:.78rem;color:var(--text-muted);text-align:center;margin:.4rem 0 .8rem}.beta-tag-small{display:inline-block;margin-left:6px;padding:1px 5px;font-size:8px;font-weight:800;letter-spacing:.08em;background:linear-gradient(135deg,var(--brand-orange) 0%,var(--brand-pink) 100%);color:#fff;border-radius:999px;vertical-align:middle;line-height:1.3}.footer-beta{display:inline-block;margin-left:.5rem;font-size:.7rem;font-weight:700;letter-spacing:.08em;color:var(--text-muted);opacity:.6;text-transform:uppercase}.dmm-spinner{display:inline-flex;align-items:center;gap:.5rem;vertical-align:middle}.dmm-spinner img{display:block;width:var(--spinner-size, 32px);height:var(--spinner-size, 32px);object-fit:contain}.dmm-spinner-label{font-size:.95rem;color:var(--text-muted);font-weight:600}.dmm-spinner-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem}.cookie-consent{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:10000;background:#fff;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.85rem 1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;max-width:720px;margin-left:auto;margin-right:auto}.cookie-consent-text{flex:1 1 280px;font-size:.88rem;line-height:1.45}.cookie-consent-text strong{display:block;margin-bottom:.15rem;font-size:.95rem}.cookie-consent-actions{display:flex;gap:.5rem;flex-wrap:wrap}:root{--brand-blue: #5BAAED;--brand-green: #3ECF6B;--brand-orange: #F5A623;--brand-pink: #EC4C6A;--brand-purple: #9B4FD4;--primary: #9B4FD4;--primary-dark: #7B3AAE;--primary-light:#EDE0FF;--primary-bg: #FAF5FF;--bg: #F7F8FF;--white: #FFFFFF;--navy: #1A1A2E;--text: #1A1A2E;--text-muted: #6B7280;--border: #E5E7EB;--green: #10b981;--green-light: #D1FAE5;--red: #EF4444;--red-light: #FEE2E2;--yellow-light: #FEF9C3;--radius: 16px;--radius-sm: 10px;--radius-lg: 24px;--shadow: 0 1px 4px rgba(26,26,46,.08);--shadow-md: 0 4px 16px rgba(26,26,46,.1);--shadow-lg: 0 8px 32px rgba(26,26,46,.12);--shadow-purple: 0 6px 20px rgba(155,79,212,.3);--rainbow: linear-gradient(90deg,#5BAAED 0%,#3ECF6B 25%,#F5A623 50%,#EC4C6A 75%,#9B4FD4 100%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.page{min-height:calc(100vh - 68px);padding:2.5rem 0}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;font-weight:800;margin-bottom:.5rem}.page-header p{color:var(--text-muted);font-size:1.1rem}.section{padding:5rem 0}.section-alt{background:var(--white)}.section-title{font-size:1.75rem;font-weight:800;margin-bottom:2rem;text-align:center}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.section-header .section-title{margin-bottom:0;text-align:left}.link-more{color:var(--primary);font-weight:600;font-size:.95rem}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.text-muted{color:var(--text-muted)}.brand-gradient{background:linear-gradient(90deg,#5baaed,#3ecf6b 28%,#f5a623 52%,#ec4c6a 74%,#9b4fd4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar{background:var(--white);position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}.navbar-rainbow{height:3px;background:var(--rainbow)}.navbar-inner{max-width:1100px;margin:0 auto;padding:0 1.5rem;height:65px;display:flex;align-items:center;gap:2rem}.navbar-brand{display:flex;align-items:center;text-decoration:none;white-space:nowrap;flex-shrink:0}.navbar-logo{height:44px;width:auto;display:block}.brand-text{font-size:1.15rem;font-weight:900;letter-spacing:-.01em}.navbar-menu{display:flex;align-items:center;gap:.25rem;flex:1}.nav-link{color:var(--text-muted);text-decoration:none;font-weight:600;padding:.4rem .85rem;border-radius:var(--radius-sm);transition:all .15s;font-size:.95rem}.nav-link:hover{color:var(--primary);background:var(--primary-bg);text-decoration:none}.nav-link.active{color:var(--primary);background:var(--primary-light)}.navbar-actions{display:flex;align-items:center;gap:.75rem;margin-left:auto}.navbar-user{color:var(--text-muted);font-size:.9rem;font-weight:600}.lang-switcher{display:flex;align-items:center;gap:.15rem}.lang-btn{background:none;border:none;color:var(--text-muted);font-size:.78rem;font-weight:700;cursor:pointer;padding:.2rem .35rem;border-radius:4px;font-family:inherit;letter-spacing:.05em;transition:color .15s}.lang-btn:hover,.lang-btn.active{color:var(--primary)}.lang-sep{color:var(--border);font-size:.78rem;-webkit-user-select:none;user-select:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1.25rem;border-radius:var(--radius-sm);font-weight:700;font-size:.95rem;cursor:pointer;border:2px solid transparent;text-decoration:none;transition:all .18s;white-space:nowrap;font-family:inherit}.btn:hover{text-decoration:none;transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--brand-pink) 100%);color:#fff;border:none}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-dark) 0%,#C5365C 100%);box-shadow:var(--shadow-purple);color:#fff}.btn-outline-primary{background:transparent;color:var(--primary);border-color:var(--primary)}.btn-outline-primary:hover{background:var(--primary-bg);border-color:var(--primary-dark);color:var(--primary-dark)}.btn-secondary{background:var(--primary-light);color:var(--primary-dark);border-color:var(--primary-light)}.btn-secondary:hover{background:#ddd6fe;color:var(--primary-dark)}.btn-white{background:#fff;color:var(--navy);border-color:#fff}.btn-white:hover{background:#f0e8ff;color:var(--primary)}.btn-outline-white{background:transparent;color:#fff;border-color:#fff9}.btn-outline-white:hover{background:#ffffff1f;border-color:#fff;color:#fff}.btn-lg{padding:.85rem 1.85rem;font-size:1.05rem;border-radius:var(--radius)}.btn-sm{padding:.35rem .85rem;font-size:.85rem}.btn-full{width:100%}.hero{background:linear-gradient(135deg,#1a1a2e,#2d1b69 45%,#9b4fd4);color:#fff;padding:3.5rem 1.5rem;position:relative;overflow:hidden;text-align:center}.hero-content{max-width:660px;margin:0 auto;position:relative;z-index:1}.hero-title{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:900;line-height:1.1;margin-bottom:1.25rem;letter-spacing:-.02em}.hero-subtitle{font-size:1.15rem;color:#ffffffd1;margin-bottom:2.5rem;line-height:1.75}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.hero-logo{max-width:480px;width:80%;height:auto;margin:0 auto 1.25rem;display:block;filter:drop-shadow(0 6px 32px rgba(0,0,0,.45))}.hero-deco{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.deco-note{position:absolute;opacity:.12;-webkit-user-select:none;user-select:none;animation:float 7s ease-in-out infinite}.deco-note:nth-child(2){animation-delay:-2.5s;animation-duration:8s}.deco-note:nth-child(3){animation-delay:-4s;animation-duration:6s}.deco-note:nth-child(4){animation-delay:-1s;animation-duration:9s}.deco-note:nth-child(5){animation-delay:-3.5s;animation-duration:7.5s}@keyframes float{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-14px) rotate(5deg)}}.feature-card{background:var(--white);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow);text-align:center;border-top:4px solid transparent;transition:transform .2s,box-shadow .2s}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.feature-card:nth-child(1){border-top-color:var(--brand-blue)}.feature-card:nth-child(2){border-top-color:var(--brand-orange)}.feature-card:nth-child(3){border-top-color:var(--brand-purple)}.feature-emoji{font-size:2.75rem;margin-bottom:1rem}.feature-card h3{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.feature-card p{color:var(--text-muted);font-size:.95rem;line-height:1.6}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:all .2s;border:2px solid transparent}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--primary-light)}.card-locked{opacity:.82}.card-coming-soon{cursor:default}.card-coming-soon:hover{transform:none;box-shadow:var(--shadow);border-color:transparent}.btn-coming-soon{background:var(--border);color:var(--text-muted);border-color:var(--border);cursor:default}.btn-coming-soon:hover{transform:none;box-shadow:none}.card-emoji{font-size:3rem;padding:1.5rem 1.5rem .75rem;text-align:center}.card-emoji-les{background:#ebf5ff}.card-emoji-app{background:#f3f4f6}.card-emoji-music-maker{background:#ede9fe}.card-emoji-game{background:#fce7f3}.card-emoji-tool{background:#d1fae5}.card-emoji-avontuur{background:#fff7ed}.card-body{padding:1rem 1.25rem;flex:1}.card-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.card-title{font-size:1.05rem;font-weight:700;margin-bottom:.4rem}.card-desc{color:var(--text-muted);font-size:.88rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-footer{padding:1rem 1.25rem;border-top:1px solid var(--border)}.badge{display:inline-flex;align-items:center;padding:.22rem .7rem;border-radius:999px;font-size:.75rem;font-weight:700}.badge-les{background:#dbeafe;color:#1e40af}.badge-app{background:#f3f4f6;color:#374151}.badge-avontuur{background:#fff7ed;color:#9a3412}.badge-music-maker{background:#ede9fe;color:#5b21b6}.badge-game{background:#fce7f3;color:#9d174d}.badge-tool,.badge-free{background:#d1fae5;color:#065f46}.badge-locked{background:#fef3c7;color:#92400e}.badge-unlocked{background:#d1fae5;color:#065f46}.badge-coming-soon{background:#f3f4f6;color:#6b7280}.filter-tabs{display:flex;gap:.35rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center}.filter-group{display:inline-flex;align-items:center;gap:.35rem}.filter-sep{display:inline-block;width:1px;height:20px;background:var(--border);margin:0 .25rem;flex-shrink:0}.filter-tab{padding:.45rem 1.15rem;border-radius:999px;border:2px solid var(--border);background:var(--white);color:var(--text-muted);font-size:.9rem;font-weight:700;cursor:pointer;transition:all .15s;font-family:inherit}.filter-tab:hover{border-color:var(--primary);color:var(--primary)}.filter-tab.active{background:linear-gradient(135deg,var(--primary),var(--brand-pink));border-color:transparent;color:#fff}.auth-page{min-height:calc(100vh - 68px);display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem;background:linear-gradient(145deg,#f0e8ff,#e8f4ff 45%,#fff0f5)}.auth-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2.5rem;width:100%;max-width:440px;border-top:4px solid transparent;border-image:var(--rainbow) 1}.auth-logo{font-size:3rem;text-align:center;margin-bottom:1rem}.auth-card h1{font-size:1.75rem;font-weight:900;text-align:center;margin-bottom:.25rem}.auth-sub{color:var(--text-muted);text-align:center;margin-bottom:1.5rem;font-size:.95rem}.auth-footer{text-align:center;margin-top:1.5rem;color:var(--text-muted);font-size:.9rem}.form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-label{font-size:.88rem;font-weight:700;color:var(--text)}.form-input{padding:.7rem 1rem;border:2px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;color:var(--text);background:var(--bg);transition:border-color .15s,box-shadow .15s;outline:none}.form-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #9b4fd41f}.form-input::placeholder{color:#9ca3af}.alert{padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;margin-bottom:.5rem}.alert-error{background:var(--red-light);color:#991b1b;border:1px solid #FCA5A5}.alert-success{background:var(--green-light);color:#065f46;border:1px solid #6EE7B7}.demo-box{background:var(--yellow-light);border:1px solid #FDE68A;border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.82rem;color:#78350f;margin-bottom:1.25rem;line-height:1.7}.demo-box code{background:#00000014;padding:.1rem .3rem;border-radius:4px;font-family:monospace;font-size:.8rem}.dashboard-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.dashboard-header h1{font-size:1.75rem;font-weight:900}.dashboard-grid{display:grid;grid-template-columns:1fr 340px;gap:2rem;align-items:start}.dashboard-main{display:flex;flex-direction:column;gap:2.5rem}.dashboard-section h2{font-size:1.15rem;font-weight:800;margin-bottom:1rem}.my-app-card{background:var(--white);border-radius:var(--radius);padding:1.25rem;display:flex;align-items:center;gap:1rem;cursor:pointer;border:2px solid var(--border);transition:all .18s}.my-app-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.my-app-emoji{font-size:2rem;flex-shrink:0}.my-app-card>div{flex:1;min-width:0}.my-app-card strong{display:block;font-weight:700;margin-bottom:.2rem}.my-app-card p{font-size:.82rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-aside{position:sticky;top:88px}.license-box{background:var(--white);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);border-top:4px solid var(--primary)}.license-box h2{font-size:1.05rem;font-weight:800;margin-bottom:.5rem}.license-box>p{font-size:.9rem;color:var(--text-muted);margin-bottom:1rem}.section-cta{background:linear-gradient(135deg,#1a1a2e,#2d1b69 45%,#9b4fd4)}.cta-box{text-align:center;color:#fff}.cta-box h2{font-size:2rem;font-weight:900;margin-bottom:.75rem}.cta-box p{color:#ffffffd1;margin-bottom:2rem;font-size:1.05rem}.footer{background:var(--navy);color:#ffffff73;text-align:center;padding:2rem 1.5rem;font-size:.88rem}.footer p{margin:.25rem 0}.footer-disclaimer{font-size:.8rem;color:#ffffff4d}.app-viewer{display:flex;flex-direction:column;height:calc(100vh - 68px)}.app-viewer-bar{background:var(--navy);color:#fff;padding:.75rem 1.5rem;display:flex;align-items:center;gap:1rem;font-weight:600;flex-shrink:0;border-bottom:3px solid;border-image:var(--rainbow) 1}.app-viewer-bar span{flex:1;text-align:center}.app-frame{flex:1;border:none;width:100%}.app-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-muted);background:var(--bg)}.app-placeholder span{font-size:5rem}.app-placeholder h2{color:var(--text);font-size:1.5rem}.back-btn{background:none;border:none;color:var(--primary);font-weight:700;cursor:pointer;font-size:.95rem;font-family:inherit;padding:0;margin-bottom:1.5rem;display:inline-flex;align-items:center;gap:.25rem}.back-btn:hover{text-decoration:underline}.back-btn-white{background:none;border:none;color:#fffc;font-weight:700;cursor:pointer;font-size:.95rem;font-family:inherit;padding:0;transition:color .15s}.back-btn-white:hover{color:#fff}.lesson-viewer{max-width:780px}.lesson-header{display:flex;align-items:flex-start;gap:1.25rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.lesson-emoji{font-size:3.5rem;flex-shrink:0}.lesson-header h1{font-size:1.75rem;font-weight:900;margin-top:.25rem}.lesson-content{line-height:1.85;color:var(--text)}.lesson-content h2{font-size:1.3rem;font-weight:800;margin:2rem 0 .75rem;color:var(--primary-dark)}.lesson-content h3{font-size:1.05rem;font-weight:700;margin:1.5rem 0 .5rem}.lesson-content p{margin-bottom:1rem}.lesson-content ul,.lesson-content ol{padding-left:1.5rem;margin-bottom:1rem}.lesson-content li{margin-bottom:.4rem}.lesson-content strong{font-weight:700}.empty-state{text-align:center;padding:4rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.empty-state span{font-size:4rem}.empty-state p{color:var(--text-muted);max-width:400px}.empty-state-small{background:var(--primary-bg);border-radius:var(--radius);padding:1.5rem;color:var(--text-muted);font-size:.95rem;border-left:4px solid var(--primary-light)}.license-steps{display:flex;flex-direction:column;gap:1.5rem;margin:2.5rem 0}.license-step{display:flex;gap:1.5rem;align-items:flex-start;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem}.license-step-number{flex-shrink:0;width:2.5rem;height:2.5rem;background:var(--rainbow);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.license-step-body h3{margin:0 0 .4rem;font-size:1.05rem}.license-step-body p{margin:0 0 1rem;color:var(--text-muted);line-height:1.6}.license-step-body p:last-child{margin-bottom:0}.license-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1rem}.license-info-card{background:var(--primary-bg);border:1px solid var(--primary-light);border-radius:var(--radius-lg);padding:1.5rem;text-align:center}.license-info-icon{font-size:2rem;margin-bottom:.75rem}.license-info-card h4{margin:0 0 .4rem;font-size:1rem}.license-info-card p{margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.5}@media (max-width: 768px){.container{padding:0 1rem}.navbar-inner{gap:.5rem;padding:0 1rem;height:60px}.navbar-menu{display:none}.navbar-logo{height:36px}.navbar-actions{gap:.4rem}.navbar-user{display:none}.hero{padding:4rem 1.5rem}.hero-title{font-size:2.2rem}.deco-note:nth-child(n+3){display:none}.page{padding:1.5rem 0}.page-header{margin-bottom:1.25rem}.page-header h1{font-size:1.5rem}.page-header p{font-size:1rem}.filter-tabs{gap:.3rem;margin-bottom:1.25rem}.filter-tab{padding:.4rem .85rem;font-size:.82rem}.filter-sep{display:none}.dashboard-grid{grid-template-columns:1fr}.dashboard-aside{position:static}.section{padding:3rem 0}.section-title{font-size:1.4rem}.grid{gap:1rem}.grid-3,.license-info-grid{grid-template-columns:1fr}.auth-card{padding:1.75rem 1.25rem}.footer{padding:2rem 0 1.25rem}}@media (max-width: 480px){.navbar-inner{gap:.35rem}.navbar-actions{gap:.3rem}.navbar-actions .btn-outline-primary[title="Whiteboard openen"]{padding:.35rem .55rem;font-size:.8rem}.lang-switcher,.beta-tag-under-logo{display:none}.navbar-logo{height:32px}.page-header h1{font-size:1.3rem}.page-header p{font-size:.92rem;line-height:1.4}.filter-tab{padding:.35rem .7rem;font-size:.78rem}.auth-card{padding:1.5rem 1rem;max-width:100%}.auth-logo{font-size:2.4rem}.auth-card h1{font-size:1.4rem}.footer{font-size:.85rem}.footer-disclaimer{font-size:.75rem}}@keyframes cleffy-enter{0%{transform:translate(calc(100% + 80px)) rotate(8deg) scaleX(.8);opacity:0}45%{transform:translate(-65px) rotate(-6deg) scaleX(1.14) scaleY(.88);opacity:1}63%{transform:translate(24px) rotate(2deg) scaleX(.95) scaleY(1.05)}78%{transform:translate(-10px) rotate(-1deg) scaleX(1.02) scaleY(.99)}to{transform:translate(0) rotate(0) scaleX(1) scaleY(1)}}@keyframes cleffy-exit{0%{transform:translate(0) scale(1);opacity:1}20%{transform:translate(-10px) scale(1.04)}to{transform:translate(calc(100% + 40px)) scale(.9);opacity:0}}cleffy-widget{position:fixed;top:68px;right:12px;z-index:200}cleffy-widget.cleffy-entering{animation:cleffy-enter .5s cubic-bezier(.15,.5,.3,1) forwards}cleffy-widget.cleffy-exiting{animation:cleffy-exit .35s cubic-bezier(.4,0,.6,1) forwards}.btn-cleffy:hover{background:#0000000f!important;transform:scale(1.08)}.btn-cleffy.active{background:#6366f11f!important}
