*{margin:0}.page-container{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2rem;padding:2rem;max-width:800px;margin:0 auto;text-align:center;min-height:60vh}.content-card{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:20px;width:100%;max-width:400px;text-align:center}.btn-primary{background-color:#e8f5e8;border:1px solid #4cae4c;color:#2e7d32;padding:18px 36px;font-size:1.05em;border-radius:10px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.btn-primary:hover{background-color:#d6ecd6;border-color:#449d44}.btn-secondary{background-color:#e3f2fd;color:#1976d2;padding:10px 20px;border:1px solid #90caf9;border-radius:4px;cursor:pointer;font-size:.9em;display:inline-block;transition:background-color .2s}.btn-secondary:hover{background-color:#bbdefb}.btn-danger{background-color:#f44336;color:#fff;border:none;padding:5px 10px;border-radius:3px;cursor:pointer;font-size:.8em}.btn-danger:hover{background-color:#d32f2f}.btn-outline{background-color:transparent;color:#666;border:1px solid #ddd;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.9em;transition:all .2s}.btn-outline:hover{background-color:#f5f5f5;border-color:#bbb}.btn-disabled{background-color:#e8e8e8;color:#aaa;border:1px solid #d0d0d0;border-radius:5px;cursor:not-allowed;font-size:1em;font-weight:700}.success-message{background-color:#e8f5e8;border:1px solid #c8e6c9;border-radius:8px;padding:15px;color:#2e7d32;text-align:center}.error-message{background-color:#ffebee;border:1px solid #ffcdd2;border-radius:5px;padding:20px;color:#d32f2f;text-align:center}.info-message{background-color:#e3f2fd;border:1px solid #90caf9;border-radius:8px;padding:15px;color:#1976d2;text-align:center}.icon-large{font-size:60px;margin-bottom:15px}.icon-medium{font-size:40px;margin-bottom:10px}.icon-animated{animation:bounce .6s ease-out}@keyframes bounce{0%,20%,60%,to{transform:translateY(0)}40%{transform:translateY(-10px)}80%{transform:translateY(-5px)}}.progress-bar{width:400px;height:24px;background-color:#f0f0f0;border-radius:12px;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a}.progress-fill{height:100%;background-color:#4caf50;border-radius:12px;transition:width .3s ease-in-out;box-shadow:0 2px 8px #4caf504d}.progress-text{position:absolute;width:100%;text-align:center;line-height:24px;color:#333;font-weight:600;font-size:.9rem}.spinner{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.heading-large{margin:0 0 1rem;font-size:2.5rem;font-weight:700;color:#333;text-align:center}.heading-medium{margin:0 0 15px;font-size:1.3em;font-weight:600;color:#2e7d32}.text-hint{color:#666;font-size:.85em;line-height:1.4;margin:0 0 15px}.text-status{font-size:.9em;color:#4caf50;font-style:italic}.file-info{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px;background-color:#e8f5e8;border:1px solid #4caf50;border-radius:4px}.file-name{color:#2e7d32;font-size:.9em}.center{display:flex;justify-content:center;align-items:center}.text-center{text-align:center}.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.w-full{width:100%}.max-w-400{max-width:400px}.hidden{display:none}.dialog-overlay.svelte-rbgdow{position:absolute;inset:0;background-color:#0000001f;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:pointer}.dialog-overlay.full-page.svelte-rbgdow{position:fixed;width:100vw;height:100vh;background-color:#00000052;z-index:9999}.dialog.svelte-rbgdow{background:#333;color:#fff;padding:10px 16px;border-radius:6px;font-size:13px;line-height:1.4;max-width:420px;width:max-content;box-shadow:0 4px 14px #00000059;opacity:0;transform:translateY(-18px) scale(.9);transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);pointer-events:auto;cursor:default;text-align:center}.dialog.entering.svelte-rbgdow{opacity:1;transform:translateY(0) scale(1)}.dialog-overlay.full-page.svelte-rbgdow .dialog:where(.svelte-rbgdow){font-size:16px;padding:18px 26px;transform:translateY(-26px) scale(.85)}.dialog-overlay.full-page.svelte-rbgdow .dialog.entering:where(.svelte-rbgdow){transform:translateY(0) scale(1)}.dialog.svelte-rbgdow p:where(.svelte-rbgdow){margin:0}.dialog.left.svelte-rbgdow{align-self:flex-start;margin-left:40px}.dialog.right.svelte-rbgdow{align-self:flex-start;margin-right:40px}.top-bar.svelte-gwjq7z{background-color:#f5f5f5;border-bottom:1px solid #ddd;padding:15px 20px;display:flex;align-items:center}.logo-section.svelte-gwjq7z{flex:0 0 auto;width:200px;display:flex;justify-content:flex-start}.logo.svelte-gwjq7z{background-color:#e0e0e0;padding:10px 15px;border:1px solid #ccc;font-size:12px;text-align:center;line-height:1.2;color:#666;width:80px}.title-section.svelte-gwjq7z{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.title-section.svelte-gwjq7z h1:where(.svelte-gwjq7z){margin:0;font-size:20px;font-weight:400;color:#333}.package-name.svelte-gwjq7z{margin:5px 0 0;font-size:14px;color:#666}.action-section.svelte-gwjq7z{flex:0 0 auto;width:200px;display:flex;justify-content:flex-end}.analysis-column.svelte-th4i21{flex:0 1 100%;display:flex;flex-direction:column;gap:15px;padding:15px;border:1px solid #dde2e7;border-radius:8px;background-color:#fff;min-height:0;overflow:hidden;box-sizing:border-box}.column-header.svelte-th4i21{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dde2e7;padding-bottom:10px;flex-shrink:0}.column-header.svelte-th4i21 h3:where(.svelte-th4i21){margin:0;font-size:1.05em;color:#333}.summary-stats.svelte-th4i21{display:flex;gap:15px;font-size:.8em}.stat.svelte-th4i21{padding:4px 8px;border-radius:4px;font-weight:500}.stat.found.svelte-th4i21{background-color:#e8f5e9;color:#2e7d32}.stat.missing.svelte-th4i21{background-color:#fff3e0;color:#f57c00}.stat.errors.svelte-th4i21{background-color:#ffebee;color:#c62828}.variable-analysis.svelte-th4i21{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.variable-content.svelte-th4i21{flex:1;overflow-y:auto;min-height:0}.missing-disclaimer.svelte-th4i21{background-color:#e3f2fd;border:1px solid #bbdefb;color:#1565c0;padding:10px;border-radius:4px;font-size:.85em;margin-bottom:15px;text-align:center}.variable-list.svelte-th4i21{display:flex;flex-direction:column;gap:8px}.variable-item.svelte-th4i21{border:1px solid #ddd;border-radius:6px;padding:12px;font-size:.8em;background:#fff;position:relative;transition:all .2s ease}.variable-item.svelte-th4i21:hover{background-color:#fafbfc;border-color:#bbb}.variable-item.required.svelte-th4i21{border-left:4px solid #4caf50}.variable-item.assessment.svelte-th4i21{border-left:4px solid #ff9800}.variable-item.optional.svelte-th4i21{border-left:4px solid #2196f3}.variable-item.missing.svelte-th4i21{background:#fffdf7;border-color:#ffa726;padding-right:70px}.variable-item.has-error.svelte-th4i21{border-color:#f44336;background-color:#fff5f5}.variable-header.svelte-th4i21{display:flex;align-items:center;margin-bottom:8px;gap:10px}.variable-status.svelte-th4i21{flex-shrink:0}.status-indicator.svelte-th4i21{font-size:1em;display:inline-block}.variable-name-section.svelte-th4i21{flex:1;min-width:0}.variable-name-wrapper.svelte-th4i21{display:flex;align-items:center;gap:6px}.scorm-link.svelte-th4i21{text-decoration:none;display:inline-flex;align-items:center;flex-shrink:0}.info-icon.svelte-th4i21{font-size:.9em;opacity:.7;transition:opacity .2s ease}.scorm-link.svelte-th4i21:hover .info-icon:where(.svelte-th4i21){opacity:1}.variable-name.svelte-th4i21{font-weight:600;line-height:1.3;word-wrap:break-word}.variable-value-section.svelte-th4i21{flex-shrink:0;min-width:220px}.floating-controls.svelte-th4i21{position:absolute;top:12px;right:12px;display:flex;gap:4px;z-index:10}.required-badge.svelte-th4i21,.assessment-badge.svelte-th4i21{font-size:.65em;padding:2px 6px;border-radius:3px;color:#fff;margin-left:6px;vertical-align:middle}.required-badge.svelte-th4i21{background-color:#4caf50}.assessment-badge.svelte-th4i21{background-color:#ff9800}.variable-description.svelte-th4i21{color:#666;font-size:.9em;line-height:1.4;margin-top:6px}.variable-default-info.svelte-th4i21{color:#888;font-size:.85em;margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0;font-style:italic}.validation-error.svelte-th4i21{color:#d32f2f;font-size:.85em;margin-top:8px;padding:6px 8px;background-color:#ffebee;border:1px solid #ffcdd2;border-radius:4px;font-weight:500}.variable-input.svelte-th4i21{width:100%;padding:6px 8px;font-size:.9em;border:1px solid #ccc;border-radius:4px;background:#fff;box-sizing:border-box;transition:border-color .2s ease}.variable-input.svelte-th4i21:focus{outline:2px solid #007acc33;border-color:#007acc}.variable-input.error.svelte-th4i21{border-color:#f44336;background-color:#fffbfb}.variable-input.error.svelte-th4i21:focus{outline-color:#f4433633}.missing-input.svelte-th4i21{border-color:#ffa726;background-color:#fefefe}.missing-input.svelte-th4i21:focus{border-color:#ff9800;outline-color:#ff980033}.missing-input.error.svelte-th4i21{border-color:#f44336}.add-missing-btn.svelte-th4i21{background:#e3f2fd;color:#1976d2;border:1px solid #90caf9;padding:4px 12px;font-size:.75em;border-radius:4px;cursor:pointer;font-weight:600;height:26px;white-space:nowrap;transition:all .2s ease}.add-missing-btn.svelte-th4i21:hover:not(:disabled){background:#bbdefb;border-color:#64b5f6}.add-missing-btn.svelte-th4i21:disabled{opacity:.5;cursor:not-allowed}.no-variables.svelte-th4i21{text-align:center;padding:40px 20px;color:#666;font-size:.9em}.variable-content.svelte-th4i21::-webkit-scrollbar{width:8px}.variable-content.svelte-th4i21::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.variable-content.svelte-th4i21::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.variable-content.svelte-th4i21::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.vcard-section.svelte-o9en5w{border:1px solid #f0f0f0;border-radius:8px;padding:15px;box-sizing:border-box;flex-shrink:0}.vcard-section.svelte-o9en5w h4:where(.svelte-o9en5w){margin:0 0 12px;font-size:1em;text-align:center;color:#333;font-weight:600}.vcard-controls.svelte-o9en5w{display:flex;flex-direction:column;gap:10px}.saved-vcards.svelte-o9en5w{margin-bottom:0}.vcard-list.svelte-o9en5w{max-height:120px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:6px;padding:8px;background-color:#fff;display:flex;flex-direction:column;gap:6px;box-sizing:border-box}.vcard-list.svelte-o9en5w::-webkit-scrollbar{width:6px}.vcard-list.svelte-o9en5w::-webkit-scrollbar-track{background:#f8f9fa;border-radius:3px}.vcard-list.svelte-o9en5w::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.vcard-list.svelte-o9en5w::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.vcard-item.svelte-o9en5w{display:flex;align-items:center;gap:8px;background-color:#f9f9f9;border:1px solid #eee;border-radius:5px;padding:8px;transition:background-color .2s ease;box-sizing:border-box}.vcard-item.svelte-o9en5w:hover{background-color:#f0f7ff;border-color:#cce7ff}.vcard-select-btn.svelte-o9en5w{flex:1;background:none;border:none;text-align:left;cursor:pointer;padding:0;min-width:0}.vcard-info.svelte-o9en5w{display:flex;flex-direction:column;gap:2px;min-width:0}.vcard-name.svelte-o9en5w{font-size:.85em;font-weight:500;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vcard-date.svelte-o9en5w{font-size:.72em;color:#666;line-height:1.2}.vcard-delete-btn.svelte-o9en5w{background:none;border:none;color:#dc3545;cursor:pointer;font-size:1.1em;padding:4px;border-radius:3px;transition:background-color .2s ease;flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.vcard-delete-btn.svelte-o9en5w:hover{background-color:#fee;color:#c82333}.vcard-divider.svelte-o9en5w{font-size:.8em;color:#888;text-align:center;margin:0;padding:8px 0;position:relative}.vcard-divider.svelte-o9en5w:before,.vcard-divider.svelte-o9en5w:after{content:"";position:absolute;top:50%;width:38%;height:1px;background-color:#ddd}.vcard-divider.svelte-o9en5w:before{left:0}.vcard-divider.svelte-o9en5w:after{right:0}.upload-new-vcard.svelte-o9en5w{text-align:center;margin:0}.vcard-upload-button.svelte-o9en5w{display:inline-block;background-color:#e3f2fd;color:#1976d2;padding:10px 16px;border:1px solid #90caf9;border-radius:6px;cursor:pointer;font-size:.9em;font-weight:500;transition:all .2s ease;text-decoration:none;box-sizing:border-box}.vcard-upload-button.svelte-o9en5w:hover{background-color:#bbdefb;border-color:#64b5f6}.vcard-file-info.svelte-o9en5w{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:#e8f5e8;border:1px solid #4caf50;border-radius:6px;box-sizing:border-box}.vcard-filename.svelte-o9en5w{color:#2e7d32;font-weight:500;font-size:.9em;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:10px}.vcard-actions.svelte-o9en5w{display:flex;gap:8px;flex-shrink:0}.change-button.svelte-o9en5w,.remove-button.svelte-o9en5w{border:none;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:.75em;font-weight:500;color:#fff;transition:background-color .2s ease}.change-button.svelte-o9en5w{background-color:#2196f3}.change-button.svelte-o9en5w:hover{background-color:#1976d2}.remove-button.svelte-o9en5w{background-color:#f44336}.remove-button.svelte-o9en5w:hover{background-color:#d32f2f}input[type=file].svelte-o9en5w{display:none}.upload-container.svelte-f6n7qi{width:100%;height:calc(100vh - (4rem + 70px));display:flex;flex-direction:column;justify-content:center;align-items:center;border:2px dashed #ccc;border-radius:10px;background-color:#fff;transition:all .3s ease;padding:20px;overflow:hidden;box-sizing:border-box}.upload-container.dragging.svelte-f6n7qi{background-color:#e9f5ff;border-color:#007acc}.upload-container.package-uploaded.svelte-f6n7qi{border-style:solid;border-color:#e0e0e0;background-color:#f1f5fc;justify-content:flex-start;align-items:stretch}.initial-view.svelte-f6n7qi{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding-bottom:4rem}.upload-icon.svelte-f6n7qi{font-size:80px;color:#555}.upload-prompt.svelte-f6n7qi{text-align:center}.upload-button.svelte-f6n7qi{background-color:pink;color:#333;padding:15px 30px;border:1px solid #f08080;border-radius:5px;cursor:pointer;font-size:1em;font-weight:700}.upload-hint.svelte-f6n7qi{margin-top:10px;color:#666;font-size:.9em}input[type=file].svelte-f6n7qi{display:none}.post-upload-container.svelte-f6n7qi{width:100%;height:100%;display:flex;flex-direction:column;gap:20px;overflow:hidden}.page-header.svelte-f6n7qi{display:flex;justify-content:space-between;align-items:center;padding:20px;background:linear-gradient(135deg,#e8f5e8,#ebf7eb);border:1px solid #c8e6c9;border-radius:12px;flex-shrink:0}.page-title.svelte-f6n7qi h2:where(.svelte-f6n7qi){margin:0 0 8px;font-size:1.4em;color:#2e7d32;font-weight:600}.package-name.svelte-f6n7qi{font-size:1.1em;color:#388e3c;font-weight:500;word-wrap:break-word;overflow-wrap:break-word}.header-actions.svelte-f6n7qi{display:flex;gap:12px;flex-shrink:0}.reset-button.svelte-f6n7qi{background-color:#fcfff8;color:#33691e;border:1px solid #8bc34a;border-radius:10px;padding:18px 24px;font-size:1.05em;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.reset-button.svelte-f6n7qi:hover{background-color:#bfe0bf;border-color:#689f38}.process-button.svelte-f6n7qi{background-color:#2e7d32;color:#fff;border:1px solid #1b5e20;border-radius:10px;padding:18px 30px;font-size:1.05em;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.process-button.svelte-f6n7qi:hover{background-color:#1b5e20;border-color:#0d4e14}.post-upload-layout.svelte-f6n7qi{display:flex;gap:20px;flex:1;min-height:0;overflow:hidden;box-sizing:border-box}.config-column.svelte-f6n7qi{flex:0 1 65%;display:flex;flex-direction:column;gap:25px;padding:20px;border:1px solid #dde2e7;border-radius:8px;background-color:#fff;overflow-y:auto;box-sizing:border-box;min-height:0}.column-header.svelte-f6n7qi{display:flex;justify-content:center;align-items:center;border-bottom:1px solid #dde2e7;padding-bottom:10px;flex-shrink:0}.column-header.svelte-f6n7qi h3:where(.svelte-f6n7qi){margin:0;font-size:1.1em;color:#333;font-weight:600}.package-type-selection.svelte-f6n7qi{border:1px solid #e9edf0;border-radius:8px;padding:15px;flex-shrink:0;box-sizing:border-box}.package-type-selection.svelte-f6n7qi h4:where(.svelte-f6n7qi){margin:0 0 15px;font-size:1em;text-align:center}.status-indicator.svelte-f6n7qi{margin-bottom:15px}.status-message.svelte-f6n7qi{padding:8px;border-radius:6px;font-size:.8em;text-align:center;word-wrap:break-word}.status-message.success.svelte-f6n7qi{background-color:#dcf0dd;color:#155724}.status-message.warning.svelte-f6n7qi{background-color:#fff3cd;color:#856404}.package-type-buttons.svelte-f6n7qi{display:flex;flex-direction:column;gap:8px}.package-type-btn.svelte-f6n7qi{width:100%;display:flex;align-items:center;padding:10px;border:2px solid #dee2e6;border-radius:8px;background-color:#fff;cursor:pointer;box-sizing:border-box;min-height:60px}.package-type-btn.svelte-f6n7qi:hover:not(.disabled){border-color:#007acc}.package-type-btn.selected.svelte-f6n7qi{border-color:#007acc;background-color:#e3f2fd}.package-type-btn.disabled.svelte-f6n7qi{opacity:.6;cursor:not-allowed}.btn-icon.svelte-f6n7qi{font-size:1.2em;margin-right:10px;flex-shrink:0;width:24px;text-align:center}.btn-content.svelte-f6n7qi{flex:1;min-width:0;text-align:left}.btn-title.svelte-f6n7qi{font-weight:600;font-size:.9em;display:block}.btn-description.svelte-f6n7qi{font-size:.75em;color:#666;margin-top:2px;display:block;line-height:1.2}.error-message.svelte-f6n7qi{display:flex;flex-direction:column;align-items:center;gap:20px;padding:30px;text-align:center;max-width:600px}.error-content.svelte-f6n7qi{display:flex;align-items:flex-start;gap:15px;text-align:left}.error-icon.svelte-f6n7qi{font-size:2.5em;flex-shrink:0}.error-text.svelte-f6n7qi h3:where(.svelte-f6n7qi){margin:0 0 10px;color:#d32f2f;font-size:1.2em}.error-details.svelte-f6n7qi{color:#666;font-size:.9em;line-height:1.5;white-space:pre-line}.try-again-btn.svelte-f6n7qi{background-color:#1976d2;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:1em;font-weight:500;transition:background-color .2s ease}.try-again-btn.svelte-f6n7qi:hover{background-color:#1565c0}.package-requirements.svelte-f6n7qi{margin-top:30px;padding:20px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;text-align:left;max-width:400px}.package-requirements.svelte-f6n7qi h4:where(.svelte-f6n7qi){margin:0 0 15px;color:#495057;font-size:1em}.package-requirements.svelte-f6n7qi ul:where(.svelte-f6n7qi){margin:0;padding-left:20px;color:#6c757d;font-size:.9em;line-height:1.6}.package-requirements.svelte-f6n7qi li:where(.svelte-f6n7qi){margin-bottom:8px}.processing-indicator.svelte-f6n7qi,.error-message.svelte-f6n7qi{text-align:center;flex-shrink:0}.processing-icon.svelte-rx6lef{width:120px;height:120px;opacity:.8;transition:opacity .3s ease;animation:svelte-rx6lef-pulse 2s infinite}@keyframes svelte-rx6lef-pulse{0%,to{opacity:.8}50%{opacity:1}}.download-icon.svelte-16azcoc{width:120px;height:120px;opacity:.8;transition:opacity .3s ease}.download-icon.svelte-16azcoc:hover{opacity:1}.download-button.svelte-16azcoc{background-color:#e8f5e8;border:1px solid #4cae4c;color:#2e7d32;padding:18px 38px;font-size:1.05em;border-radius:10px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.download-button.svelte-16azcoc:hover{background-color:#d6ecd6;border-color:#449d44}.error-container.svelte-ul2ofi{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:2rem;border:2px solid #d32f2f;background-color:#ffebee;border-radius:8px;max-width:600px}.error-details.svelte-ul2ofi{text-align:left;background:#ffcdd2;padding:1rem;border-radius:4px;width:100%}main.svelte-1n46o8q{display:flex;flex-direction:column;height:100vh}.content-area.svelte-1n46o8q{flex:1;display:flex;justify-content:center;align-items:center;background-color:#f0f0f0;padding:1.5rem}
