@import"https://fonts.cdnfonts.com/css/digital-7-mono";:root{--primary: #6366f1;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--bg-primary: #f3f4f6;--bg-secondary: #ffffff;--bg-tertiary: #f9fafb;--text-primary: #1f2937;--text-secondary: #4b5563;--text-muted: #6b7280;--border-color: #e5e7eb;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-card: 0 1px 3px rgba(0, 0, 0, .1), 0 10px 30px rgba(0, 0, 0, .08);--hp-lcd-bg: #9ea792;--hp-lcd-text: #1a1a1a;--hp-key-f: #dca73a;--hp-key-g: #48a6ce;--hp-key-enter: #4a4a4a;--hp-label-orange: #ff9f43;--hp-label-blue: #6ab0ff;--header-bg: #ffffff;--header-border: rgba(0, 0, 0, .08);--header-text: #1f2937;--card-bg: #ffffff;--card-border: rgba(0, 0, 0, .06);--card-shadow: 0 1px 3px rgba(0, 0, 0, .1);--sidebar-bg: transparent;--section-title: #374151;--accordion-header-bg: #f8fafc;--accordion-header-hover: #f1f5f9;--accordion-header-active: #e2e8f0;--accordion-content-bg: #ffffff;--modal-overlay: rgba(0, 0, 0, .5);--modal-bg: #ffffff;--modal-border: rgba(0, 0, 0, .08);--panel-bg: #ffffff;--panel-border: rgba(0, 0, 0, .08);--panel-header-bg: #f9fafb;--key-width: 6.2%;--key-height: 10%;--gap-x: 2.8%;--gap-y: 4%;--area-top: 37%;--area-left: 5.5%;--lcd-top: 8.5%;--lcd-left: 19%;--lcd-width: 62.5%;--lcd-height: 8.5%;--global-offset-x: .5%;--global-offset-y: 0%;--f1-offset: 0%;--f2-offset: 0%;--f3-offset: 0%;--f4-offset: 0%;--lbl-top-size: .75;--lbl-top-x: 0px;--lbl-top-y: -16px;--lbl-main-size: 1.5;--lbl-main-x: 0px;--lbl-main-y: 0px;--lbl-bot-size: .75;--lbl-bot-x: 0px;--lbl-bot-y: 16px}.dark-theme{--primary: #818cf8;--success: #34d399;--warning: #fbbf24;--error: #f87171;--gray-50: #18181b;--gray-100: #27272a;--gray-200: #3f3f46;--gray-300: #52525b;--gray-400: #71717a;--gray-500: #a1a1aa;--gray-600: #d4d4d8;--gray-700: #e4e4e7;--gray-800: #f4f4f5;--bg-primary: #0f0f11;--bg-secondary: #18181b;--bg-tertiary: #27272a;--text-primary: #fafafa;--text-secondary: #e4e4e7;--text-muted: #a1a1aa;--border-color: #27272a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -2px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .4);--shadow-card: 0 1px 3px rgba(0, 0, 0, .5), 0 10px 30px rgba(0, 0, 0, .4);--header-bg: linear-gradient(180deg, #18181b 0%, #0f0f11 100%);--header-border: rgba(255, 255, 255, .06);--header-text: #fafafa;--card-bg: linear-gradient(180deg, #1f1f23 0%, #18181b 100%);--card-border: rgba(255, 255, 255, .05);--card-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .03);--sidebar-bg: transparent;--section-title: #e4e4e7;--accordion-header-bg: #1f1f23;--accordion-header-hover: #27272a;--accordion-header-active: #3f3f46;--accordion-content-bg: #18181b;--modal-overlay: rgba(0, 0, 0, .7);--modal-bg: linear-gradient(180deg, #1f1f23 0%, #18181b 100%);--modal-border: rgba(255, 255, 255, .06);--panel-bg: linear-gradient(180deg, #1f1f23 0%, #18181b 100%);--panel-border: rgba(255, 255, 255, .06);--panel-header-bg: #27272a}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;transition:background-color .3s ease,color .3s ease}.app-container{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--header-bg);border-bottom:1px solid var(--header-border);padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;transition:background-color .3s ease,border-color .3s ease}.dark-theme .header{box-shadow:0 1px #ffffff08}.logo{display:flex;align-items:center;gap:.5rem}.logo-icon{font-size:1.5rem}.logo h1{font-size:1.1rem;font-weight:600;color:var(--header-text);transition:color .3s ease}.header-controls{display:flex;align-items:center;gap:1rem}.header-controls cinematic-theme-switcher{margin-right:.5rem}.user-info{display:flex;align-items:center;gap:.5rem}.user-name{font-size:.85rem;color:var(--text-secondary);transition:color .3s ease}.avatar{width:32px;height:32px;border-radius:50%;background:var(--gray-200);display:flex;align-items:center;justify-content:center;font-size:1rem}.calibration-panel{position:fixed;top:60px;right:-400px;width:380px;height:calc(100vh - 60px);background:var(--panel-bg);border-left:1px solid var(--panel-border);box-shadow:-4px 0 20px #0000004d;z-index:90;transition:right .3s ease,background-color .3s ease,border-color .3s ease;display:flex;flex-direction:column}.calibration-panel.open{right:0}#cmsPanel{width:500px;right:-520px}#cmsPanel.open{right:0}.calibration-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--panel-border);background:var(--panel-header-bg);transition:background-color .3s ease,border-color .3s ease}.calibration-header h3{color:var(--text-primary);transition:color .3s ease}.calibration-header h3{font-size:1rem;font-weight:600}.calibration-content{flex:1;overflow-y:auto;padding:1rem}.calibration-section{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-100)}.calibration-section h4{font-size:.85rem;font-weight:600;color:var(--gray-700);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.calibration-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.calibration-row label{font-size:.8rem;color:var(--gray-600);min-width:100px}.calibration-row input[type=range]{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--gray-200);border-radius:3px;outline:none}.calibration-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--primary);border-radius:50%;cursor:pointer}.calibration-row span{font-size:.75rem;color:var(--gray-500);min-width:45px;text-align:right}.fileira-controls{display:flex;flex-direction:column;gap:.5rem}.fileira-row{display:flex;align-items:center;gap:.5rem}.fileira-row span{font-size:.8rem;color:var(--gray-600);min-width:70px}.fileira-row input{width:80px;padding:.35rem .5rem;border:1px solid var(--gray-300);border-radius:4px;font-size:.85rem}.calibration-actions{display:flex;gap:.5rem;padding-top:1rem}.calibration-actions .btn{flex:1}.cms-table-container{width:100%;overflow-x:auto}.cms-table{width:100%;border-collapse:collapse;font-size:.85rem}.cms-table th,.cms-table td{padding:12px 10px;border-bottom:1px solid var(--gray-200);text-align:left}.cms-table th{background:var(--gray-50);font-weight:600;color:var(--gray-700)}.cms-table tr:hover td{background:var(--gray-50)}.cms-status-badge{padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600}.cms-status-badge.approved{background:#dcfce7;color:#166534}.cms-status-badge.pending{background:#fee2e2;color:#991b1b}.cms-action-btn{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:700;transition:background .2s}.cms-action-btn.approve{background:var(--success);color:#fff}.cms-action-btn.revoke{background:var(--error);color:#fff}.main-content{flex:1;display:grid;grid-template-columns:minmax(220px,280px) 1fr minmax(240px,300px);gap:clamp(.75rem,2vw,1.5rem);padding:clamp(.75rem,2vw,1.5rem);max-width:1600px;margin:0 auto;width:100%;align-items:start}.sidebar-left,.sidebar-right{display:flex;flex-direction:column;gap:.75rem;min-width:0;max-height:calc(100vh - 80px);overflow-y:auto;position:sticky;top:76px}.section-title{display:flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;color:var(--section-title);margin-bottom:.5rem;transition:color .3s ease}.lessons-container{display:flex;flex-direction:column;gap:.5rem}.lesson-card{background:var(--card-bg);padding:10px;border-radius:6px;margin-bottom:8px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,background-color .3s ease,border-color .3s ease;cursor:pointer;border:1px solid var(--card-border)}.dark-theme .lesson-card{box-shadow:var(--card-shadow)}.lesson-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.accordion-item{margin-bottom:2px;border:1px solid var(--border-color);border-radius:6px;overflow:hidden;transition:border-color .3s ease}.accordion-header{background-color:var(--accordion-header-bg);padding:12px 16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s,color .3s ease}.accordion-header:hover{background-color:var(--accordion-header-hover)}.accordion-header.active{background-color:var(--accordion-header-active);border-bottom:1px solid var(--border-color)}.accordion-header h4{margin:0;font-size:14px;font-weight:700;color:var(--text-primary)}.accordion-chevron{font-size:10px;color:var(--text-muted);transition:transform .3s,color .3s ease}.accordion-content{padding:12px 12px 2px;background-color:var(--accordion-content-bg);transition:background-color .3s ease}.lesson-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:.75rem;cursor:pointer;transition:all .2s,background-color .3s ease,border-color .3s ease}.lesson-item:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.lesson-item.active{border-color:var(--primary);background:var(--bg-tertiary)}.lesson-item.locked{opacity:.5;cursor:not-allowed}.dark-theme .lesson-item.active{background:#6366f126}.lesson-item.completed:after{content:" ✓";color:var(--success);font-weight:700}.lesson-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.2rem}.lesson-icon{font-size:1.1rem}.lesson-header h3{margin:0;font-size:13.5px;font-weight:600;color:var(--text-primary);line-height:1.2;transition:color .3s ease}.lesson-desc{margin:4px 0 0;font-size:12px;color:var(--text-muted);line-height:1.4;transition:color .3s ease}.lesson-section-title{font-size:13px;font-weight:700;color:var(--text-secondary);margin:20px 0 10px;text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border-color);padding-bottom:6px;transition:color .3s ease,border-color .3s ease}.calculator-section{display:flex;justify-content:center;align-items:center;padding:.5rem;min-width:0}.calculator-wrapper{position:relative;width:100%;max-width:min(600px,100%);display:flex;justify-content:center}.calculator-image-container{position:relative;width:100%;max-width:100%;box-shadow:0 20px 40px #00000026;border-radius:12px;transition:box-shadow .3s ease}.calculator-img{width:100%;height:auto;display:block;border-radius:12px}.lcd-display{position:absolute;top:var(--lcd-top);left:var(--lcd-left);width:var(--lcd-width);height:var(--lcd-height);background:linear-gradient(180deg,var(--hp-lcd-bg) 0%,#8a9680 100%);border-radius:3px;padding:.15rem .5rem;display:flex;align-items:center;justify-content:flex-end;box-shadow:inset 0 2px 4px #0003;font-family:Courier New,monospace}.lcd-content{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative}.lcd-expression{position:absolute;top:-5px;left:0;font-family:Digital-7 Mono,sans-serif;font-size:1.1rem;color:#5a6650;opacity:.8;letter-spacing:1px}.lcd-result{font-family:Digital-7 Mono,sans-serif;font-size:clamp(1.5rem,4vw,2.2rem);font-weight:400;color:var(--hp-lcd-text);letter-spacing:2px}.keys-overlay{position:absolute;top:var(--area-top);left:var(--area-left);width:calc(100% - (var(--area-left) * 2));height:calc(100% - var(--area-top) - 5%);pointer-events:none}.calc-key{position:absolute;width:var(--key-width);height:var(--key-height);background:linear-gradient(180deg,#2a2c31,#17181a);border:1px solid #000;box-shadow:inset 0 1px 1px #ffffff1a,0 2px 4px #000c;border-radius:4px;cursor:pointer;pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:2px;transition:all .1s}.calc-key:hover{background:linear-gradient(180deg,#33353a,#1f2023);border-color:#fff3}.calc-key:active{box-shadow:inset 0 2px 4px #00000080,0 1px 1px #0000004d;transform:translateY(2px) scale(.98)}.calc-key.active{border-color:var(--warning);box-shadow:0 0 10px var(--warning)}.tutor-ghost-pulse{animation:tutorPulse .5s ease-out}@keyframes tutorPulse{0%{box-shadow:0 0 #ffc107b3;border-color:var(--warning)}70%{box-shadow:0 0 0 15px #ffc10700;border-color:var(--warning)}to{box-shadow:0 0 #ffc10700;border-color:#000}}.tutor-key-tooltip{position:absolute;bottom:120%;left:50%;transform:translate(-50%);background-color:#fff;color:#1e293b;padding:10px 14px;border-radius:8px;font-family:var(--font-primary);font-size:13px;line-height:1.4;white-space:normal;min-width:180px;max-width:250px;text-align:center;box-shadow:0 10px 25px #0000004d;border:2px solid var(--warning);z-index:1000;opacity:0;pointer-events:auto;transition:opacity .3s ease,bottom .3s ease}.tutor-key-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-8px;border-width:8px;border-style:solid;border-color:var(--warning) transparent transparent transparent}.calc-key .tutor-key-tooltip.show{opacity:1;bottom:140%}.tutor-tooltip-btn{margin-top:12px;background:var(--warning);color:#000;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:700;width:100%;transition:opacity .2s;outline:none;box-shadow:0 2px 5px #0003}.tutor-tooltip-btn:hover{opacity:.9;transform:scale(.98)}.calc-key.correct{animation:keyCorrect .4s ease}.calc-key.wrong{animation:keyWrong .4s ease}.calc-key.enter{height:calc((var(--key-height) * 2) + var(--gap-y) + 1%)}.calc-key.f-key{background:linear-gradient(180deg,var(--hp-key-f) 0%,#b88629 100%);border-color:#8c641c}.calc-key.g-key{background:linear-gradient(180deg,var(--hp-key-g) 0%,#308fb9 100%);border-color:#1e6d92}.calc-key.f-key .key-main,.calc-key.g-key .key-main{color:#111;text-shadow:none}.calc-key.f-key:hover{background:var(--hp-key-f)}.calc-key.g-key:hover{background:var(--hp-key-g)}.calc-key.enter-key:hover{background:#4a4a4a4d;border-color:#666}.key-special-top{font-size:clamp(.25rem,.6vw,.4rem);transform:translate(var(--lbl-top-x),calc(var(--lbl-top-y) - 6px));color:#fff;text-transform:uppercase;letter-spacing:0px;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.9);margin-bottom:2px}.key-label-top{font-size:clamp(.3rem,.7vw,.45rem);transform:translate(var(--lbl-top-x),var(--lbl-top-y));color:var(--hp-label-orange);text-transform:uppercase;letter-spacing:.2px;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.9)}.key-main{font-size:clamp(.55rem,1.2vw,.75rem);transform:translate(var(--lbl-main-x),var(--lbl-main-y));color:#fff;font-weight:400;line-height:1;text-shadow:0 1px 3px rgba(0,0,0,.9)}.enter-vertical{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:.85;font-size:clamp(.5rem,1vw,.65rem);font-weight:400;letter-spacing:0;transform:scaleX(1.6) translateY(-4px)}.enter-vertical span{display:block}.key-label-bottom{font-size:clamp(.25rem,.6vw,.4rem);transform:translate(var(--lbl-bot-x),var(--lbl-bot-y));color:var(--hp-label-blue);text-transform:uppercase;letter-spacing:.2px;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.9)}.hp-bracket{position:absolute;display:flex;align-items:flex-start;height:6px;z-index:10}.hp-bracket-line{flex:1;border-top:1px solid var(--hp-label-orange);height:4px}.hp-bracket-line.left{border-left:1px solid var(--hp-label-orange)}.hp-bracket-line.right{border-right:1px solid var(--hp-label-orange)}.hp-bracket-text{color:var(--hp-label-orange);font-size:.38rem;font-weight:500;letter-spacing:.5px;padding:0 4px;transform:translateY(-50%);line-height:1;white-space:nowrap}.hp-bracket[data-row="1"]{top:calc(var(--global-offset-y) + var(--key-height) + var(--gap-y) + var(--f2-offset) - 4.5%)}.hp-bracket[data-row="2"]{top:calc(var(--global-offset-y) + (var(--key-height) + var(--gap-y)) * 2 + var(--f3-offset) - 4.5%)}.hp-bracket[data-start-col="0"]{left:calc((var(--key-width) + var(--gap-x)) * 0 + var(--global-offset-x))}.hp-bracket[data-start-col="1"]{left:calc((var(--key-width) + var(--gap-x)) * 1 + var(--global-offset-x))}.hp-bracket[data-start-col="2"]{left:calc((var(--key-width) + var(--gap-x)) * 2 + var(--global-offset-x))}.hp-bracket[data-start-col="5"]{left:calc((var(--key-width) + var(--gap-x)) * 5 + var(--global-offset-x))}.hp-bracket[data-start-col="0"][data-end-col="1"]{width:calc((var(--key-width) + var(--gap-x)) * 1 + var(--key-width))}.hp-bracket[data-start-col="2"][data-end-col="4"]{width:calc((var(--key-width) + var(--gap-x)) * 2 + var(--key-width))}.hp-bracket[data-start-col="1"][data-end-col="5"]{width:calc((var(--key-width) + var(--gap-x)) * 4 + var(--key-width))}.hp-bracket[data-start-col="1"][data-end-col="4"]{width:calc((var(--key-width) + var(--gap-x)) * 3 + var(--key-width))}.tutor-modal{position:fixed;bottom:-100%;left:50%;transform:translate(-50%);width:90%;max-width:400px;background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px 16px 0 0;box-shadow:0 -10px 40px #0000004d;z-index:1000;transition:bottom .4s cubic-bezier(.175,.885,.32,1.275),background-color .3s ease;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--card-border)}.tutor-modal.show-tutor{bottom:0}.tutor-modal.success-tutor{background:#2ecc71f2;color:#fff}.tutor-modal.success-tutor .tutor-hint-box{background:#fff3;color:#fff}.tutor-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);transition:background-color .3s ease,border-color .3s ease}.tutor-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-primary);transition:color .3s ease}.tutor-modal.success-tutor .tutor-header h3,.tutor-modal.success-tutor .tutor-header .tutor-btn-close{color:#fff}.tutor-btn-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;line-height:1}.tutor-body{padding:20px}.tutor-statement{font-size:15px;margin-bottom:15px;line-height:1.5;color:var(--text-primary);transition:color .3s ease}.tutor-modal.success-tutor .tutor-statement{color:#fff}.tutor-hint-box{display:flex;gap:12px;background:#fff3e0;padding:15px;border-radius:8px;border-left:4px solid #ff9f43}.tutor-hint-box p{margin:0;font-size:14px;color:var(--warning);line-height:1.4}.tutor-footer{padding:15px 20px;background:var(--bg-tertiary);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;transition:background-color .3s ease,border-color .3s ease}.tutor-footer .btn{padding:8px 16px;font-size:14px}@keyframes tutorGhostPulse{0%{transform:scale(1);box-shadow:0 0 #2ecc71b3}50%{transform:scale(.95);box-shadow:0 0 0 15px #2ecc7100}to{transform:scale(1);box-shadow:0 0 #2ecc7100}}.tutor-ghost-pulse{animation:tutorGhostPulse .5s ease-out;background:#2ecc71!important;border-color:#27ae60!important}.tutor-ghost-pulse .key-main{color:#fff!important}.hp-bracket[data-start-col="5"][data-end-col="5"]{width:var(--key-width)}.calc-key[data-row="0"]{top:calc(var(--global-offset-y) + var(--f1-offset))}.calc-key[data-row="1"]{top:calc(var(--global-offset-y) + var(--key-height) + var(--gap-y) + var(--f2-offset))}.calc-key[data-row="2"]{top:calc(var(--global-offset-y) + (var(--key-height) + var(--gap-y)) * 2 + var(--f3-offset))}.calc-key[data-row="3"]{top:calc(var(--global-offset-y) + (var(--key-height) + var(--gap-y)) * 3 + var(--f4-offset))}.calc-key[data-col="0"]{left:calc((var(--key-width) + var(--gap-x)) * 0 + var(--global-offset-x))}.calc-key[data-col="1"]{left:calc((var(--key-width) + var(--gap-x)) * 1 + var(--global-offset-x))}.calc-key[data-col="2"]{left:calc((var(--key-width) + var(--gap-x)) * 2 + var(--global-offset-x))}.calc-key[data-col="3"]{left:calc((var(--key-width) + var(--gap-x)) * 3 + var(--global-offset-x))}.calc-key[data-col="4"]{left:calc((var(--key-width) + var(--gap-x)) * 4 + var(--global-offset-x))}.calc-key[data-col="5"]{left:calc((var(--key-width) + var(--gap-x)) * 5 + var(--global-offset-x))}.calc-key[data-col="6"]{left:calc((var(--key-width) + var(--gap-x)) * 6 + var(--global-offset-x))}.calc-key[data-col="7"]{left:calc((var(--key-width) + var(--gap-x)) * 7 + var(--global-offset-x))}.calc-key[data-col="8"]{left:calc((var(--key-width) + var(--gap-x)) * 8 + var(--global-offset-x))}.calc-key[data-col="9"]{left:calc((var(--key-width) + var(--gap-x)) * 9 + var(--global-offset-x))}.animation-indicator{position:absolute;pointer-events:none;opacity:0;z-index:50}.animation-indicator.show{opacity:1}.pulse-ring{position:absolute;width:40px;height:40px;border-radius:50%;border:2px solid var(--warning);animation:pulseRing 1s ease-out infinite;top:-12px;left:-12px}.pulse-core{position:absolute;width:16px;height:16px;background:var(--warning);border-radius:50%;top:0;left:0}.progress-card,.exercise-card,.history-card{background:var(--card-bg);border-radius:10px;padding:1rem;box-shadow:var(--card-shadow);border:1px solid var(--card-border);transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem}.stat-item{text-align:center;padding:.5rem;background:var(--bg-tertiary);border-radius:6px;transition:background-color .3s ease}.stat-value{display:block;font-size:1.25rem;font-weight:700;color:var(--primary)}.stat-label{font-size:.7rem;color:var(--text-muted);transition:color .3s ease}.level-info{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.25rem}.level-name{font-weight:600;color:var(--text-primary);transition:color .3s ease}.level-percent{color:var(--text-muted);transition:color .3s ease}.progress-bar{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;transition:background-color .3s ease}.progress-fill{height:100%;background:var(--primary);border-radius:4px;transition:width .3s}.exercise-content{min-height:150px}.empty-state{text-align:center;padding:1.5rem 1rem;color:var(--text-muted);transition:color .3s ease}.empty-icon{font-size:2rem;display:block;margin-bottom:.5rem}.exercise-question{background:var(--primary);color:#fff;padding:.875rem;border-radius:8px;margin-bottom:.75rem}.exercise-question h4{font-size:.75rem;opacity:.9;margin-bottom:.25rem}.exercise-question .question-text{font-size:.95rem;font-weight:600}.empty-history{color:var(--text-muted);text-align:center;padding:1rem;font-size:.9rem;transition:color .3s ease}.exercise-steps{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}.step-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-tertiary);border-radius:6px;border-left:3px solid var(--border-color);font-size:.8rem;transition:background-color .3s ease,border-color .3s ease}.step-item.completed{border-left-color:var(--success);background:#10b9811a}.step-item.current{border-left-color:var(--primary);background:#6366f11a}.step-number{width:20px;height:20px;border-radius:50%;background:var(--gray-400);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.7rem;flex-shrink:0;transition:background-color .3s ease}.step-item.completed .step-number{background:var(--success)}.step-item.current .step-number{background:var(--primary)}.exercise-actions{display:flex;gap:.4rem}.btn{padding:.5rem .75rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .15s;font-size:.85rem}.btn-sm{padding:.35rem .6rem;font-size:.8rem}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:var(--bg-tertiary);color:var(--text-secondary);transition:background-color .3s ease,color .3s ease}.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);transition:border-color .3s ease,color .3s ease}.btn-warning{background:var(--warning);color:#fff}.history-list{max-height:140px;overflow-y:auto}.history-item{display:flex;align-items:center;gap:.4rem;padding:.35rem;border-bottom:1px solid var(--border-color);font-size:.8rem;transition:border-color .3s ease}.history-icon{font-size:.9rem}.history-text{flex:1;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease}.history-time{font-size:.7rem;color:var(--text-muted);transition:color .3s ease}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .2s}.modal-overlay.show{opacity:1;visibility:visible}.modal-content{background:var(--modal-bg);border-radius:12px;width:90%;max-width:400px;transform:scale(.95);transition:transform .2s,background-color .3s ease}.modal-overlay.show .modal-content{transform:scale(1)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--modal-border)}.modal-header h3{font-size:1rem;color:var(--text-primary);transition:color .3s ease}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-muted);cursor:pointer;transition:color .3s ease}.modal-body{padding:1.25rem}.modal-footer{display:flex;gap:.5rem;padding:.75rem 1.25rem 1.25rem;justify-content:flex-end}.modal-content.success{text-align:center;padding:1.5rem}.success-icon{font-size:2.5rem;display:block;margin-bottom:.5rem;animation:bounce 1s ease infinite}.solution-preview{background:var(--bg-tertiary);border-radius:8px;padding:.75rem;margin-top:.75rem;font-size:.85rem;color:var(--text-secondary);transition:background-color .3s ease,color .3s ease}.solution-step{padding:.35rem 0;border-bottom:1px solid var(--border-color);color:var(--text-secondary);transition:border-color .3s ease,color .3s ease}.toast-container{position:fixed;bottom:1rem;right:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:1100}.toast{background:var(--card-bg);border-radius:8px;padding:.75rem 1rem;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:.5rem;min-width:250px;animation:slideIn .2s ease;border-left:3px solid;transition:background-color .3s ease,box-shadow .3s ease}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--error)}.toast.warning{border-left-color:var(--warning)}.toast-icon{font-size:1rem}.toast-message{flex:1;font-size:.85rem}.toast-close{background:none;border:none;color:var(--text-muted);cursor:pointer;transition:color .3s ease}@keyframes keyCorrect{0%,to{border-color:transparent}50%{border-color:var(--success);background:#10b9814d}}@keyframes keyWrong{0%,to{border-color:transparent}50%{border-color:var(--error);background:#ef44444d}}@keyframes pulseRing{0%{transform:scale(.8);opacity:1}to{transform:scale(1.5);opacity:0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(min-width:1600px){.main-content{grid-template-columns:minmax(280px,320px) 1fr minmax(300px,340px);max-width:1800px}.calculator-wrapper{max-width:700px}}@media(min-width:1400px){.main-content{grid-template-columns:minmax(260px,300px) 1fr minmax(280px,320px)}.calculator-wrapper{max-width:650px}}@media(max-width:1200px){.main-content{grid-template-columns:minmax(200px,240px) 1fr minmax(220px,260px);gap:.75rem}.calculator-wrapper{max-width:100%}}@media(max-width:1024px){.main-content{grid-template-columns:1fr;gap:1rem}.sidebar-left,.sidebar-right{order:2;position:relative;top:0;max-height:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.sidebar-left>*,.sidebar-right>*{min-width:0}.calculator-section{order:1;padding:1rem}.calculator-wrapper{max-width:550px}.calibration-panel{width:100%;right:-100%}}@media(max-width:768px){.sidebar-left,.sidebar-right{grid-template-columns:1fr}.calculator-wrapper{max-width:100%;padding:0 .5rem}}@media(max-width:600px){.header h1{font-size:.95rem}.calculator-wrapper{max-width:100%;padding:0}.key-main{font-size:.7rem}.calculator-section{padding:.5rem 0}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}.dark-theme *{transition:background-color .3s ease,border-color .3s ease,color .3s ease}.dark-theme .calculator-image-container{box-shadow:0 20px 40px #0006,0 0 0 1px #ffffff0d}.dark-theme .tutor-key-tooltip{background-color:#1f1f23;color:#f4f4f5;border-color:var(--warning);box-shadow:0 10px 25px #00000080}.dark-theme .tutor-key-tooltip:after{border-color:var(--warning) transparent transparent transparent}.cms-tabs{display:flex;border-bottom:1px solid var(--border-color);background:var(--panel-header-bg)}.cms-tab{flex:1;padding:12px 16px;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary);transition:all .2s ease}.cms-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.cms-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:var(--bg-secondary)}.cms-tab-content{display:none;padding:16px;max-height:calc(100vh - 160px);overflow-y:auto}.cms-tab-content.active{display:block}.cms-settings-section{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.cms-settings-section:last-of-type{border-bottom:none}.cms-settings-section h4{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:16px;display:flex;align-items:center;gap:8px}.cms-form-group{margin-bottom:16px}.cms-form-group label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.cms-input,.cms-textarea{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;font-family:inherit;background:var(--bg-secondary);color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.cms-input:focus,.cms-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.cms-textarea{resize:vertical;min-height:60px}.cms-image-upload{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.cms-image-preview{width:64px;height:64px;border-radius:8px;background:var(--bg-tertiary);border:2px dashed var(--border-color);display:flex;align-items:center;justify-content:center;font-size:28px;overflow:hidden;transition:border-color .2s}.cms-image-preview.cms-favicon-preview{width:48px;height:48px;font-size:20px}.cms-image-preview:hover{border-color:var(--primary)}.cms-image-preview img{width:100%;height:100%;object-fit:cover}.cms-file-input{display:none}.cms-settings-actions{display:flex;gap:12px;border-top:1px solid var(--border-color);position:sticky;bottom:0;background:var(--panel-bg);margin:0 -16px -16px;padding:16px}.cms-settings-actions .btn{flex:1}.dark-theme .cms-tab:hover{background:#ffffff0d}.dark-theme user-profile .user-avatar{border-color:#ffffff1a;box-shadow:0 2px 8px #0006}.dark-theme user-profile .profile-dropdown{background:linear-gradient(180deg,#1f1f23,#18181b);border-color:#ffffff14;box-shadow:0 20px 50px #0009}.dark-theme user-profile .profile-header{border-color:#ffffff14}.dark-theme user-profile .profile-avatar-large{border-color:#ffffff1a}.dark-theme user-profile .profile-menu-item:hover{background:#ffffff0d}.header-controls user-profile{margin-left:.5rem}.login-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:url(./calculadora-original-B7ClLTdY.png) center/cover no-repeat;display:flex;justify-content:center;align-items:center;z-index:9999}.login-overlay:before{content:"";position:absolute;top:0;left:0;width:100vw;height:100vh;background:#0f172a66;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:-1}.login-glass-card{background:#ffffff1a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);box-shadow:0 25px 50px -12px #00000080;border-radius:16px;padding:3rem 2.5rem;width:100%;max-width:400px;text-align:center;color:#fff}.login-logo{font-size:3.5rem;margin-bottom:1rem;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3))}.login-glass-card h2{font-weight:600;font-size:1.5rem;margin-bottom:.5rem;letter-spacing:-.5px}.login-glass-card p{font-size:.9rem;color:#fffc;margin-bottom:2rem;line-height:1.5}.btn-google{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:.8rem;background:#fff;color:#333;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;box-shadow:0 4px 6px #0000001a;transition:transform .2s,box-shadow .2s}.btn-google img{width:24px;height:24px}.btn-google .google-icon{width:24px;height:24px;flex-shrink:0}.btn-google:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.login-divider{display:flex;align-items:center;text-align:center;margin:2rem 0;color:#ffffff80;font-size:.85rem;text-transform:uppercase;letter-spacing:1px}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid rgba(255,255,255,.2)}.login-divider::not(:empty):before{margin-right:.5em}.login-divider::not(:empty):after{margin-left:.5em}.admin-login-area{display:flex;flex-direction:column;gap:10px}.admin-input{width:100%;padding:10px 15px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#0003;color:#fff;font-family:inherit;font-size:.95rem;outline:none;transition:border-color .2s}.admin-input::placeholder{color:#ffffff80}.admin-input:focus{border-color:var(--primary)}.btn-back-home{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:1.5rem;padding:12px 20px;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#ffffffe6;font-family:inherit;font-size:.9rem;cursor:pointer;transition:all .2s ease}.btn-back-home:hover{background:#ffffff1a;border-color:#ffffff80;transform:translateY(-1px)}.btn-back-home svg{transition:transform .2s ease}.btn-back-home:hover svg{transform:translate(-3px)}
