:root{--primary:#2563eb;--primary-dark:#1d4ed8;--primary-light:#dbeafe;--success:#059669;--success-light:#d1fae5;--warning:#d97706;--warning-light:#fef3c7;--danger:#dc2626;--danger-light:#fee2e2;--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;--gray-900:#111827;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:350ms ease}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#1f2937;color:var(--gray-800);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.6;min-height:100vh}.app-container{display:flex;flex-direction:column;margin:0 auto;max-width:1280px;min-height:100vh;padding:0 1rem}.app-header{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);margin:1rem 0;padding:1.5rem 2rem;position:-webkit-sticky;position:sticky;top:1rem;z-index:50}.header-main{justify-content:space-between;margin-bottom:1.5rem}.header-logo,.header-main{align-items:center;display:flex}.header-logo{gap:1rem}.logo-icon{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:.75rem;border-radius:var(--radius-lg);color:#fff;display:flex;font-size:2.5rem;height:64px;justify-content:center;width:64px}.header-logo h1{color:#111827;color:var(--gray-900);font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.header-logo p{color:#4b5563;color:var(--gray-600);font-size:.95rem;font-weight:500}.header-actions{display:flex;gap:.75rem}.header-btn{align-items:center;background:#f3f4f6;background:var(--gray-100);border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:.5rem;border-radius:var(--radius-md);color:#374151;color:var(--gray-700);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1.25rem;transition:all .15s ease;transition:all var(--transition-fast)}.header-btn:hover{background:#e5e7eb;background:var(--gray-200);transform:translateY(-1px)}.header-tabs{border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200);padding-top:1.5rem}.header-tabs,.tab-btn{display:flex;gap:.5rem}.tab-btn{align-items:center;background:#f3f4f6;background:var(--gray-100);border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:.5rem;border-radius:var(--radius-md);color:#4b5563;color:var(--gray-600);cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;transition:all .25s ease;transition:all var(--transition-normal)}.tab-btn:hover:not(:disabled){background:#e5e7eb;background:var(--gray-200);transform:translateY(-1px)}.tab-btn.active{background:#2563eb;background:var(--primary);border-color:#2563eb;border-color:var(--primary);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);color:#fff}.tab-btn:disabled{cursor:not-allowed;opacity:.5}.main-content{flex:1 1;margin-bottom:2rem}.settings-panel{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:2fr 1fr;margin-bottom:2rem}.panel-card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem}.panel-card h3{align-items:center;color:#111827;color:var(--gray-900);display:flex;font-size:1.125rem;font-weight:600;gap:.5rem;margin-bottom:1.25rem}.settings-grid{grid-gap:1.25rem;display:grid;gap:1.25rem}.setting label{color:#374151;color:var(--gray-700);display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.input-group{position:relative}.input-group input{background:#fff;border:2px solid #d1d5db;border:2px solid var(--gray-300);border-radius:.5rem;border-radius:var(--radius-md);color:#111827;color:var(--gray-900);font-size:1rem;padding:.875rem 3rem .875rem 1rem;transition:all .15s ease;transition:all var(--transition-fast);width:100%}.input-group input:focus{border-color:#2563eb;border-color:var(--primary);box-shadow:0 0 0 3px #dbeafe;box-shadow:0 0 0 3px var(--primary-light);outline:none}.input-unit{color:#6b7280;color:var(--gray-500);font-size:.875rem;font-weight:500;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.checkbox-container{margin-top:.75rem}.checkbox-label{align-items:center;color:#374151;color:var(--gray-700);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.checkbox-label input{display:none}.checkbox-custom{align-items:center;border:2px solid #9ca3af;border:2px solid var(--gray-400);border-radius:4px;display:flex;height:18px;justify-content:center;transition:all .15s ease;transition:all var(--transition-fast);width:18px}.checkbox-label input:checked+.checkbox-custom{background:#2563eb;background:var(--primary);border-color:#2563eb;border-color:var(--primary)}.checkbox-label input:checked+.checkbox-custom:after{color:#fff;content:"✓";font-size:.75rem}.stats-card{background:linear-gradient(135deg,#dbeafe,#eff6ff);background:linear-gradient(135deg,var(--primary-light),#eff6ff);border:1px solid #dbeafe;border:1px solid var(--primary-light)}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.stat-item{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.5rem;border-radius:var(--radius-md);padding:1rem;text-align:center}.stat-label{color:#4b5563;color:var(--gray-600);font-size:.75rem;font-weight:500;margin-bottom:.25rem}.stat-value{color:#111827;color:var(--gray-900);font-size:1.5rem;font-weight:700}.table-panel{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);margin-bottom:2rem;padding:2rem}.panel-header{justify-content:space-between;margin-bottom:1.5rem}.panel-header,.panel-header h2{align-items:center;display:flex}.panel-header h2{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:600;gap:.5rem}.panel-actions{display:flex;gap:.75rem}.btn-add,.btn-clear{align-items:center;border:1px solid #0000;border-radius:.5rem;border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1.25rem;transition:all .15s ease;transition:all var(--transition-fast)}.btn-add{background:#2563eb;background:var(--primary);color:#fff}.btn-add:hover{background:#1d4ed8;background:var(--primary-dark);transform:translateY(-1px)}.btn-clear{background:#f3f4f6;background:var(--gray-100);border-color:#d1d5db;border-color:var(--gray-300);color:#374151;color:var(--gray-700)}.btn-clear:hover{background:#e5e7eb;background:var(--gray-200)}.table-wrapper{border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.5rem;border-radius:var(--radius-md);overflow-x:auto}table{border-collapse:collapse;min-width:800px;width:100%}thead{background:#f9fafb;background:var(--gray-50);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--gray-200)}th{color:#374151;color:var(--gray-700);font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}tbody tr{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);transition:background .15s ease;transition:background var(--transition-fast)}tbody tr.even,tbody tr:hover{background:#f9fafb;background:var(--gray-50)}td{padding:1rem}.subject-name-input{border:2px solid #d1d5db;border:2px solid var(--gray-300);border-radius:.375rem;border-radius:var(--radius-sm);font-size:.95rem;padding:.625rem .75rem;transition:all .15s ease;transition:all var(--transition-fast);width:100%}.subject-name-input:focus{border-color:#2563eb;border-color:var(--primary);box-shadow:0 0 0 3px #dbeafe;box-shadow:0 0 0 3px var(--primary-light);outline:none}.score-input-container{position:relative}.score-input{border:2px solid #d1d5db;border:2px solid var(--gray-300);border-radius:.375rem;border-radius:var(--radius-sm);font-size:.95rem;padding:.625rem 2.5rem .625rem .75rem;transition:all .15s ease;transition:all var(--transition-fast);width:100%}.score-input:focus{border-color:#2563eb;border-color:var(--primary);box-shadow:0 0 0 3px #dbeafe;box-shadow:0 0 0 3px var(--primary-light);outline:none}.score-suffix{color:#6b7280;color:var(--gray-500);font-size:.875rem;font-weight:500;position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.kkm-input{border:2px solid #d1d5db;border:2px solid var(--gray-300);border-radius:.375rem;border-radius:var(--radius-sm);font-size:.95rem;padding:.625rem .75rem;transition:all .15s ease;transition:all var(--transition-fast);width:100%}.kkm-input.disabled{background:#f3f4f6;background:var(--gray-100);color:#6b7280;color:var(--gray-500);cursor:not-allowed}.kkm-input:focus:not(.disabled){border-color:#2563eb;border-color:var(--primary);box-shadow:0 0 0 3px #dbeafe;box-shadow:0 0 0 3px var(--primary-light);outline:none}.status-indicator{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:.75rem;font-weight:600;gap:.5rem;letter-spacing:.05em;padding:.5rem .75rem;text-transform:uppercase}.status-indicator.passed{background:#d1fae5;background:var(--success-light);color:#059669;color:var(--success)}.status-indicator.failed{background:#fee2e2;background:var(--danger-light);color:#dc2626;color:var(--danger)}.status-indicator.empty{background:#e5e7eb;background:var(--gray-200);color:#4b5563;color:var(--gray-600)}.status-dot{border-radius:50%;height:8px;width:8px}.status-indicator.passed .status-dot{background:#059669;background:var(--success)}.status-indicator.failed .status-dot{background:#dc2626;background:var(--danger)}.status-indicator.empty .status-dot{background:#6b7280;background:var(--gray-500)}.action-buttons{display:flex;gap:.5rem}.btn-delete{background:#fee2e2;background:var(--danger-light);border:1px solid #dc2626;border:1px solid var(--danger);border-radius:.375rem;border-radius:var(--radius-sm);color:#dc2626;color:var(--danger);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .15s ease;transition:all var(--transition-fast)}.btn-delete:hover{background:#dc2626;background:var(--danger);color:#fff}.calculate-section{margin-bottom:2rem;text-align:center}.btn-calculate{align-items:center;background:linear-gradient(135deg,#2563eb,#1d4ed8);background:linear-gradient(135deg,var(--primary),var(--primary-dark));border:none;border-radius:1rem;border-radius:var(--radius-xl);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);color:#fff;cursor:pointer;display:inline-flex;font-size:1.125rem;font-weight:600;gap:1rem;padding:1.25rem 3rem;transition:all .25s ease;transition:all var(--transition-normal)}.btn-calculate:hover:not(:disabled){box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-xl);transform:translateY(-2px)}.btn-calculate:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.calculate-hint{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin-top:1rem}.results-panel,.results-summary{margin-bottom:2rem}.results-summary{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 3fr}.main-summary{background:linear-gradient(135deg,#2563eb,#1d4ed8);background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:2rem}.main-summary .summary-value{color:#fff;font-size:3.5rem}.main-summary .summary-value span{font-size:1.5rem;opacity:.9}.summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.summary-card{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.75rem;border-radius:var(--radius-lg);display:flex;gap:1rem;padding:1.5rem}.summary-icon{align-items:center;background:#f3f4f6;background:var(--gray-100);border-radius:.5rem;border-radius:var(--radius-md);display:flex;font-size:2rem;height:48px;justify-content:center;width:48px}.summary-content{flex:1 1}.summary-label{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin-bottom:.25rem}.summary-value{color:#111827;color:var(--gray-900);font-size:2rem;font-weight:700;margin-bottom:.25rem}.summary-value.positive{color:#059669;color:var(--success)}.summary-value.negative{color:#dc2626;color:var(--danger)}.summary-value span{color:#4b5563;color:var(--gray-600);font-size:1rem}.summary-sub{color:#6b7280;color:var(--gray-500);font-size:.75rem}.analysis-panel{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);padding:2rem}.analysis-panel h3{align-items:center;color:#111827;color:var(--gray-900);display:flex;font-size:1.25rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem}.analysis-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.analysis-card{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.75rem;border-radius:var(--radius-lg);padding:1.5rem}.analysis-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.analysis-header h4{color:#111827;color:var(--gray-900);font-size:1.125rem;font-weight:600}.score-badge{border-radius:9999px;border-radius:var(--radius-full);font-size:.875rem;font-weight:700;padding:.5rem 1rem}.score-badge.passed{background:#d1fae5;background:var(--success-light);color:#059669;color:var(--success)}.score-badge.failed{background:#fee2e2;background:var(--danger-light);color:#dc2626;color:var(--danger)}.progress-container{margin-bottom:1.5rem}.progress-labels{color:#6b7280;color:var(--gray-500);display:flex;font-size:.75rem;justify-content:space-between;margin-bottom:.5rem}.progress-bar{background:#d1d5db;background:var(--gray-300);height:8px;margin-bottom:.5rem;overflow:hidden;position:relative}.progress-bar,.progress-fill{border-radius:9999px;border-radius:var(--radius-full)}.progress-fill{height:100%;left:0;position:absolute;top:0}.fill-passed{background:linear-gradient(90deg,#059669,#10b981);background:linear-gradient(90deg,var(--success),#10b981)}.fill-failed{background:linear-gradient(90deg,#dc2626,#ef4444);background:linear-gradient(90deg,var(--danger),#ef4444)}.kkm-marker{background:#111827;background:var(--gray-900);height:12px;position:absolute;top:-2px;transform:translateX(-50%);width:4px}.progress-info{color:#4b5563;color:var(--gray-600);display:flex;font-size:.75rem;justify-content:space-between}.difference{font-weight:600}.difference.positive{color:#059669;color:var(--success)}.difference.negative{color:#dc2626;color:var(--danger)}.analysis-footer{gap:1.5rem}.analysis-footer,.grade-circle{align-items:center;display:flex}.grade-circle{background:#fff;border:3px solid #2563eb;border:3px solid var(--primary);border-radius:50%;flex-direction:column;height:64px;justify-content:center;width:64px}.circle-value{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700}.circle-label{color:#6b7280;color:var(--gray-500);font-size:.625rem;letter-spacing:.05em;text-transform:uppercase}.status-display{flex:1 1}.status{font-size:.875rem;font-weight:600;margin-bottom:.25rem}.status-passed{color:#059669;color:var(--success)}.status-failed{color:#dc2626;color:var(--danger)}.recommendation{color:#4b5563;color:var(--gray-600);font-size:.75rem;line-height:1.4}.export-panel{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);padding:2rem}.export-header{margin-bottom:2rem;text-align:center}.export-header h2{align-items:center;color:#111827;color:var(--gray-900);display:flex;font-size:1.5rem;font-weight:600;gap:.5rem;justify-content:center;margin-bottom:.5rem}.export-header p{color:#4b5563;color:var(--gray-600)}.export-options{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.export-card{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.75rem;border-radius:var(--radius-lg);padding:1.5rem;text-align:center;transition:all .25s ease;transition:all var(--transition-normal)}.export-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-2px)}.export-icon{font-size:2.5rem;margin-bottom:1rem}.export-card h3{color:#111827;color:var(--gray-900);font-size:1.125rem;font-weight:600;margin-bottom:.75rem}.export-card p{color:#4b5563;color:var(--gray-600);font-size:.875rem;line-height:1.5;margin-bottom:1.5rem}.export-btn{background:#2563eb;background:var(--primary);border:none;border-radius:.5rem;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:.875rem 1.5rem;transition:all .15s ease;transition:all var(--transition-fast);width:100%}.export-btn:hover{background:#1d4ed8;background:var(--primary-dark)}.export-notes{background:#f3f4f6;background:var(--gray-100);border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:.75rem;border-radius:var(--radius-lg);padding:1.5rem}.export-notes h4{align-items:center;color:#111827;color:var(--gray-900);display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.export-notes ul{list-style:none;padding-left:0}.export-notes li{color:#4b5563;color:var(--gray-600);font-size:.875rem;padding:.25rem 0 .25rem 1.5rem;position:relative}.export-notes li:before{color:#2563eb;color:var(--primary);content:"•";left:0;position:absolute}.app-footer{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);margin:1rem 0;padding:2rem}.footer-content{grid-gap:2rem;align-items:center;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.footer-section{display:flex;flex-direction:column;gap:1rem}.footer-logo{gap:.75rem}.footer-logo,.footer-logo span{align-items:center;display:flex}.footer-logo span{background:#f3f4f6;background:var(--gray-100);border-radius:.5rem;border-radius:var(--radius-md);font-size:2rem;height:48px;justify-content:center;width:48px}.footer-logo h4{color:#111827;color:var(--gray-900);font-size:1.125rem;font-weight:600}.footer-logo p{color:#4b5563;color:var(--gray-600);font-size:.875rem}.copyright{color:#6b7280;color:var(--gray-500);font-size:.875rem;font-weight:500}.thanks-section{text-align:right}.thanks-title{color:#4b5563;color:var(--gray-600);font-size:.875rem;font-weight:500;margin-bottom:.75rem}.thanks-items{display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end}.thanks-item{align-items:center;background:#f3f4f6;background:var(--gray-100);border-radius:9999px;border-radius:var(--radius-full);color:#374151;color:var(--gray-700);display:inline-flex;font-size:.875rem;font-weight:500;gap:.375rem;padding:.5rem 1rem}@media (max-width:1024px){.results-summary,.settings-panel{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.app-header{margin:.5rem 0;padding:1rem}.header-main{gap:1rem}.header-logo,.header-main{flex-direction:column;text-align:center}.logo-icon{font-size:2rem;height:56px;width:56px}.header-tabs{overflow-x:auto;padding-bottom:.5rem}.tab-btn{font-size:.875rem;padding:.625rem 1rem;white-space:nowrap}.panel-header{flex-direction:column;gap:1rem;text-align:center}.panel-actions{justify-content:center;width:100%}.btn-add,.btn-clear{flex:1 1;justify-content:center}.stats-grid{grid-template-columns:repeat(3,1fr)}.analysis-grid,.export-options,.footer-content{grid-template-columns:1fr}.footer-content{text-align:center}.footer-logo{justify-content:center}.thanks-section{text-align:center}.thanks-items{justify-content:center}}@media (max-width:640px){.app-container{padding:0 .5rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.summary-grid{grid-template-columns:1fr}.analysis-footer{flex-direction:column;text-align:center}.thanks-items{align-items:center;flex-direction:column}.thanks-item{justify-content:center;width:100%}}@media print{.app-footer,.app-header,.btn-calculate,.calculate-hint,.header-actions,.header-tabs{display:none!important}.app-container{margin:0;padding:0}body{background:#fff!important;color:#000!important}.analysis-panel,.card,.export-panel,.panel-card,.table-panel{border:1px solid #ddd!important;box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}.btn-add,.btn-clear,.btn-delete,.export-btn,.tab-btn{display:none!important}input{background:#fff!important;border:1px solid #ddd!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-10deg) scale(.9)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes gradientFlow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes slideIn{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}.fade-in-up{animation:fadeInUp .6s ease-out}.fade-in-down{animation:fadeInDown .6s ease-out}.fade-in-left{animation:fadeInLeft .6s ease-out}.fade-in-right{animation:fadeInRight .6s ease-out}.scale-in{animation:scaleIn .4s ease-out}.rotate-in{animation:rotateIn .5s ease-out}.bounce-animation{animation:bounce 1s ease}.pulse-animation{animation:pulse 2s ease-in-out infinite}.shake-animation{animation:shake .5s ease-in-out}.float-animation{animation:float 3s ease-in-out infinite}.gradient-flow{animation:gradientFlow 5s ease infinite;background-size:200% 200%}.slide-in{animation:slideIn .5s ease-out}.stagger-animation>*{animation:fadeInUp .5s ease-out forwards;opacity:0}.stagger-animation>:first-child{animation-delay:.1s}.stagger-animation>:nth-child(2){animation-delay:.2s}.stagger-animation>:nth-child(3){animation-delay:.3s}.stagger-animation>:nth-child(4){animation-delay:.4s}.stagger-animation>:nth-child(5){animation-delay:.5s}.stagger-animation>:nth-child(6){animation-delay:.6s}.stagger-animation>:nth-child(7){animation-delay:.7s}.stagger-animation>:nth-child(8){animation-delay:.8s}.stagger-animation>:nth-child(9){animation-delay:.9s}.stagger-animation>:nth-child(10){animation-delay:1s}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{box-shadow:0 15px 30px #0000004d;transform:translateY(-4px)}.hover-scale{transition:transform .3s ease}.hover-scale:hover{transform:scale(1.05)}.hover-rotate{transition:transform .3s ease}.hover-rotate:hover{transform:rotate(5deg)}.hover-shake:hover{animation:shake .5s ease-in-out}.hover-pulse:hover{animation:pulse 1s ease-in-out infinite}@keyframes loading{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-spinner{animation:loading 1s linear infinite;border:4px solid #ffffff1a;border-radius:50%;border-top:4px solid var(--info);height:40px;width:40px}@media (min-width:1200px){.app-container{max-width:1200px}}@media (max-width:1199px){.app-container{max-width:960px;padding:var(--space-md)}.title-gradient{font-size:2.2rem}.charts-grid{grid-template-columns:1fr}}@media (max-width:991px){.app-container{max-width:720px;padding:var(--space-sm)}.title-gradient{font-size:1.8rem}.subtitle{font-size:1rem}.settings-grid{grid-template-columns:1fr}.summary-cards{grid-template-columns:repeat(2,1fr)}.subject-row,.table-header{font-size:.9rem;grid-template-columns:50px 1fr 100px 100px 70px}.delete-text{display:none}.btn-calculate,.btn-reset{min-width:100%}.button-group{flex-direction:column}}@media (max-width:767px){.app-container{padding:var(--space-xs)}.header-content{padding:var(--space-lg) var(--space-md)}.title-gradient{font-size:1.6rem}.glass-card{padding:var(--space-md)}.summary-cards{grid-template-columns:1fr}.subject-row,.table-header{font-size:.85rem;gap:var(--space-xs);grid-template-columns:40px 1fr 80px 80px 50px;padding:var(--space-xs)}.cell,.header-cell{padding:.25rem}.index-badge{font-size:.8rem;height:28px;width:28px}.kkm-input,.score-input{font-size:.9rem;padding:.5rem}.input-hint{font-size:.8rem;right:.5rem}.subjects-footer{flex-direction:column;gap:var(--space-md);text-align:center}.subjects-stats{justify-content:space-around;width:100%}.results-table{min-width:700px}.export-buttons{flex-direction:column}.btn-export{min-width:100%}}@media (max-width:575px){.app-container{padding:.5rem}.title-gradient{font-size:1.4rem}.subtitle{font-size:.9rem}.version-badge{font-size:.8rem;padding:.4rem .8rem}.glass-card{padding:var(--space-sm)}.section-title{font-size:1.2rem}.section-subtitle{font-size:.85rem}.subject-row,.table-header{font-size:.8rem;grid-template-columns:30px 1fr 70px 70px 40px}.subject-name-input{font-size:.85rem;padding:.5rem}.btn-delete{padding:.4rem}.delete-icon{font-size:.8rem}.btn-add-subject{font-size:.85rem;padding:.6rem 1rem}.add-icon{font-size:.9rem}.btn-calculate,.btn-reset{font-size:.95rem;padding:.875rem 1rem}.btn-icon{font-size:1rem}.btn-text{font-size:.9rem}.results-title{font-size:1.2rem}.results-timestamp{font-size:.8rem}.summary-card{padding:var(--space-md)}.card-icon,.card-value{font-size:2rem}.card-title{font-size:.9rem}.detailed-title{font-size:1.1rem}.analysis-title{font-size:1rem}.analysis-text{font-size:.9rem}.viz-title{font-size:1.2rem}.chart-card{padding:var(--space-md)}.chart-title{font-size:.9rem}.stats-grid-mini{grid-template-columns:repeat(2,1fr)}.stat-card{padding:var(--space-sm)}.stat-card-icon{font-size:1.2rem}.stat-card-value{font-size:1.1rem}.stat-card-label{font-size:.75rem}.footer-info{grid-template-columns:1fr}.tech-badges{justify-content:center}.copyright{font-size:.8rem}}@media (max-width:399px){.title-gradient{font-size:1.2rem}.subject-row,.table-header{font-size:.75rem;grid-template-columns:25px 1fr 60px 60px 35px}.index-badge{font-size:.7rem;height:22px;width:22px}.kkm-input,.score-input,.subject-name-input{font-size:.8rem;padding:.4rem}.input-hint{font-size:.7rem;right:.3rem}.kkm-global-badge{font-size:.6rem;padding:1px 4px}.btn-delete{padding:.3rem}.btn-add-subject{font-size:.8rem;padding:.5rem .8rem}.stats-grid-mini{grid-template-columns:1fr}}@media print{.app-footer,.app-header,.btn-export,.button-group,.export-section{display:none}.app-container{margin:0;padding:0}.glass-card{border:1px solid #ccc;box-shadow:none;break-inside:avoid;page-break-inside:avoid}body{background:#fff;color:#000}.results-table{border:1px solid #ccc}.results-table th{background:#f0f0f0;color:#000}.results-table td{color:#000}}
/*# sourceMappingURL=main.6ca09128.css.map*/