:root{--violet:#5b21b6;--violet-light:#8b5cf6;--violet-dark:#3b0764;--pink:#9d174d;--pink-light:#ec4899;--pink-dark:#831843;--amber:#d97706;--amber-light:#fde68a;--amber-dark:#92400e;--teal:#0f766e;--teal-light:#5eead4;--emerald:#059669;--emerald-light:#a7f3d0;--rose:#dc2626;--rose-light:#fecaca;--sky:#2563eb;--sky-light:#bfdbfe;--bg:#f5f5f7;--surface:#fff;--surface-2:#f9f9fb;--border:#0000001a;--border-soft:#0000000f;--text-primary:#1a1a2e;--text-secondary:#5a5040;--text-muted:#9a9080;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 2px #0000000f, 0 1px 3px #0000000a;--shadow-md:0 4px 12px #00000014, 0 1px 3px #0000000d;--shadow-lg:0 8px 24px #0000001a, 0 2px 6px #0000000f;--shadow-glow-v:0 4px 14px #5b21b647;--shadow-glow-p:0 4px 14px #9d174d40;--shadow-glow-t:0 4px 14px #0f766e40;--shadow-glow-a:0 4px 14px #d9770640;--nb-desk:#d4c9b0;--nb-paper:#faf7f0;--nb-ink:#1a1a2e;--nb-staff:#c8c0b047;--nb-correction:#b91c1c;--nb-tab-bg:#e2d9c5;--nb-spine:#c8c0b08c;--font-handwritten:"Caveat", cursive;--font-editorial:"Libre Baskerville", Georgia, serif}.notebook--dark{--nb-paper:#1c1914;--nb-ink:#d8ccaf;--nb-staff:#d2b9781a;--nb-tab-bg:#2a2318;--nb-spine:#d2b97838;--nb-desk:#b8a88a;transition:background-color .35s,color .35s}.notebook--dark .nb-page,.notebook--dark .nb-page--left,.notebook--dark .nb-page--right{transition:background-color .35s,background-image .35s}.notebook--dark .score-nb-wrapper{background:#f5efe4;border-radius:4px;padding:4px}.notebook--dark select,.notebook--dark input[type=text],.notebook--dark input[type=number]{color:var(--nb-ink);background:#2a2318;border-color:#d2b97840}.notebook--dark input[type=file]::file-selector-button{color:var(--nb-ink);background:#2a2318;border-color:#d2b97840}.notebook--dark .nb-tab{background:var(--nb-tab-bg);transition:background .35s}.nb-theme-toggle{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}.nb-theme-toggle__track{background:#1a1a2e26;border:1.5px solid #1a1a2e33;border-radius:999px;align-items:center;width:2.6rem;height:1.35rem;padding:.1rem;transition:background .3s,border-color .3s;display:flex;position:relative}.nb-theme-toggle--dark .nb-theme-toggle__track{background:#d2b97833;border-color:#d2b97866}.nb-theme-toggle__thumb{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.05rem;height:1.05rem;font-size:.6rem;line-height:1;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .3s;display:flex;transform:translate(0);box-shadow:0 1px 3px #00000040}.nb-theme-toggle--dark .nb-theme-toggle__thumb{background:#2a2318;transform:translate(1.2rem)}.nb-theme-toggle:hover .nb-theme-toggle__track{border-color:#1a1a2e66}.nb-theme-toggle--dark:hover .nb-theme-toggle__track{border-color:#d2b978a6}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.5)}}@keyframes bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.nb-tab-content{z-index:2;flex:1;min-width:0;display:flex;position:relative}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-editorial);background:var(--nb-desk);color:var(--nb-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:14px;line-height:1.5}.desk-bg{background:radial-gradient(at 20% 20%,#a05a1e4d 0%,#0000 50%),radial-gradient(at 80% 80%,#32140566 0%,#0000 50%),radial-gradient(at 55% 40%,#7841142e 0%,#0000 45%),linear-gradient(155deg,#5a3018 0%,#3d200e 40%,#4a2910 65%,#3a1d0c 100%);justify-content:center;align-items:flex-start;min-height:100vh;padding:3rem 5rem 5rem 2rem;display:flex;overflow-x:hidden}.notebook{border-radius:14px;width:100%;max-width:1440px;min-height:max(100vh - 8rem,800px);display:flex;position:relative;box-shadow:0 60px 120px -20px #000000d9,0 30px 60px -10px #0009,0 8px 24px #0006,inset 0 0 0 1px #ffffff0f}.notebook--theory{min-height:calc(100vh - 3rem)}.notebook:before{content:"";z-index:0;pointer-events:none;background-color:var(--nb-paper);background-image:linear-gradient(var(--nb-staff) 1px, transparent 1px), linear-gradient(to left, #b4a58c99 0px, #b4a58c33 5px, transparent 14px);background-size:100% 1.5rem,100% 100%;border-radius:14px;position:absolute;inset:0}.nb-page{background-color:var(--nb-paper);background-image:linear-gradient(var(--nb-staff) 1px, transparent 1px);background-size:100% 1.5rem;flex:1;padding:2.5rem 2.5rem 3rem;position:relative;overflow-y:auto}.nb-page--left{border-right:1px solid #00000012;border-radius:14px 0 0 14px;flex-direction:column;flex:0 0 36%;display:flex}.nb-page--left:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000,#c8c0b073);width:40px;position:absolute;top:0;bottom:0;right:0}.nb-page--right{border-radius:0 14px 14px 0;flex:0 0 64%}.nb-page--right:before{content:"";pointer-events:none;z-index:1;background:linear-gradient(270deg,#0000,#c8c0b073);width:40px;position:absolute;top:0;bottom:0;left:0}.nb-page--nav{flex-direction:column;display:flex}.nb-page--full-content{overflow-y:visible}.nb-tab{background-color:var(--nb-tab-bg);writing-mode:vertical-rl;text-orientation:mixed;width:60px;height:150px;font-family:var(--font-editorial);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;color:#ffffffeb;z-index:1;-webkit-user-select:none;user-select:none;border-radius:0 8px 8px 0;justify-content:center;align-items:center;font-size:.65rem;font-weight:400;transition:transform .18s,filter .18s,box-shadow .18s;display:flex;position:absolute;right:-52px;box-shadow:2px 1px 6px #0000001c}.nb-tab:hover:not(.active):not(.nb-tab--soon){filter:brightness(1.18);transform:translate(5px);box-shadow:4px 2px 12px #00000059}.nb-tab--soon{cursor:not-allowed;opacity:.55;filter:grayscale(.4)}.nb-tab--soon:after{content:"✦";opacity:.8;margin-top:2px;font-size:.55rem;display:block}.nb-tab--soon:before{content:"Próximamente";writing-mode:horizontal-tb;text-orientation:mixed;color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:200;background:#141414eb;border-radius:6px;padding:4px 10px;font-size:.72rem;font-weight:600;transition:opacity .18s;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%);box-shadow:0 2px 8px #00000059}.nb-tab--soon:hover:before{opacity:1}.nb-coming-soon{justify-content:center;align-items:center;min-height:340px;display:flex}.nb-coming-soon__content{text-align:center;color:var(--nb-ink);opacity:.5}.nb-coming-soon__icon{margin-bottom:.6rem;font-size:3rem;display:block}.nb-coming-soon__content h2{margin:0 0 .3rem;font-size:1.4rem;font-weight:700}.nb-coming-soon__content p{margin:0;font-size:1rem;font-style:italic}.nb-tab.active{color:var(--nb-ink);filter:none;font-weight:700;right:-47px;transform:none;box-shadow:3px 0 10px #00000021;background:var(--nb-paper)!important}.nb-tab-1{background:#1d4ed8;top:30px}.nb-tab-2{background:#b91c1c;top:180px}.nb-tab-3{background:#b45309;top:330px}.nb-tab-4{background:#7c3aed;top:480px}.nb-tab-5{background:#047857;top:630px}.nb-header{align-items:center;gap:12px;margin-bottom:2rem;display:flex}.nb-clef{color:var(--nb-ink);opacity:.8;font-size:2.6rem;line-height:1}.nb-title{font-family:var(--font-handwritten);color:var(--nb-ink);margin:0;font-size:2.5rem;font-weight:700;line-height:1.1;position:relative}.nb-title:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20' preserveAspectRatio='none'%3E%3Cpath d='M0 10 Q 25 20 50 10 T 100 10' stroke='%23B91C1C' stroke-width='2' fill='none'/%3E%3C/svg%3E") 0 0/100% 100%;width:100%;height:8px;position:absolute;bottom:-5px;left:0}.nb-meta{font-family:var(--font-handwritten);color:var(--nb-ink);flex-direction:column;gap:1rem;margin-bottom:1.5rem;font-size:1.3rem;display:flex}.nb-meta-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.nb-key-override{cursor:pointer;background:#1a1a2e12;border:1px solid #1a1a2e2e;border-radius:4px;width:auto;min-width:0;height:auto;padding:2px 6px;font-size:.78rem}.nb-key-override:focus{border-color:var(--nb-correction);outline:none}.nb-meta-row--key:has(.nb-key-override:not([value=""])) .nb-key-override{color:#b45309;background:#b453090f;border-color:#b4530980;font-weight:600}.gen-form{gap:.55rem!important;margin-bottom:.8rem!important;font-size:1.05rem!important}.gen-form-title-row{justify-content:space-between;margin-bottom:.15rem}.gen-form-key{align-items:center;display:flex}.gen-form-2col{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.gen-form-field{flex-direction:column;gap:1px;display:flex}.gen-form-field label{color:var(--text-muted);font-size:.72rem;font-family:var(--font-handwritten);line-height:1.2}.gen-form-field .nb-input,.gen-form-field .nb-select{width:100%;font-size:.9rem}.gen-form-field--full{grid-column:1/-1}.nb-input{font-family:var(--font-handwritten);border:none;border-bottom:2px solid var(--nb-ink);color:var(--nb-ink);background:0 0;outline:none;padding:1px 8px;font-size:1.25rem;transition:border-color .2s;transform:rotate(-.4deg)}.nb-input:focus{border-bottom-color:var(--nb-correction)}.nb-input--short{text-align:center;width:3.5rem}.nb-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%231A1A2E'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;background-size:8px;padding-right:24px}.nb-placeholder-text{color:#1a1a2e59;font-size:1rem;font-style:italic}.nb-stamp-row{border-top:1px solid #c8c0b08c;justify-content:center;margin-top:.9rem;padding-top:.85rem;display:flex}.nb-stamp{border:3px solid var(--nb-correction);color:var(--nb-correction);font-family:var(--font-handwritten);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:0 0;padding:.45rem 2rem;font-size:1.65rem;font-weight:700;line-height:1;transition:transform .15s,box-shadow .15s;transform:rotate(-3deg)}.nb-stamp:hover:not(:disabled){transform:rotate(-3deg)scale(1.07);box-shadow:3px 3px #b91c1c38}.nb-stamp:disabled{opacity:.32;cursor:not-allowed}.nb-results-header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.nb-results-title{font-family:var(--font-editorial);color:#1a1a2e80;margin:0;font-size:.88rem;font-style:italic;font-weight:400}.nb-grade{font-family:var(--font-handwritten);color:var(--nb-correction);font-size:2rem;line-height:1}.nb-score-area{margin-bottom:.75rem;position:relative}.nb-score-placeholder{border-top:1px solid #c8c0b066;border-bottom:1px solid #c8c0b066;flex-direction:column;align-items:center;gap:1.25rem;padding:2rem 0 2.5rem;display:flex}.nb-staff-lines{opacity:.4;flex-direction:column;gap:7px;display:flex}.nb-staff-line{background:var(--nb-ink);width:15rem;height:1px}.nb-score-placeholder p{font-family:var(--font-editorial);color:#1a1a2e73;text-align:center;margin:0;padding:0 2rem;font-size:.82rem;font-style:italic}.nb-error-annotations{border-top:1px dashed #c8c0b08c;margin-top:.75rem;padding-top:.75rem}.nb-download-row{justify-content:flex-end;margin-top:.5rem;display:flex}.nb-footnote{color:#1a1a2e47;text-align:center;margin-top:auto;padding-top:1.5rem;font-size:.7rem;font-style:italic}.nb-disclaimer{color:#1a1a2e8c;background:#b4780a14;border-left:3px solid #b4780a73;border-radius:0 6px 6px 0;margin-top:1.1rem;padding:.55rem .75rem;font-size:.7rem;line-height:1.45}.nb-section-desc{text-align:center;border:1px dashed #c8c0b099;flex-direction:column;align-items:center;gap:.5rem;margin-top:2rem;padding:1.5rem;display:flex}.nb-section-icon{opacity:.65;font-size:2.2rem}.nb-section-title{font-family:var(--font-handwritten);color:var(--nb-ink);margin:0;font-size:1.5rem;font-weight:700}.nb-section-text{font-family:var(--font-editorial);color:#1a1a2e8c;margin:0;font-size:.82rem;font-style:italic;line-height:1.65}.nb-page--right .score-panel{box-shadow:none;background:0 0;border:none;border-radius:0;overflow:visible}.nb-page--right .score-panel-header{background:0 0;border-bottom:1px solid #c8c0b080;padding:0 0 8px}.nb-page--right .score-panel-header h2{font-family:var(--font-editorial);color:#1a1a2e80;font-style:italic;font-weight:400}.nb-page--right .score-tabs{background:#c8c0b02e;border-radius:6px}.nb-page--right .score-tab{color:#1a1a2e99}.nb-page--right .score-tab:hover{color:var(--nb-ink);background:#c8c0b040}.nb-page--right .score-tab.active{color:var(--nb-ink);box-shadow:none;background:#c8c0b059;font-weight:600}.nb-page--right .error-panel{box-shadow:none;background:0 0;border:none;border-radius:0}.nb-page--right .error-panel-header{font-family:var(--font-editorial);color:#1a1a2e8c;background:0 0;border-bottom:1px solid #c8c0b080;font-size:.8rem;font-style:italic;font-weight:400}.nb-page--right .error-description{font-family:var(--font-handwritten);color:var(--nb-correction);font-size:1rem}.nb-page--right .error-meta{color:#1a1a2e73}.nb-page--right .summary-box.correct{color:#2a4a2a;font-family:var(--font-handwritten);background:0 0;border:2px solid #4a7a4a;font-size:1rem}.nb-page--right .summary-box.incorrect{border:2px solid var(--nb-correction);color:var(--nb-correction);font-family:var(--font-handwritten);background:0 0;font-size:1rem}.nb-page--left .file-upload-wrapper{flex:none}.nb-page--left .file-upload-label{font-family:var(--font-handwritten);letter-spacing:.01em;text-transform:none;color:#1a1a2e80;margin-bottom:.2rem;font-size:1rem;font-weight:400}.nb-page--left .file-upload-dropzone{border-color:var(--nb-correction);background:0 0;border-style:dashed;border-width:2px;min-height:120px}.nb-page--left .file-upload-dropzone:hover{border-color:var(--nb-correction);box-shadow:none;background:#b91c1c06;transform:none}.nb-page--left .file-upload-dropzone.drag-over{border-color:var(--nb-correction);box-shadow:none;background:#b91c1c0d}.nb-page--left .file-upload-dropzone.has-file{background:#4a7a4a06;border-color:#4a7a4a}.nb-page--left .file-upload-content p{font-family:var(--font-editorial);color:#1a1a2e73;font-size:.8rem;font-style:italic}.nb-page--full-content .theory-layout{min-height:unset;height:auto}.nb-page--full-content .theory-section{animation:none}.nb-page--full-content .theory-sidebar{max-height:unset;position:relative;top:0}.nb-page--theory-nav{flex-direction:column;display:flex;overflow:hidden}.nb-page--theory-nav .nb-footnote{margin-top:auto}.theory-sidebar--page{max-height:unset;top:unset;background:repeating-linear-gradient(#0000,#0000 27px,#5c4a3a14 27px 28px);border:none;border-radius:0;flex:1 1 0;margin-top:10px;padding:0 4px;position:static;overflow-y:auto}.theory-main--full{background:var(--nb-paper);box-sizing:border-box;max-width:100%;height:100%;padding:28px 38px 52px;overflow-y:auto}.nb-page--full-content .theory-section{flex-direction:column;height:100%;display:flex}.nb-page--full-content .theory-main--full{flex:1 1 0}.nb-page--left .file-upload-button{color:var(--nb-correction);border:2px solid var(--nb-correction);font-family:var(--font-handwritten);box-shadow:none;letter-spacing:.04em;background:0 0;border-radius:3px;padding:5px 16px;font-size:1rem;font-weight:700;transition:transform .1s,box-shadow .1s}.nb-page--left .file-upload-button:hover{background:#b91c1c0d;transform:translateY(-1px);box-shadow:2px 2px #b91c1c33}.nb-page--left .file-upload-button:active{transform:translateY(0)}.nb-page--left .file-upload-text strong{font-family:var(--font-editorial);color:#1a1a2e99;font-size:.88rem;font-weight:700}.nb-page--left .file-upload-icon{opacity:.45;font-size:2rem}.nb-page--left .file-upload-hint{font-family:var(--font-editorial);color:#1a1a2e66;font-size:.72rem;font-style:italic}.nb-page--left .file-upload-or{color:#1a1a2e59;font-size:.78rem}.nb-page--left .file-upload-filename{font-family:var(--font-handwritten);color:var(--nb-ink);font-size:1.05rem;font-weight:700}.nb-page--left .file-upload-subtext{font-family:var(--font-editorial);color:#1a1a2e73;font-size:.75rem;font-style:italic}.nb-page--right .error-dot.error{background:var(--nb-correction)}.nb-page--right .error-dot.warning{background:#c47a0c}.nb-page--right .error-dot.info{background:#2563eb}.nb-page--right .error-voice-badge{color:var(--nb-correction);font-family:var(--font-handwritten);background:#b91c1c1a;font-size:.8rem}.nb-key-badge{font-family:var(--font-handwritten);color:var(--nb-correction);font-size:1.1rem;font-weight:700}.loading-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9999;background:#d4c9b0b3;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0}.spinner{border:4px solid #1a1a2e26;border-top-color:var(--nb-correction);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}.loading-text{font-family:var(--font-handwritten);color:var(--nb-ink);font-size:1.4rem;font-weight:700;animation:1.4s ease-in-out infinite shimmer}.alert{border-radius:var(--radius-md);margin:.75rem 0 0;padding:10px 16px;font-size:.88rem;font-weight:500;animation:.3s fadeSlideIn}.alert-error{color:var(--nb-correction);font-family:var(--font-handwritten);background:#b91c1c12;border:1.5px solid #b91c1c4d;font-size:1rem}.controls-bar{-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#ffffffd1;flex-wrap:wrap;align-items:flex-end;gap:14px;padding:14px 20px;animation:.25s fadeSlideIn;display:flex}.control-group{flex-direction:column;gap:5px;display:flex}.control-group label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.67rem;font-weight:600}.control-group select,.control-group input[type=text],.control-group input[type=number]{border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-primary);outline:none;padding:9px 14px;font-family:inherit;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.control-group select:focus,.control-group input:focus{border-color:var(--violet);box-shadow:0 0 0 3px #7c3aed1f}.btn{cursor:pointer;white-space:nowrap;letter-spacing:.01em;border:none;border-radius:10px;align-items:center;gap:7px;padding:10px 22px;font-family:inherit;font-size:.9rem;font-weight:700;transition:all .18s;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn:not(:disabled):active{transform:translateY(0)}.btn-primary{background:var(--violet-light);color:#fff;box-shadow:0 1px 3px #5b21b640}.btn-primary:not(:disabled):hover{background:var(--violet);box-shadow:var(--shadow-glow-v)}.btn-parse{background:var(--teal);color:#fff;box-shadow:0 1px 3px #0f766e40}.btn-parse:not(:disabled):hover{box-shadow:var(--shadow-glow-t)}.btn-secondary{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.btn-secondary:not(:disabled):hover{background:var(--surface-2);color:var(--text-primary);box-shadow:var(--shadow-md);border-color:#0000002e}.main-content{grid-template-columns:1fr 360px;align-items:start;gap:16px;padding:16px;animation:.3s tabFadeIn;display:grid}.score-panel{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border);overflow:hidden}.score-panel-header{border-bottom:1px solid var(--border-soft);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.score-panel-header h2{color:var(--text-secondary);margin:0;font-size:.875rem;font-weight:600}.score-tabs{background:#00000012;border-radius:8px;gap:2px;padding:3px;display:flex}.score-tab{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;padding:5px 14px;font-family:inherit;font-size:.8rem;font-weight:500;transition:all .15s}.score-tab:hover{color:var(--text-primary);background:#0000000d}.score-tab.active{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm);font-weight:600}.key-badge{color:var(--violet-dark);border:1.5px solid var(--violet-light);white-space:nowrap;background:linear-gradient(135deg,#ede9fe,#fce7f3);border-radius:50px;align-items:center;gap:5px;padding:4px 12px;font-size:.8rem;font-weight:700;display:inline-flex}.score-container{min-height:260px;padding:12px;position:relative}.score-placeholder{min-height:240px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:.95rem;font-weight:500;display:flex}.score-placeholder:before{content:"🎼";opacity:.4;font-size:3.5rem;animation:2.5s ease-in-out infinite shimmer}.file-upload-box{border:2px dashed var(--violet-light);border-radius:var(--radius-sm);cursor:pointer;background:#f5f3ff;align-items:center;gap:10px;min-width:200px;padding:9px 14px;transition:all .2s;display:flex}.file-upload-box:hover{border-color:var(--violet);box-shadow:var(--shadow-sm);background:#ede9fe;transform:translateY(-1px)}.file-upload-box input[type=file]{display:none}.file-upload-box .file-icon{font-size:1.2rem}.file-upload-box .file-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.85rem;font-weight:600;overflow:hidden}.file-upload-box .file-name.selected{color:var(--violet-dark)}.error-panel{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border);animation:.25s fadeSlideIn;overflow:hidden}.error-panel-header{color:var(--text-secondary);background:var(--surface-2);border-bottom:1px solid var(--border-soft);align-items:center;gap:8px;padding:12px 16px;font-size:.82rem;font-weight:600;display:flex}.summary-box{border-radius:var(--radius-md);align-items:flex-start;gap:12px;margin:14px;padding:16px 18px;font-size:.95rem;font-weight:600;animation:.4s fadeSlideIn;display:flex}.summary-box.correct{color:#14532d;background:#f0fdf4;border:1px solid #bbf7d0}.summary-box.incorrect{color:#881337;background:#fff1f2;border:1px solid #fecdd3}.summary-icon{font-size:1.8rem}.summary-title{font-size:1rem;font-weight:800}.summary-counts{opacity:.8;margin-top:4px;font-size:.82rem;font-weight:500}.error-list{flex-direction:column;gap:8px;max-height:480px;padding:8px 14px 14px;display:flex;overflow-y:auto}.error-measure-group{animation:.3s both slideInLeft}.error-measure-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);border-bottom:1.5px solid var(--border-soft);margin-bottom:4px;padding:8px 4px 4px;font-size:.72rem;font-weight:800}.error-item{border-radius:var(--radius-sm);cursor:default;align-items:flex-start;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.error-item:hover{background:var(--bg)}.error-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:5px}.error-dot.error{background:var(--rose)}.error-dot.warning{background:var(--amber)}.error-dot.info{background:var(--sky)}.error-text{flex:1;min-width:0}.error-description-row{align-items:flex-start;gap:5px;display:flex}.error-lesson-btn{cursor:pointer;color:var(--violet);white-space:nowrap;opacity:0;pointer-events:none;background:0 0;border:1px solid #0000;border-radius:4px;flex-shrink:0;align-items:center;gap:3px;padding:1px 5px;font-size:.72rem;font-weight:600;line-height:1.3;transition:opacity .18s,transform .18s,background .15s;display:inline-flex;transform:translate(-4px)}.error-item:hover .error-lesson-btn{opacity:1;pointer-events:auto;transform:translate(0)}.error-lesson-btn:hover{border-color:var(--violet-light);background:#5b21b614}.error-lesson-btn:active{transform:scale(.95)}.error-description{color:var(--text-primary);font-size:.87rem;font-weight:600;line-height:1.4}.error-meta{color:var(--text-muted);margin-top:3px;font-size:.76rem;font-weight:500}.error-voices{flex-wrap:wrap;gap:4px;margin-top:4px;display:inline-flex}.error-voice-badge{color:var(--violet-dark);background:#ede9fe;border-radius:50px;padding:1px 8px;font-size:.7rem;font-weight:700}.nh-toggle{border-radius:var(--radius-sm);color:#1d4ed8;cursor:pointer;background:#eff6ff;border:none;align-items:center;gap:8px;margin:4px 14px 14px;padding:10px 14px;font-size:.82rem;font-weight:700;transition:background .15s;display:flex}.nh-toggle:hover{background:#dbeafe}.no-errors{text-align:center;color:var(--text-muted);padding:32px 20px;font-size:.9rem;font-weight:500}.rn-chip{z-index:10;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute}.rn-chip-label{color:var(--text-muted);font-family:Times New Roman,serif;font-size:.7rem;line-height:1}.rn-input{border:2px solid var(--border);text-align:center;width:48px;color:var(--text-primary);background:#ffffffe6;border-radius:6px;outline:none;padding:3px 4px;font-family:Times New Roman,serif;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.rn-input:focus{border-color:var(--violet);box-shadow:0 0 0 3px #7c3aed26}.rn-input.correct{border-color:var(--emerald);color:#064e3b;background:#ecfdf5}.rn-input.incorrect{border-color:var(--rose);color:#9b1c1c;background:#fff1f2}.rn-correct-label{color:var(--emerald);font-size:.65rem;font-weight:700}.rn-incorrect-label{color:var(--rose);font-size:.65rem;font-weight:700}.feature-section{width:100%;max-width:1100px;margin:0 auto;padding:28px;animation:.3s tabFadeIn}.feature-section-header{margin-bottom:24px}.feature-section-header h2{letter-spacing:-.02em;margin:0 0 8px;font-size:1.7rem;font-weight:800}.feature-section-header p{color:var(--text-secondary);margin:0;font-size:.97rem}.feature-section.validator-section .feature-section-header h2{color:var(--teal)}.feature-section.generator-section .feature-section-header h2{color:var(--amber-dark)}.rn-val-summary{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin:20px 0;display:grid}.rn-val-stat{background:var(--surface);border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-sm);border:1.5px solid var(--border);padding:18px 16px;transition:transform .2s,box-shadow .2s}.rn-val-stat:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.rn-val-stat .stat-value{margin-bottom:4px;font-size:2.2rem;font-weight:800;line-height:1}.rn-val-stat .stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:700}.rn-val-stat.correct .stat-value{color:var(--emerald)}.rn-val-stat.incorrect .stat-value{color:var(--rose)}.rn-val-stat.missing .stat-value{color:var(--amber)}.rn-val-stat.total .stat-value{color:var(--violet)}.rn-val-table{border-collapse:separate;border-spacing:0 6px;width:100%;font-size:.88rem}.rn-val-table th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);padding:8px 14px;font-size:.72rem;font-weight:700}.rn-val-row{animation:.3s both fadeSlideIn}.rn-val-row td{background:var(--surface);padding:11px 14px}.rn-val-row td:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm);border-left:4px solid #0000}.rn-val-row td:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.rn-val-row--correct td:first-child{border-left-color:var(--emerald)}.rn-val-row--incorrect td:first-child{border-left-color:var(--rose)}.rn-val-row--missing td:first-child{border-left-color:var(--amber)}.rn-val-row--correct td{background:#f0fdf4}.rn-val-row--incorrect td{background:#fff1f2}.rn-val-row--missing td{background:#fffbeb}.rn-val-icon{font-size:1.1rem}.rn-val-icon.correct{color:var(--emerald)}.rn-val-icon.incorrect{color:var(--rose)}.rn-val-icon.missing{color:var(--amber)}.rn-chip-auto{font-family:Times New Roman,serif;font-size:1rem;font-weight:600}.rn-chip-alt{color:var(--violet-dark);background:#ede9fe;border-radius:50px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-block}.gen-results{margin-top:10px;animation:.35s fadeSlideIn}.gen-results-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.gen-results-title{color:var(--text-primary);font-size:1rem;font-weight:800}.gen-progressions{flex-direction:column;gap:8px;display:flex}.gen-prog-card{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1.5px solid var(--border);border-left:4px solid var(--amber);cursor:pointer;padding:10px 14px;transition:all .2s;animation:.35s both fadeSlideIn}.gen-prog-card:hover{box-shadow:var(--shadow-glow-a);border-left-color:var(--amber-dark);transform:translateY(-2px)}.gen-prog-card.selected{border-color:var(--amber-dark);box-shadow:var(--shadow-glow-a);background:linear-gradient(135deg,#fff8e7,#fffbf0)}.gen-prog-card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.gen-prog-number{color:var(--text-muted);letter-spacing:.02em;font-size:.72rem;font-weight:800}.gen-prog-chords{scrollbar-width:thin;scrollbar-color:#0000001f transparent;align-items:flex-end;gap:3px;padding-bottom:4px;display:flex;overflow-x:auto}.gen-prog-chords::-webkit-scrollbar{height:3px}.gen-prog-chords::-webkit-scrollbar-thumb{background:#00000026;border-radius:99px}.gen-chord-slot{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.gen-chord-note{color:var(--text-muted);letter-spacing:.01em;font-family:Caveat,cursive;font-size:.65rem;line-height:1}.gen-chord-rn{cursor:default;white-space:nowrap;border:1.5px solid #0000;border-radius:50px;flex-shrink:0;padding:3px 9px;font-family:Times New Roman,serif;font-size:.78rem;font-weight:700;transition:transform .15s}.gen-chord-rn:hover{transform:scale(1.1)}.gen-chord-rn.tonic{color:var(--violet-dark);border-color:var(--violet-light);background:#ede9fe}.gen-chord-rn.dominant{color:var(--pink-dark);border-color:var(--pink-light);background:#ffe4e6}.gen-chord-rn.subdominant{color:#065f46;border-color:var(--emerald-light);background:#d1fae5}.gen-chord-rn.default{background:var(--bg);color:var(--text-secondary);border-color:var(--border)}.gen-loading-notice{border-radius:var(--radius-sm);color:#5d4037;text-align:center;background:#fff8e1;border:1px solid #ffd54f;margin:6px 0 0;padding:8px 12px;font-size:.75rem;line-height:1.5}.gen-prog-expl-toggle{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:99px;padding:2px 8px;font-size:.67rem}.gen-prog-expl-toggle:hover{background:var(--bg)}.gen-prog-transitions{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;display:flex}.gen-prog-transition-row{align-items:center;gap:6px;font-size:.72rem;display:flex}.gen-chord-rn--sm{padding:1px 6px!important;font-size:.72rem!important}.gen-prog-transition-exp{color:var(--text-muted);flex:1;font-style:italic}.gen-prog-warnings{border-top:1px solid #fde68a;margin-top:8px;padding-top:6px}.gen-prog-warning-item{color:#92400e;background:#fef3c7;border-radius:4px;margin-bottom:3px;padding:3px 8px;font-size:.71rem}.gen-chord-label{color:var(--text-muted);text-align:center;font-size:.65rem;font-weight:600}.gen-chord-arrow{color:var(--text-muted);opacity:.6;flex-shrink:0;font-size:.7rem;line-height:1}.gen-prog-description{color:var(--text-secondary);font-size:.85rem;font-weight:500}.gen-prog-cadence{color:var(--amber-dark);border:1px solid var(--amber-light);background:#fef3c7;border-radius:50px;align-items:center;gap:4px;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.chord-ref{border-radius:var(--radius-md);background:#fff9;border:1px solid #c8c0b073;margin-top:.5rem;overflow:hidden}.chord-ref-toggle{cursor:pointer;width:100%;font-family:var(--font-editorial);color:var(--nb-ink);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:.55rem .85rem;font-size:.8rem;font-weight:600;display:flex}.chord-ref-toggle:hover{background:#c8c0b033}.chord-ref-chevron{opacity:.6;flex-shrink:0;font-size:.65rem}.chord-ref-body{border-top:1px solid #c8c0b066;padding:0 .85rem .85rem}.chord-ref-intro{color:var(--text-secondary);margin:.55rem 0 .7rem;font-size:.75rem;line-height:1.5}.chord-ref-intro code{color:var(--violet-dark);background:#5b21b61a;border-radius:4px;padding:1px 5px;font-size:.75rem}.chord-ref-section{margin-bottom:4px}.chord-ref-section-header{border-radius:0 var(--radius-sm) var(--radius-sm) 0;cursor:pointer;width:100%;font-family:var(--font-editorial);color:var(--nb-ink);text-align:left;background:#faf7f0e6;border:none;border-left:3px solid #ccc;justify-content:space-between;align-items:center;margin-bottom:2px;padding:.4rem .6rem;font-size:.77rem;font-weight:700;display:flex}.chord-ref-section-header:hover{filter:brightness(.96)}.chord-ref-table{border-collapse:collapse;width:100%;margin-bottom:4px;font-size:.75rem}.chord-ref-table th{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #c8c0b080;padding:4px 8px;font-size:.7rem;font-weight:700}.chord-ref-table td{color:var(--text-primary);border-bottom:1px solid #c8c0b033;padding:4px 8px;line-height:1.4}.chord-ref-table tr:last-child td{border-bottom:none}.chord-ref-table tr:hover td{background:#c8c0b01f}.chord-ref-code{color:var(--violet-dark);letter-spacing:.02em;white-space:nowrap;background:#5b21b614;border-radius:4px;padding:2px 7px;font-family:Courier New,monospace;font-size:.82rem;font-weight:700}.chord-picker{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.chord-pick-btn{border:2px solid var(--border);background:var(--bg);cursor:pointer;border-radius:50px;padding:5px 12px;font-family:Times New Roman,serif;font-size:.8rem;font-weight:600;transition:all .15s}.chord-pick-btn:hover{border-color:var(--amber);background:#fef3c7}.chord-pick-btn.selected{background:var(--amber);border-color:var(--amber-dark);color:#fff}.theory-section{--th-ink:#2b1d0e;--th-ink2:#5a4a3a;--th-red:#b91c1c;--th-amber:#92400e;--th-green:#065f46;--th-line:#8c785a2e;flex:1;animation:.3s tabFadeIn}.theory-layout{grid-template-columns:248px 1fr;height:100vh;min-height:100vh;display:grid}.theory-sidebar{background:var(--nb-paper);background-image:repeating-linear-gradient(#0000,#0000 27px,#8c785a1a 27px 28px);border-right:1px solid #8c785a38;max-height:100vh;padding:16px 10px;position:sticky;top:0;overflow-y:auto}.theory-sidebar-header{border-bottom:1.5px solid #8c785a47;margin-bottom:8px;padding:0 8px 12px}.theory-sidebar-mobile-toggle{display:none}.theory-sidebar-title{font-family:var(--font-handwritten);color:var(--th-ink);font-size:1.2rem;font-weight:700}.theory-module-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.theory-module-item{border-radius:2px}.theory-module-btn{text-align:left;cursor:pointer;width:100%;font-family:var(--font-handwritten);color:var(--th-ink2);background:0 0;border:none;border-left:3px solid #0000;border-radius:0 3px 3px 0;align-items:center;gap:8px;margin-bottom:1px;padding:9px 10px;font-size:.95rem;font-weight:600;transition:all .18s;display:flex}.theory-module-btn:hover{border-left-color:var(--th-amber);color:var(--th-ink);background:#8c785a1a}.theory-module-btn--active{border-left-color:var(--th-red)!important;color:var(--th-ink)!important;background:#b91c1c12!important}.theory-mod-icon{opacity:.75;flex-shrink:0;font-size:1rem}.theory-mod-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.theory-mod-number{text-transform:uppercase;letter-spacing:.07em;color:var(--th-amber);font-size:.62rem;font-weight:700;font-family:var(--font-editorial)}.theory-mod-title{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;line-height:1.2;overflow:hidden}.theory-mod-level{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.58rem;font-weight:700;font-family:var(--font-editorial);opacity:.65;border:1.5px solid;border-radius:2px;flex-shrink:0;padding:1px 5px}.theory-mod-level--beginner{color:var(--th-green)}.theory-mod-level--elementary{color:#1e3a8a}.theory-mod-level--intermediate{color:var(--th-amber)}.theory-mod-level--advanced{color:var(--th-red)}.theory-mod-progress{background:#8c785a2e;border-radius:50px;height:2px;margin:2px 10px 5px;overflow:hidden}.theory-mod-progress-fill{background:var(--th-amber);border-radius:50px;height:100%;transition:width .5s}.theory-lesson-list{border-left:1.5px dashed #8c785a52;flex-direction:column;gap:0;margin:2px 0 5px 20px;padding:0;list-style:none;display:flex}.theory-lesson-btn{text-align:left;cursor:pointer;font-family:var(--font-editorial);color:var(--th-ink2);background:0 0;border:none;border-radius:0 3px 3px 0;align-items:baseline;gap:6px;width:100%;padding:6px 10px 6px 12px;font-size:.78rem;font-style:italic;font-weight:400;line-height:1.35;transition:all .15s;display:flex}.theory-lesson-btn:hover{color:var(--th-red);background:#b91c1c0d}.theory-lesson-btn--active{color:var(--th-red);background:#b91c1c12;font-style:normal;font-weight:700}.theory-lesson-btn--visited .theory-lesson-name:before{content:"✓ ";color:var(--th-green);font-style:normal}.theory-lesson-number{font-size:.68rem;font-family:var(--font-handwritten);color:var(--th-amber);flex-shrink:0;font-style:normal}.theory-lesson-name{flex:1;min-width:0}.theory-lesson-ex-badge{color:var(--th-ink2);white-space:nowrap;font-size:.6rem;font-style:normal;font-weight:700;font-family:var(--font-editorial);background:#8c785a0f;border:1px solid #8c785a4d;border-radius:2px;flex-shrink:0;padding:1px 4px}.theory-lesson-ex-badge--done{border-color:var(--th-green);color:var(--th-green);background:#065f460d}.theory-sidebar-toggle{display:none}.theory-main{background:var(--nb-paper);background-image:repeating-linear-gradient(#0000,#0000 31px,#8c785a17 31px 32px);max-width:820px;padding:28px 38px 52px;overflow-y:auto}.theory-lesson-header{border-bottom:1.5px solid #8c785a38;margin-bottom:32px;padding-bottom:18px}.theory-lesson-module-label{border:1.5px solid var(--th-amber);color:var(--th-amber);font-size:.68rem;font-weight:700;font-family:var(--font-editorial);text-transform:uppercase;letter-spacing:.07em;border-radius:2px;align-items:center;gap:5px;margin-bottom:12px;padding:3px 10px;display:inline-flex}.theory-lesson-title{font-family:var(--font-handwritten);color:var(--th-ink);text-decoration:underline;-webkit-text-decoration-color:var(--th-red);text-decoration-color:var(--th-red);text-underline-offset:6px;margin:0 0 10px;font-size:2.1rem;font-weight:700;line-height:1.15;text-decoration-thickness:2px}.theory-lesson-time{font-family:var(--font-editorial);color:var(--th-ink2);align-items:center;gap:4px;font-size:.75rem;font-style:italic;display:inline-flex}.theory-lesson-body{flex-direction:column;gap:18px;display:flex}.theory-h2{font-family:var(--font-handwritten);color:var(--th-ink);border-bottom:2px solid var(--th-red);margin:12px 0 4px;padding-bottom:3px;font-size:1.55rem;font-weight:700;display:inline-block}.theory-h3{font-family:var(--font-editorial);color:var(--th-amber);margin:8px 0 2px;font-size:.98rem;font-style:italic;font-weight:700}.theory-text{font-family:var(--font-editorial);color:var(--th-ink2);font-size:.93rem;line-height:1.82}.theory-text strong{color:var(--th-ink);font-weight:700}.theory-definition{border-left:3px solid var(--th-amber);background:#92400e0d;border-radius:0 3px 3px 0;gap:14px;padding:13px 18px;display:flex}.theory-definition-term{font-family:var(--font-handwritten);color:var(--th-amber);flex-shrink:0;min-width:95px;font-size:1rem;font-weight:700}.theory-definition-body{font-family:var(--font-editorial);color:var(--th-ink2);font-size:.9rem;font-style:italic;line-height:1.65}.theory-tip{font-family:var(--font-editorial);border-radius:0 3px 3px 0;flex-direction:column;gap:5px;padding:13px 18px;font-size:.9rem;line-height:1.7;animation:.3s fadeSlideIn;display:flex}.theory-tip-title{font-family:var(--font-handwritten);margin-bottom:2px;font-size:1rem;font-weight:700}.theory-tip--tip{color:#3b0764;background:#5b21b60d;border-left:3px solid #7c3aed}.theory-tip--info{color:#1e3a8a;background:#2563eb0d;border-left:3px solid #2563eb}.theory-tip--warning{border-left:3px solid var(--th-amber);color:var(--th-amber);background:#92400e12}.theory-tip--example{color:var(--th-green);background:#065f460d;border-left:3px solid #059669}.theory-list{flex-direction:column;gap:8px;margin:0;padding-left:4px;list-style:none;display:flex}.theory-list li{font-family:var(--font-editorial);color:var(--th-ink2);align-items:flex-start;gap:10px;font-size:.93rem;line-height:1.62;display:flex}.theory-list li:before{content:"♪";color:var(--th-amber);flex-shrink:0;margin-top:1px;font-size:.85rem}.theory-table-wrap{margin:0}.theory-table-scroll{overflow-x:auto}.theory-table{border-collapse:collapse;width:100%;font-family:var(--font-editorial);border:1.5px solid #8c785a59;font-size:.85rem}.theory-table th{color:var(--th-ink);text-align:left;letter-spacing:.05em;text-transform:uppercase;background:#8c785a24;border-bottom:2px solid #8c785a61;padding:9px 14px;font-size:.77rem;font-weight:700}.theory-table td{color:var(--th-ink2);border-bottom:1px solid #8c785a29;padding:9px 14px}.theory-table tr:nth-child(2n) td{background:#8c785a0a}.theory-table tr:last-child td{border-bottom:none}.theory-table tr:hover td{background:#b91c1c0a;transition:background .15s}.theory-table-caption{font-family:var(--font-editorial);color:var(--th-ink2);text-align:center;margin-top:6px;font-size:.78rem;font-style:italic}.theory-score-example{background:var(--nb-paper);border:1.5px solid #8c785a52;border-radius:3px;overflow:hidden}.theory-score-title{font-family:var(--font-handwritten);color:var(--th-ink);background:#8c785a17;border-bottom:1px solid #8c785a38;padding:8px 14px;font-size:1rem}.theory-score-caption{font-family:var(--font-editorial);color:var(--th-ink2);border-top:1px solid #8c785a24;padding:6px 14px;font-size:.78rem;font-style:italic}.exercise-card{background:var(--nb-paper);border:1.5px solid #8c785a47;border-radius:3px;padding:20px;transition:border-color .2s;animation:.35s fadeSlideIn;position:relative}.exercise-card:before{content:"";border-top:0 solid #0000;border-bottom:18px solid #0000;border-left:0 solid #0000;border-right:18px solid #8c785a38;width:0;height:0;position:absolute;top:0;right:0}.exercise-card--correct{border-color:#065f4661}.exercise-card--incorrect{border-color:#b91c1c52}.exercise-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.exercise-icon{font-size:1.1rem}.exercise-difficulty{font-family:var(--font-editorial);text-transform:uppercase;letter-spacing:.05em;border:1px solid;border-radius:2px;padding:2px 6px;font-size:.63rem;font-weight:700}.exercise-difficulty--beginner{color:var(--th-green)}.exercise-difficulty--intermediate{color:var(--th-amber)}.exercise-difficulty--advanced{color:var(--th-red)}.exercise-question{font-family:var(--font-handwritten);color:var(--th-ink);margin-bottom:16px;font-size:1.08rem;font-weight:700;line-height:1.5}.exercise-options{flex-direction:column;gap:7px;margin-bottom:14px;display:flex}.exercise-option{cursor:pointer;font-family:var(--font-editorial);color:var(--th-ink2);text-align:left;background:0 0;border:1.5px solid #8c785a47;border-radius:3px;align-items:center;gap:12px;width:100%;padding:10px 14px;font-size:.88rem;transition:all .15s;display:flex}.exercise-option:hover:not([class*=correct]):not([class*=wrong]){border-color:var(--th-amber);background:#92400e0d;transform:translate(3px)}.exercise-option--selected{border-color:var(--th-ink);background:#2b1d0e0a}.exercise-option--correct{color:var(--th-green);background:#065f460d;border-color:#065f468c}.exercise-option--wrong{color:var(--th-red);background:#b91c1c0d;border-color:#b91c1c7a}.exercise-option-marker{width:22px;height:22px;font-size:.72rem;font-weight:800;font-family:var(--font-editorial);border:1.5px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.exercise-option--selected .exercise-option-marker{background:var(--th-ink);color:var(--nb-paper);border-color:var(--th-ink)}.exercise-option--correct .exercise-option-marker{color:#fff;background:#059669;border-color:#059669}.exercise-option--wrong .exercise-option-marker{background:var(--th-red);color:#fff;border-color:var(--th-red)}.exercise-text-input{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.exercise-text-input input{width:100%;font-family:var(--font-handwritten);color:var(--th-ink);box-sizing:border-box;background:0 0;border:1.5px solid #8c785a59;border-radius:3px;outline:none;padding:9px 13px;font-size:1rem;transition:border-color .15s}.exercise-text-input input:focus{border-color:var(--th-amber)}.exercise-text-input input.text-input--correct{border-color:#059669}.exercise-text-input input.text-input--wrong{border-color:var(--th-red)}.exercise-actions{gap:8px;display:flex}.btn-exercise-submit{background:var(--th-ink);color:var(--nb-paper);font-family:var(--font-handwritten);cursor:pointer;letter-spacing:.02em;border:none;border-radius:3px;padding:8px 22px;font-size:1rem;font-weight:700;transition:all .18s}.btn-exercise-submit:hover:not(:disabled){background:var(--th-red)}.btn-exercise-submit:disabled{opacity:.35;cursor:not-allowed}.btn-exercise-reset{font-family:var(--font-editorial);cursor:pointer;color:var(--th-ink2);background:0 0;border:1.5px solid #8c785a61;border-radius:3px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .15s}.btn-exercise-reset:hover{border-color:var(--th-amber);color:var(--th-amber)}.exercise-explanation{font-family:var(--font-editorial);border-radius:0 3px 3px 0;margin-top:14px;padding:12px 16px;font-size:.88rem;line-height:1.65;animation:.3s fadeSlideIn}.exercise-explanation--correct{color:var(--th-green);background:#065f4612;border-left:3px solid #059669}.exercise-explanation--incorrect{border-left:3px solid var(--th-red);color:#7f1d1d;background:#b91c1c0d}.exercise-mastered{border:1.5px solid var(--th-green);color:var(--th-green);font-size:.75rem;font-weight:700;font-family:var(--font-editorial);text-transform:uppercase;letter-spacing:.05em;border-radius:2px;align-items:center;gap:6px;margin-top:12px;padding:4px 12px;display:inline-flex}.theory-lesson-footer{border-top:1.5px solid #8c785a38;justify-content:space-between;align-items:center;gap:12px;margin-top:44px;padding-top:18px;display:flex}.btn-lesson-nav{font-family:var(--font-handwritten);cursor:pointer;color:var(--th-ink2);letter-spacing:.02em;background:0 0;border:1.5px solid #8c785a59;border-radius:3px;align-items:center;gap:8px;padding:9px 20px;font-size:1rem;font-weight:700;transition:all .18s;display:flex}.btn-lesson-nav:hover{border-color:var(--th-red);color:var(--th-red);transform:translateY(-1px)}.theory-empty{font-family:var(--font-editorial);color:var(--th-ink2);text-align:center;padding:48px;font-style:italic}.chip-correct{color:#065f46;border:1.5px solid var(--emerald-light);background:#ecfdf5;border-radius:50px;padding:2px 9px;font-size:.78rem;font-weight:700;display:inline-block}.chip-incorrect{color:#9b1c1c;border:1.5px solid var(--rose-light);background:#fff1f2;border-radius:50px;padding:2px 9px;font-size:.78rem;font-weight:700;display:inline-block}.chip-missing{color:#92400e;border:1.5px solid var(--amber-light);background:#fffbeb;border-radius:50px;padding:2px 9px;font-size:.78rem;font-weight:700;display:inline-block}.file-upload-wrapper{flex-direction:column;gap:8px;display:flex}.file-upload-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.68rem;font-weight:600}.file-upload-dropzone{border:2px dashed var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;justify-content:center;align-items:center;min-height:140px;padding:24px 20px;transition:all .2s;display:flex;position:relative}.file-upload-dropzone:hover{border-color:var(--violet-light);background:var(--surface-2);box-shadow:var(--shadow-sm)}.file-upload-dropzone.drag-over{border-color:var(--violet-light);box-shadow:inset 0 0 0 1px var(--violet-light), var(--shadow-md);background:linear-gradient(135deg,#8b5cf60d 0%,#9d174d08 100%);transform:scale(1.01)}.file-upload-dropzone.has-file{border-color:var(--emerald);background:linear-gradient(135deg,#0596690a 0%,#05966905 100%)}.file-upload-content{text-align:center;flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.file-upload-icon{opacity:.7;font-size:2.8rem;transition:all .2s}.file-upload-dropzone.drag-over .file-upload-icon{opacity:1;font-size:3.2rem;transform:scale(1.15)}.file-upload-dropzone.has-file .file-upload-icon{opacity:1;color:var(--emerald);font-size:2rem}.file-upload-text{flex-direction:column;gap:6px;display:flex}.file-upload-text strong{color:var(--text-primary);letter-spacing:-.2px;font-size:.95rem;font-weight:600}.file-upload-or{color:var(--text-secondary);font-size:.75rem;font-weight:500}.file-upload-button{background:var(--violet-light);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 20px;font-size:.85rem;font-weight:600;transition:all .15s;box-shadow:0 1px 3px #5b21b64d}.file-upload-button:hover{background:var(--violet);transform:translateY(-1px);box-shadow:0 4px 12px #5b21b659}.file-upload-button:active{transform:translateY(0)}.file-upload-hint{color:var(--text-muted);margin-top:4px;font-size:.75rem}.file-upload-filename{color:var(--text-primary);word-break:break-word;max-width:100%;padding:0 8px;font-size:.9rem;font-weight:600}.file-upload-subtext{color:var(--text-secondary);margin-top:4px;font-size:.75rem}@media (max-width:1024px){.main-content{grid-template-columns:1fr 300px}.theory-main{padding:24px}}@media (max-width:900px){.app-layout,.app-wrapper{grid-template-rows:auto 1fr;grid-template-columns:1fr}.app-sidebar{border-right:none;border-bottom:1px solid var(--border);z-index:200;flex-direction:row;align-items:center;width:100%;height:auto;padding:8px 12px;position:sticky;top:0;box-shadow:0 2px 8px #0000000f}.sidebar-logo{border-bottom:none;flex-shrink:0;padding:6px 8px}.sidebar-logo-sub,.sidebar-footer{display:none}.sidebar-nav{scrollbar-width:none;flex-direction:row;flex:1;justify-content:flex-start;gap:4px;padding:0;overflow-x:auto}.sidebar-nav::-webkit-scrollbar{display:none}.app-nav-tab{white-space:nowrap;width:auto;padding:8px 10px;font-size:.78rem}.main-content{grid-template-columns:1fr}.theory-layout{grid-template-columns:1fr;height:auto;min-height:auto}.theory-sidebar{border-bottom:2px solid #e9d5ff;border-right:none;max-height:none;position:static}}@media (max-width:600px){.sidebar-logo-name{font-size:.95rem}.app-nav-tab{padding:8px 10px;font-size:.78rem}.nav-tab-icon{display:none}.controls-bar{flex-direction:column;align-items:stretch}.score-tabs{flex-wrap:wrap}.theory-lesson-title{font-size:1.4rem}.rn-val-summary{grid-template-columns:repeat(2,1fr)}.feature-section{padding:18px}}@keyframes lp-gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes lp-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(4deg)}}@keyframes lp-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes lp-scan{0%{top:0%}to{top:100%}}@keyframes lp-fall{to{transform:translateY(100vh)rotate(360deg)}}@keyframes lp-drift{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes lp-staff-move{0%{transform:translate(0)}to{transform:translate(-50%)}}.lp-root{color:#fff;background-color:#07070f;min-height:100vh;font-family:Inter,-apple-system,sans-serif;overflow-x:hidden}.lp-cursor{pointer-events:none;z-index:9999;filter:blur(8px);opacity:.6;background:#8b5cf6;border-radius:50%;width:20px;height:20px;transition:transform 80ms linear;position:fixed}.lp-mesh{z-index:0;pointer-events:none;background:radial-gradient(circle at 20% 30%,#1e1b4b 0%,#0000 40%),radial-gradient(circle at 80% 70%,#4c1d95 0%,#0000 40%),radial-gradient(circle,#07070f 0%,#0000 100%);position:fixed;inset:0}.lp-glass{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffff0a;border:1px solid #ffffff1a}.lp-gradient-text{background:linear-gradient(135deg,#8b5cf6,#f43f5e,#f59e0b);-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;animation:5s infinite lp-gradient-shift}.lp-nav{z-index:50;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffff0a;border-bottom:1px solid #ffffff0d;width:100%;padding:16px 24px;position:fixed;top:0}.lp-nav-inner{justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;display:flex}.lp-nav-logo{letter-spacing:-.04em;color:#fff;align-items:center;gap:8px;font-family:Inter,sans-serif;font-size:1.4rem;font-weight:900;display:flex}.lp-nav-links{color:#ffffffb3;gap:32px;font-size:.875rem;font-weight:500;display:flex}.lp-nav-links a{text-decoration:none;transition:color .15s}.lp-nav-links a:hover{color:#fff}.lp-nav-btn{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);color:#fff;cursor:pointer;background:#ffffff0a;border:1px solid #8b5cf64d;border-radius:999px;padding:8px 24px;font-size:.875rem;font-weight:700;transition:background .15s}.lp-nav-btn:hover{background:#8b5cf61a}.lp-nav-right{align-items:center;gap:12px;display:flex}.lp-nav-hamburger{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:7px;padding:6px 10px;font-size:1.2rem;line-height:1;display:none}.lp-nav-mobile{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0a0a14f7;border-top:1px solid #ffffff12;flex-direction:column;gap:4px;padding:12px 20px 20px;display:flex}.lp-nav-mobile a{color:#fffc;border-bottom:1px solid #ffffff0f;padding:10px 0;font-size:.95rem;font-weight:500;text-decoration:none}.lp-nav-mobile a:hover{color:#fff}.lp-nav-mobile-login{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:8px;width:100%;margin-top:12px;padding:12px;font-size:.95rem;font-weight:700}.lp-hero{z-index:1;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding-top:80px;display:flex;position:relative;overflow:hidden}.lp-staff-wrap{z-index:0;opacity:.25;position:absolute;inset:0;overflow:hidden}.lp-staff-line{background:linear-gradient(90deg,#0000,#8b5cf640,#0000);width:200%;height:1px;animation:linear infinite lp-staff-move;position:absolute;left:-50%}.lp-drift{color:#f59e0b4d;pointer-events:none;font-size:1.6rem;animation:5s ease-in-out infinite lp-drift;position:absolute}.lp-drift-1{animation-delay:0s;top:28%;left:22%}.lp-drift-2{animation-delay:1.5s;top:52%;right:20%}.lp-drift-3{animation-delay:3s;bottom:28%;left:36%}.lp-hero-content{z-index:1;text-align:center;max-width:1000px;padding:0 1.5rem;position:relative}.lp-hero-title{letter-spacing:-.05em;margin:0 0 1.5rem;font-size:clamp(3.5rem,12vw,9rem);font-weight:900;line-height:1}.lp-hero-sub{color:#fffc;max-width:640px;margin:0 auto 2.5rem;font-size:clamp(1.1rem,3vw,1.75rem);font-weight:300;line-height:1.5}.lp-hero-cta{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.lp-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4c1d95,#7c3aed,#9d174d,#be185d) 0 0/200% 200%;border:none;border-radius:12px;padding:16px 32px;font-size:1.1rem;font-weight:700;transition:transform .15s,box-shadow .15s;animation:6s infinite lp-gradient-shift;box-shadow:0 0 20px #8b5cf666}.lp-btn-primary:hover{transform:scale(1.05);box-shadow:0 0 30px #8b5cf699}.lp-btn-glass{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);color:#fff;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;padding:16px 32px;font-size:1.1rem;font-weight:700;transition:background .15s,transform .15s}.lp-btn-glass:hover{background:#ffffff1a;transform:scale(1.03)}.lp-mockup-wrap{z-index:1;width:100%;max-width:860px;margin-top:5rem;padding:0 1.5rem;position:relative}.lp-mockup{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffff0a;border:1px solid #ffffff2e;border-radius:20px;animation:7s ease-in-out infinite lp-float;position:relative;overflow:hidden;box-shadow:0 40px 80px #00000080}.lp-mockup-scan{z-index:2;background:#f43f5e80;width:100%;height:2px;animation:4s linear infinite lp-scan;position:absolute;left:0}.lp-mockup-inner{padding:0}.lp-mockup-bar{background:#ffffff0a;border-bottom:1px solid #ffffff14;align-items:center;gap:8px;padding:12px 16px;display:flex}.lp-mockup-dot{border-radius:50%;width:11px;height:11px}.lp-mockup-dot--red{background:#ef4444}.lp-mockup-dot--yellow{background:#eab308}.lp-mockup-dot--green{background:#22c55e}.lp-mockup-filename{color:#fff6;margin-left:8px;font-family:monospace;font-size:.75rem}.lp-mockup-score{background:#ffffff05;height:160px;position:relative;overflow:hidden}.lp-score-staff-line{background:#ffffff1f;width:100%;height:1px;position:absolute;left:0}.lp-score-note{-webkit-user-select:none;user-select:none;font-size:2rem;position:absolute}.lp-mockup-badge{color:#f59e0b;background:#ffffff0a;border:1px solid #f59e0b80;border-radius:8px;margin:0 16px 16px;padding:10px 14px;font-family:monospace;font-size:.72rem}.lp-section{z-index:1;max-width:1280px;margin:0 auto;padding:8rem 1.5rem;position:relative}.lp-section--dark{background:#0006;max-width:100%;padding:8rem 1.5rem}.lp-section--dark>*{max-width:1280px;margin-left:auto;margin-right:auto}.lp-section-title{letter-spacing:-.05em;text-align:center;margin:0 0 5rem;font-size:clamp(2rem,6vw,5rem);font-weight:900}.lp-hook{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);text-align:center;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:48px;padding:5rem 4rem;position:relative;overflow:hidden}.lp-hook-glow{filter:blur(100px);pointer-events:none;background:#8b5cf633;border-radius:50%;width:260px;height:260px;position:absolute;top:-100px;left:-100px}.lp-hook-title{letter-spacing:-.04em;margin:0 0 2rem;font-size:clamp(1.4rem,3.5vw,2.6rem);font-weight:700;line-height:1.25}.lp-hook-divider{background:linear-gradient(90deg,#0000,#f43f5e,#0000);width:120px;height:1px;margin:0 auto 2rem}.lp-hook-body{color:#fff9;margin:0;font-size:clamp(1rem,2.5vw,1.4rem);font-weight:300;line-height:1.6}.lp-features{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;display:grid}.lp-feature-card{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffff0a;border:1px solid #ffffff0d;border-radius:24px;padding:2.5rem;transition:transform .4s cubic-bezier(.22,.8,.3,1),border-color .3s}.lp-feature-card:hover{border-color:var(--lp-card-color,#fff3);transform:translateY(-16px)}.lp-feature-icon{border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:2rem;font-size:2rem;transition:transform .3s;display:flex}.lp-feature-card:hover .lp-feature-icon{transform:scale(1.12)}.lp-feature-title{letter-spacing:-.03em;margin:0 0 1rem;font-size:1.25rem;font-weight:700}.lp-feature-body{color:#fff9;margin:0;font-size:.95rem;line-height:1.6}.lp-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:64px;max-width:1000px;margin:0 auto;display:grid;position:relative}.lp-step{text-align:center;position:relative}.lp-step-bg-num{color:#ffffff0a;-webkit-user-select:none;user-select:none;font-size:8rem;font-weight:900;line-height:1;position:absolute;top:-40px;left:50%;transform:translate(-50%)}.lp-step-circle{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffff0a;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:2.5rem auto 1.5rem;font-size:1.5rem;font-weight:700;display:flex}.lp-step-label{margin:0 0 .75rem;font-size:1.1rem;font-weight:700}.lp-step-body{color:#ffffff80;margin:0;font-size:.9rem;line-height:1.6}.lp-preview-card{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:32px;overflow:hidden;box-shadow:0 40px 80px #0006}.lp-preview-header{background:#ffffff0d;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.lp-preview-tabs{gap:8px;display:flex}.lp-preview-tab{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 20px;font-size:.875rem;font-weight:600;transition:all .15s}.lp-preview-tab:hover{color:#fff;background:#ffffff0d}.lp-preview-tab--active{color:#fff;background:#ffffff1a}.lp-preview-dots{gap:6px;display:flex}.lp-preview-dot{border-radius:50%;width:12px;height:12px}.lp-preview-body{min-height:280px;padding:2rem;position:relative;overflow:hidden}.lp-preview-staff{background:#ffffff1a;height:1px;position:absolute;left:2rem;right:2rem}.lp-preview-note{color:#ffffffa6;-webkit-user-select:none;user-select:none;font-size:2.2rem;position:absolute}.lp-preview-fade{pointer-events:none;background:linear-gradient(#0000 40%,#07070f 100%);position:absolute;inset:0}.lp-flip-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:2.5rem;display:grid}.lp-flip{perspective:1000px;cursor:pointer;height:190px}.lp-flip-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s;position:relative}.lp-flip:hover .lp-flip-inner{transform:rotateY(180deg)}.lp-flip-front,.lp-flip-back{backface-visibility:hidden;text-align:center;border-radius:20px;justify-content:center;align-items:center;padding:20px;font-size:1rem;font-weight:700;display:flex;position:absolute;inset:0}.lp-flip-front{background:#ffffff0a;border:1px solid #ffffff1a}.lp-flip-back{font-size:.88rem;font-weight:600;transform:rotateY(180deg)}.lp-marquee-wrap{z-index:1;padding:4rem 0;position:relative;overflow:hidden}.lp-marquee{white-space:nowrap;gap:24px;width:max-content;animation:28s linear infinite lp-marquee;display:flex}.lp-marquee-pill{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:999px;flex-shrink:0;padding:18px 44px;font-size:1.1rem;font-weight:700}.lp-cta-section{text-align:center;z-index:1;flex-direction:column;justify-content:center;align-items:center;min-height:80vh;padding:4rem 1.5rem;display:flex;position:relative;overflow:hidden}.lp-falling-notes{z-index:0;opacity:.18;pointer-events:none;position:absolute;inset:0;overflow:hidden}.lp-falling-note{color:#8b5cf6;animation:linear infinite lp-fall;position:absolute;top:-60px}.lp-cta-title{z-index:1;letter-spacing:-.05em;margin:0 0 3rem;font-size:clamp(2.5rem,10vw,10rem);font-weight:900;line-height:.95;position:relative}.lp-cta-btn{z-index:1;color:#fff;cursor:pointer;letter-spacing:-.02em;background:linear-gradient(135deg,#4c1d95,#7c3aed,#9d174d,#be185d) 0 0/200% 200%;border:none;border-radius:20px;padding:24px 56px;font-size:clamp(1.2rem,4vw,2.2rem);font-weight:900;transition:transform .15s,box-shadow .15s;animation:6s infinite lp-gradient-shift;position:relative;box-shadow:0 0 30px #8b5cf680}.lp-cta-btn:hover{transform:scale(1.08);box-shadow:0 0 50px #8b5cf6a6}.lp-cta-arrow{margin-left:6px;transition:transform .2s;display:inline-block}.lp-cta-btn:hover .lp-cta-arrow{transform:translate(6px)}.lp-cta-sub{z-index:1;color:#ffffff59;letter-spacing:.18em;text-transform:uppercase;margin-top:3rem;font-family:monospace;font-size:.8rem;position:relative}.lp-blog-section{padding-top:6rem}.lp-blog-subtitle{text-align:center;color:#ffffff8c;margin-top:-1.5rem;margin-bottom:3.5rem;font-size:1.1rem}.lp-blog-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;max-width:900px;margin:0 auto;display:grid}.lp-blog-card{border:1px solid #ffffff14;border-top:3px solid var(--blog-accent,#8b5cf6);cursor:default;background:#ffffff0a;border-radius:16px;flex-direction:column;gap:1.1rem;padding:1.75rem;transition:transform .2s,box-shadow .2s,background .2s;display:flex}.lp-blog-card:hover{background:#ffffff12;transform:translateY(-4px);box-shadow:0 20px 50px #00000059}.lp-blog-card__top{justify-content:space-between;align-items:center;display:flex}.lp-blog-card__icon{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.35rem;display:flex}.lp-blog-card__tag{letter-spacing:.06em;text-transform:uppercase;border-radius:99px;padding:3px 10px;font-size:.72rem;font-weight:700}.lp-blog-card__content{flex:1}.lp-blog-card__title{color:#fff;margin-bottom:.6rem;font-size:1.15rem;font-weight:800;line-height:1.35}.lp-blog-card__excerpt{color:#ffffff94;font-size:.9rem;line-height:1.6}.lp-blog-card__footer{border-top:1px solid #ffffff12;justify-content:space-between;align-items:center;padding-top:.8rem;display:flex}.lp-blog-card__meta{color:#ffffff59;gap:.4rem;font-size:.78rem;display:flex}.lp-blog-card__dot{opacity:.4}.lp-blog-card__btn{cursor:pointer;letter-spacing:.01em;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:700;transition:opacity .15s,letter-spacing .15s}.lp-blog-card__btn:hover{opacity:.75;letter-spacing:.04em}.lp-blog-cta{text-align:center;margin-top:2.5rem}.lp-blog-all-btn{color:#ffffffbf;letter-spacing:.01em;border:1px solid #ffffff2e;border-radius:99px;padding:.65rem 1.75rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s,background .15s;display:inline-block}.lp-blog-all-btn:hover{color:#fff;background:#ffffff0d;border-color:#fff6}.blog-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9000;background:#000000bf;justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.blog-modal{background:#0f1018;border:1px solid #ffffff1a;border-radius:20px;width:100%;max-width:720px;margin:auto;padding:2.5rem 2.5rem 2rem;position:relative}.blog-modal__close{color:#fff9;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;transition:background .15s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.blog-modal__close:hover{color:#fff;background:#ffffff26}.blog-modal__header{border-left:3px solid #8b5cf6;margin-bottom:2rem;padding-left:1.25rem}.blog-modal__tag{letter-spacing:.06em;text-transform:uppercase;border-radius:99px;margin-bottom:.6rem;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-block}.blog-modal__meta{color:#ffffff59;gap:.5rem;margin-bottom:.75rem;font-size:.8rem;display:flex}.blog-modal__title{color:#fff;letter-spacing:-.03em;font-size:clamp(1.3rem,4vw,1.75rem);font-weight:900;line-height:1.25}.blog-article{color:#ffffffbf;font-size:.95rem;line-height:1.75}.blog-article__lead{color:#ffffffd9;border-bottom:1px solid #ffffff12;margin-bottom:1.75rem;padding-bottom:1.5rem;font-size:1.05rem}.blog-article h2{color:#fff;letter-spacing:-.02em;margin:1.75rem 0 .5rem;font-size:1.1rem;font-weight:800}.blog-article p{margin-bottom:1rem}.blog-article ul{margin-bottom:1rem;padding-left:1.4rem}.blog-article li{margin-bottom:.4rem}.blog-article strong{color:#ffffffe6;font-weight:700}.blog-article em{color:#fffc}.blog-article code{background:#ffffff14;border-radius:5px;padding:1px 6px;font-family:monospace;font-size:.88em}.blog-article__tip{background:#8b5cf61f;border:1px solid #8b5cf640;border-radius:12px;gap:1rem;margin-top:1.75rem;padding:1.1rem 1.25rem;display:flex}.blog-article__tip-icon{flex-shrink:0;margin-top:2px;font-size:1.3rem}.blog-article__tip p{color:#fffc;margin:0}.blog-modal__cta{text-align:center;border-top:1px solid #ffffff14;flex-direction:column;align-items:center;gap:1rem;margin-top:2.5rem;padding-top:2rem;display:flex}.blog-modal__cta-text{color:#ffffff8c;margin:0;font-size:.95rem}@media (max-width:640px){.blog-modal{padding:2rem 1.25rem 1.5rem}.blog-modal__title{font-size:1.25rem}.lp-blog-grid{grid-template-columns:1fr}}.lp-footer{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:1;background:#ffffff05;border-top:1px solid #ffffff0d;margin-top:4rem;padding:3rem 1.5rem;position:relative}.lp-footer-inner{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;max-width:1280px;margin:0 auto;display:flex}@media (min-width:768px){.lp-footer-inner{text-align:left;flex-direction:row;justify-content:space-between}}.lp-footer-logo{letter-spacing:-.04em;font-size:1.2rem;font-weight:900}.lp-footer-links{gap:28px;display:flex}.lp-footer-links a{color:#ffffff80;font-size:.875rem;text-decoration:none;transition:color .15s}.lp-footer-links a:hover{color:#fff}.lp-footer-copy{color:#ffffff40;font-size:.75rem}.lp-demo-section{padding-block:80px 64px}.lp-demo-header{text-align:center;margin-bottom:32px}.lp-demo-subtitle{color:#ffffff8c;margin-top:8px;font-family:Libre Baskerville,Georgia,serif;font-size:1rem;font-style:italic}.lp-demo-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:16px;max-width:900px;margin-inline:auto;overflow:hidden;box-shadow:0 32px 80px #00000073}.lp-demo-tabs{background:#0003;border-bottom:1px solid #ffffff14;display:flex}.lp-demo-tab{color:#ffffff73;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:7px;padding:14px 12px;font-size:.85rem;font-weight:600;transition:color .2s,background .2s;display:flex;position:relative}.lp-demo-tab:hover:not(:disabled){color:#fffc;background:#ffffff0a}.lp-demo-tab.active{color:#fff;background:#ffffff0f}.lp-demo-tab.active:after{content:"";background:linear-gradient(90deg,#8b5cf6,#f43f5e);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.lp-demo-tab:disabled{opacity:.3;cursor:not-allowed}.lp-demo-badge{color:#fff;background:#f43f5e;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.72rem;font-weight:700;display:inline-flex}.lp-demo-badge--green{background:#22c55e}.lp-demo-score-area{background:#fff8e8f7;align-items:stretch;min-height:280px;display:flex;position:relative;overflow:hidden}.lp-demo-osmd{box-sizing:border-box;width:100%;padding:12px 16px 6px}.lp-demo-osmd svg{max-height:320px;width:100%!important}.lp-demo-overlay{color:#ffffffb3;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0e0602bf;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:.95rem;display:flex;position:absolute;inset:0}.lp-demo-overlay--offline{background:#0e0602d9}.lp-demo-overlay--light{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fff8e8b3}.lp-demo-offline-icon{opacity:.4;font-size:2.5rem}.lp-demo-overlay--offline code{color:#ffffff80;background:#ffffff1a;border-radius:6px;padding:4px 12px;font-size:.8rem}.lp-demo-spinner{border:3px solid #ffffff26;border-top-color:#8b5cf6;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite lp-spin}.lp-demo-spinner--dark{border-color:#8b5cf6 #2d1f0e26 #2d1f0e26}@keyframes lp-spin{to{transform:rotate(360deg)}}.lp-demo-err-list{border-top:1px solid #ffffff12;flex-direction:column;gap:8px;padding:16px 20px;display:flex}.lp-demo-err-header{letter-spacing:.08em;text-transform:uppercase;color:#ffffff59;margin-bottom:4px;font-size:.78rem;font-weight:700}.lp-demo-err-item{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:.84rem;display:flex}.lp-demo-err--error{border-left:3px solid #f43f5e}.lp-demo-err--warning{border-left:3px solid #f59e0b}.lp-demo-err-pill{color:#f43f5e;white-space:nowrap;background:#f43f5e26;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:.75rem;font-weight:700}.lp-demo-err--warning .lp-demo-err-pill{color:#f59e0b;background:#f59e0b26}.lp-demo-err-desc{color:#ffffffa6;flex:1}.lp-demo-err-loc{color:#ffffff4d;white-space:nowrap;flex-shrink:0;font-size:.75rem}.lp-demo-alt-note{color:#ffffff8c;border-top:1px solid #ffffff12;align-items:center;gap:10px;padding:14px 20px;font-size:.85rem;font-style:italic;display:flex}.lp-demo-alt-icon{color:#22c55e;flex-shrink:0;font-size:1.2rem}.lp-demo-clean{color:#22c55e;border-top:1px solid #ffffff12;padding:14px 20px;font-size:.9rem;font-weight:600}.auth-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#1e0f05a6;justify-content:center;align-items:flex-start;padding:1rem;animation:.2s both fadeSlideIn;display:flex;position:fixed;inset:0;overflow-y:auto}@media (min-height:700px){.auth-overlay{align-items:center}}.auth-card{background:#faf7f0;border-radius:16px;width:100%;max-width:440px;padding-bottom:1.5rem;overflow:visible;box-shadow:0 24px 60px #00000080,0 8px 20px #00000040,inset 0 0 0 1px #fff9}.auth-card-header{border-bottom:1px solid #c8c0b066;align-items:center;gap:12px;padding:1.8rem 2rem 1.2rem;display:flex}.auth-clef{color:var(--nb-ink);font-size:2.2rem;line-height:1}.auth-title{font-family:var(--font-handwritten);color:var(--nb-ink);margin:0;font-size:1.8rem;font-weight:700}.auth-tabs{border-bottom:1px solid #c8c0b066;display:flex}.auth-tab{font-family:var(--font-editorial);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:12px;font-size:.88rem;transition:all .15s}.auth-tab:hover{color:var(--nb-ink);background:#c8c0b01f}.auth-tab.active{color:var(--nb-ink);border-bottom-color:var(--violet-light);font-weight:700}.auth-error{color:#881337;font-size:.85rem;font-family:var(--font-editorial);background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;margin:12px 2rem 0;padding:10px 14px}.auth-form{flex-direction:column;gap:14px;padding:1.4rem 2rem 2rem;display:flex}.auth-label{font-family:var(--font-editorial);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);flex-direction:column;gap:5px;font-size:.8rem;font-weight:700;display:flex}.auth-optional{text-transform:none;letter-spacing:0;color:var(--text-muted);font-weight:400}.auth-input{font-family:var(--font-editorial);color:var(--nb-ink);background:#fff;border:1.5px solid #c8c0b099;border-radius:8px;padding:10px 12px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.auth-input:focus{border-color:var(--violet-light);outline:none;box-shadow:0 0 0 3px #8b5cf626}.auth-submit{background:var(--violet-light);color:#fff;font-family:var(--font-editorial);cursor:pointer;border:none;border-radius:10px;margin-top:6px;padding:13px;font-size:.95rem;font-weight:700;transition:background .15s,transform .12s,box-shadow .15s;box-shadow:0 2px 8px #5b21b64d}.auth-submit:hover:not(:disabled){background:var(--violet);transform:translateY(-1px);box-shadow:0 6px 16px #5b21b666}.auth-submit:disabled{opacity:.65;cursor:not-allowed}.auth-google-wrap{justify-content:center;padding:0 24px;display:flex}.auth-google-wrap>div,.auth-google-wrap iframe{width:100%!important}.auth-divider{color:#503c2859;font-size:.8rem;font-family:var(--font-ui);letter-spacing:.05em;align-items:center;gap:12px;padding:0 24px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#503c2826;flex:1;height:1px}.nb-user-badge{align-items:center;gap:8px;margin-left:auto;display:flex}.nb-user-name{font-family:var(--font-editorial);color:var(--text-secondary);font-size:.82rem;font-style:italic}.nb-logout-btn{font-family:var(--font-editorial);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);cursor:pointer;background:0 0;border:1.5px solid #c8c0b0b3;border-radius:6px;padding:5px 12px;font-size:.75rem;font-weight:700;transition:all .15s}.nb-logout-btn:hover{color:#b91c1c;background:#b91c1c14;border-color:#b91c1c4d}.nb-plan-row{align-items:center;gap:8px;margin:6px 0 10px;display:flex}.nb-plan-badge{font-family:var(--font-editorial);letter-spacing:.03em;cursor:pointer;background:0 0;border:1.5px solid;border-radius:20px;padding:3px 10px;font-size:.72rem;font-weight:700;transition:opacity .15s}.nb-plan-badge:hover{opacity:.75}.nb-plan-badge--free{color:#1a1a2e73}.nb-plan-badge--pro{color:#92400e}.nb-plan-badge--conservatorio{color:#065f46}.nb-corrections-left{font-family:var(--font-editorial);color:#1a1a2e66;font-size:.7rem;font-style:italic}.checkout-toast{z-index:9999;font-family:var(--font-editorial);border-radius:8px;padding:12px 24px;font-size:.9rem;font-weight:600;animation:.3s toast-in;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #00000026}.checkout-toast--success{color:#fff;background:#065f46}.checkout-toast--cancel{color:#cbd5e1;background:#1e293b}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(-12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.pricing-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.pricing-modal{background:#0f172a;border-radius:20px;width:100%;max-width:960px;max-height:90vh;padding:32px 24px 40px;position:relative;overflow-y:auto}.pricing-modal-close{color:#ffffff80;cursor:pointer;background:0 0;border:none;font-size:1.2rem;transition:color .15s;position:absolute;top:16px;right:20px}.pricing-modal-close:hover{color:#fff}.pricing-section{background:#0a0f1e;padding:80px 24px 64px}.pricing-header{text-align:center;margin-bottom:48px}.pricing-title{color:#f1f5f9;letter-spacing:-.02em;margin-bottom:12px;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800}.pricing-accent{background:linear-gradient(90deg,#a78bfa,#f472b6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.pricing-subtitle{color:#f1f5f980;font-size:1rem}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:960px;margin:0 auto;display:grid}.pricing-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;flex-direction:column;padding:28px 24px 24px;transition:transform .2s,box-shadow .2s;display:flex;position:relative}.pricing-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #0000004d}.pricing-card--featured{background:#8b5cf61f;border-color:#8b5cf666;box-shadow:0 0 40px #8b5cf626}.pricing-card--current{border-color:#22c55e66;box-shadow:0 0 24px #22c55e1a}.pricing-badge,.pricing-current-badge{letter-spacing:.04em;white-space:nowrap;border-radius:20px;padding:4px 14px;font-size:.72rem;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-badge{color:#fff;background:linear-gradient(90deg,#a78bfa,#f472b6)}.pricing-current-badge{color:#fff;background:#22c55e}.pricing-card-header{margin-bottom:20px}.pricing-plan-name{color:#f1f5f9;margin-bottom:10px;font-size:1.2rem;font-weight:700}.pricing-price-row{align-items:baseline;gap:3px;display:flex}.pricing-currency{color:#a78bfa;font-size:1.1rem;font-weight:600}.pricing-price{color:#f1f5f9;font-size:2.4rem;font-weight:800;line-height:1}.pricing-interval{color:#f1f5f973;font-size:.85rem}.pricing-features{flex-direction:column;flex:1;gap:10px;margin:0 0 24px;padding:0;list-style:none;display:flex}.pricing-feature{color:#f1f5f9b3;align-items:flex-start;gap:10px;font-size:.88rem;line-height:1.45;display:flex}.pricing-check{color:#a78bfa;flex-shrink:0;margin-top:1px;font-weight:700}.pricing-card-footer{margin-top:auto}.pricing-btn{text-align:center;cursor:pointer;border:none;border-radius:8px;width:100%;padding:11px;font-size:.9rem;font-weight:600;transition:filter .15s,transform .1s;display:block}.pricing-btn:hover{filter:brightness(1.12);transform:translateY(-1px)}.pricing-btn:active{transform:translateY(0)}.pricing-btn:disabled{opacity:.6;cursor:default;transform:none}.pricing-btn--primary{color:#fff;background:linear-gradient(135deg,#a78bfa,#f472b6)}.pricing-btn--secondary{color:#f1f5f9;background:#ffffff12;border:1px solid #ffffff1f}.pricing-btn--current,.pricing-btn--free{color:#f1f5f966;cursor:default;pointer-events:none;background:0 0;border:1px solid #ffffff1a}.pricing-btn--manage{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e40}.pricing-note{text-align:center;color:#f1f5f94d;margin-top:28px;font-size:.78rem}.pricing-error{color:#fca5a5;text-align:center;background:#ef44441a;border:1px solid #ef444440;border-radius:8px;max-width:500px;margin:0 auto 24px;padding:12px 16px;font-size:.88rem}.theory-module-btn--locked{opacity:.5;cursor:not-allowed}.theory-mod-level--locked{background:linear-gradient(90deg,#a78bfa,#f472b6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;border-color:#0000;font-weight:700}.theory-locked-toast{color:#c4b5fd;font-size:.78rem;font-family:var(--font-editorial);background:#8b5cf626;border:1px solid #8b5cf64d;border-radius:8px;margin:4px 8px 12px;padding:8px 12px;line-height:1.4}.auth-forgot-desc{color:#503c2899;text-align:center;margin:0 0 16px;padding:0 2rem;font-size:.88rem;line-height:1.5}.auth-success{color:#166534;text-align:center;background:#22c55e1f;border:1px solid #22c55e66;border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:.85rem;line-height:1.4}.auth-link-btn{color:#503c2880;cursor:pointer;text-align:center;background:0 0;border:none;width:100%;padding:8px 0 0;font-size:.82rem;transition:color .2s}.auth-link-btn:hover{color:#503c28d9}.legal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1100;background:#0a0502b8;justify-content:center;align-items:center;padding:1.5rem 1rem;animation:.2s both fadeSlideIn;display:flex;position:fixed;inset:0}.legal-card{background:#faf7f0;border-radius:16px;flex-direction:column;width:100%;max-width:680px;max-height:88vh;display:flex;position:relative;overflow:hidden;box-shadow:0 32px 80px #0000008c,inset 0 0 0 1px #fff9}.legal-close{color:#503c2873;cursor:pointer;z-index:1;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1.1rem;line-height:1;transition:color .15s,background .15s;position:absolute;top:14px;right:16px}.legal-close:hover{color:#503c28e6;background:#503c2814}.legal-header{border-bottom:1px solid #c8c0b066;flex-shrink:0;padding:1.8rem 2.4rem 1.2rem}.legal-title{font-family:var(--font-display,serif);color:#2d1f0f;margin:0 0 4px;padding-right:2rem;font-size:1.35rem}.legal-updated{color:#503c2873;margin:0;font-size:.78rem}.legal-body{scroll-behavior:smooth;flex:1;padding:1.6rem 2.4rem;overflow-y:auto}.legal-body::-webkit-scrollbar{width:6px}.legal-body::-webkit-scrollbar-track{background:0 0}.legal-body::-webkit-scrollbar-thumb{background:#503c2833;border-radius:3px}.legal-section{margin-bottom:1.6rem}.legal-section-heading{letter-spacing:.06em;text-transform:uppercase;color:#503c2899;margin:0 0 8px;font-size:.82rem;font-weight:700}.legal-section-body{color:#2d1f0fd1;margin:0 0 6px;font-size:.875rem;line-height:1.7}.legal-footer{border-top:1px solid #c8c0b066;flex-shrink:0;justify-content:flex-end;padding:1rem 2.4rem 1.4rem;display:flex}.legal-accept-btn{background:var(--violet-light,#7c3aed);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 28px;font-size:.9rem;font-weight:600;transition:background .15s,transform .12s}.legal-accept-btn:hover{background:var(--violet,#6d28d9);transform:translateY(-1px)}.lp-footer-links button{color:inherit;font:inherit;cursor:pointer;text-underline-offset:3px;opacity:.7;background:0 0;border:none;padding:0;text-decoration:underline;transition:opacity .15s}.lp-footer-links button:hover{opacity:1}@media (max-width:768px){.lp-nav{padding:12px 16px}.lp-nav-links{display:none}.lp-nav-hamburger{display:block}.lp-nav-btn{display:none}.lp-hero-title{font-size:clamp(2.8rem,14vw,5rem)}.lp-hero-sub{padding:0 1rem;font-size:1rem}.lp-hero-cta{flex-direction:column;gap:12px}.lp-hero-cta-btn,.lp-hero-demo-btn{text-align:center;width:100%;max-width:320px}.lp-section{padding:60px 1rem}.lp-section-title{font-size:clamp(1.6rem,8vw,2.4rem)}.pricing-section{padding:48px 1rem}.desk-bg{align-items:stretch;padding:0 0 2rem}.notebook{border-radius:0;flex-direction:column;min-height:100vh;padding-top:56px}.nb-tab{writing-mode:horizontal-tb;text-orientation:mixed;letter-spacing:.03em;white-space:normal;text-align:center;height:56px;box-shadow:none;padding:0 3px;font-size:.52rem;line-height:1.2;border-radius:0!important;width:20%!important;position:absolute!important;top:0!important;right:auto!important}.nb-tab:hover:not(.active){transform:none}.nb-tab.active{transform:none;box-shadow:inset 0 -3px #00000026;right:auto!important}.nb-tab-1{left:0%;border-radius:0!important}.nb-tab-2{left:20%}.nb-tab-3{left:40%}.nb-tab-4{left:60%}.nb-tab-5{left:80%}.nb-tab-content{flex-direction:column}.nb-page{flex:none;min-height:auto;padding:1.5rem 1rem 2rem}.nb-page--left{border-bottom:2px solid #00000014;border-right:none;border-radius:0;flex:none;width:100%}.nb-page--right{border-radius:0;flex:1;width:100%}.nb-tab.active{background:var(--nb-paper)!important}.nb-tab-1.active,.nb-tab-2.active,.nb-tab-3.active,.nb-tab-4.active,.nb-tab-5.active{color:var(--nb-ink)}.nb-header{gap:8px;margin-bottom:1.2rem}.nb-clef{font-size:2rem}.nb-title{font-size:1.3rem}.nb-user-badge{gap:6px}.score-tabs{flex-wrap:wrap;gap:4px}.score-tab{padding:5px 10px;font-size:.72rem}.nb-page--theory-nav{min-height:unset;border-bottom:2px solid #00000014;flex-shrink:0;overflow:visible}.theory-sidebar--page{flex:none;max-height:62px;transition:max-height .28s;overflow:hidden}.theory-sidebar--page.theory-sidebar--mobile-open{max-height:320px;overflow-y:auto}.theory-module-list--collapsible{display:none}.theory-sidebar--mobile-open .theory-module-list--collapsible{display:block}.theory-sidebar-mobile-toggle{font-family:var(--font-handwritten);color:var(--nb-correction);border:1.5px solid var(--nb-correction);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-size:.82rem;font-weight:700;transition:background .12s;display:inline-flex}.theory-sidebar-mobile-toggle:hover{background:#b91c1c12}.nb-page--full-content .theory-layout{flex-direction:column}.auth-card{border-radius:12px;max-width:100%}.legal-card{max-height:96vh;padding:0}.legal-header{padding:1.2rem 1rem .6rem}.legal-body{padding:0 1rem 1rem}.legal-footer{padding:.8rem 1rem}}.verify-email-banner{color:#92400e;text-align:center;z-index:100;background:#fef3c7;border-bottom:2px solid #f59e0b;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:10px 20px;font-size:.85rem;display:flex;position:relative}.verify-email-banner strong{font-weight:700}.verify-email-banner__btn{color:#fff;cursor:pointer;white-space:nowrap;background:#d97706;border:none;border-radius:6px;padding:5px 14px;font-size:.8rem;font-weight:600;transition:background .15s}.verify-email-banner__btn:hover:not(:disabled){background:#b45309}.verify-email-banner__btn:disabled{opacity:.6;cursor:not-allowed}.verify-email-banner__sent{color:#065f46;font-weight:600}.nb-page--admin{background:#f5f5f7;grid-column:1/-1;min-height:100%;padding:0;overflow-y:auto}.user-menu{z-index:600;position:fixed;top:1rem;right:1.5rem}.user-menu__trigger{color:#e8e0d0;cursor:pointer;font-size:.78rem;font-weight:600;font-family:var(--font-editorial);letter-spacing:.02em;background:#1a1a2e;border:1px solid #ffffff1f;border-radius:24px;align-items:center;gap:7px;padding:6px 12px 6px 6px;transition:background .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #00000047}.user-menu__trigger:hover{background:#2d2b4a;box-shadow:0 3px 12px #00000061}.user-menu__avatar{color:#fff;letter-spacing:0;background:linear-gradient(135deg,#5b21b6,#9d174d);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.7rem;font-weight:800;display:flex}.user-menu__name{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.user-menu__chevron{opacity:.55;margin-left:1px;font-size:.6rem}.user-menu__dropdown{background:#1e1c2e;border:1px solid #ffffff1a;border-radius:12px;min-width:210px;animation:.15s umDropIn;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 32px #00000073}@keyframes umDropIn{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.user-menu__header{justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 12px;display:flex}.user-menu__header-name{font-family:var(--font-editorial);color:#e8e0d0;font-size:.88rem;font-style:italic;font-weight:700}.user-menu__plan-chip{font-family:var(--font-editorial);letter-spacing:.04em;cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid;border-radius:20px;padding:2px 9px;font-size:.68rem;font-weight:700;transition:opacity .15s}.user-menu__plan-chip:hover{opacity:.7}.user-menu__plan-chip--free{color:#d2c8b480}.user-menu__plan-chip--pro{color:#fde68a}.user-menu__plan-chip--conservatorio{color:#6ee7b7}.user-menu__divider{background:#ffffff12;height:1px;margin:0}.user-menu__row{color:#c8bfae;font-family:var(--font-editorial);justify-content:space-between;align-items:center;padding:11px 16px;font-size:.82rem;display:flex}.user-menu__row-label{font-style:italic}.user-menu__row--toggle{cursor:default}.user-menu__row--btn{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:flex-start;gap:8px;width:100%;transition:background .12s}.user-menu__row--btn:hover{color:#e8e0d0;background:#ffffff0f}.user-menu__row--btn.active{color:#c4b5fd}.user-menu__row--danger:hover{color:#fca5a5;background:#b91c1c26}.user-menu__row--contact{color:var(--text-secondary);letter-spacing:.01em;font-size:.78rem;text-decoration:none;display:block}.user-menu__row--contact:hover{color:var(--violet-dark);background:#8b5cf614}@media (max-width:768px){.user-menu{top:auto;bottom:1.2rem;right:1rem}.user-menu__name,.user-menu__chevron{display:none}.user-menu__trigger{border-radius:50%;padding:7px;box-shadow:0 3px 12px #00000073}.user-menu__avatar{width:36px;height:36px;font-size:.85rem}.user-menu__dropdown{top:auto;bottom:calc(100% + 8px);right:0}}:root{--adm-bg:#0d1117;--adm-surface:#161b22;--adm-surface2:#1c2128;--adm-border:#ffffff1a;--adm-text:#e6edf3;--adm-muted:#ffffff73;--adm-accent:#8b5cf6;--adm-accent2:#a78bfa}.adm-root{background:var(--adm-bg);min-height:100vh;color:var(--adm-text);font-family:Segoe UI,system-ui,sans-serif}.adm-root>:not(.adm-modal-overlay){max-width:1100px;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}.adm-header{border-bottom:1px solid var(--adm-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:1.5rem;padding:1.5rem 0 1rem;display:flex}.adm-title{color:var(--adm-text);margin:0;font-size:1.3rem;font-weight:700}.adm-tabs{gap:6px;display:flex}.adm-tab{border:1px solid var(--adm-border);background:var(--adm-surface);cursor:pointer;color:var(--adm-muted);border-radius:8px;padding:7px 18px;font-size:.85rem;font-weight:600;transition:all .15s}.adm-tab:hover{color:var(--adm-text);border-color:#ffffff40}.adm-tab.active{background:var(--adm-accent);color:#fff;border-color:var(--adm-accent)}.adm-btn{cursor:pointer;border:none;border-radius:7px;align-items:center;gap:5px;padding:7px 16px;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.adm-btn--primary{background:var(--adm-accent);color:#fff}.adm-btn--primary:hover:not(:disabled){background:#7c3aed}.adm-btn--secondary{background:var(--adm-surface2);color:var(--adm-text);border:1px solid var(--adm-border)}.adm-btn--secondary:hover:not(:disabled){border-color:#ffffff4d}.adm-btn--sm{color:var(--adm-accent2);background:#8b5cf633;border-radius:6px;padding:4px 10px;font-size:.78rem}.adm-btn--sm:hover{background:#8b5cf659}.adm-btn:disabled{opacity:.4;cursor:not-allowed}.adm-badge{letter-spacing:.02em;border-radius:99px;padding:2px 9px;font-size:.75rem;font-weight:700;display:inline-block}.adm-badge--free{color:#ffffff80;background:#ffffff14}.adm-badge--basico{color:#93c5fd;background:#3b82f633}.adm-badge--pro{color:#c4b5fd;background:#8b5cf633}.adm-badge--conservatorio{color:#fcd34d;background:#f59e0b33}.adm-badge--status-free{color:#ffffff73;background:#ffffff14}.adm-badge--status-active{color:#6ee7b7;background:#10b98133}.adm-badge--status-cancelled{color:#fca5a5;background:#ef444433}.adm-badge--status-past_due{color:#fcd34d;background:#f59e0b33}.adm-stat-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:2rem;display:grid}.adm-stat-card{background:var(--adm-surface);border:1px solid var(--adm-border);border-radius:12px;align-items:flex-start;gap:12px;padding:1rem 1.1rem;display:flex}.adm-stat-icon{font-size:1.5rem;line-height:1}.adm-stat-value{color:var(--adm-text);font-size:1.4rem;font-weight:800}.adm-stat-label{color:var(--adm-muted);margin-top:2px;font-size:.78rem;font-weight:600}.adm-stat-sub{color:#ffffff4d;margin-top:2px;font-size:.72rem}.adm-section{margin-bottom:2rem}.adm-section-title{color:var(--adm-accent2);text-transform:uppercase;letter-spacing:.06em;margin:0 0 .8rem;font-size:.8rem;font-weight:700}.adm-plan-dist{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.adm-plan-card{background:var(--adm-surface);border:1px solid var(--adm-border);border-radius:10px;flex-direction:column;gap:5px;padding:1rem;display:flex}.adm-plan-count{color:var(--adm-text);font-size:1.8rem;font-weight:800}.adm-plan-pct{color:var(--adm-muted);font-size:.8rem}.adm-plan-bar{background:#ffffff1a;border-radius:99px;height:5px;margin:4px 0;overflow:hidden}.adm-plan-bar-fill{background:var(--adm-accent);border-radius:99px;height:100%;transition:width .3s}.adm-plan-card--pro .adm-plan-bar-fill{background:#7c3aed}.adm-plan-card--basico .adm-plan-bar-fill{background:#2563eb}.adm-plan-card--conservatorio .adm-plan-bar-fill{background:#d97706}.adm-plan-status-mini{flex-direction:column;gap:2px;display:flex}.adm-plan-status-mini span{color:#ffffff4d;font-size:.7rem}.adm-table-wrap{border:1px solid var(--adm-border);border-radius:10px;overflow-x:auto}.adm-table{border-collapse:collapse;background:var(--adm-surface);width:100%;font-size:.83rem}.adm-table thead{background:var(--adm-surface2)}.adm-table th{text-align:left;color:var(--adm-accent2);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:10px 12px;font-size:.75rem;font-weight:700}.adm-table td{border-top:1px solid var(--adm-border);vertical-align:middle;color:var(--adm-text);padding:9px 12px}.adm-table tbody tr:hover{background:var(--adm-surface2)}.adm-td-id{color:var(--adm-muted);font-size:.75rem}.adm-table--users td:nth-child(2){text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.adm-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:.8rem;display:flex}.adm-input,.adm-select{border:1px solid var(--adm-border);color:var(--adm-text);background:var(--adm-surface);border-radius:7px;outline:none;padding:7px 12px;font-size:.83rem;transition:border-color .15s}.adm-input:focus,.adm-select:focus{border-color:var(--adm-accent)}.adm-input{min-width:220px}.adm-total-row{color:var(--adm-muted);margin-bottom:.6rem;font-size:.82rem}.adm-pagination{color:var(--adm-muted);justify-content:center;align-items:center;gap:16px;margin-top:1.2rem;font-size:.83rem;display:flex}.adm-loading{text-align:center;color:var(--adm-muted);padding:2rem}.adm-error{color:#fca5a5;padding:1rem}.adm-refresh-row{align-items:center;gap:12px;margin-bottom:1.2rem;display:flex}.adm-generated-at{color:var(--adm-muted);font-size:.75rem}.adm-msg{margin-top:6px;font-size:.82rem}.adm-modal-overlay{z-index:9000;background:#000000a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.adm-modal{background:var(--adm-surface);border:1px solid var(--adm-border);border-radius:16px;width:100%;max-width:560px;max-height:90vh;padding:2rem;position:relative;overflow-y:auto;box-shadow:0 24px 64px #0009}.adm-modal--wide{max-width:720px}.adm-modal-close{color:var(--adm-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1.1rem;position:absolute;top:14px;right:14px}.adm-modal-close:hover{color:var(--adm-text);background:#ffffff14}.adm-modal-header{border-bottom:1px solid var(--adm-border);align-items:flex-start;gap:14px;margin-bottom:1.2rem;padding-bottom:1rem;display:flex}.adm-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:48px;height:48px}.adm-avatar--placeholder{background:var(--adm-accent);color:#fff;justify-content:center;align-items:center;font-size:1.3rem;font-weight:700;display:flex}.adm-modal-header-text{flex:1;min-width:0}.adm-modal-name{color:var(--adm-text);flex-wrap:wrap;align-items:baseline;gap:6px;font-size:1.05rem;font-weight:700;display:flex}.adm-modal-username{color:var(--adm-muted);font-size:.82rem;font-weight:400}.adm-modal-email{color:var(--adm-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:.83rem;display:flex}.adm-modal-meta{color:#ffffff4d;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:.75rem;display:flex}.adm-badge--verified{color:#6ee7b7;background:#10b98133;border-radius:10px;padding:1px 7px;font-size:.7rem}.adm-badge--unverified{color:#fcd34d;background:#f59e0b33;border-radius:10px;padding:1px 7px;font-size:.7rem}.adm-modal-stats{flex-wrap:wrap;gap:12px;margin-bottom:1.2rem;display:flex}.adm-modal-stat{background:#8b5cf61f;border-radius:8px;flex-direction:column;align-items:center;min-width:80px;padding:10px 16px;display:flex}.adm-modal-stat-val{color:var(--adm-accent2);font-size:1.3rem;font-weight:800}.adm-modal-stat-lbl{color:var(--adm-muted);text-align:center;margin-top:2px;font-size:.68rem}.adm-modal-section{margin-bottom:1.2rem}.adm-modal-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--adm-accent2);margin-bottom:8px;font-size:.72rem;font-weight:700}.adm-plan-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.adm-stripe-links{flex-wrap:wrap;gap:8px;display:flex}.adm-fingerprint{color:var(--adm-muted);word-break:break-all;background:#ffffff0f;border-radius:6px;padding:5px 10px;font-family:monospace;font-size:.78rem}.adm-sessions-list{flex-direction:column;gap:.3rem;max-height:260px;display:flex;overflow-y:auto}.adm-session-row{background:#ffffff0a;border:1px solid #0000;border-radius:6px;align-items:center;gap:.75rem;padding:.4rem .6rem;font-size:.82rem;display:flex}.adm-session-row:hover{border-color:var(--adm-border);background:#ffffff12}.adm-session-date{color:var(--adm-text);font-variant-numeric:tabular-nums}.adm-session-ago{color:var(--adm-muted);font-size:.78rem}.adm-session-ip{color:#ffffff4d;margin-left:auto;font-family:monospace;font-size:.75rem}.adm-session-device{flex-shrink:0;font-size:1rem}.adm-back-link{color:var(--adm-muted);margin-bottom:.5rem;font-size:.82rem;text-decoration:none;transition:color .15s;display:inline-block}.adm-back-link:hover{color:var(--adm-text)}.adm-modal-kpi-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:1.4rem;display:grid}.adm-kpi{background:#8b5cf61f;border:1px solid #8b5cf633;border-radius:10px;flex-direction:column;align-items:center;padding:10px 8px;display:flex}.adm-kpi-val{color:var(--adm-accent2);font-size:1.35rem;font-weight:800;line-height:1}.adm-kpi-lbl{color:var(--adm-muted);text-align:center;margin-top:4px;font-size:.65rem;line-height:1.25}.adm-modal-sections{grid-template-columns:1fr 1fr;gap:0 1.5rem;display:grid}.adm-info-row{border-bottom:1px solid var(--adm-border);justify-content:space-between;align-items:flex-start;gap:8px;padding:5px 0;font-size:.8rem;display:flex}.adm-info-row:last-child{border-bottom:none}.adm-info-label{color:var(--adm-muted);white-space:nowrap;flex-shrink:0;font-size:.75rem}.adm-info-value{color:var(--adm-text);text-align:right;word-break:break-all}.adm-info-value--mono{font-family:monospace;font-size:.73rem}.adm-link{color:#7c3aed;text-underline-offset:2px;text-decoration:underline}.adm-link:hover{color:#4c1d95}.adm-newsletter{max-width:780px;padding:1.5rem}.adm-nl-field{flex-direction:column;gap:6px;margin-bottom:1.25rem;display:flex}.adm-nl-label{text-transform:uppercase;letter-spacing:.07em;color:#6b7280;font-size:.75rem;font-weight:700}.adm-nl-input,.adm-nl-select{color:#1a1a2e;background:#fff;border:1px solid #e5e7eb;border-radius:8px;outline:none;padding:.55rem .75rem;font-size:.9rem;transition:border-color .15s}.adm-nl-input:focus,.adm-nl-select:focus{border-color:#8b5cf6}.adm-nl-textarea{color:#1a1a2e;resize:vertical;background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;outline:none;padding:.65rem .75rem;font-family:monospace;font-size:.82rem;transition:border-color .15s}.adm-nl-textarea:focus{border-color:#8b5cf6}.adm-nl-preview{color:#1a1a2e;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-height:120px;padding:1.25rem 1.5rem;font-size:.9rem;line-height:1.6}.adm-nl-send{margin-top:.5rem}.adm-nl-confirm{color:#78350f;background:#fef3c7;border:1px solid #fbbf24;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.5rem;padding:1rem 1.25rem;font-size:.9rem;display:flex}.adm-nl-result{border-radius:8px;margin-bottom:1rem;padding:.85rem 1.1rem;font-size:.9rem}.adm-nl-result--ok{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.adm-nl-result--err{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.adm-nl-hint{color:#9ca3af;margin-top:2px;font-size:.75rem}.cookie-banner{z-index:9999;-webkit-backdrop-filter:blur(12px);background:#141026f5;border:1px solid #8b5cf64d;border-radius:16px;align-items:center;gap:16px;width:min(720px,100vw - 32px);padding:16px 20px;animation:.35s cookieFadeIn;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000073,0 0 0 1px #ffffff0a}@keyframes cookieFadeIn{0%{opacity:0;transform:translate(-50%)translateY(16px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.cookie-banner__icon{flex-shrink:0;font-size:1.6rem;line-height:1}.cookie-banner__content{flex:1;min-width:0}.cookie-banner__title{color:#e5e7eb;letter-spacing:.01em;margin:0 0 2px;font-size:.85rem;font-weight:700}.cookie-banner__desc{color:#9ca3af;margin:0;font-size:.78rem;line-height:1.5}.cookie-banner__link{color:#a78bfa;font-size:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline;transition:color .15s}.cookie-banner__link:hover{color:#c4b5fd}.cookie-banner__actions{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.cookie-banner__btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:8px 18px;font-size:.78rem;font-weight:600;transition:opacity .15s,transform .1s}.cookie-banner__btn:hover{opacity:.88;transform:translateY(-1px)}.cookie-banner__btn:active{transform:translateY(0)}.cookie-banner__btn--primary{color:#fff;background:linear-gradient(135deg,#7c3aed,#5b21b6);box-shadow:0 2px 8px #5b21b666}.cookie-banner__btn--secondary{color:#d1d5db;background:#ffffff14;border:1px solid #ffffff1f}.cookie-banner__btn--secondary:hover{background:#ffffff21}@media (max-width:600px){.cookie-banner{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 16px;bottom:16px}.cookie-banner__actions{flex-direction:row;width:100%}.cookie-banner__btn{text-align:center;flex:1}}.cifrado-panel{border-top:1.5px dashed #1a1a2e26;margin-top:12px;padding-top:10px}.cifrado-panel__header{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.cifrado-panel__label{font-family:var(--font-editorial);color:var(--nb-ink);letter-spacing:.01em;font-size:.82rem;font-weight:700}.cifrado-panel__hint{font-family:var(--font-handwritten);color:var(--text-muted);font-size:.78rem}.cifrado-panel__notice{font-family:var(--font-handwritten);color:#7a5500;background:#f5a6231f;border-left:3px solid #f5a623;border-radius:4px;margin:6px 0 4px;padding:6px 10px;font-size:.8rem;line-height:1.4}.cifrado-panel__scroll{flex-wrap:wrap;gap:6px 10px;padding-bottom:4px;display:flex}.cifrado-panel__measure{background:#1a1a2e08;border:1px solid #1a1a2e1a;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:6px 8px;display:flex}.cifrado-panel__mnum{font-family:var(--font-handwritten);color:#1a1a2e73;font-size:.7rem;font-weight:700;line-height:1}.cifrado-panel__beats{flex-direction:row;gap:5px;display:flex}.cifrado-chip{flex-direction:column;align-items:center;gap:2px;display:flex}.cifrado-chip__beat{font-family:var(--font-handwritten);color:#1a1a2e59;font-size:.62rem;line-height:1}.cifrado-chip__input{width:46px;font-family:var(--font-handwritten);text-align:center;color:var(--nb-ink);background:#faf7f0;border:1.5px solid #1a1a2e38;border-radius:3px;outline:none;padding:4px 3px;font-size:1rem;font-weight:700;transition:border-color .15s,box-shadow .15s}.cifrado-chip__input:focus{border-color:var(--violet);box-shadow:0 0 0 2px #5b21b61f}.cifrado-chip--wrong .cifrado-chip__input{color:#b91c1c;background:#fef2f2;border-color:#b91c1c}.cifrado-chip--ok .cifrado-chip__input{color:#166534;background:#f0fdf4;border-color:#166534}.cifrado-chip__answer{font-family:var(--font-handwritten);white-space:nowrap;font-size:.75rem;line-height:1}.cifrado-chip__answer--wrong{color:#b91c1c;font-weight:700}.cifrado-chip__answer--ok{color:#166534;font-weight:700}.nb-stamp-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.nb-history-btn{cursor:pointer;border-radius:6px;padding:6px 14px;font-size:.78rem}.score-tab--pdf{opacity:.85;margin-left:auto;font-size:.76rem}.score-tab--pdf:hover{opacity:1}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:3000;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.history-modal{background:#fefce8;border:1.5px solid #d4c9a8;border-radius:12px;flex-direction:column;width:min(860px,96vw);max-height:80vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000047}.history-modal__header{background:#f5f0e4;border-bottom:1.5px solid #d4c9a8;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px 12px;display:flex}.history-modal__title{font-family:var(--font-handwritten,Georgia, serif);color:#3a3025;font-size:1.05rem;font-weight:600}.history-modal__close{cursor:pointer;color:#6b5d4f;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:1.1rem;line-height:1}.history-modal__close:hover{background:#e5dfc8}.history-modal__body{flex:1;padding:16px 20px 20px;overflow-y:auto}.history-modal__status{font-family:var(--font-handwritten,Georgia, serif);color:#6b5d4f;text-align:center;padding:24px 0;font-size:.92rem}.history-modal__status--error{color:#b91c1c}.history-table{border-collapse:collapse;width:100%;font-family:var(--font-handwritten,Georgia, serif);color:#3a3025;font-size:.84rem}.history-table th{text-align:left;color:#6b5d4f;white-space:nowrap;border-bottom:2px solid #d4c9a8;padding:6px 10px;font-size:.78rem;font-weight:700}.history-table td{vertical-align:middle;border-bottom:1px solid #ede8d5;padding:7px 10px}.history-table tr:last-child td{border-bottom:none}.history-table tr:hover td{background:#f5f0e4}.history-table__date{white-space:nowrap;color:#6b5d4f;font-size:.8rem}.history-table__file{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.history-table__errors--bad{color:#b91c1c;font-weight:700}.history-table__errors--ok{color:#166534;font-weight:700}.history-table__actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.history-btn{cursor:pointer;border:none;border-radius:5px;padding:4px 10px;font-family:inherit;font-size:.78rem;transition:background .15s}.history-btn--load{color:#fff;background:#2563eb}.history-btn--load:hover:not(:disabled){background:#1d4ed8}.history-btn--delete{color:#b91c1c;background:#fee2e2}.history-btn--delete:hover:not(:disabled){background:#fecaca}.history-btn:disabled{opacity:.5;cursor:default}.playback-bar{background:#1a1a2e0f;border:1px solid #1a1a2e1f;border-radius:999px;flex-shrink:0;align-items:center;gap:.55rem;margin-left:auto;padding:.28rem .65rem .28rem .5rem;display:flex}.playback-btn{background:var(--nb-ink);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.85rem;height:1.85rem;transition:transform .14s,background .14s,box-shadow .14s;display:flex;box-shadow:0 1px 4px #00000040}.playback-btn:hover:not(:disabled){transform:scale(1.1);box-shadow:0 2px 8px #0000004d}.playback-btn:active:not(:disabled){transform:scale(.93)}.playback-btn--loading{opacity:.55;cursor:wait}.playback-btn--playing{background:#c0392b}@keyframes pb-spin{to{transform:rotate(360deg)}}.pb-spin{animation:.9s linear infinite pb-spin}.playback-tempo-label{font-family:var(--font-editorial);color:var(--nb-ink);white-space:nowrap;font-variant-numeric:tabular-nums;opacity:.75;min-width:2.8rem;font-size:.68rem}.playback-tempo-slider{width:68px;accent-color:var(--nb-ink);cursor:pointer;opacity:.8}.playback-tempo-slider:hover{opacity:1}.osmd-cursor-img,img[class*=cursor]{mix-blend-mode:multiply;transition:left 80ms linear;opacity:.55!important;pointer-events:none!important}.tc-root{color:#f0ede4;background:#0d0f1a;flex-direction:column;min-height:100vh;font-family:Inter,sans-serif;display:flex;overflow-x:hidden}.tc-topnav{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d0f1af2;border-bottom:1px solid #f5a62326;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.tc-topnav-back{color:#f5a623;cursor:pointer;background:0 0;border:1px solid #f5a6234d;border-radius:6px;padding:.3rem .85rem;font-size:.82rem;transition:background .15s,color .15s}.tc-topnav-back:hover{color:#fbbf24;background:#f5a6231f}.tc-topnav-title{color:#f0ede4b3;letter-spacing:.03em;font-size:.95rem;font-weight:600}.tc-hero{text-align:center;padding:3rem 1.5rem 1.5rem}.tc-hero-title{color:#f5a623;letter-spacing:-.01em;margin:0 0 .75rem;font-family:Libre Baskerville,Georgia,serif;font-size:clamp(1.6rem,4vw,2.5rem);font-weight:700}.tc-hero-sub{color:#f0ede4a6;max-width:560px;margin:0 auto;font-size:1rem;line-height:1.6}.tc-controls-bar{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d0f1af7;border-bottom:1px solid #f5a6231f;position:sticky;top:49px}.tc-controls-summary{display:none}.tc-controls-inner{flex-wrap:wrap;align-items:flex-start;gap:1.5rem;max-width:1280px;margin:0 auto;padding:1rem 1.5rem;display:flex}@media (max-width:700px){.tc-controls-summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem 1rem;display:flex}.tc-controls-summary-info{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.tc-controls-summary .tc-selection-key{font-size:.9rem}.tc-controls-summary .tc-selection-scale{font-size:.72rem}.tc-controls-summary .tc-selection-voicing{font-size:.68rem}.tc-controls-toggle-icon{color:#f5a623b3;white-space:nowrap;flex-shrink:0;font-size:.7rem}.tc-controls-inner{border-top:1px solid #f5a6231a;gap:1rem;padding:.75rem 1rem 1rem;display:none}.tc-controls-bar--open .tc-controls-inner{display:flex}}.tc-control-group{flex-direction:column;gap:.5rem;display:flex}.tc-label{text-transform:uppercase;letter-spacing:.1em;color:#f0ede473;font-size:.7rem;font-weight:700}.tc-tonic-grid{flex-wrap:wrap;gap:5px;display:flex}.tc-tonic-btn{color:#f0ede4bf;cursor:pointer;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;padding:.3rem .65rem;font-size:.78rem;transition:all .15s}.tc-tonic-btn:hover{color:#f5a623;background:#f5a62326;border-color:#f5a62366}.tc-tonic-btn--active{color:#f5a623;background:#f5a62333;border-color:#f5a623;font-weight:700;box-shadow:0 0 12px #f5a62340}.tc-scale-btns{flex-wrap:wrap;gap:5px;display:flex}.tc-scale-btn{color:#f0ede4bf;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;padding:.3rem .75rem;font-size:.78rem;transition:all .15s}.tc-scale-btn:hover{color:#00d4aa;background:#00d4aa1a;border-color:#00d4aa66}.tc-scale-btn--active{color:#00d4aa;background:#00d4aa26;border-color:#00d4aa;font-weight:700;box-shadow:0 0 12px #00d4aa33}.tc-voicing-toggle{gap:5px;display:flex}.tc-voicing-btn{color:#f0ede4bf;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;padding:.3rem .85rem;font-size:.78rem;transition:all .15s}.tc-voicing-btn:hover{color:#a78bfa;background:#8b5cf61f;border-color:#8b5cf666}.tc-voicing-btn--active{color:#a78bfa;background:#8b5cf62e;border-color:#8b5cf6;font-weight:700;box-shadow:0 0 12px #8b5cf633}.tc-selection-label{box-sizing:border-box;align-items:center;gap:.6rem;width:100%;max-width:1280px;margin:0 auto;padding:.5rem 1.5rem;display:flex}@media (max-width:700px){.tc-selection-label{display:none}}.tc-selection-key{color:#f5a623;font-family:Libre Baskerville,Georgia,serif;font-size:1.15rem;font-weight:700}.tc-selection-scale{color:#00d4aa;font-size:.88rem}.tc-selection-voicing{color:#f0ede466;background:#ffffff0d;border-radius:10px;padding:2px 8px;font-size:.78rem}.tc-main{box-sizing:border-box;flex:1;width:100%;max-width:1280px;margin:0 auto;padding:0 1rem 2rem}.tc-play-all-row{justify-content:flex-end;margin-bottom:1rem;padding:0 .25rem;display:flex}.tc-play-all-btn{color:#00d4aa;cursor:pointer;background:#00d4aa1a;border:1px solid #00d4aa59;border-radius:8px;padding:.45rem 1.1rem;font-size:.82rem;transition:all .15s}.tc-play-all-btn:hover:not(:disabled){background:#00d4aa33;box-shadow:0 0 16px #00d4aa33}.tc-play-all-btn--active,.tc-play-all-btn:disabled{opacity:.7;cursor:default}.tc-cards-grid{grid-template-columns:repeat(7,1fr);gap:10px;display:grid}@media (max-width:1100px){.tc-cards-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:700px){.tc-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:400px){.tc-cards-grid{grid-template-columns:1fr}}.tc-card{cursor:default;background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem .85rem;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:flex;position:relative}.tc-card:hover{background:#ffffff12;border-color:#f5a62340;transform:translateY(-3px);box-shadow:0 8px 32px #0006}.tc-card--major{border-color:#f5a62333}.tc-card--minor{border-color:#60a5fa33}.tc-card--dim{border-color:#fb923c33}.tc-card--aug{border-color:#a78bfa33}.tc-card--dom7{border-color:#f9731640}.tc-card--playing{animation:.6s ease-out tc-pulse;border-color:#00d4aa!important;box-shadow:0 0 0 2px #00d4aa4d,0 8px 32px #00d4aa33!important}@keyframes tc-pulse{0%{box-shadow:0 0 #00d4aa80}70%{box-shadow:0 0 0 12px #00d4aa00}to{box-shadow:0 0 #00d4aa00}}.tc-card-header{justify-content:space-between;align-items:baseline;display:flex}.tc-card-roman{color:#f5a623;font-family:Libre Baskerville,Georgia,serif;font-size:1.3rem;font-weight:700;line-height:1}.tc-card-fn{letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.tc-card-symbol{flex-direction:column;gap:1px;display:flex}.tc-card-symbol-en{color:#f0ede4;font-size:1rem;font-weight:700;line-height:1.2}.tc-card-symbol-es{color:#f0ede480;font-size:.78rem}.tc-card-root{flex-direction:column;gap:1px;display:flex}.tc-card-root-label{text-transform:uppercase;letter-spacing:.08em;color:#f0ede459;font-size:.62rem}.tc-card-root-notes{color:#f0ede4cc;font-size:.82rem}.tc-card-root-notes b{color:#f0ede4}.tc-card-notes{flex-direction:column;gap:1px;display:flex}.tc-card-notes-label{text-transform:uppercase;letter-spacing:.08em;color:#f0ede459;font-size:.62rem}.tc-card-notes-es{color:#f0ede4d9;overflow-wrap:break-word;font-size:.78rem;font-weight:600}.tc-card-notes-en{color:#f0ede473;overflow-wrap:break-word;font-size:.72rem}.tc-card-degreename{color:#f0ede466;font-size:.72rem;font-style:italic}.tc-quality-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:8px;padding:2px 7px;font-size:.65rem;font-weight:700;display:inline-block}.tc-quality-badge--major,.tc-quality-badge--maj7{color:#f5a623;background:#f5a62326}.tc-quality-badge--minor,.tc-quality-badge--m7,.tc-quality-badge--mMaj7{color:#60a5fa;background:#60a5fa26}.tc-quality-badge--diminished,.tc-quality-badge--m7b5,.tc-quality-badge--dim7{color:#fb923c;background:#fb923c26}.tc-quality-badge--augmented,.tc-quality-badge--augMaj7{color:#a78bfa;background:#a78bfa26}.tc-quality-badge--dom7{color:#f97316;background:#f9731626}.tc-play-btn{color:#00d4aa;cursor:pointer;opacity:0;background:#00d4aa26;border:1px solid #00d4aa66;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;transition:opacity .18s,transform .18s,background .15s;display:flex;position:absolute;bottom:.65rem;right:.65rem}.tc-play-btn--visible,.tc-card:hover .tc-play-btn{opacity:1}.tc-play-btn:hover{background:#00d4aa47;transform:scale(1.12)}.tc-play-btn--playing{opacity:1;background:#00d4aa4d;animation:.8s linear infinite tc-spin}@keyframes tc-spin{0%{transform:rotate(0)scale(1.1)}to{transform:rotate(360deg)scale(1.1)}}.tc-table-wrapper{width:100%}.tc-cta{box-sizing:border-box;width:100%;max-width:1280px;margin:1rem auto;padding:0 1rem}.tc-cta-inner{background:linear-gradient(135deg,#8b5cf61f 0%,#f5a62314 100%);border:1px solid #8b5cf64d;border-radius:14px;flex-wrap:wrap;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;display:flex}.tc-cta-icon{flex-shrink:0;font-size:2rem}.tc-cta-text{flex:1;min-width:200px}.tc-cta-title{color:#f0ede4;margin:0 0 .35rem;font-size:1rem;font-weight:700}.tc-cta-desc{color:#f0ede499;margin:0;font-size:.85rem;line-height:1.5}.tc-cta-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#8b5cf6 0%,#6d28d9 100%);border:none;border-radius:8px;flex-shrink:0;padding:.65rem 1.4rem;font-size:.88rem;font-weight:700;transition:opacity .15s,transform .15s}.tc-cta-btn:hover{opacity:.88;transform:translateY(-1px)}.tc-seo-content{border-top:1px solid #ffffff12;max-width:860px;margin:2rem auto 1rem;padding:0 1.5rem}.tc-seo-title{color:#f5a623;margin:1.5rem 0 .75rem;font-family:Libre Baskerville,Georgia,serif;font-size:1.3rem;font-weight:700}.tc-seo-subtitle{color:#f0ede4d9;margin:1.25rem 0 .5rem;font-family:Libre Baskerville,Georgia,serif;font-size:1.05rem}.tc-seo-body p{color:#f0ede4a6;margin:0 0 .85rem;font-size:.9rem;line-height:1.75}.tc-seo-body strong{color:#f0ede4e6}.tc-footer{text-align:center;color:#f0ede44d;border-top:1px solid #ffffff0d;margin-top:2rem;padding:1.5rem;font-size:.78rem}.tc-footer-link{color:#f5a62399;text-decoration:none}.tc-footer-link:hover{color:#f5a623}.cad-root{color:#f0ede4;background:#0d0f1a;flex-direction:column;min-height:100vh;font-family:Inter,sans-serif;display:flex}.cad-hero{text-align:center;padding:3rem 1.5rem 1.5rem}.cad-hero-title{color:#f5a623;letter-spacing:-.01em;margin:0 0 .75rem;font-family:Libre Baskerville,Georgia,serif;font-size:clamp(1.6rem,4vw,2.5rem);font-weight:700}.cad-hero-sub{color:#f0ede4a6;max-width:600px;margin:0 auto;font-size:1rem;line-height:1.6}.cad-mode-tabs{border-bottom:1px solid #f5a6231a;justify-content:center;gap:.75rem;padding:1rem 1.5rem;display:flex}.cad-mode-tab{color:#f0ede4b3;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;padding:.6rem 2rem;font-size:1rem;font-weight:600;transition:all .18s}.cad-mode-tab:hover{color:#f5a623;background:#f5a6231a;border-color:#f5a6234d}.cad-mode-tab--active{color:#f5a623;background:#f5a6232e;border-color:#f5a623;box-shadow:0 0 16px #f5a62333}.cad-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem}.cad-reference-layout{grid-template-columns:280px 1fr;align-items:start;gap:1.5rem;display:grid}.cad-cadence-list{background:#ffffff08;border:1px solid #ffffff12;border-radius:12px;padding:1rem;position:sticky;top:65px}.cad-cadence-group{margin-bottom:1rem}.cad-cadence-group:last-child{margin-bottom:0}.cad-cadence-group-label{text-transform:uppercase;letter-spacing:.1em;margin-bottom:.4rem;padding:0 .25rem;font-size:.68rem;font-weight:700}.cad-cadence-item{color:#f0ede4a6;cursor:pointer;text-align:left;background:0 0;border:none;border-left:2px solid #0000;border-radius:0 6px 6px 0;flex-direction:column;align-items:flex-start;width:100%;margin-bottom:2px;padding:.5rem .75rem;transition:all .15s;display:flex}.cad-cadence-item:hover{color:#f0ede4;background:#ffffff0d;border-left-color:#f5a62366}.cad-cadence-item--active{color:#f5a623;background:#f5a62314;border-left-width:3px}.cad-cadence-item-name{font-size:.88rem;font-weight:600;line-height:1.3}.cad-cadence-item-formula{color:#f0ede466;font-family:Courier New,monospace;font-size:.72rem}.cad-cadence-item--active .cad-cadence-item-formula{color:#f5a62399}.cad-detail-panel{background:#ffffff08;border:1px solid #ffffff12;border-radius:12px;min-height:400px;padding:1.75rem}.cad-detail-header{margin-bottom:1.25rem}.cad-detail-name{color:#f5a623;margin:0 0 .2rem;font-family:Libre Baskerville,Georgia,serif;font-size:1.5rem;font-weight:700}.cad-detail-name-en{color:#f0ede466;margin:0 0 .85rem;font-size:.82rem}.cad-detail-badges{flex-wrap:wrap;gap:.5rem;display:flex}.cad-formula-badge{color:#f5a623;letter-spacing:.05em;background:#f5a62326;border:1px solid #f5a62366;border-radius:999px;padding:.25rem .75rem;font-family:Courier New,monospace;font-size:.85rem;font-weight:700}.cad-category-badge{border:1px solid #0000;border-radius:999px;padding:.25rem .7rem;font-size:.78rem;font-weight:600}.cad-feeling-badge{color:#f0ede4a6;background:#ffffff12;border:1px solid #ffffff1a;border-radius:999px;padding:.25rem .7rem;font-size:.78rem}.cad-difficulty-badge{color:#5eead4;background:#5eead414;border:1px solid #5eead440;border-radius:999px;padding:.25rem .7rem;font-size:.78rem;font-weight:600}.cad-detail-description{color:#f0ede4bf;margin:0 0 1.5rem;font-size:.95rem;line-height:1.7}.cad-detail-section-title{text-transform:uppercase;letter-spacing:.1em;color:#f0ede459;margin-bottom:.6rem;font-size:.7rem;font-weight:700}.cad-detail-variants{margin-bottom:1.5rem}.cad-variants-list{margin:0;padding:0;list-style:none}.cad-variants-list li{color:#f0ede4a6;padding:.35rem 0 .35rem 1.25rem;font-size:.88rem;line-height:1.5;position:relative}.cad-variants-list li:before{content:"→";color:#f5a62380;position:absolute;left:0}.cad-detail-playback{border-top:1px solid #ffffff12;padding-top:1.25rem}.cad-minor-toggle{gap:.5rem;margin-bottom:1rem;display:flex}.cad-mode-toggle-btn{color:#f0ede48c;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;padding:.3rem 1rem;font-size:.82rem;transition:all .15s}.cad-mode-toggle-btn:hover{color:#00d4aa;background:#00d4aa14;border-color:#00d4aa4d}.cad-mode-toggle-btn.active{color:#00d4aa;background:#00d4aa26;border-color:#00d4aa;font-weight:700}.cad-minor-note{color:#a78bfabf;background:#a78bfa14;border:1px solid #a78bfa33;border-radius:6px;margin-bottom:1rem;padding:.4rem .75rem;font-size:.82rem}.cad-play-btn{color:#5eead4;cursor:pointer;background:#0f766e33;border:1px solid #0f766e80;border-radius:8px;align-items:center;gap:.6rem;margin:1rem 0 .5rem;padding:.65rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .18s;display:flex}.cad-play-btn:hover:not(:disabled){background:#0f766e59;border-color:#5eead4;box-shadow:0 0 18px #5eead440}.cad-play-btn:disabled{opacity:.65;cursor:not-allowed}.cad-play-btn--playing{background:#0f766e4d;border-color:#5eead4}.cad-play-btn-icon{font-size:1rem}.cad-play-btn-icon--pulse{animation:.8s ease-in-out infinite pulse;display:inline-block}.cad-play-hint{color:#f0ede44d;margin:.25rem 0 0;font-size:.75rem}.cad-detail-empty{color:#f0ede44d;justify-content:center;align-items:center;min-height:300px;font-size:.95rem;display:flex}.cad-quiz-container{max-width:680px;margin:0 auto}.cad-quiz-setup{background:#ffffff08;border:1px solid #ffffff12;border-radius:14px;padding:2rem}.cad-quiz-setup-title{color:#f5a623;margin:0 0 1.75rem;font-family:Libre Baskerville,Georgia,serif;font-size:1.35rem}.cad-quiz-option-group{margin-bottom:1.5rem}.cad-quiz-option-label{text-transform:uppercase;letter-spacing:.1em;color:#f0ede466;margin-bottom:.5rem;font-size:.7rem;font-weight:700}.cad-quiz-option-btns{flex-wrap:wrap;gap:.5rem;display:flex}.cad-diff-btn{color:#f0ede4b3;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:7px;padding:.45rem 1.25rem;font-size:.88rem;transition:all .15s}.cad-diff-btn:hover{color:#f5a623;background:#f5a6231a;border-color:#f5a62359}.cad-diff-btn.active{color:#f5a623;background:#f5a6232e;border-color:#f5a623;font-weight:700}.cad-quiz-option-hint{color:#f0ede466;margin:.4rem 0 0;font-size:.8rem;line-height:1.5}.cad-start-btn{color:#f5a623;cursor:pointer;text-align:center;background:linear-gradient(135deg,#f5a62340,#f5a62326);border:1px solid #f5a62380;border-radius:10px;width:100%;margin-top:.5rem;padding:.85rem 2rem;font-size:1rem;font-weight:700;transition:all .18s;display:block}.cad-start-btn:hover{background:linear-gradient(135deg,#f5a62359,#f5a62338);box-shadow:0 0 20px #f5a62340}.cad-progress-wrapper{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.cad-progress-bar{background:#ffffff12;border-radius:999px;flex:1;height:6px;overflow:hidden}.cad-progress-fill{background:linear-gradient(90deg,#f5a623,#fbbf24);border-radius:999px;height:100%;transition:width .35s}.cad-progress-label{color:#f0ede466;white-space:nowrap;font-size:.8rem}.cad-question-card{text-align:center;background:#ffffff08;border:1px solid #ffffff14;border-radius:14px;margin-bottom:1rem;padding:1.5rem;position:relative}.cad-streak-badge{color:#fbbf24;background:#fbbf241f;border:1px solid #fbbf244d;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:700;position:absolute;top:.75rem;right:.75rem}.cad-question-mode-label{color:#f0ede466;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem;font-size:.78rem}.cad-question-formula-display{color:#f5a623;letter-spacing:.05em;margin:.5rem 0 1rem;font-family:Libre Baskerville,Georgia,serif;font-size:clamp(2rem,8vw,3.5rem);font-weight:700}.cad-question-tonic{color:#f0ede480;margin-bottom:.75rem;font-size:.85rem}.cad-question-tonic strong{color:#f0ede4cc}.cad-play-btn--quiz{justify-content:center;margin:.5rem auto}.cad-answers-grid{grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:1rem;display:grid}.cad-answer-btn{color:#f0ede4cc;cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;align-items:flex-start;padding:.85rem 1rem;font-size:.88rem;transition:all .15s;display:flex}.cad-answer-btn:hover:not(:disabled){color:#f5a623;background:#f5a6231a;border-color:#f5a62359}.cad-answer-btn:disabled{cursor:not-allowed}.cad-answer-btn-name{margin-bottom:.15rem;font-size:.9rem;font-weight:600;line-height:1.3}.cad-answer-btn-formula{color:#f0ede459;font-family:Courier New,monospace;font-size:.72rem}.cad-answer-btn--correct{box-shadow:0 0 14px #4ade8033;color:#4ade80!important;background:#4ade801f!important;border-color:#4ade80!important}.cad-answer-btn--correct .cad-answer-btn-formula{color:#4ade8080!important}.cad-answer-btn--wrong{color:#f87171!important;background:#f871711a!important;border-color:#f87171!important}.cad-answer-btn--wrong .cad-answer-btn-formula{color:#f8717166!important}.cad-feedback-panel{border:1px solid;border-radius:12px;flex-direction:column;gap:.6rem;margin-bottom:1rem;padding:1.25rem 1.5rem;display:flex}.cad-feedback-panel--correct{background:#4ade8012;border-color:#4ade804d}.cad-feedback-panel--wrong{background:#f8717112;border-color:#f871714d}.cad-feedback-icon{font-size:1.5rem;font-weight:700}.cad-feedback-panel--correct .cad-feedback-icon{color:#4ade80}.cad-feedback-panel--wrong .cad-feedback-icon{color:#f87171}.cad-feedback-text{color:#f0ede4d9;font-size:.95rem}.cad-feedback-desc{color:#f0ede48c;margin:0;font-size:.85rem;line-height:1.6}.cad-next-btn{color:#f5a623;cursor:pointer;background:#f5a6232e;border:1px solid #f5a62373;border-radius:7px;align-self:flex-end;margin-top:.25rem;padding:.5rem 1.5rem;font-size:.9rem;font-weight:700;transition:all .15s}.cad-next-btn:hover{background:#f5a62347;box-shadow:0 0 14px #f5a62333}.cad-results{flex-direction:column;align-items:center;gap:1.25rem;padding:1.5rem 0;display:flex}.cad-results-score-circle{background:#f5a62314;border:4px solid #f5a623;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:130px;height:130px;display:flex;box-shadow:0 0 30px #f5a62333}.cad-results-pct{color:#f5a623;font-size:2rem;font-weight:700;line-height:1}.cad-results-fraction{color:#f0ede473;font-size:.82rem}.cad-results-label{color:#f0ede4bf;text-align:center;margin:0;font-size:1rem}.cad-results-stats{gap:2.5rem;display:flex}.cad-results-stat{flex-direction:column;align-items:center;gap:.15rem;display:flex}.cad-results-stat-value{color:#f5a623;font-size:1.5rem;font-weight:700}.cad-results-stat-name{text-transform:uppercase;letter-spacing:.08em;color:#f0ede459;font-size:.72rem}.cad-results-review{background:#ffffff08;border:1px solid #ffffff12;border-radius:12px;width:100%;padding:1rem 1.25rem}.cad-results-review-title{text-transform:uppercase;letter-spacing:.1em;color:#f0ede459;margin-bottom:.75rem;font-size:.7rem;font-weight:700}.cad-results-review-item{border-bottom:1px solid #ffffff0a;align-items:flex-start;gap:.5rem;padding:.4rem 0;font-size:.85rem;display:flex}.cad-results-review-item:last-child{border-bottom:none}.cad-results-review-num{color:#f0ede44d;flex-shrink:0}.cad-results-review-icon{flex-shrink:0;font-weight:700}.cad-results-review-item.correct .cad-results-review-icon{color:#4ade80}.cad-results-review-item.wrong .cad-results-review-icon{color:#f87171}.cad-results-review-text{color:#f0ede4b3;line-height:1.5}.cad-results-review-text strong{color:#f5a623}.cad-results-review-text em{color:#f0ede480;font-style:italic}.cad-results-actions{flex-direction:column;gap:.6rem;width:100%;display:flex}.cad-restart-btn{color:#f0ede480;cursor:pointer;text-align:center;background:0 0;border:1px solid #ffffff1f;border-radius:8px;padding:.6rem 1.5rem;font-size:.88rem;transition:all .15s}.cad-restart-btn:hover{color:#f5a623b3;border-color:#f5a6234d}.cad-seo{margin-top:1rem}@media (max-width:768px){.cad-reference-layout{grid-template-columns:1fr}.cad-cadence-list{flex-wrap:wrap;gap:.25rem;padding:.75rem;display:flex;position:static}.cad-cadence-group{margin-bottom:0}.cad-cadence-group-label{display:none}.cad-cadence-item{border-bottom:2px solid #0000;border-left-width:0;border-radius:6px;flex-direction:row;align-items:center;gap:.4rem;padding:.35rem .65rem}.cad-cadence-item--active{border-bottom-color:#f5a623;border-left-width:0}.cad-cadence-item-name{font-size:.8rem}.cad-cadence-item-formula{font-size:.68rem}.cad-answers-grid{grid-template-columns:1fr}.cad-results-stats{gap:1.5rem}}@media (max-width:480px){.cad-main{padding:1rem}.cad-detail-panel,.cad-quiz-setup{padding:1.25rem}.cad-mode-tabs{gap:.5rem}.cad-mode-tab{padding:.5rem 1rem;font-size:.9rem}.cad-question-formula-display{font-size:2rem}}.dict-root{color:#f0ede4eb;min-height:100vh;font-family:var(--font-editorial,"Libre Baskerville", Georgia, serif);background:#0d0d1a}.dict-header{border-bottom:1px solid #f0ede414;align-items:center;gap:1.25rem;padding:1.5rem 2rem 1rem;display:flex}.dict-back-btn{color:#f0ede499;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #f0ede42e;border-radius:6px;padding:.4rem .9rem;font-size:.85rem;transition:border-color .15s,color .15s}.dict-back-btn:hover{color:#f0ede4e6;border-color:#f0ede466}.dict-title{color:#f0ede4f2;margin:0;font-size:1.6rem;font-weight:700}.dict-subtitle{color:#f0ede473;margin:.15rem 0 0;font-size:.85rem}.dict-layout{gap:0;min-height:calc(100vh - 100px);display:flex}.dict-sidebar{background:#ffffff06;border-right:1px solid #f0ede414;flex-direction:column;gap:1rem;width:300px;min-width:260px;padding:1.5rem 1.25rem;display:flex}.dict-main{flex:1;padding:1.75rem 2rem;overflow-x:auto}.dict-config{flex-direction:column;gap:1rem;display:flex}.dict-config-row{flex-direction:column;gap:.4rem;display:flex}.dict-config-row--inline{flex-direction:row;gap:1rem}.dict-config-sub{flex-direction:column;flex:1;gap:.4rem;display:flex}.dict-config-label{text-transform:uppercase;letter-spacing:.07em;color:#f0ede473;font-size:.75rem;font-family:var(--font-handwritten,"Caveat", cursive);text-transform:none;letter-spacing:0;font-size:.9rem}.dict-config-label--inline{cursor:pointer;color:#f0ede499;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.dict-checkbox{accent-color:#f5a623;cursor:pointer}.dict-mode-toggle{border:1px solid #f0ede426;border-radius:6px;gap:0;display:flex;overflow:hidden}.dict-mode-btn{color:#f0ede480;cursor:pointer;background:0 0;border:none;flex:1;padding:.4rem .6rem;font-size:.82rem;transition:background .15s,color .15s}.dict-mode-btn:hover{color:#f0ede4cc;background:#f5a62314}.dict-mode-btn--active{color:#f5a623;background:#f5a6232e;font-weight:600}.dict-mode-btn:disabled{opacity:.4;cursor:not-allowed}.dict-ts-grid{grid-template-columns:repeat(4,1fr);gap:.3rem;display:grid}.dict-ts-btn{color:#f0ede499;cursor:pointer;background:#ffffff0a;border:1px solid #f0ede41f;border-radius:5px;padding:.35rem .2rem;font-size:.78rem;transition:all .15s}.dict-ts-btn:hover{color:#f0ede4e6;border-color:#f5a62366}.dict-ts-btn--active{color:#f5a623;background:#f5a6232e;border-color:#f5a623;font-weight:700}.dict-ts-btn:disabled{opacity:.4;cursor:not-allowed}.dict-select{color:#f0ede4d9;cursor:pointer;background:#ffffff0d;border:1px solid #f0ede426;border-radius:6px;width:100%;padding:.45rem .6rem;font-size:.82rem}.dict-select:disabled{opacity:.4;cursor:not-allowed}.dict-stepper{align-items:center;gap:.5rem;display:flex}.dict-step-btn{color:#f0ede4b3;cursor:pointer;background:#ffffff0f;border:1px solid #f0ede426;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;line-height:1;transition:background .15s;display:flex}.dict-step-btn:hover{background:#f5a6231f}.dict-step-btn:disabled{opacity:.3;cursor:not-allowed}.dict-step-val{text-align:center;color:#f0ede4e6;min-width:24px;font-size:.95rem}.dict-range{accent-color:#f5a623;cursor:pointer;width:100%}.dict-range:disabled{opacity:.4;cursor:not-allowed}.dict-tempo-bpm{color:#f5a623cc;margin-left:.4rem;font-size:.78rem}.dict-generate-btn{color:#1a1a2e;cursor:pointer;background:linear-gradient(135deg,#f5a623,#e08b0a);border:none;border-radius:8px;width:100%;padding:.7rem 1.25rem;font-size:.95rem;font-weight:700;transition:opacity .15s,transform .1s}.dict-generate-btn:hover{opacity:.9;transform:translateY(-1px)}.dict-generate-btn:active{transform:translateY(0)}.dict-generate-btn--secondary{color:#f0ede4b3;background:#ffffff0f;border:1px solid #f0ede426}.dict-generate-btn--secondary:hover{background:#ffffff1a}.dict-generate-btn--small{width:auto;padding:.5rem .9rem;font-size:.85rem}.dict-playback-row{border-bottom:1px solid #f0ede412;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.dict-playback{flex:1;align-items:center;gap:1rem;display:flex}.dict-playback-controls{gap:.5rem;display:flex}.dict-play-btn,.dict-stop-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.55rem 1.1rem;font-size:.9rem;font-weight:600;transition:opacity .15s,transform .1s;display:flex}.dict-play-btn:active,.dict-stop-btn:active{transform:scale(.97)}.dict-play-btn{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a)}.dict-play-btn:hover{opacity:.88}.dict-play-btn:disabled{opacity:.35;cursor:not-allowed}.dict-stop-btn{color:#ef4444;background:#ef44442e;border:1px solid #ef444466}.dict-stop-btn:hover{background:#ef444447}.dict-playback-status{align-items:center;display:flex}.dict-status-pill{color:#f0ede48c;background:#ffffff0d;border:1px solid #f0ede41a;border-radius:20px;align-items:center;gap:.5rem;padding:.3rem .75rem;font-size:.82rem;display:flex}.dict-status-pill--playing{color:#22c55e;background:#22c55e1a;border-color:#22c55e4d}.dict-status-pill--prep{color:#f5a623;background:#f5a6231a;border-color:#f5a6234d}.dict-status-pill--done{color:#22c55ecc;background:#22c55e14;border-color:#22c55e33}.dict-pulse{background:#f5a623;border-radius:50%;width:8px;height:8px;animation:1s infinite dict-blink;display:inline-block}.dict-pulse--green{background:#22c55e}@keyframes dict-blink{0%,to{opacity:1}50%{opacity:.25}}.dict-display{flex-direction:column;gap:.5rem;display:flex}.dict-display-empty{color:#f0ede44d;text-align:center;padding:1.5rem;font-size:.9rem}.dict-display-label{color:#f0ede466;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem;font-size:.78rem}.dict-measures-row{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.dict-measure{align-items:center;display:flex}.dict-event-block{transition:background .2s,border-color .2s}.dict-event-block--active{box-shadow:0 0 0 2px #f5a623}.dict-practice-display{background:#ffffff08;border:1px solid #f0ede41a;border-radius:10px;padding:1.25rem 1.5rem;overflow-x:auto}.dict-section-label{color:#f0ede466;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.75rem;font-size:.8rem;display:block}.dict-dictation-hint{color:#f5a623d9;text-align:center;background:#f5a62312;border:1px solid #f5a62333;border-radius:8px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.88rem}.dict-user-input{flex-direction:column;gap:1rem;display:flex}.dict-user-input-header{justify-content:space-between;align-items:center;display:flex}.dict-input-actions{gap:.5rem;display:flex}.dict-input-clear{color:#ef4444b3;cursor:pointer;background:0 0;border:1px solid #ef44444d;border-radius:5px;padding:.3rem .7rem;font-size:.78rem;transition:all .15s}.dict-input-clear:hover{background:#ef44441a}.dict-input-clear:disabled{opacity:.4;cursor:not-allowed}.dict-user-measures{flex-wrap:wrap;gap:.5rem;display:flex}.dict-user-measure-wrap{background:#ffffff08;border:1px solid #f0ede41a;border-radius:8px;padding:.5rem .75rem .35rem;position:relative}.dict-measure-fill-bar{background:#f0ede414;border-radius:2px;height:3px;margin-top:.4rem;overflow:hidden}.dict-measure-fill-bar-inner{background:#f5a62380;border-radius:2px;height:100%;transition:width .2s}.dict-measure-fill-bar-inner--full{background:#22c55e}.dict-backspace-btn{color:#ef4444b3;cursor:pointer;background:#ef44441a;border:1px solid #ef444433;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;transition:background .15s;display:flex;position:absolute;top:4px;right:4px}.dict-backspace-btn:hover{background:#ef444433}.dict-input-hint{color:#22c55ebf;text-align:center;padding:.5rem;font-size:.82rem}.dict-toolbar{background:#ffffff08;border:1px solid #f0ede41a;border-radius:10px;flex-direction:column;gap:.75rem;padding:.85rem 1rem;display:flex}.dict-toolbar-group{flex-direction:column;gap:.4rem;display:flex}.dict-toolbar-label{text-transform:uppercase;letter-spacing:.07em;color:#f0ede459;font-size:.72rem}.dict-toolbar-figures{flex-wrap:wrap;gap:.35rem;display:flex}.dict-fig-btn{color:#f5a623;cursor:pointer;background:#f5a62312;border:1px solid #f5a62333;border-radius:6px;justify-content:center;align-items:center;width:40px;height:50px;transition:background .15s,border-color .15s,transform .1s;display:flex}.dict-fig-btn:hover{background:#f5a6232e;border-color:#f5a62380;transform:translateY(-1px)}.dict-fig-btn:active{transform:translateY(0)}.dict-fig-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.dict-fig-btn--rest{color:#00d4aa;background:#00d4aa0f;border-color:#00d4aa33}.dict-fig-btn--rest:hover{background:#00d4aa24;border-color:#00d4aa73}.dict-submit-row{align-items:center;gap:1rem;margin-top:.5rem;display:flex}.dict-submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;border-radius:8px;padding:.7rem 1.5rem;font-size:.95rem;font-weight:700;transition:opacity .15s,transform .1s}.dict-submit-btn:hover{opacity:.88;transform:translateY(-1px)}.dict-submit-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.dict-submit-hint{color:#f0ede459;font-size:.8rem}.dict-correction{flex-direction:column;gap:1.25rem;display:flex}.dict-score-header{background:#ffffff08;border:1px solid #f0ede41a;border-radius:12px;align-items:center;gap:1.5rem;padding:1.25rem;display:flex}.dict-score-circle{border:3px solid;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.dict-score-pct{font-size:1.4rem;font-weight:700;line-height:1}.dict-score-label{text-transform:uppercase;letter-spacing:.05em;opacity:.8;font-size:.62rem}.dict-score-breakdown{flex-wrap:wrap;gap:.5rem;display:flex}.dict-score-measure-chip{background:#ffffff0a;border:1px solid #f0ede41a;border-radius:6px;flex-direction:column;align-items:center;padding:.35rem .6rem;display:flex}.dict-score-measure-num{color:#f0ede466;font-size:.68rem}.dict-score-measure-pct{font-size:.9rem;font-weight:700}.dict-correction-legend{flex-wrap:wrap;gap:.5rem;display:flex}.dict-legend-chip{border:1px solid #0000;border-radius:12px;padding:.2rem .6rem;font-size:.75rem}.dict-legend-chip--correct{color:#22c55e;background:#22c55e33;border-color:#22c55e44}.dict-legend-chip--wrong{color:#ef4444;background:#ef444433;border-color:#ef444444}.dict-legend-chip--missing{color:#f59e0b;background:#f59e0b33;border-color:#f59e0b44}.dict-legend-chip--extra{color:#a855f7;background:#a855f733;border-color:#a855f744}.dict-correction-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.dict-correction-col{background:#ffffff08;border:1px solid #f0ede41a;border-radius:8px;padding:1rem;overflow-x:auto}.dict-correction-col-label{text-transform:uppercase;letter-spacing:.07em;color:#f0ede466;margin-bottom:.75rem;font-size:.78rem}.dict-correction-detail{background:#ffffff08;border:1px solid #f0ede414;border-radius:8px;flex-direction:column;gap:.35rem;padding:.85rem 1rem;display:flex}.dict-detail-row{color:#f0ede4a6;font-size:.83rem;line-height:1.5}.dict-detail-row strong{color:#f0ede4d9}.dict-corrected-actions{gap:.75rem;margin-top:.5rem;display:flex}.dict-empty-state{color:#f0ede44d;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:300px;display:flex}.dict-empty-icon{font-size:3.5rem;line-height:1}.dict-seo{margin-top:3rem}@media (max-width:900px){.dict-layout{flex-direction:column}.dict-sidebar{border-bottom:1px solid #f0ede414;border-right:none;width:100%;min-width:0}.dict-correction-grid{grid-template-columns:1fr}}@media (max-width:600px){.dict-header,.dict-main{padding:1rem}.dict-playback-row{flex-wrap:wrap;gap:.75rem}.dict-ts-grid{grid-template-columns:repeat(4,1fr)}}.satb-root{color:#e8e4d9;background:#0f0e17;min-height:100vh;font-family:Libre Baskerville,Georgia,serif}.satb-hero{text-align:center;background:linear-gradient(160deg,#1a1830 0%,#0f0e17 60%);border-bottom:1px solid #f5a62326;padding:5rem 1.5rem 4rem}.satb-hero-inner{max-width:720px;margin:0 auto}.satb-hero-badge{color:#f5a623;letter-spacing:.04em;text-transform:uppercase;background:#f5a6231f;border:1px solid #f5a6234d;border-radius:20px;margin-bottom:1.25rem;padding:.25rem .85rem;font-family:Caveat,cursive;font-size:.75rem;display:inline-block}.satb-hero-title{color:#f0ede4;margin:0 0 1rem;font-size:clamp(2rem,5vw,3.2rem);font-weight:700;line-height:1.15}.satb-hero-desc{color:#e8e4d9bf;margin:0 0 2rem;font-size:1.1rem;line-height:1.7}.satb-hero-cta{color:#0f0e17;cursor:pointer;background:#f5a623;border:none;border-radius:8px;padding:.85rem 2.2rem;font-family:Libre Baskerville,Georgia,serif;font-size:1.05rem;font-weight:700;text-decoration:none;transition:opacity .18s,transform .18s;display:inline-block}.satb-hero-cta:hover{opacity:.88;transform:translateY(-2px)}.satb-hero-note{color:#e8e4d966;margin-top:.85rem;font-family:sans-serif;font-size:.78rem}.satb-section{padding:4rem 1.5rem}.satb-section--alt{background:#ffffff06}.satb-section-inner{max-width:860px;margin:0 auto}.satb-section-title{color:#f5a623;margin:0 0 .5rem;font-size:1.6rem;font-weight:700}.satb-section-sub{color:#e8e4d98c;margin:0 0 2rem;font-family:sans-serif;font-size:.92rem}.satb-prose p{color:#e8e4d9b8;margin:0 0 1.1rem;font-size:.97rem;line-height:1.8}.satb-prose strong{color:#f0ede4}.satb-errors-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem;margin-top:2rem;display:grid}.satb-error-card{background:#ffffff0a;border:1px solid #ffffff12;border-radius:10px;align-items:flex-start;gap:.85rem;padding:1rem 1.1rem;display:flex}.satb-error-icon{flex-shrink:0;margin-top:.05rem;font-size:1.4rem}.satb-error-title{color:#f0ede4;margin-bottom:.2rem;font-size:.92rem;font-weight:700}.satb-error-desc{color:#e8e4d980;font-family:sans-serif;font-size:.83rem;line-height:1.5}.satb-steps{flex-direction:column;gap:2rem;margin-top:2rem;display:flex}.satb-step{align-items:flex-start;gap:1.5rem;display:flex}.satb-step-num{color:#0f0e17;background:#f5a623;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;margin-top:.1rem;font-size:1rem;font-weight:700;display:flex}.satb-step-title{color:#f0ede4;margin-bottom:.4rem;font-size:1rem;font-weight:700}.satb-step-desc{color:#e8e4d9a6;margin:0;font-family:sans-serif;font-size:.9rem;line-height:1.7}.satb-step-desc strong{color:#f0ede4}.satb-forwhom-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem;margin-top:2rem;display:grid}.satb-forwhom-card{text-align:center;background:#ffffff0a;border:1px solid #ffffff12;border-radius:12px;padding:1.4rem 1.2rem}.satb-forwhom-icon{margin-bottom:.6rem;font-size:2rem;display:block}.satb-forwhom-label{color:#f0ede4;margin-bottom:.4rem;font-size:.9rem;font-weight:700}.satb-forwhom-desc{color:#e8e4d980;font-family:sans-serif;font-size:.8rem;line-height:1.5}.satb-final-cta{text-align:center;background:linear-gradient(160deg,#1a1830 0%,#0f0e17 100%);border-top:1px solid #f5a62326;padding:5rem 1.5rem}.satb-final-cta-inner{max-width:560px;margin:0 auto}.satb-final-cta-title{color:#f0ede4;margin:0 0 .75rem;font-size:1.8rem;font-weight:700}.satb-final-cta-desc{color:#e8e4d999;margin:0 0 2rem;font-family:sans-serif;font-size:1rem}@media (max-width:600px){.satb-errors-grid{grid-template-columns:1fr}.satb-forwhom-grid{grid-template-columns:repeat(2,1fr)}.satb-step{flex-direction:column;gap:.75rem}.satb-step-num{width:1.8rem;height:1.8rem;font-size:.9rem}}.tc-intro{background:#f5a6230d;border-top:1px solid #f5a6231f;border-bottom:1px solid #f5a6231f;padding:.9rem 1.5rem}.tc-intro-inner{flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem;max-width:860px;margin:0 auto;display:flex}.tc-intro-inner p{color:#f0ede4a6;flex:400px;margin:0;font-size:.88rem;line-height:1.65}.tc-intro-inner strong{color:#f0ede4e0}.tc-intro-link{color:#f5a623;white-space:nowrap;opacity:.8;flex-shrink:0;font-size:.82rem;text-decoration:none}.tc-intro-link:hover{opacity:1;text-decoration:underline}.hw-grid-wrapper{max-width:960px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.hw-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.hw-card{text-align:left;cursor:pointer;color:inherit;background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;gap:.5rem;padding:1.6rem 1.4rem 1.2rem;text-decoration:none;transition:border-color .18s,transform .18s,background .18s;display:flex}.hw-card:hover{background:#f5a6230d;border-color:#f5a62373;transform:translateY(-2px)}.hw-card-top{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.hw-card-icon{font-size:2rem;line-height:1}.hw-card-badge{letter-spacing:.04em;text-transform:uppercase;border:1px solid;border-radius:20px;padding:.2rem .6rem;font-family:sans-serif;font-size:.7rem;font-weight:700}.hw-card-title{color:#f0ede4;margin:0;font-family:Libre Baskerville,Georgia,serif;font-size:1.05rem;font-weight:700}.hw-card-desc{color:#f0ede494;flex:1;margin:0;font-family:sans-serif;font-size:.85rem;line-height:1.6}.hw-card-tags{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.hw-card-tag{color:#f0ede473;background:#ffffff0d;border:1px solid #ffffff14;border-radius:4px;padding:.15rem .5rem;font-family:sans-serif;font-size:.72rem}.hw-card-cta{color:#f5a623;opacity:.75;margin-top:.5rem;font-family:sans-serif;font-size:.82rem}.hw-card:hover .hw-card-cta{opacity:1}.vep-bg{background:var(--desk-color,#d4c9b0);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.vep-card{text-align:center;background:#faf7f0;border-radius:16px;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:440px;padding:3rem 2.5rem;display:flex;box-shadow:0 12px 40px #0000002e,0 2px 8px #0000001a}.vep-logo{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.vep-clef{color:var(--violet,#5b21b6);font-size:2rem}.vep-brand{color:var(--text-primary,#1a1a2e);letter-spacing:-.02em;font-family:Georgia,serif;font-size:1.4rem;font-weight:800}.vep-spinner{border:4px solid #5b21b633;border-top-color:var(--violet,#5b21b6);border-radius:50%;width:48px;height:48px;margin:.5rem auto;animation:.9s linear infinite spin}.vep-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.8rem;font-weight:900;display:flex}.vep-icon--ok{color:#059669;background:#ecfdf5;border:3px solid #6ee7b7}.vep-icon--err{color:#dc2626;background:#fff1f2;border:3px solid #fecaca}.vep-title{color:var(--text-primary,#1a1a2e);margin:0;font-family:Georgia,serif;font-size:1.55rem;font-weight:800}.vep-msg{color:var(--text-secondary,#5a5040);margin:0;font-size:1rem;line-height:1.5}.vep-sub{color:var(--text-muted,#9a9080);margin:0;font-size:.85rem;line-height:1.5}.vep-btn{background:var(--violet,#5b21b6);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:11px 28px;font-size:.97rem;font-weight:700;text-decoration:none;transition:background .18s,transform .15s,box-shadow .18s;display:inline-block;box-shadow:0 4px 12px #5b21b647}.vep-btn:hover{background:#4c1d95;transform:translateY(-1px);box-shadow:0 6px 16px #5b21b659}.vep-btn--ghost{color:var(--text-secondary,#5a5040);box-shadow:none;border:1.5px solid var(--border,#0000001a);background:0 0}.vep-btn--ghost:hover{box-shadow:none;background:#0000000a;transform:none}.vep-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.nb-example-row{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.75rem;display:flex}.nb-example-label{color:var(--text-muted);font-size:.82rem;font-style:italic}.btn-example{color:var(--violet,#5b21b6);cursor:pointer;background:#5b21b614;border:1.5px dashed #5b21b666;border-radius:8px;padding:5px 13px;font-family:Georgia,serif;font-size:.8rem;transition:background .18s,border-color .18s}.btn-example:hover{border-color:var(--violet,#5b21b6);background:#5b21b626}
