:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}:root[data-theme=dark]{--bg-main:#0b1120;--bg-gradient-start:#1f2937;--bg-gradient-end:#020617;--bg-header:linear-gradient(90deg,#020617,#0f172a);--bg-sidebar:#020617;--bg-card:rgba(15,23,42,.9);--bg-code:#020617;--bg-input:rgba(15,23,42,.8);--bg-input-focus:rgba(15,23,42,.95);--bg-highlight:rgba(15,23,42,.95);--bg-nav-hover:rgba(51,65,85,.75);--text-primary:#e5e7eb;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-nav:#cbd5f5;--border-color:rgba(148,163,184,.4);--border-code:rgba(51,65,85,.9);--accent:#38bdf8;--accent-gradient:linear-gradient(135deg,#38bdf8,#6366f1)}:root[data-theme=light]{--bg-main:#fff;--bg-gradient-start:#f8fafc;--bg-gradient-end:#e2e8f0;--bg-header:linear-gradient(90deg,#f1f5f9,#e2e8f0);--bg-sidebar:#f8fafc;--bg-card:#fff;--bg-code:#f1f5f9;--bg-input:#f8fafc;--bg-input-focus:#fff;--bg-highlight:#f1f5f9;--bg-nav-hover:rgba(226,232,240,.8);--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--text-nav:#334155;--border-color:rgba(100,116,139,.3);--border-code:rgba(203,213,225,.9);--accent:#0ea5e9;--accent-gradient:linear-gradient(135deg,#0ea5e9,#3b82f6)}*{box-sizing:border-box}body,html{overflow-x:hidden}body{margin:0;max-width:100vw;width:100%}h1,h2,h3,h4,h5,h6{font-weight:600;margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{border-radius:.25rem;font-family:Courier New,Courier,monospace;font-size:.9em;padding:.2rem .4rem}code,pre{background:var(--bg-code)}pre{border:1px solid var(--border-code);border-radius:.5rem;overflow-x:auto;padding:1rem}pre code{background:transparent;padding:0}.app-root{background:radial-gradient(circle at top,var(--bg-gradient-start) 0,var(--bg-gradient-end) 55%);color:var(--text-primary);display:flex;flex-direction:column;min-height:100vh}.app-header{background:var(--bg-header);border-bottom:1px solid var(--border-color);padding:1.5rem 2rem}.header-top{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.theme-toggle{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;cursor:pointer;flex-shrink:0;font-size:1.5rem;padding:.75rem 1rem;transition:all .2s ease}.theme-toggle:hover{border-color:var(--accent);box-shadow:0 0 0 3px #38bdf81a;transform:scale(1.05)}.app-header h1{font-size:1.6rem;margin:0}.app-subtitle{color:var(--text-secondary);font-size:.95rem;margin:.5rem 0 0}.search-container{margin-top:1rem;max-width:600px;position:relative}.search-input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-size:.95rem;outline:none;padding:.75rem 2.5rem .75rem 1rem;transition:all .2s ease;width:100%}.search-input::-moz-placeholder{color:var(--text-tertiary)}.search-input::placeholder{color:var(--text-tertiary)}.search-input:focus{background:var(--bg-input-focus);border-color:var(--accent);box-shadow:0 0 0 3px #38bdf81a}.search-clear{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.2rem;line-height:1;padding:.25rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:color .2s ease}.search-clear:hover{color:var(--text-primary)}.app-layout{display:flex;flex:1;min-height:0}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-color);overflow-y:auto;padding:1.25rem .75rem 1.5rem;width:260px}.sidebar-title{color:var(--text-tertiary);font-size:.9rem;letter-spacing:.06em;margin:0 0 .75rem .75rem;text-transform:uppercase}.search-results-count{color:var(--accent);font-size:.85rem;font-weight:400;margin-left:.5rem;text-transform:none}.main-content{flex:1;margin:0 auto;max-width:1400px;overflow-y:auto;padding:2rem;width:100%}@media(max-width:768px){.app-layout{flex-direction:column}.sidebar{border-bottom:1px solid var(--border-color);border-right:none;width:100%}.app-header,.main-content{padding:1rem}.header-top{flex-direction:column}}.nav-list{list-style:none;margin:0;padding:0}.nav-button{align-items:center;background:transparent;border:none;border-radius:.6rem;color:var(--text-nav);cursor:pointer;display:flex;font-size:.9rem;gap:.45rem;padding:.45rem .75rem;text-align:left;transition:all .2s ease;width:100%}.nav-button:hover{background:var(--bg-nav-hover)}.nav-button-active{background:var(--accent-gradient);color:#fff;font-weight:600}.nav-icon{display:inline-flex;justify-content:center;width:1.3rem}.app-footer{border-top:1px solid var(--border-color);color:var(--text-tertiary);font-size:.85rem;padding:1rem 2rem;text-align:center}.copy-button{background:var(--accent);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.75rem;font-weight:600;padding:.4rem .75rem;transition:all .2s ease;white-space:nowrap}.copy-button:hover{box-shadow:0 4px 12px #38bdf84d;transform:translateY(-1px)}.copy-button:active{transform:translateY(0)}.code-block-wrapper{margin:1rem 0;position:relative}.code-block-wrapper .copy-button{position:absolute;right:.5rem;top:.5rem;z-index:1}.code-block-wrapper pre{margin:0}.content{flex:1;overflow-y:auto;padding:1.5rem}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 18px 40px #0f172a4d;margin:0 auto;max-width:960px;padding:1.75rem 2rem;width:100%}.content-title{font-size:1.4rem;margin-bottom:.25rem;margin-top:0}.content-subtitle{color:var(--text-secondary);font-size:.95rem;margin-bottom:1.25rem;margin-top:0}.content-body h3{font-size:1.05rem;margin-bottom:.4rem;margin-top:1.3rem}.content-body h4{font-size:.98rem;margin-bottom:.25rem;margin-top:1rem}.content-body ul{margin-top:.25rem;padding-left:1.4rem}.content-body li{margin-bottom:.25rem}.highlight{background:var(--bg-highlight);border-left:4px solid var(--accent);border-radius:.5rem;font-size:.9rem;margin:.75rem 0;padding:.5rem .75rem;position:relative}.input-group{margin-bottom:1.5rem;position:relative}.input-group:last-child{margin-bottom:0}.input-group label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;margin-bottom:.5rem}.input-group label .label-icon{font-size:1rem;opacity:.7}.input-group label .label-required{color:#dc2626;font-size:.875rem}.input-wrapper{align-items:center;display:flex;position:relative}.input-prefix,.input-suffix{color:var(--text-tertiary);font-size:1rem;font-weight:600;pointer-events:none;position:absolute;z-index:1}.input-prefix{left:1rem}.input-suffix{right:1rem}.calc-input{background:var(--bg-input);border:2px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:1rem;font-weight:500;padding:.875rem 1rem .875rem 2.5rem;transition:all .2s ease;width:100%}.calc-input::-moz-placeholder{color:var(--text-tertiary);font-style:italic;opacity:.6}.calc-input::placeholder{color:var(--text-tertiary);font-style:italic;opacity:.6}.calc-input:hover{border-color:#94a3b8}.calc-input:focus{background:var(--bg-input-focus);border-color:var(--accent);box-shadow:0 0 0 4px #38bdf826;outline:none;transform:translateY(-1px)}.calc-input:disabled{background:var(--bg-card);color:var(--text-tertiary);cursor:not-allowed;opacity:.6}.input-group.has-error .calc-input{background:#dc26260d;border-color:#dc2626}.input-group.has-error .calc-input:focus{box-shadow:0 0 0 4px #dc262626}.input-group.has-success .calc-input{background:#10b9810d;border-color:#10b981}.input-group.has-success .calc-input:focus{box-shadow:0 0 0 4px #10b98126}.input-hint{color:var(--text-tertiary);font-size:.85rem;line-height:1.4;margin:.5rem 0 0}.input-hint.hint-error{color:#dc2626;font-weight:500}.input-hint.hint-success{color:#10b981;font-weight:500}select.calc-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.25rem;cursor:pointer;padding-right:2.5rem}select.calc-input:hover{background-color:var(--bg-highlight)}.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.checkbox-group input[type=checkbox]{cursor:pointer;height:1.25rem;width:1.25rem}.breadcrumb{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;padding:.75rem 0}.breadcrumb-list{flex-wrap:wrap;font-size:.9rem;gap:.5rem;list-style:none;margin:0;padding:0}.breadcrumb-item,.breadcrumb-list{align-items:center;display:flex}.breadcrumb-link{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:inherit;padding:.25rem .5rem;transition:all .2s ease}.breadcrumb-link:hover{background:#38bdf81a;color:var(--accent)}.breadcrumb-separator{color:var(--text-tertiary);margin:0 .25rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.breadcrumb-category{color:var(--text-secondary);padding:.25rem .5rem}.breadcrumb-current{align-items:center;display:flex}.breadcrumb-current-page{background:#38bdf81a;border-radius:4px;color:var(--text-primary);font-weight:600;padding:.25rem .5rem}@media(max-width:768px){.breadcrumb-list{font-size:.85rem}.breadcrumb-category,.breadcrumb-separator:first-of-type{display:none}}.table-of-contents{background:#fff;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;max-width:100%;padding:1.25rem;position:relative;transition:all .3s ease;width:100%}.table-of-contents.sticky{box-shadow:0 4px 12px #0000004d;position:sticky;top:80px;z-index:10}.toc-header{align-items:center;border-bottom:2px solid var(--accent);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.toc-header h3{color:#1f2937;font-size:1rem;font-weight:600;margin:0}.toc-toggle-btn{background:none;border:none;border-radius:4px;color:var(--accent);cursor:pointer;font-size:1rem;padding:.25rem .5rem;transition:all .2s ease}.toc-toggle-btn:hover{background:var(--accent);color:#000;transform:scale(1.1)}.toc-list{list-style:none;margin:0;max-height:600px;overflow-y:auto;padding:0;transition:max-height .3s ease}.toc-list.collapsed{max-height:0;overflow:hidden}.toc-list::-webkit-scrollbar{width:6px}.toc-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.toc-list::-webkit-scrollbar-thumb{background:#38bdf8;border-radius:3px}.toc-list::-webkit-scrollbar-thumb:hover{background:#0ea5e9}.toc-item{margin:.25rem 0;transition:all .2s ease}.toc-item.level-3{font-weight:500;margin-left:0}.toc-item.level-4{font-size:.9rem;margin-left:1rem}.toc-item a{border-left:3px solid transparent;border-radius:4px;color:#475569;display:block;padding:.5rem .75rem;position:relative;text-decoration:none;transition:all .2s ease}.toc-item a:hover{background:#38bdf81a;padding-left:1rem}.toc-item a:hover,.toc-item.active a{border-left-color:var(--accent);color:var(--accent)}.toc-item.active a{background:#38bdf826;font-weight:600}.toc-item.active a:before{animation:pulse 2s ease-in-out infinite;content:"▶";font-size:.7rem;left:.25rem;position:absolute}.back-to-top-btn{align-items:center;background:var(--accent);border:none;border-radius:50%;bottom:2rem;box-shadow:0 4px 12px #38bdf866;color:#000;cursor:pointer;display:flex;font-size:1.5rem;font-weight:700;height:50px;justify-content:center;position:fixed;right:2rem;transition:all .3s ease;width:50px;z-index:1000}.back-to-top-btn:hover{background:#2dd4bf;box-shadow:0 6px 20px #38bdf899;transform:translateY(-5px)}.back-to-top-btn:active{transform:translateY(-2px)}@media(max-width:1024px){.table-of-contents{margin-bottom:2rem;max-width:100%}.table-of-contents.sticky{position:relative;top:auto}}@media(max-width:768px){.toc-header h3{font-size:.95rem}.toc-item a{font-size:.9rem;padding:.4rem .6rem}.toc-item.level-4{font-size:.85rem;margin-left:.75rem}.back-to-top-btn{bottom:1.5rem;font-size:1.25rem;height:45px;right:1.5rem;width:45px}}.calculator-tabs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}.calc-tab{background:var(--bg-card);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-secondary);cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 1.5rem;transition:all .2s ease}.calc-tab:hover{border-color:var(--accent);color:var(--text-primary)}.calc-tab.active{background:var(--accent-gradient);border-color:var(--accent);color:#fff}.calculator-container{background:var(--bg-main)!important;color:var(--text-primary)!important;margin:0 auto;max-width:900px;min-height:100vh}.calculator-container *{color:inherit}.calculator-container button,.calculator-container input,.calculator-container select{color:var(--text-primary)}.calculator-inputs,.calculator-results{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;margin-bottom:2rem;padding:2rem}.calculator-results h3{font-size:1.4rem;margin:0 0 1.5rem;text-align:center}.result-card{background:var(--bg-input);border:1px solid var(--border-color);border-radius:.75rem;margin-bottom:1rem;padding:1.25rem 1.5rem;text-align:center;transition:all .2s ease}.result-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.result-card.primary{background:#38bdf81a;border-color:var(--accent)}.result-card.success{background:#10b9811a;border-color:#10b981}.result-card.warning{background:#ef44441a;border-color:#ef4444}.result-label{color:var(--text-secondary);font-size:.9rem;font-weight:500;margin-bottom:.5rem}.result-value{color:var(--text-primary);font-size:2rem;font-weight:700}.calculator-warning{background:#ef44441a;border:1px solid #ef4444;border-radius:.5rem;color:#ef4444;font-weight:600;margin-top:1rem;padding:1rem 1.25rem;text-align:center}.calculator-explanation{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem}.calculator-explanation h4{color:var(--accent);font-size:1.1rem;margin:0 0 1rem}@media(max-width:768px){.calculator-tabs{flex-direction:column}.calc-tab{width:100%}.calculator-inputs{padding:1.25rem}.calculator-container{padding:1rem}}.cma-enhanced{background:transparent!important;margin:0 auto;max-width:1400px;padding:2rem}.cma-toolbar{background:var(--bg-card);border-radius:.75rem}.cma-toolbar button{background:var(--bg-card);border:2px solid var(--border-color);color:var(--text-primary);font-weight:600}.cma-toolbar button:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.comp-section{background:#fff;border:2px solid #d1d5db;margin:2rem 0;position:relative}.comp-section:hover{border-color:#4f46e5;box-shadow:0 4px 12px #4f46e526}.comp-section:first-of-type{background:linear-gradient(90deg,#3b82f608 0,#fff);border-left:5px solid #3b82f6}.comp-section:nth-of-type(2){background:linear-gradient(90deg,#10b98108 0,#fff);border-left:5px solid #10b981}.comp-section:nth-of-type(3){background:linear-gradient(90deg,#f59e0b08 0,#fff);border-left:5px solid #f59e0b}.comp-section:nth-of-type(4){background:linear-gradient(90deg,#8b5cf608 0,#fff);border-left:5px solid #8b5cf6}.comp-section:nth-of-type(5){background:linear-gradient(90deg,#ec489908 0,#fff);border-left:5px solid #ec4899}.comp-section:nth-of-type(6){background:linear-gradient(90deg,#06b6d408 0,#fff);border-left:5px solid #06b6d4}.comp-header{border-bottom:2px solid #d1d5db}.comp-header h4{color:#111827;font-size:1.1rem}@media(prefers-color-scheme:dark){.comp-section{background:#fff;border-color:#e5e7eb}.comp-section:first-of-type{background:linear-gradient(90deg,#3b82f60d 0,#fff)}.comp-section:nth-of-type(2){background:linear-gradient(90deg,#10b9810d 0,#fff)}.comp-section:nth-of-type(3){background:linear-gradient(90deg,#f59e0b0d 0,#fff)}.comp-section:nth-of-type(4){background:linear-gradient(90deg,#8b5cf60d 0,#fff)}.comp-section:nth-of-type(5){background:linear-gradient(90deg,#ec48990d 0,#fff)}.comp-section:nth-of-type(6){background:linear-gradient(90deg,#06b6d40d 0,#fff)}}@media print{.calculator-tabs,.cma-toolbar,.print-button{display:none!important}.comp-section{-moz-column-break-inside:avoid;break-inside:avoid}}@media(max-width:768px){.cma-enhanced,.comp-section{padding:1rem}}.cma-toolbar{align-items:stretch;background:var(--bg-highlight);border:1px solid var(--border-color);border-radius:.5rem;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;padding:1rem}.cma-toolbar button{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #94a3b8;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;color:#1e293b;cursor:pointer;flex:0 1 auto;font-size:.9rem;font-weight:500;max-width:180px;min-width:140px;padding:.75rem 1rem;transition:all .2s ease;white-space:nowrap}:root[data-theme=dark] .cma-toolbar button{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#475569;color:#e2e8f0}.cma-toolbar button:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-color:#64748b;box-shadow:0 4px 6px #00000026;transform:translateY(-1px)}:root[data-theme=dark] .cma-toolbar button:hover{background:linear-gradient(135deg,#334155,#1e293b);border-color:#64748b}.cma-toolbar button:active{box-shadow:0 1px 2px #0000001a;transform:translateY(0)}.cma-toolbar .mode-toggle-btn{font-weight:600;max-width:200px;min-width:160px}.cma-toolbar .mode-toggle-btn.mode-learning{background:linear-gradient(135deg,#bfdbfe,#93c5fd);border-color:#2563eb;color:#1e3a8a}:root[data-theme=dark] .cma-toolbar .mode-toggle-btn.mode-learning{background:linear-gradient(135deg,#1e3a8a,#1e40af);border-color:#3b82f6;color:#dbeafe}.cma-toolbar .mode-toggle-btn.mode-professional{background:linear-gradient(135deg,#e9d5ff,#d8b4fe);border-color:#9333ea;color:#581c87}:root[data-theme=dark] .cma-toolbar .mode-toggle-btn.mode-professional{background:linear-gradient(135deg,#581c87,#6b21a8);border-color:#a855f7;color:#f3e8ff}.cma-data-sources-panel,.cma-help-panel{animation:slideDown .3s ease-out;background:var(--bg-card);border:2px solid var(--accent);border-radius:.75rem;margin-bottom:2rem;padding:2rem}.cma-data-sources-panel h3,.cma-help-panel h3{border-bottom:2px solid var(--accent);color:var(--accent);margin:0 0 1.5rem;padding-bottom:.75rem}.data-sources-content,.help-content{display:flex;flex-direction:column;gap:1.5rem}.data-source,.help-section{background:var(--bg-highlight);border-left:4px solid var(--accent);border-radius:.5rem;padding:1.25rem}.data-source h4,.help-section h4{color:var(--text-primary);font-size:1.1rem;margin:0 0 .75rem}.data-source p,.help-section p{line-height:1.6;margin:.5rem 0}.data-collection-steps ol,.data-source ul,.help-section ul{margin:.75rem 0;padding-left:1.5rem}.data-collection-steps li,.data-source li,.help-section li{line-height:1.6;margin:.5rem 0}.help-best-practices{background:linear-gradient(135deg,#22c55e1a,#10b9811a);border:2px solid #10b981;border-radius:.75rem;padding:1.5rem}.help-best-practices h4{color:#10b981;margin:0 0 1rem}.help-best-practices ul{list-style:none;padding:0}.help-best-practices li{border-bottom:1px solid rgba(16,185,129,.2);padding:.5rem 0}.help-best-practices li:last-child{border-bottom:none}.data-collection-steps{background:var(--bg-highlight);border:2px solid var(--accent);border-radius:.75rem;padding:1.5rem}.data-collection-steps h4{color:var(--accent);margin:0 0 1rem}.data-collection-steps ol{counter-reset:step-counter;list-style:none;padding:0}.data-collection-steps li{counter-increment:step-counter;margin:1rem 0;padding-left:2.5rem;position:relative}.data-collection-steps li:before{align-items:center;background:var(--accent);border-radius:50%;color:#fff;content:counter(step-counter);display:flex;font-size:.9rem;font-weight:700;height:1.75rem;justify-content:center;left:0;position:absolute;top:0;width:1.75rem}.api-note{background:linear-gradient(135deg,#3b82f61a,#2563eb1a);border:2px solid #3b82f6;border-radius:.75rem;font-style:italic;padding:1.25rem}.api-note p{margin:0}.api-note strong{color:#3b82f6}.cma-challenges-panel{animation:slideDown .3s ease-out;background:var(--bg-card);border:2px solid #10b981;border-radius:.75rem;margin-bottom:2rem;padding:2rem}.cma-challenges-panel h3{color:#10b981;margin:0 0 .5rem}.challenges-intro{color:var(--text-secondary);font-size:1.05rem;margin-bottom:2rem}.challenges-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.challenge-card{background:var(--bg-highlight);border:2px solid var(--border-color);border-radius:.75rem;display:flex;flex-direction:column;padding:1.5rem;transition:all .3s ease}.challenge-card:hover{box-shadow:0 8px 16px #0003;transform:translateY(-4px)}.challenge-card.beginner{border-left:4px solid #10b981}.challenge-card.intermediate{border-left:4px solid #f59e0b}.challenge-card.advanced{border-left:4px solid #ef4444}.challenge-card.expert{border-left:4px solid #8b5cf6}.challenge-card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.challenge-card-header h4{color:var(--text-primary);font-size:1.2rem;margin:0}.difficulty-badge{border-radius:12px;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase;white-space:nowrap}.difficulty-badge.beginner{background:#10b98133;border:1px solid #10b981;color:#10b981}.difficulty-badge.intermediate{background:#f59e0b33;border:1px solid #f59e0b;color:#f59e0b}.difficulty-badge.advanced{background:#ef444433;border:1px solid #ef4444;color:#ef4444}.difficulty-badge.expert{background:#8b5cf633;border:1px solid #8b5cf6;color:#8b5cf6}.challenge-description{color:var(--text-secondary);flex-grow:1;line-height:1.6;margin-bottom:1rem}.challenge-objectives{background:var(--bg-card);border-radius:.5rem;margin-bottom:1rem;padding:1rem}.challenge-objectives h5{color:var(--text-primary);font-size:.95rem;margin:0 0 .5rem}.challenge-objectives ul{list-style-type:square;margin:0;padding-left:1.5rem}.challenge-objectives li{color:var(--text-secondary);font-size:.9rem;margin:.25rem 0}.challenge-actions{display:flex;gap:.75rem;margin-top:auto}.challenge-start-btn,.challenge-view-btn{border:none;border-radius:.5rem;cursor:pointer;flex:1;font-weight:600;padding:.75rem 1.25rem;transition:all .2s ease}.challenge-start-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.challenge-start-btn:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.challenge-view-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary)}.challenge-view-btn:hover{background:var(--bg-highlight);border-color:var(--accent)}.active-challenge-banner{align-items:center;animation:slideDown .3s ease-out;background:linear-gradient(135deg,#10b98126,#05966926);border:2px solid #10b981;border-radius:.75rem;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;padding:1.25rem}.challenge-info{flex:1}.challenge-info h4{color:#10b981;margin:0 0 .5rem}.challenge-info p{color:var(--text-secondary);font-size:.9rem;margin:0}.challenge-progress-bar{flex-shrink:0;width:200px}.progress-bar-label{color:var(--text-secondary);font-size:.85rem;margin-bottom:.25rem}.progress-bar-track{background:var(--bg-input);border-radius:4px;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#10b981,#059669)}.challenge-cancel-btn{background:transparent;border:1px solid #ef4444;border-radius:.5rem;color:#ef4444;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease}.challenge-cancel-btn:hover{background:#ef4444;color:#fff}.challenge-complete-modal{align-items:center;animation:fadeIn .3s ease-out;background:#000c;display:flex;justify-content:center;inset:0;position:fixed;z-index:10000}.modal-content{animation:scaleIn .3s ease-out;background:var(--bg-card);border-radius:1rem;box-shadow:0 20px 60px #00000080;max-width:500px;padding:2.5rem;text-align:center}.success-icon{animation:bounceIn .6s ease-out;font-size:4rem;margin-bottom:1rem}.modal-content h3{color:#10b981;font-size:2rem;margin:0 0 1rem}.modal-content p{color:var(--text-secondary);line-height:1.6;margin:0 0 2rem}.modal-actions{display:flex;gap:1rem;justify-content:center}.modal-actions button{border-radius:.75rem;cursor:pointer;font-weight:600;padding:.875rem 2rem;transition:all .2s ease}.modal-primary{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff}.modal-primary:hover{box-shadow:0 6px 20px #10b9814d;transform:translateY(-2px)}.modal-secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.modal-secondary:hover{background:var(--bg-highlight);border-color:var(--accent)}.cma-library-card{background:var(--bg-card);border:2px solid var(--border-color);border-radius:1rem;cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.cma-library-card:after{background:linear-gradient(135deg,#38bdf81a,#6366f11a);content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s}.cma-library-card:hover:after{opacity:1}.cma-library-card:hover{border-color:var(--accent);box-shadow:0 16px 32px #00000040;transform:translateY(-6px) scale(1.02)}@media(max-width:768px){.cma-toolbar{gap:.5rem;padding:.75rem}.cma-toolbar button{font-size:.85rem;max-width:160px;min-width:120px;padding:.65rem .85rem}.cma-toolbar .mode-toggle-btn{max-width:180px;min-width:140px}.cma-challenges-panel,.cma-data-sources-panel,.cma-help-panel{padding:1.25rem}.data-collection-steps,.data-source,.help-section{padding:1rem}.challenges-grid{grid-template-columns:1fr}.active-challenge-banner{align-items:stretch;flex-direction:column}.challenge-progress-bar{width:100%}}@media print{.active-challenge-banner,.challenge-complete-modal,.cma-challenges-panel,.cma-data-sources-panel,.cma-help-panel,.cma-toolbar{display:none!important}}.market-templates-panel{background:#fff;border:2px solid #f59e0b;border-radius:8px;box-shadow:0 4px 6px #f59e0b1a;margin-bottom:20px;padding:20px}.market-templates-panel h3{color:#f59e0b;margin:0 0 10px}.templates-intro{color:#6b7280;font-size:.95rem;margin:0 0 20px}.templates-grid{display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.template-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:15px;transition:all .3s}.template-card:hover{border-color:#f59e0b;box-shadow:0 4px 8px #f59e0b33;transform:translateY(-2px)}.template-card.active{background:linear-gradient(135deg,#10b9810d,#0596690d);border-color:#10b981}.template-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.template-header h4{color:#111827;font-size:1.1rem;margin:0}.active-badge{background:#10b981;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 8px}.template-description{color:#6b7280;font-size:.875rem;line-height:1.4;margin:0 0 10px}.template-stats{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-top:10px;padding:8px 0}.template-stat{color:#f59e0b;font-size:.875rem;font-weight:600}.template-type{background:#e5e7eb;border-radius:12px;color:#6b7280;font-size:.75rem;font-weight:500;padding:3px 10px;text-transform:capitalize}.template-notes{background:#10b9810d;border-left:2px solid #10b981;border-radius:4px;color:#059669;font-size:.8rem;line-height:1.4;margin:10px 0 0;padding:8px}.branding-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin:1rem 0;padding:1.5rem}.branding-panel h3{color:#111827;margin:0 0 1rem}.logo-upload{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.logo-preview{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;display:flex;height:80px;justify-content:center;overflow:hidden;width:200px}.logo-preview img{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain}.agent-info-fields{display:grid;gap:1rem}.color-picker-group{align-items:center;display:flex;gap:1rem}.color-picker-group label{display:flex;flex-direction:column;gap:.5rem}.color-picker-group input[type=color]{border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;height:40px;width:60px}.keyboard-shortcuts-modal{align-items:center;background:#000000b3;display:flex;justify-content:center;inset:0;position:fixed;z-index:10000}.shortcuts-modal-content{background:var(--bg-card);border-radius:12px;box-shadow:0 20px 60px #00000080;max-height:80vh;max-width:600px;overflow-y:auto;padding:2rem;width:90%}.shortcuts-modal-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.shortcuts-modal-header h3{color:var(--text-primary);margin:0}.shortcuts-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;padding:.25rem .5rem}.shortcuts-close:hover{color:var(--accent)}.shortcuts-grid{display:grid;gap:1rem}.shortcut-item{align-items:center;background:var(--bg-highlight);border-radius:8px;display:flex;justify-content:space-between;padding:.75rem;transition:all .2s}.shortcut-item:hover{background:var(--bg-input);transform:translate(4px)}.shortcut-description{color:var(--text-primary);font-size:.95rem}.shortcut-key{background:var(--bg-card);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 2px 4px #0000001a;color:var(--accent);font-family:monospace;font-size:.875rem;font-weight:600;padding:.25rem .5rem}.motivation-box{background:linear-gradient(135deg,#4f9eff1a,#6366f11a);border-left:3px solid var(--accent);border-radius:.5rem;color:var(--text-secondary);font-size:.85rem;padding:.75rem}.motivation-box p{margin:0}.quiz-mode-toggle{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;display:flex;gap:.75rem;margin-top:1rem;padding:.75rem 1rem}.toggle-switch{display:inline-block;height:26px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#64748b;border-radius:26px;cursor:pointer;inset:0;position:absolute;transition:.4s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:18px;left:4px;position:absolute;transition:.4s;width:18px}.toggle-switch input:checked+.toggle-slider{background-color:var(--accent)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 1px var(--accent)}.email-form{display:flex;flex-direction:column;gap:1rem}.email-actions{border-top:1px solid #e5e7eb;display:flex;gap:1rem;padding-top:1rem}.charts-grid{display:grid;gap:1.5rem;margin-bottom:1.5rem}.chart-selector{margin-bottom:1rem}.chart-selector button{background:var(--bg-highlight);border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.chart-selector button.active{background:var(--accent);border-color:var(--accent);color:#fff}.chart-selector button:hover{border-color:var(--accent)}.chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.chart-container h4{color:#1e40af;margin:0 0 1rem}@media(max-width:768px){.templates-grid{grid-template-columns:1fr}.shortcuts-modal-content{padding:1.5rem;width:95%}.shortcut-item{align-items:flex-start;gap:.5rem}.chart-selector,.shortcut-item{flex-direction:column}.chart-selector button{width:100%}}@media print{.branding-panel,.chart-selector,.email-actions,.keyboard-shortcuts-modal,.market-templates-panel,.motivation-box,.quiz-mode-toggle{display:none!important}.chart-container{page-break-inside:avoid}}.comp-section{background:var(--bg-card);border:2px solid var(--border-color);border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem;transition:all .3s ease}.comp-section:hover{border-color:var(--accent);box-shadow:0 4px 12px #6366f11a}.comp-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:.75rem}.comp-header h4{color:var(--text-primary);font-size:1.2rem;font-weight:700;margin:0}.comp-remove-btn{background:transparent;border:1px solid #ef4444;border-radius:.375rem;color:#ef4444;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.comp-remove-btn:hover{background:#ef4444;color:#fff}.comp-form-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem}.comp-input-group{display:flex;flex-direction:column;gap:.5rem}.comp-input-group label{color:var(--text-primary);font-size:.875rem;font-weight:600}.comp-input-group input,.comp-input-group select{background:var(--bg-input);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);font-size:.9375rem;padding:.625rem;transition:all .2s}.comp-input-group input:focus,.comp-input-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f9eff1a;outline:none}.comp-result-card{background:var(--bg-highlight);border-left:4px solid var(--accent);border-radius:.5rem;margin-top:1rem;padding:1rem}.comp-result-card h5{color:var(--text-primary);font-size:1rem;margin:0 0 .75rem}.comp-result-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.comp-result-item{align-items:center;background:var(--bg-card);border-radius:.375rem;display:flex;justify-content:space-between;padding:.5rem}.comp-result-label{color:var(--text-secondary);font-size:.875rem}.comp-result-value{color:var(--accent);font-size:.9375rem;font-weight:600}.comparison-matrix{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin:1.5rem 0;overflow-x:auto;padding:1.5rem}.comparison-matrix h3{color:#111827;margin:0 0 1.5rem}.matrix-table{border-collapse:collapse;min-width:600px;width:100%}.matrix-table thead{background:#f9fafb}.matrix-table th{border-bottom:2px solid #e5e7eb;color:#374151;font-weight:600;padding:1rem;text-align:left;white-space:nowrap}.matrix-table td{border-bottom:1px solid #e5e7eb;color:#1f2937;padding:.875rem 1rem}.matrix-table tbody tr:hover{background:#f9fafb}.matrix-table tbody tr:last-child td{border-bottom:none}.matrix-property-col{color:#111827;font-weight:600}.matrix-value-positive{color:#10b981;font-weight:600}.matrix-value-negative{color:#ef4444;font-weight:600}.matrix-value-neutral{color:#6b7280}.matrix-total-row{background:#f3f4f6!important;font-weight:700}.matrix-total-row td{border-top:2px solid #d1d5db;padding:1.25rem 1rem}.comp-section:first-of-type{border-left-color:#3b82f6;border-left-width:5px}.comp-section:nth-of-type(2){border-left-color:#10b981;border-left-width:5px}.comp-section:nth-of-type(3){border-left-color:#f59e0b;border-left-width:5px}.comp-section:nth-of-type(4){border-left-color:#ef4444;border-left-width:5px}.comp-section:nth-of-type(5){border-left-color:#8b5cf6;border-left-width:5px}.comp-section:nth-of-type(6){border-left-color:#ec4899;border-left-width:5px}.comp-section .comp-header h4{color:var(--text-primary)!important}:root[data-theme=dark] .comparison-matrix{background:var(--bg-card);border-color:var(--border-color)}:root[data-theme=dark] .comparison-matrix h3{color:var(--text-primary)}:root[data-theme=dark] .matrix-table thead{background:var(--bg-highlight)}:root[data-theme=dark] .matrix-table th{border-bottom-color:var(--border-color);color:var(--text-primary)}:root[data-theme=dark] .matrix-table td{border-bottom-color:var(--border-color);color:var(--text-secondary)}:root[data-theme=dark] .matrix-table tbody tr:hover{background:var(--bg-highlight)}:root[data-theme=dark] .matrix-property-col{color:var(--text-primary)}:root[data-theme=dark] .matrix-total-row{background:var(--bg-highlight)!important}:root[data-theme=dark] .matrix-total-row td{border-top-color:var(--border-color)}@media(max-width:768px){.comp-form-grid,.comp-result-grid{grid-template-columns:1fr}.comparison-matrix{padding:1rem}.matrix-table td,.matrix-table th{font-size:.875rem;padding:.75rem .5rem}}@media print{.comp-remove-btn{display:none!important}.comp-section{border:1px solid #e5e7eb;box-shadow:none}.comp-section,.comparison-matrix{page-break-inside:avoid}.matrix-table{font-size:.875rem}}.cma-charts-panel{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin:1rem 0;max-width:100%;padding:1.5rem}.charts-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.charts-header h3{color:#1f2937;font-size:1.5rem;font-weight:700;margin:0}.charts-summary{background:#6366f10d;border-radius:.5rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1.5rem;padding:1rem}.chart-stat{display:flex;flex-direction:column;gap:.25rem}.stat-label{color:#6b7280;font-weight:500}.stat-value{color:#1f2937}.chart-selector{background:#f9fafb;border-radius:.75rem;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;padding:.5rem}.chart-tab{background:#fff;border:2px solid transparent;border-radius:.5rem;color:#6b7280;cursor:pointer;flex:1 1 auto;font-size:.9rem;font-weight:600;min-width:120px;padding:.75rem 1rem;text-align:center;transition:all .2s ease}.chart-tab:hover{background:#f3f4f6;color:#374151}.chart-tab.active{background:#6366f1;border-color:#4f46e5;color:#fff}.chart-container{min-height:400px}.chart-wrapper{background:#fff;border-radius:.75rem;padding:1.5rem}.chart-wrapper h4{color:#111827;font-size:1.2rem;font-weight:700;margin:0 0 1.5rem;text-align:center}.chart-canvas{height:400px;position:relative;width:100%}.chart-description{background:#6366f10d;border-left:4px solid #6366f1;border-radius:.5rem;color:#374151;font-size:.9rem;line-height:1.6;margin-top:1.5rem;padding:1rem}.chart-description strong{color:#1f2937;font-weight:600}.charts-footer{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1rem}.data-note{font-size:.85rem;font-style:italic}.charts-empty,.data-note{color:#6b7280;text-align:center}.charts-empty{padding:3rem}.charts-empty p{color:#374151;font-size:1.1rem;margin-bottom:1rem}@media(prefers-color-scheme:dark){.cma-charts-panel{background:#fff;border-color:#e5e7eb}.charts-header{border-bottom-color:#e5e7eb}.charts-header h3{color:#1f2937}.chart-container{background:#f9fafb}.chart-description,.charts-summary{background:#6366f10d}.data-note{background:#fbbf241a}.stat-label{color:#6b7280}.stat-value{color:#1f2937}}@media(max-width:768px){.charts-summary{grid-template-columns:repeat(2,1fr)}.chart-selector{flex-direction:column}.chart-tab{min-width:100%}.chart-canvas{height:300px}}.header-actions{align-items:center;display:flex;gap:.5rem}.study-mode-toggle{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;display:flex;gap:.5rem;margin-top:1rem;padding:.5rem}.mode-btn{background:transparent;border:none;border-radius:.5rem;color:var(--text-secondary);cursor:pointer;flex:1;font-size:.95rem;font-weight:500;padding:.75rem 1rem;transition:all .2s ease}.mode-btn:hover{background:var(--bg-nav-hover);color:var(--text-primary)}.mode-btn.active{background:var(--accent-gradient);color:#fff;font-weight:600}.content-full{margin:0 auto;max-width:1200px;width:100%}.study-mode-container{margin:0 auto;max-width:900px;padding:1rem}.study-mode-header{margin-bottom:2rem;text-align:center}.study-mode-header h2{font-size:2rem;margin:0 0 .5rem}.study-mode-header p{color:var(--text-secondary);font-size:1.1rem;margin:0}.flashcard-stats{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;display:flex;gap:1rem;justify-content:space-around;margin-bottom:1.5rem;padding:1rem}.stat-label{color:var(--text-tertiary);display:block;font-size:.85rem;margin-bottom:.25rem}.stat-value{font-size:1.1rem;font-weight:600}.flashcard-filters{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.category-select{background:var(--bg-input);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;flex:1;font-size:1rem;padding:.75rem}.flashcard-container{margin-bottom:2rem;perspective:1000px}.flashcard{cursor:pointer;height:400px;position:relative;transform-style:preserve-3d;transition:transform .6s;width:100%}.flashcard.flipped{transform:rotateY(180deg)}.flashcard-back,.flashcard-front{backface-visibility:hidden;background:var(--bg-card);border:2px solid var(--border-color);border-radius:1rem;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;height:100%;justify-content:space-between;padding:2rem;position:absolute;width:100%}.flashcard-back{border-color:var(--accent);transform:rotateY(180deg)}.flashcard-category{color:var(--accent);font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.flashcard-content{display:flex;flex:1;flex-direction:column;justify-content:center}.flashcard-content h3{color:var(--text-secondary);font-size:1.1rem;margin:0 0 1rem}.flashcard-content p{font-size:1.3rem;line-height:1.6;margin:0}.flashcard-hint{color:var(--text-tertiary);font-size:.9rem;font-style:italic;text-align:center}.flashcard-mastered-btn{background:var(--bg-card);border:2px solid var(--accent);border-radius:.5rem;color:var(--accent);cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s ease}.flashcard-mastered-btn:hover{background:var(--accent);color:#fff}.flashcard-navigation{display:flex;gap:1rem;justify-content:space-between;margin-bottom:2rem}.nav-btn{background:var(--accent);border:none;border-radius:.5rem;color:#fff;cursor:pointer;flex:1;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.nav-btn:hover{box-shadow:0 6px 20px #38bdf84d;transform:translateY(-2px)}.reset-btn{background:transparent;border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:all .2s ease}.reset-btn:hover{border-color:#ef4444;color:#ef4444}.flashcard-tips{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.flashcard-tips h4{color:var(--accent);margin:0 0 1rem}.flashcard-tips ul{margin:0;padding-left:1.5rem}.flashcard-tips li{color:var(--text-secondary);margin-bottom:.5rem}@media(max-width:768px){.flashcard{height:350px}.flashcard-content p{font-size:1.1rem}.flashcard-navigation{flex-direction:column}}.quiz-progress{margin-bottom:2rem}.progress-bar-container{background:var(--bg-input);border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden;width:100%}.progress-bar-fill{background:var(--accent-gradient);height:100%;transition:width .3s ease}.progress-text{color:var(--text-secondary);font-size:.9rem;text-align:center}.quiz-question-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;margin-bottom:2rem;padding:2rem}.question-category{background:var(--bg-highlight);border-radius:.25rem;color:var(--accent);display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.05em;margin-bottom:1rem;padding:.25rem .75rem;text-transform:uppercase}.question-text{color:var(--text-primary);font-size:1.3rem;line-height:1.5;margin:0 0 1.5rem}.quiz-options{display:flex;flex-direction:column;gap:.75rem}.quiz-option{align-items:center;background:var(--bg-input);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);cursor:pointer;display:flex;gap:1rem;padding:1rem 1.25rem;text-align:left;transition:all .2s ease;width:100%}.quiz-option:not(:disabled):hover{background:var(--bg-input-focus);border-color:var(--accent);transform:translate(4px)}.quiz-option:disabled{cursor:not-allowed}.quiz-option.correct{background:#10b9811a;border-color:#10b981;color:var(--text-primary)}.quiz-option.incorrect{background:#ef44441a;border-color:#ef4444;color:var(--text-primary)}.option-letter{align-items:center;background:var(--accent);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:2rem;justify-content:center;width:2rem}.quiz-option.correct .option-letter{background:#10b981}.quiz-option.incorrect .option-letter{background:#ef4444}.option-text{color:var(--text-primary);flex:1;font-size:1rem}.option-icon{flex-shrink:0;font-size:1.5rem}.quiz-explanation{background:var(--bg-highlight);border-left:4px solid var(--accent);border-radius:.5rem;margin-top:1.5rem;padding:1rem 1.25rem}.quiz-explanation h4{color:var(--accent);font-size:1rem;margin:0 0 .5rem}.quiz-explanation p{line-height:1.6;margin:0}.quiz-navigation{display:flex;justify-content:center}.btn-primary{background:var(--accent-gradient);border:none;border-radius:.75rem;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:.875rem 2rem;transition:all .2s ease}.btn-primary:hover{box-shadow:0 8px 24px #38bdf866;transform:translateY(-2px)}.quiz-results{padding:2rem;text-align:center}.quiz-results h2{font-size:2.5rem;margin:0 0 2rem}.score-display{gap:2rem;margin-bottom:3rem}.score-circle,.score-display{align-items:center;display:flex;flex-direction:column}.score-circle{background:var(--accent-gradient);border-radius:50%;box-shadow:0 10px 40px #38bdf84d;height:200px;justify-content:center;width:200px}.grade{color:#fff;font-size:4rem;font-weight:700;line-height:1}.percentage{color:#ffffffe6;font-size:1.5rem;font-weight:600}.score-details{max-width:500px}.score-text{color:var(--text-primary);font-size:1.3rem;font-weight:600;margin:0 0 .5rem}.score-message{color:var(--text-secondary);font-size:1.1rem;margin:0}.quiz-actions{margin-bottom:3rem}.quiz-history{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;margin:0 auto;max-width:500px;padding:1.5rem}.quiz-history h3{font-size:1.2rem;margin:0 0 1rem}.history-list{display:flex;flex-direction:column;gap:.5rem}.history-item{background:var(--bg-input);border-radius:.5rem;display:flex;font-size:.95rem;justify-content:space-between;padding:.75rem}.history-date{color:var(--text-secondary)}.history-score{color:var(--accent);font-weight:600}@media(max-width:768px){.quiz-question-card{padding:1.5rem}.question-text{font-size:1.1rem}.quiz-option{padding:.875rem 1rem}.option-text{font-size:.95rem}.score-circle{height:160px;width:160px}.grade{font-size:3rem}.percentage{font-size:1.2rem}.quiz-results h2{font-size:2rem}}.dashboard-stats{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;display:flex;gap:1rem;padding:1.5rem;transition:all .2s ease}.stat-card:hover{box-shadow:0 6px 20px #0000001a;transform:translateY(-2px)}.stat-card.accent{border-color:var(--accent)}.stat-card.review{border-color:#f59e0b}.stat-card.progress{border-color:#10b981}.stat-icon{font-size:2.5rem;line-height:1}.stat-info{flex:1}.stat-number{color:var(--text-primary);font-size:2rem;font-weight:700;line-height:1;margin-bottom:.25rem}.stat-label{font-size:.9rem}.progress-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;margin-bottom:2rem;padding:1.5rem}.progress-section h3{font-size:1.2rem;margin:0 0 1rem}.progress-bar-container.large{height:12px;margin-bottom:.75rem}.progress-description{color:var(--text-secondary);font-size:.95rem;margin:0;text-align:center}.section-management{margin-bottom:2rem}.section-management h3{font-size:1.2rem;margin:0 0 1rem}.section-list{display:flex;flex-direction:column;gap:.75rem}.section-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;overflow:hidden;transition:all .2s ease}.section-item:hover{border-color:var(--accent)}.section-item-header{align-items:center;display:flex;justify-content:space-between;padding:1rem 1.25rem}.section-item-title{align-items:center;display:flex;font-weight:500;gap:.75rem}.section-icon{font-size:1.3rem}.section-item-actions{display:flex;gap:.5rem}.status-btn{background:transparent;border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.status-btn:hover{background:var(--bg-nav-hover);border-color:var(--accent)}.status-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.status-btn.review.active{background:#f59e0b;border-color:#f59e0b}.status-btn.note.active{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.note-editor{background:var(--bg-highlight);border-top:1px solid var(--border-color);padding:1rem 1.25rem}.note-textarea{background:var(--bg-input);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-family:inherit;font-size:.95rem;line-height:1.5;margin-bottom:.75rem;padding:.75rem;resize:vertical;width:100%}.note-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #38bdf81a;outline:none}.note-delete-btn{background:transparent;border:1px solid #ef4444;border-radius:.5rem;color:#ef4444;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.note-delete-btn:hover{background:#ef4444;color:#fff}.dashboard-actions{display:flex;justify-content:center;padding:2rem 0}.btn-danger{background:transparent;border:2px solid #ef4444;border-radius:.75rem;color:#ef4444;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 2rem;transition:all .2s ease}.btn-danger:hover{background:#ef4444;box-shadow:0 6px 20px #ef44444d;color:#fff;transform:translateY(-2px)}@media(max-width:768px){.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{padding:1rem}.stat-icon{font-size:2rem}.stat-number{font-size:1.5rem}.section-item-header{align-items:flex-start;flex-direction:column;gap:1rem}.section-item-actions{flex-wrap:wrap;width:100%}.status-btn{flex:1 1 auto;min-width:80px}}.scenario-stats{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.scenario-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.scenario-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;transition:all .2s ease}.scenario-card:hover{border-color:var(--accent);box-shadow:0 8px 24px #0000001a;transform:translateY(-4px)}.scenario-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.scenario-category-icon{font-size:2rem}.scenario-difficulty{font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.scenario-card h3{font-size:1.2rem;margin:0 0 .75rem}.scenario-description{color:var(--text-secondary);line-height:1.5;margin-bottom:1rem}.scenario-badge{border-radius:.5rem;display:inline-block;font-size:.85rem;font-weight:600;margin-bottom:1rem;padding:.5rem 1rem}.scenario-badge.positive{background:#10b98133;border:1px solid #10b981;color:#10b981}.scenario-badge.negative{background:#ef444433;border:1px solid #ef4444;color:#ef4444}.scenario-badge.neutral{background:#f59e0b33;border:1px solid #f59e0b;color:#f59e0b}.scenario-active{margin:0 auto;max-width:800px}.scenario-breadcrumb{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.back-btn{background:transparent;border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease}.back-btn:hover{border-color:var(--accent);color:var(--accent)}.scenario-progress{color:var(--text-tertiary);font-size:.9rem;font-weight:600}.scenario-context{margin-bottom:2rem;text-align:center}.scenario-context h2{font-size:1.8rem;margin:0 0 .75rem}.scenario-tags{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.tag{background:var(--bg-highlight);border-radius:.375rem;font-size:.85rem;font-weight:600;padding:.375rem .75rem}.scenario-situation{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;margin-bottom:2rem;padding:1.5rem}.scenario-situation h3{color:var(--accent);font-size:1.1rem;margin:0 0 1rem}.scenario-situation p{font-size:1.1rem;line-height:1.7;margin:0}.scenario-choices h3{font-size:1.2rem;margin:0 0 1rem;text-align:center}.choice-grid{display:flex;flex-direction:column;gap:1rem}.choice-button{align-items:center;background:var(--bg-card);border:2px solid var(--border-color);border-radius:1rem;cursor:pointer;display:flex;gap:1rem;padding:1.25rem 1.5rem;text-align:left;transition:all .2s ease}.choice-button:hover{background:var(--bg-input-focus);border-color:var(--accent);transform:translate(8px)}.choice-letter{align-items:center;background:var(--accent);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:700;height:2.5rem;justify-content:center;width:2.5rem}.choice-text{color:var(--text-primary);flex:1;font-size:1.05rem;line-height:1.5}.scenario-breadcrumb-trail{background:var(--bg-highlight);border-radius:.75rem;margin-top:2rem;padding:1rem}.trail-label{color:var(--text-tertiary);font-size:.85rem;font-weight:600;margin:0 0 .5rem}.trail-item{color:var(--text-secondary);font-size:.9rem}.scenario-ending{margin:0 auto;max-width:800px}.ending-header{margin-bottom:2rem;text-align:center}.ending-header h2{font-size:2.5rem;margin:0}.ending-feedback,.ending-recommendations,.ending-result{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;margin-bottom:1.5rem;padding:1.5rem}.scenario-ending.positive .ending-result{border-left:4px solid #10b981}.scenario-ending.negative .ending-result{border-left:4px solid #ef4444}.scenario-ending.neutral .ending-result{border-left:4px solid #f59e0b}.ending-feedback h3,.ending-recommendations h3,.ending-result h3{color:var(--accent);font-size:1.2rem;margin:0 0 1rem}.ending-feedback p,.ending-result p{font-size:1.05rem;line-height:1.7;margin:0}.ending-recommendations ul{margin:0;padding-left:1.5rem}.ending-recommendations li{line-height:1.6;margin-bottom:.75rem}.scenario-path{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;margin-bottom:2rem;padding:1.5rem}.scenario-path h3{font-size:1.2rem;margin:0 0 1rem}.path-list{display:flex;flex-direction:column;gap:.75rem}.path-item{align-items:flex-start;display:flex;gap:1rem}.path-number{align-items:center;background:var(--accent);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.9rem;font-weight:700;height:2rem;justify-content:center;width:2rem}.path-content{flex:1}.path-choice{color:var(--text-secondary);font-size:.95rem}.ending-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}@media(max-width:768px){.scenario-grid{grid-template-columns:1fr}.scenario-stats{flex-direction:column}.scenario-context h2{font-size:1.5rem}.choice-button{padding:1rem}.choice-text{font-size:.95rem}.ending-header h2{font-size:2rem}}.law-change-banner{animation:slideDown .3s ease;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:8px;box-shadow:0 4px 12px #f59e0b33;margin:1rem 0;padding:1rem}.law-banner-content{align-items:center;display:flex;gap:1rem}.law-banner-icon{flex-shrink:0;font-size:2rem}.law-banner-text{color:#713f12;flex:1;font-size:.95rem;font-weight:500}.law-banner-text strong{color:#78350f;font-weight:700}.law-banner-close{background:none;border:none;color:#92400e;cursor:pointer;flex-shrink:0;font-size:1.25rem;padding:.25rem .5rem}.law-banner-close:hover{background:#92400e1a;border-radius:4px}:root[data-theme=dark] .law-change-banner{background:linear-gradient(135deg,#422006,#78350f);border:2px solid #f59e0b;box-shadow:0 4px 12px #f59e0b4d}:root[data-theme=dark] .law-banner-text{color:#fde68a}:root[data-theme=dark] .law-banner-text strong{color:#fef3c7;font-weight:700}:root[data-theme=dark] .law-banner-close{color:#fbbf24}:root[data-theme=dark] .law-banner-close:hover{background:#fbbf2426}.legal-info-panel{background:#fff;border:2px solid #3b82f6;border-radius:12px;box-shadow:0 8px 24px #00000026;margin:1rem 0;max-height:80vh;overflow-y:auto;padding:1.5rem}.legal-panel-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.legal-panel-header h3{color:#1e40af;margin:0}.legal-effective-date{background:#dbeafe;border-left:4px solid #3b82f6;border-radius:4px;color:#1e40af;font-size:1.1rem;margin-bottom:1.5rem;padding:1rem}.legal-purpose{background:#f0fdf4;border:2px solid #10b981;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.legal-purpose h4{color:#065f46;font-size:1.2rem;margin:0 0 1rem}.legal-purpose p{color:#047857;font-size:1rem;line-height:1.8;margin:0 0 1rem}.legal-reference{background:#fff;border-left:4px solid #10b981;border-radius:4px;margin-top:1rem;padding:1rem}.legal-reference p{color:#065f46;font-size:.95rem;line-height:1.7;margin:0}.legal-reference strong{color:#047857}.legal-content h4{color:#1f2937;margin:1.5rem 0 1rem}.legal-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem;padding:1rem}.legal-item-title{align-items:flex-start;display:flex;gap:.75rem;margin-bottom:.75rem}.legal-icon{flex-shrink:0;font-size:1.5rem}.legal-item-title strong{color:#111827;font-size:1.05rem;line-height:1.6}.legal-item p{color:#4b5563;line-height:1.7;margin:0;padding-left:2.25rem}.legal-compliance-checklist{background:#ecfdf5;border:1px solid #10b981;border-radius:8px;margin:1.5rem 0;padding:1rem}.legal-compliance-checklist h4{color:#065f46;margin:0 0 .75rem}.legal-compliance-checklist ul{list-style:none;margin:0;padding-left:1.5rem}.legal-compliance-checklist li{color:#047857;font-weight:500;margin:.5rem 0}.legal-compliance-checklist li:before{content:"✓ ";margin-right:.5rem}.legal-resources{background:#f0f9ff;border:1px solid #3b82f6;border-radius:8px;margin-top:1.5rem;padding:1rem}.legal-resources h4{color:#1e40af;margin:0 0 .5rem}.legal-resources p{color:#1e40af;font-size:.9rem;margin:0}.legal-footer-actions{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1rem;text-align:center}.contract-info-panel{background:#fff;border:2px solid #f59e0b;border-radius:12px;box-shadow:0 8px 24px #f59e0b33;margin:1rem 0;max-height:80vh;overflow-y:auto;padding:1.5rem}.contract-panel-header{align-items:center;border-bottom:2px solid #fde68a;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.contract-panel-header h3{color:#92400e;margin:0}.contract-intro{background:#fffbeb;border-left:4px solid #f59e0b;border-radius:4px;color:#78350f;font-size:1.05rem;margin-bottom:1.5rem;padding:1rem}.contract-elements{display:grid;gap:1rem}.contract-element{background:#fefce8;border:1px solid #fde68a;border-radius:8px;display:flex;gap:1rem;padding:1rem;transition:all .2s}.contract-element:hover{background:#fef9c3;border-color:#fbbf24;box-shadow:0 4px 12px #fbbf2426}.element-number{align-items:center;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50%;box-shadow:0 2px 8px #f59e0b4d;color:#fff;display:flex;flex-shrink:0;font-size:1.25rem;font-weight:700;height:2.5rem;justify-content:center;width:2.5rem}.element-content{flex:1}.element-content h4{color:#92400e;font-size:1.1rem;margin:0 0 .5rem}.element-definition{color:#78350f;font-weight:600;margin:0 0 .5rem}.element-note{color:#92400e;font-size:.9rem;line-height:1.6;margin:0}.element-note strong{color:#b45309}.contract-footer{margin-top:1.5rem}.contract-tip{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:2px solid #3b82f6;border-radius:8px;color:#1e40af;font-size:1rem;line-height:1.7;padding:1rem}.contract-tip strong{color:#1e3a8a}.contract-effects-panel{background:#fff;border:2px solid #8b5cf6;border-radius:12px;box-shadow:0 8px 24px #8b5cf633;margin:1rem 0;max-height:80vh;overflow-y:auto;padding:1.5rem}.effects-panel-header{align-items:center;border-bottom:2px solid #c4b5fd;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.effects-panel-header h3{color:#6d28d9;margin:0}.effects-intro{background:#f5f3ff;border-left:4px solid #8b5cf6;border-radius:4px;color:#5b21b6;font-size:1.05rem;margin-bottom:1.5rem;padding:1rem}.effects-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}.effect-card{border:2px solid;border-radius:8px;padding:1.25rem;text-align:center;transition:all .2s}.effect-card:hover{box-shadow:0 8px 16px #00000026;transform:translateY(-4px)}.contract-performance-panel{background:#fff;border:2px solid #14b8a6;border-radius:12px;box-shadow:0 8px 24px #14b8a633;margin:1rem 0;max-height:80vh;overflow-y:auto;padding:1.5rem}.contract-termination-section{background:#f0fdfa;border:2px solid #14b8a6;border-radius:8px;margin-bottom:1rem;padding:1.5rem}.contract-termination-section h4{color:#115e59;font-size:1.3rem;margin:0 0 1.25rem}.mortgage-theory-panel{background:#fff;border:2px solid #f59e0b;border-radius:12px;box-shadow:0 8px 24px #f59e0b33;margin:1rem 0;max-height:80vh;overflow-y:auto;padding:1.5rem}.security-debt-section{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:2px solid #8b5cf6;border-radius:10px;margin-bottom:1.5rem;padding:1.5rem}.security-debt-section h4{color:#6b21a8;font-size:1.3rem;margin:0 0 1.25rem}.note-provisions-box{background:#fff;border:2px solid #c4b5fd;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.note-provisions-box h5{color:#6b21a8;font-size:1.1rem;margin:0 0 1rem}.release-lien-section{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #10b981;border-radius:10px;margin-bottom:1.5rem;padding:1.5rem}.release-lien-section h4{color:#065f46;font-size:1.3rem;margin:0 0 1.25rem}.interest-calculation-section{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid #f59e0b;border-radius:10px;margin-bottom:1.5rem;padding:1.5rem}.interest-calculation-section h4{color:#92400e;font-size:1.3rem;margin:0 0 1.25rem}.sales-contracts-panel{background:#fff;border:2px solid #10b981;border-radius:12px;box-shadow:0 8px 24px #10b98133;margin:1rem 0;max-height:80vh;overflow-y:auto;padding:1.5rem}.sales-contracts-panel h3{color:#047857;margin:0 0 1rem}.two-contract-system{display:grid;gap:1.5rem;margin-bottom:1.5rem}.contract-box{background:#f0fdf4;border:2px solid #86efac;border-radius:10px;padding:1.5rem;position:relative}.contract-1{border-left:5px solid #10b981}.contract-2{border-left:5px solid #059669}.contract-number{background:linear-gradient(135deg,#10b981,#059669);border-radius:20px;box-shadow:0 4px 12px #10b9814d;color:#fff;font-size:1.1rem;font-weight:700;left:20px;padding:.5rem 1rem;position:absolute;top:-15px}.contract-box h4{color:#065f46;font-size:1.2rem;margin:.5rem 0}.contract-subtitle{color:#047857;font-size:.95rem;font-style:italic;margin:0 0 1rem}.contract-elements-list{margin-top:1rem}.contract-elements-list h5{color:#047857;margin:0 0 .75rem}@media print{.contract-effects-panel,.contract-info-panel,.contract-performance-panel,.law-change-banner,.legal-info-panel,.mortgage-theory-panel,.sales-contracts-panel{page-break-inside:avoid;box-shadow:none}.law-banner-close,.legal-footer-actions{display:none!important}}.mls-panel{background:#fff;border:2px solid #3b82f6;border-radius:12px;box-shadow:0 4px 12px #3b82f633;margin:1rem 0;padding:1.5rem}.mls-panel h3{align-items:center;color:#1e40af;display:flex;gap:.5rem;margin:0 0 1rem}.mls-status-badge{background:linear-gradient(135deg,#10b981,#059669);border-radius:20px;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.mls-connected{background:linear-gradient(135deg,#10b981,#059669)!important;box-shadow:0 4px 12px #10b9814d}.mls-provider-info{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:8px;margin:1rem 0;padding:1rem}.mls-provider-info h4{color:#1e40af;margin:0 0 .5rem}.mls-provider-info ul{margin:.5rem 0 0 1.5rem;padding:0}.mls-provider-info li{color:#374151;margin:.25rem 0}.mls-credentials-form{margin-top:1.5rem}.mls-actions{display:flex;gap:1rem;margin-top:1rem}.mls-connection-info{align-items:center;background:#ecfdf5;border:1px solid #10b981;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1rem}.mls-connection-info p{color:#065f46;font-weight:500;margin:0}.mls-search-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin:1rem 0;padding:1rem}.mls-results{margin-top:1.5rem}.mls-results h4{color:#1e40af;margin:0 0 1rem}.mls-results-grid{display:grid;gap:1rem}.mls-result-card{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:1rem;transition:all .2s}.mls-result-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.mls-result-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem}.mls-result-header strong{color:#111827;font-size:1rem}.mls-number{background:#f3f4f6;border-radius:4px;color:#6b7280;font-family:monospace;font-size:.75rem;padding:.25rem .5rem}.mls-result-details{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem}.mls-detail-row{display:flex;font-size:.875rem;justify-content:space-between;padding:.25rem 0}.mls-detail-row span:first-child{color:#6b7280}.mls-detail-row strong{color:#059669;font-weight:600}.mls-import-actions{border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.75rem}.mls-info-section{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;margin-top:1.5rem;padding:1rem}.mls-info-section h4{color:#92400e;margin:0 0 .75rem}.mls-info-text{color:#78350f;font-size:.875rem;line-height:1.6;margin:.5rem 0}.mls-requirements-list{color:#78350f;font-size:.875rem;margin:.5rem 0 .5rem 1.5rem;padding:0}.mls-requirements-list li{margin:.25rem 0}.input-hint{color:#6b7280;font-size:.75rem;font-style:italic;margin-top:.25rem}.openai-config-section{margin-bottom:2rem}.openai-config-section h4{color:#374151;margin:0 0 1rem}.api-key-status{background:#f0fdf4;border:2px solid #86efac;border-radius:8px;padding:1.5rem}.api-key-status.connected .status-indicator{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem}.status-icon{font-size:1.5rem}.status-text{color:#15803d;font-size:1.1rem;font-weight:700}.key-display{align-items:center;display:flex;gap:1rem;margin-top:1rem}.key-display code{background:#1f2937;border-radius:6px;color:#86efac;flex:1;font-family:Courier New,monospace;font-size:.875rem;padding:.75rem}.api-key-setup ol{color:#374151;line-height:1.8;margin:1rem 0;padding-left:1.5rem}.api-key-setup ol li{margin:.5rem 0}.api-key-setup a{color:#8b5cf6;text-decoration:underline}.api-key-input-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin:1.5rem 0;padding:1rem}.api-key-input-section label{color:#374151;display:block;margin-bottom:.5rem}.api-key-input-section input[type=password]{margin-bottom:.75rem;width:100%}.chatgpt-features-section{margin:2rem 0}.chatgpt-features-section h4{color:#374151;margin:0 0 1.5rem}.features-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.feature-card{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #c4b5fd;border-radius:8px;padding:1.25rem;text-align:center;transition:transform .2s}.feature-card:hover{box-shadow:0 4px 12px #8b5cf633;transform:translateY(-3px)}.feature-icon{font-size:2.5rem;margin-bottom:.75rem}.feature-card h5{color:#6d28d9;font-size:1rem;margin:.5rem 0}.feature-card p{color:#5b21b6;font-size:.875rem;line-height:1.4;margin:.5rem 0}.xp-badge{background:#fbbf24;border-radius:12px;color:#92400e;display:inline-block;font-size:.75rem;font-weight:700;margin-top:.5rem;padding:.25rem .75rem}.usage-tips-section{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin:2rem 0;padding:1.25rem}.usage-tips-section h4{color:#c2410c;margin:0 0 1rem}.usage-tips-section ul{color:#9a3412;line-height:1.8;margin:0;padding-left:1.5rem}.usage-tips-section li{margin:.5rem 0}.quick-actions{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-top:2rem;padding:1.25rem}.quick-actions h4{color:#15803d;margin:0 0 1rem}.quick-actions button{margin-bottom:.5rem;margin-right:.5rem}.api-connected{background:linear-gradient(135deg,#10b981,#059669)!important;box-shadow:0 2px 8px #10b9814d}.api-panel{background:#fff;border:2px solid #8b5cf6;border-radius:12px;box-shadow:0 4px 12px #8b5cf633;margin:1rem 0;padding:1.5rem}.api-panel h3{color:#6d28d9;margin:0 0 1rem}.api-intro{background:#f5f3ff;border:1px solid #c4b5fd;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.api-intro p{color:#5b21b6;margin:.5rem 0}.tokens-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.tokens-header h4{color:#374151;margin:0}.token-create-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem;padding:1rem}.token-create-actions{display:flex;gap:.5rem;margin-top:.5rem}.tokens-list{display:grid;gap:1rem}.token-card{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.token-info{display:flex;justify-content:space-between;margin-bottom:.75rem}.token-date{color:#6b7280;font-size:.75rem}.token-value{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.token-value code{background:#1f2937;border-radius:4px;color:#10b981;flex:1;font-family:Courier New,monospace;font-size:.875rem;overflow-x:auto;padding:.5rem}.token-stats{color:#6b7280;display:flex;font-size:.75rem;gap:1rem;margin-bottom:.5rem}.no-tokens{color:#6b7280;padding:2rem;text-align:center}.api-docs-section{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:8px;margin-top:1.5rem;padding:1rem}.api-docs-section h4{color:#1e40af;margin:0 0 1rem}.api-endpoint{background:#fff;border-radius:6px;margin:1rem 0;padding:1rem}.api-endpoint h5{color:#059669;font-family:monospace;margin:0 0 .5rem}.api-example{margin:.5rem 0}.api-example strong{color:#374151;display:block;font-size:.875rem;margin-bottom:.25rem}.api-example pre{background:#1f2937;color:#10b981;font-size:.8125rem;overflow-x:auto}.api-example pre,.api-note{border-radius:4px;padding:.75rem}.api-note{background:#fbbf241a;border-left:3px solid #f59e0b;font-size:.875rem;margin-top:1rem}.ai-panel{background:linear-gradient(135deg,#fff,#f0f9ff);border:2px solid #06b6d4;border-radius:12px;box-shadow:0 4px 12px #06b6d433;margin:1rem 0;padding:1.5rem}.ai-panel h3{color:#0e7490;margin:0 0 1.5rem}.ai-btn{background:linear-gradient(135deg,#06b6d4,#0891b2)!important;box-shadow:0 4px 12px #06b6d44d}.ai-btn:hover{background:linear-gradient(135deg,#0891b2,#0e7490)!important}.ai-prediction-header{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}.ai-confidence,.ai-trend{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1rem}.ai-confidence h4,.ai-trend h4{color:#374151;font-size:.875rem;margin:0 0 .75rem}.gpt-loading{padding:2rem;text-align:center}.gpt-loading-spinner{animation:spin 1s linear infinite;border:4px solid #d1fae5;border-radius:50%;border-top-color:#10b981;height:48px;margin:0 auto 1rem;width:48px}.gpt-loading p{color:#059669;font-weight:500}.gpt-analysis{background:#fff;border-radius:8px;line-height:1.8;padding:1.5rem}.gpt-analysis p{color:#1f2937;font-size:.95rem;margin:0 0 1rem}.gpt-analysis p:last-child{margin-bottom:0}.chatgpt-footer{border-top:1px solid #a7f3d0;margin-top:1rem;padding-top:1rem}.gpt-disclaimer{background:#10b9811a;border-radius:6px;color:#065f46;font-size:.875rem;font-style:italic;margin:0;padding:.75rem}.chatgpt-prompt{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px dashed #3b82f6;border-radius:12px;display:flex;gap:1rem;margin:1.5rem 0;padding:1.5rem}.prompt-icon{flex-shrink:0;font-size:3rem}.prompt-content{flex:1}.prompt-content h4{color:#1e40af;margin:0 0 .5rem}.prompt-content p{color:#1e3a8a;line-height:1.6;margin:0 0 1rem}.charts-panel,.email-panel,.photos-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin:1rem 0;padding:1.5rem}.charts-panel h3,.email-panel h3,.photos-panel h3{color:#111827;margin:0 0 .5rem}.panel-description{color:#6b7280;font-size:.9rem;margin:0 0 1.5rem}.photos-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:1rem}.photo-upload-item{display:flex;flex-direction:column;gap:.5rem}.photo-upload-item label{color:#374151;font-size:.875rem;font-weight:600}.file-input{border:2px dashed #d1d5db;border-radius:6px;cursor:pointer;padding:.5rem;transition:all .2s}.file-input:hover{background:#f0f9ff;border-color:#3b82f6}.photo-preview{aspect-ratio:4/3;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;position:relative;width:100%}.photo-preview img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.remove-photo{align-items:center;background:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;position:absolute;right:.5rem;top:.5rem;transition:all .2s;width:28px}.remove-photo:hover{background:#dc2626;transform:scale(1.1)}.btn-small{font-size:.8125rem;padding:.375rem .75rem}@media print{.ai-panel,.api-panel,.email-panel,.mls-panel,.openai-config-section,.photos-panel{display:none!important}}.gamification-sidebar{background:var(--bg-card);border-left:1px solid var(--border-color);box-shadow:-5px 0 20px #0000004d;height:100vh;overflow-y:auto;padding:1.5rem;position:fixed;right:0;top:0;width:320px;z-index:100}.gamification-toggle{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem .5rem;position:absolute;right:1rem;top:1rem}.gamification-toggle:hover{color:var(--text-primary)}.show-gamification-btn{background:var(--accent);border:none;border-radius:50%;box-shadow:0 4px 12px #0000004d;cursor:pointer;font-size:1.8rem;height:60px;position:fixed;right:1rem;top:50%;transform:translateY(-50%);transition:all .3s ease;width:60px;z-index:99}.show-gamification-btn:hover{box-shadow:0 6px 20px #0006;transform:translateY(-50%) scale(1.1)}.gamification-container{margin-top:2rem}.achievement-notifications{display:flex;flex-direction:column;gap:1rem;position:fixed;right:340px;top:80px;z-index:1001}.achievement-notification{align-items:center;animation:slideInRight .5s ease,pulse 2s ease-in-out .5s;background:linear-gradient(135deg,gold,#ffed4e);border-radius:.5rem;box-shadow:0 4px 12px #ffd70066;color:#000;display:flex;gap:1rem;min-width:300px;padding:1rem}.achievement-icon-large{font-size:2.5rem}.achievement-notification h4{font-size:.9rem;margin:0 0 .25rem;opacity:.8}.achievement-notification p{margin:0}.achievement-desc{font-size:.85rem;opacity:.7}.gamification-header{align-items:center;background:var(--bg-highlight);border-radius:.75rem;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem}.level-badge{align-items:center;background:var(--accent-gradient);border-radius:50%;box-shadow:0 4px 12px #4f9eff4d;display:flex;flex-direction:column;flex-shrink:0;height:70px;justify-content:center;width:70px}.level-number{color:#fff;font-size:1.5rem;font-weight:700}.level-text{color:#fff;font-size:.7rem;text-transform:uppercase}.xp-info{flex:1}.xp-info h3{color:var(--text-primary);font-size:1rem;margin:0 0 .5rem}.xp-bar{background:var(--bg-input);height:12px;margin-bottom:.25rem;overflow:hidden;width:100%}.xp-bar,.xp-fill{border-radius:6px}.xp-fill{background:var(--accent-gradient);height:100%;transition:width .5s ease}.xp-text{color:var(--text-secondary);font-size:.75rem}.quick-stats{display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}.stat-item{background:var(--bg-highlight);border-radius:.5rem;padding:.75rem;text-align:center}.stat-value{color:var(--accent);display:block;font-size:1.5rem;font-weight:700}.stat-label{color:var(--text-secondary);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.achievements-grid{display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.5rem}.achievement-item{align-items:center;aspect-ratio:1;background:var(--bg-highlight);border-radius:.5rem;display:flex;flex-direction:column;justify-content:center;padding:.5rem;position:relative;transition:all .2s}.achievement-item:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.achievement-item.unlocked{background:var(--accent-gradient);box-shadow:0 0 20px #4f9eff4d}.achievement-item.locked{filter:grayscale(1);opacity:.4}.achievement-icon{font-size:1.8rem;margin-bottom:.25rem}.achievement-item.unlocked .achievement-icon{color:#fff}.achievement-name{color:var(--text-secondary);font-size:.7rem;line-height:1.2;text-align:center}.achievement-item.unlocked .achievement-name{color:#fff;font-weight:600}.achievement-badge{align-items:center;display:inline-flex;justify-content:center;position:relative}.achievement-badge:before{animation:glow 2s ease-in-out infinite;background:radial-gradient(circle,rgba(255,215,0,.3),transparent);border-radius:50%;content:"";inset:-4px;position:absolute}@keyframes glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.achievements-preview{background:var(--bg-highlight);border-radius:.75rem;margin-bottom:1.5rem;padding:1rem}.achievements-preview h4{color:var(--text-primary);font-size:.95rem;margin:0 0 .75rem}.achievements-section{margin-bottom:1.5rem}.achievements-section h3{color:var(--text-primary);font-size:1.1rem;margin:0 0 1rem}.achievement-list{display:flex;flex-direction:column;gap:.75rem}.achievement-list-item{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:.5rem;display:flex;gap:1rem;padding:.75rem;transition:all .2s}.achievement-list-item:hover{border-color:var(--accent);transform:translate(8px)}.achievements-page{margin:0 auto;max-width:1400px;padding:2rem}.achievements-page-header{margin-bottom:3rem;text-align:center}.achievements-page-header h1{color:var(--text-primary);font-size:2.5rem;margin:0 0 .5rem}.achievements-categories{display:grid;gap:2rem;margin-bottom:3rem}.achievement-category{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem}.achievement-category h2{align-items:center;color:var(--accent);display:flex;font-size:1.5rem;gap:.75rem;margin:0 0 1.5rem}.category-progress{color:var(--text-secondary);font-size:.9rem;margin-left:auto}@media(max-width:768px){.gamification-sidebar{border-left:none;border-radius:1rem 1rem 0 0;border-top:1px solid var(--border-color);bottom:0;height:auto;max-height:70vh;top:auto;width:100%}.achievement-notifications{right:1rem;top:1rem}.achievement-notification{min-width:250px}.show-gamification-btn{bottom:1rem;top:auto;transform:none}.show-gamification-btn:hover{transform:scale(1.1)}.achievements-grid{grid-template-columns:repeat(3,1fr)}.quick-stats{grid-template-columns:repeat(2,1fr)}}@media print{.achievement-notifications,.gamification-sidebar,.gamification-toggle,.show-gamification-btn{display:none!important}}.notes-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:1rem;padding:1rem}.notes-section h5{align-items:center;color:#374151;display:flex;font-size:.875rem;gap:.5rem;margin:0 0 .5rem}.notes-textarea{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:.875rem;min-height:80px;padding:.75rem;resize:vertical;transition:all .2s;width:100%}.notes-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.notes-textarea::-moz-placeholder{color:#9ca3af}.notes-textarea::placeholder{color:#9ca3af}.favorite-star{align-items:center;background:transparent;border:none;cursor:pointer;display:inline-flex;font-size:1.25rem;height:2rem;justify-content:center;padding:0;transition:transform .2s;width:2rem}.favorite-star:hover{transform:scale(1.2)}.favorite-star.active{color:#f59e0b}.favorite-badge{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:4px;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;margin-left:.5rem;padding:.25rem .5rem}.executive-summary{background:linear-gradient(135deg,#fff,#f9fafb);border:2px solid #3b82f6;border-radius:12px;box-shadow:0 4px 6px #3b82f61a;margin-bottom:2rem;padding:2rem}.summary-header{align-items:flex-start;border-bottom:2px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.summary-title-section h3{color:#1e3a8a;font-size:1.5rem;margin:0 0 .5rem}.summary-date{color:#6b7280;font-size:.875rem;margin:0}.summary-client{color:#374151;font-size:.95rem;margin:0}.summary-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}.summary-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem}.summary-section h4{color:#374151;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0 0 1rem;text-transform:uppercase}.summary-address{color:#111827;font-size:1.1rem;font-weight:600;margin:0}.summary-stats{display:flex;flex-direction:column;gap:.75rem}.summary-stat-item{align-items:center;display:flex;justify-content:space-between}.map-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin:1rem 0;padding:1.5rem}.map-panel h3{color:#111827;margin:0 0 1rem}.map-container{background:#f3f4f6;border-radius:8px;height:400px;overflow:hidden;width:100%}.map-controls{display:flex;gap:.75rem;margin-bottom:1rem}.map-control-btn{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.map-control-btn:hover{background:#f0f9ff;border-color:#3b82f6}.map-control-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.bulk-actions-panel{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:1rem;margin:1rem 0;padding:1rem}.bulk-select-all{align-items:center;display:flex;gap:.5rem}.bulk-select-all input[type=checkbox]{cursor:pointer;height:18px;width:18px}.bulk-actions{display:flex;flex:1;gap:.5rem}.bulk-action-btn{background:#fff;border:1px solid #e5e7eb;border-radius:.375rem;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.bulk-action-btn:hover{background:#f9fafb;border-color:#3b82f6}.bulk-action-btn.danger:hover{background:#fef2f2;border-color:#ef4444;color:#ef4444}.streak-display{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;margin:1.5rem 0;padding:1.5rem;text-align:center}.streak-icon{font-size:3rem;margin-bottom:.5rem}.streak-count{color:var(--accent);display:block;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.streak-label{color:var(--text-secondary);font-size:1rem;letter-spacing:.05em;text-transform:uppercase}.streak-message{background:var(--bg-highlight);border-radius:.5rem;color:var(--text-secondary);font-size:.875rem;margin-top:1rem;padding:.75rem}.analytics-container{margin:0 auto;max-width:1200px;padding:2rem}.analytics-header{margin-bottom:2rem;text-align:center}.analytics-header h2{color:var(--text-primary);font-size:2rem;margin:0 0 .5rem}.analytics-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.analytics-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.analytics-card h3{color:var(--text-primary);font-size:1.1rem;margin:0 0 1rem}.analytics-metric{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.75rem 0}.analytics-metric:last-child{border-bottom:none}.metric-label{color:var(--text-secondary);font-size:.875rem}.metric-value{color:var(--accent);font-size:1.25rem;font-weight:600}.exam-welcome{margin:0 auto;max-width:900px;padding:3rem 2rem;text-align:center}.exam-welcome h2{color:var(--text-primary);font-size:2.5rem;margin:0 0 1rem}.exam-info-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:2rem 0}.exam-info-item{background:var(--bg-card);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.exam-info-icon{font-size:2.5rem;margin-bottom:.5rem}.exam-info-value{color:var(--accent);display:block;font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.exam-info-label{color:var(--text-secondary);font-size:.875rem}@media(max-width:768px){.analytics-grid,.exam-info-grid,.summary-grid{grid-template-columns:1fr}.bulk-actions-panel{align-items:stretch}.bulk-actions,.bulk-actions-panel{flex-direction:column}.map-container{height:300px}}@media print{.analytics-container,.bulk-actions-panel,.favorite-star,.map-panel,.notes-section,.streak-display{display:none!important}.executive-summary{page-break-inside:avoid;border:1px solid #e5e7eb;box-shadow:none}}@keyframes slideInRight{0%{opacity:0;transform:translate(400px)}to{opacity:1;transform:translate(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{to{opacity:0;transform:translate(400px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #38bdf866}50%{box-shadow:0 0 20px #38bdf8cc,0 0 30px #38bdf866}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes ripple-animation{to{opacity:0;transform:scale(4)}}@keyframes chart-load{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.loading{animation:pulse 2s ease-in-out infinite}.pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.float-animation{animation:float 3s ease-in-out infinite}.shimmer{animation:shimmer 2s infinite;background:linear-gradient(90deg,#fff0,#ffffff4d 50%,#fff0);background-size:1000px 100%}.loading-spinner{animation:spin .8s linear infinite;border:4px solid rgba(56,189,248,.2);border-radius:50%;border-top-color:#38bdf8;display:inline-block;height:40px;width:40px}.loading-spinner-large{border-width:6px;height:60px;width:60px}.validating-spinner{animation:spin 1s linear infinite;font-size:1.25rem}.btn-danger,.btn-primary,.btn-secondary,.btn-success,.cma-help-btn,.cma-library-card,.comp-result-card,.matrix-table tbody tr,.mode-toggle-btn,.quick-stat-item,.result-card,.shortcut-item,.template-card{transition:all .2s ease}.comp-result-card:hover,.result-card:hover,.summary-section:hover{box-shadow:0 6px 16px #0000001f;transform:translateY(-2px)}.ripple-effect{overflow:hidden;position:relative}.ripple-effect:after{animation:ripple-animation .6s ease-out;background:#fff9;border-radius:50%;content:"";height:100%;left:50%;position:absolute;top:50%;transform:scale(0);width:100%}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}button:focus,input:focus,select:focus,textarea:focus{outline:2px solid #3b82f6;outline-offset:2px}.auto-save-indicator{animation:fadeInUp .3s ease;background:#10b981f2;border-radius:6px;bottom:20px;box-shadow:0 4px 12px #10b9814d;font-size:.875rem;padding:.75rem 1.25rem;z-index:1000}.auto-save-indicator,.notification-toast{color:#fff;font-weight:500;position:fixed;right:20px}.notification-toast{align-items:center;animation:slideInRight .3s ease,fadeOut .3s ease 2.7s;background:#000000e6;border-radius:8px;box-shadow:0 4px 12px #0000004d;display:flex;gap:1rem;max-width:400px;padding:1rem 1.5rem;top:20px;z-index:10001}.notification-toast.success{background:#10b981f2}.notification-toast.error{background:#ef4444f2}.notification-toast.warning{background:#f59e0bf2}.notification-toast.info{background:#3b82f6f2}.warning-banner{animation:slideDown .3s ease;background:#f59e0b26;border:2px solid #f59e0b;border-radius:.75rem;box-shadow:0 4px 12px #f59e0b33;color:#d97706;margin:1rem 0;padding:1rem}.tooltip{display:inline-block;position:relative}.tooltip:after{background:#1f2937;border-radius:6px;bottom:100%;color:#fff;content:attr(data-tooltip);font-size:.85rem;left:50%;margin-bottom:8px;opacity:0;padding:.5rem .75rem;pointer-events:none;position:absolute;transform:translate(-50%);transition:opacity .2s ease;white-space:nowrap;z-index:1000}.tooltip:hover:after{opacity:1}.badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.badge.success{background:#10b98133;color:#10b981}.badge.danger{background:#ef444433;color:#ef4444}.badge.warning{background:#f59e0b33;color:#f59e0b}.badge.info{background:#3b82f633;color:#3b82f6}.gradient-border{background:var(--bg-card);border-radius:1rem;position:relative}.gradient-border:before{background:linear-gradient(135deg,#3b82f6,#8b5cf6,#ec4899);border-radius:1rem;content:"";inset:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;position:absolute}.divider{height:1px;margin:1.5rem 0}.divider,.divider-vertical{background:var(--border-color)}.divider-vertical{height:100%;margin:0 1.5rem;width:1px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:var(--text-secondary)}.text-accent{color:var(--accent)}.text-success{color:#10b981}.text-danger{color:#ef4444}.text-warning{color:#f59e0b}.hidden{display:none!important}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-end{justify-content:flex-end}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.m-0{margin:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.p-0{padding:0}.p-2{padding:.5rem}.p-4{padding:1rem}.w-full{width:100%}.w-auto{width:auto}.max-w-full{max-width:100%}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.z-10{z-index:10}.z-50{z-index:50}.z-100{z-index:100}.z-1000{z-index:1000}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.rounded{border-radius:.5rem}.rounded-full{border-radius:9999px}.rounded-none{border-radius:0}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.shadow-none{box-shadow:none}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word;word-wrap:break-word;word-break:break-word}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}@media print{.active-challenge-banner,.app-header,.back-btn,.btn-primary,.btn-secondary,.calculator-explanation,.calculator-tabs,.challenge-complete-modal,.cma-challenges-panel,.cma-data-sources-panel,.cma-help-panel,.cma-toolbar,.dashboard-actions,.flashcard-navigation,.market-templates-panel,.nav-list,.print-button,.quiz-navigation,.search-container,.sidebar,.study-mode-toggle,.theme-toggle,button{display:none!important}.branded-header,.cma-print-header{display:block!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{background:#fff!important;color:#000!important;margin:0;padding:0}.comp-result-card,.comp-section,.flashcard,.quiz-question-card,.result-card,.scenario-card,.section-item{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}h1,h2,h3,h4,h5,h6{-moz-column-break-after:avoid;break-after:avoid;page-break-after:avoid}.app-layout{display:block}.content,.main-content{max-width:100%;padding:0}.card{border:1px solid #ddd;box-shadow:none;page-break-inside:avoid}body{font-size:12pt;line-height:1.5}h1{font-size:24pt}h2{font-size:20pt}h3{font-size:16pt}h4{font-size:14pt}a[href]:after{content:" (" attr(href) ")";font-size:.8em;font-weight:400}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}table{border-collapse:collapse;width:100%}td,th{border:1px solid #ddd;padding:8px;text-align:left}thead{display:table-header-group}.accent,.text-accent{color:#0369a1!important}.text-success{color:#047857!important}.text-danger{color:#b91c1c!important}.text-warning{color:#b45309!important}.calculator-results{margin-bottom:2rem}.result-card{border:2px solid #ddd;margin-bottom:1rem}.comp-section{border:1px solid #ddd;margin-bottom:1.5rem;padding:1rem}.quiz-option{border:1px solid #ddd;margin-bottom:.5rem;padding:.5rem}.quiz-option.correct{background:#f0fdf4!important;border-color:#047857}.quiz-option.incorrect{background:#fef2f2!important;border-color:#b91c1c}.stat-card{border:1px solid #ddd;margin-bottom:1rem}.scenario-card{border:1px solid #ddd;margin-bottom:1.5rem}.chart-canvas{max-height:400px;page-break-inside:avoid}*{box-shadow:none!important;text-shadow:none!important}.bg-card,.bg-highlight{background:#fff!important}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}@page{margin:2cm}@page :first{margin-top:2cm}.print-footer{border-top:1px solid #ddd;bottom:0;font-size:10pt;padding:1rem 0;position:fixed;text-align:center;width:100%}}@media screen and (prefers-color-scheme:print){body{background:#fff;color:#000}}
