:root{--tool-card-base-bg: var(--learning-card-bg);--tool-card-base-border: var(--learning-card-border);--tool-card-base-radius: var(--learning-card-radius);--tool-card-base-shadow: var(--learning-card-shadow);--tool-card-base-transition: var(--learning-transition-normal);--tool-card-hover-bg: var(--learning-card-bg-hover);--tool-card-hover-border: var(--learning-card-border-hover);--tool-card-hover-shadow: var(--learning-card-shadow-hover);--tool-card-accent-color: var(--color-primary);--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 10%, transparent);--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 30%, transparent);--tool-card-accent-text: var(--color-text-on-primary, var(--color-white));--tool-card-progress-color: var(--tool-card-accent-color);--tool-card-shimmer-color: color-mix(in srgb, var(--tool-card-accent-color) 20%, transparent);--tool-card-title-size: var(--learning-text-base);--tool-card-subtitle-size: var(--learning-text-sm);--tool-card-badge-size: var(--learning-text-xs);--tool-card-padding-x: var(--space-6);--tool-card-padding-y: var(--space-6);--tool-card-content-padding: var(--space-6);--tool-card-gap: var(--space-4);--tool-card-mobile-padding: var(--space-4);--tool-card-max-content-height: 70vh;--animation-shimmer-duration: 2s;--animation-pulse-duration: 1.5s;--animation-progress-duration: 1.8s;--animation-celebration-duration: .6s;--tool-card-icon-size: var(--icon-size-small);--tool-card-badge-icon-size: var(--icon-size-micro);--tool-card-chevron-size: var(--icon-size-small);--tool-card-button-icon-size: 16px;--tool-card-feedback-icon-size: var(--icon-size-mini);--tool-card-error-icon-size: var(--icon-size-base);--tool-card-icon-container-size: var(--space-12);--icon-badge-size: 3.5rem;--tool-card-icon-color: var(--tool-card-accent-color);--tool-card-icon-color-hover: color-mix(in srgb, var(--tool-card-accent-color) 85%, var(--color-black, black));--tool-card-badge-icon-color: var(--color-primary);--tool-card-error-icon-color: var(--color-error);--border-width-high-contrast: 2px;--border-width-forced-colors: 4px;--border-width-focus: 4px;--difficulty-easy-bg: color-mix(in srgb, var(--color-success-500) 15%, transparent);--difficulty-easy-text: var(--color-success-700);--difficulty-easy-border: 1px solid var(--color-success-300);--difficulty-medium-bg: color-mix(in srgb, var(--color-warning-500) 15%, transparent);--difficulty-medium-text: var(--color-warning-700);--difficulty-medium-border: 1px solid var(--color-warning-300);--difficulty-hard-bg: color-mix(in srgb, var(--color-error-600) 15%, transparent);--difficulty-hard-text: var(--color-error-700);--difficulty-hard-border: 1px solid var(--color-error-300);--question-preview-bg: color-mix(in srgb, var(--tool-card-accent-color) 5%, var(--surface-card));--question-preview-border: 1px solid var(--tool-card-accent-border);--question-preview-padding: var(--space-4);--question-preview-gap: var(--space-3);--question-preview-radius: var(--radius-lg);--question-preview-shadow: var(--shadow-sm);--question-preview-shadow-hover: var(--shadow-md);--metadata-badge-bg: color-mix(in srgb, var(--tool-card-accent-color) 10%, transparent);--metadata-badge-text: var(--text-secondary);--metadata-badge-border: 1px solid var(--tool-card-accent-border);--metadata-badge-padding: var(--space-1) var(--space-3);--metadata-badge-radius: var(--radius-lg);--metadata-badge-font-size: var(--text-xs);--metadata-badge-font-weight: var(--font-medium);--exercise-btn-primary-bg: var(--color-primary-500);--exercise-btn-primary-bg-hover: var(--color-primary-600);--exercise-btn-primary-bg-active: var(--color-primary-700);--exercise-btn-primary-text: var(--color-text-on-primary, white);--exercise-btn-primary-padding: var(--space-3) var(--space-6);--exercise-btn-secondary-bg: var(--surface-elevated);--exercise-btn-secondary-bg-hover: var(--surface-hover);--exercise-btn-secondary-text: var(--text-primary);--exercise-btn-secondary-border: 1px solid var(--border-color);--question-text-size: var(--text-sm);--question-text-weight: var(--font-medium);--question-text-line-height: 1.6}.tool-card-type-lesson{--tool-card-accent-color: var(--learning-lesson-color)}.tool-card-type-quiz{--tool-card-accent-color: var(--learning-quiz-color)}.tool-card-type-flashcard{--tool-card-accent-color: var(--learning-flashcard-color)}.tool-card-type-websearch{--tool-card-accent-color: var(--color-info)}.tool-card-type-calendar{--tool-card-accent-color: var(--color-secondary)}.tool-card-type-memory{--tool-card-accent-color: var(--color-accent);--tool-card-accent-text: var(--color-neutral-900, #1a1a1a)}.tool-card-type-file{--tool-card-accent-color: var(--color-neutral-600)}.tool-card-type-diagram{--tool-card-accent-color: var(--color-primary)}.tool-card-type-todo{--tool-card-accent-color: var(--color-success)}.tool-card-type-exercise{--tool-card-accent-color: var(--learning-exercise-color)}.tool-card-type-history{--tool-card-accent-color: var(--color-neutral-500)}.tool-card-type-deepdive{--tool-card-accent-color: var(--color-accent);--tool-card-accent-text: var(--color-neutral-900, #1a1a1a)}:global(.dark) .tool-card-type-lesson{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-quiz{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-flashcard{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-websearch{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-calendar{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-memory{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 20%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 45%, transparent);--tool-card-accent-text: var(--color-neutral-100)}:global(.dark) .tool-card-type-file{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 20%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 50%, transparent)}:global(.dark) .tool-card-type-diagram{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-todo{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-exercise{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-history{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 20%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 50%, transparent)}:global(.dark) .tool-card-type-deepdive{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 20%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 45%, transparent);--tool-card-accent-text: var(--color-neutral-100)}:global(.dark) .tool-card-type-export{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-conversion{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-test{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-summary{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-mindmap{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 20%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 45%, transparent);--tool-card-accent-text: var(--color-neutral-100)}:global(.dark) .tool-card-type-navigation{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-slideshow{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-imagegeneration{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 20%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 45%, transparent);--tool-card-accent-text: var(--color-neutral-100)}:global(.dark) .tool-card-type-topicmastery{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-planning{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-codeexecution{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 20%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 50%, transparent)}:global(.dark) .tool-card-type-codeplayground{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}:global(.dark) .tool-card-type-batch{--tool-card-accent-bg: color-mix(in srgb, var(--tool-card-accent-color) 15%, var(--color-surface-dark, var(--color-neutral-900)));--tool-card-accent-border: color-mix(in srgb, var(--tool-card-accent-color) 40%, transparent)}.tool-card-type-export{--tool-card-accent-color: var(--color-success)}.tool-card-type-conversion{--tool-card-accent-color: var(--color-info)}.tool-card-type-conversion[data-format=docx],.tool-card-type-conversion[data-format=doc]{--tool-card-accent-color: var(--color-primary-500)}.tool-card-type-conversion[data-format=xlsx],.tool-card-type-conversion[data-format=xls],.tool-card-type-conversion[data-format=csv]{--tool-card-accent-color: var(--color-success-500)}.tool-card-type-conversion[data-format=pptx],.tool-card-type-conversion[data-format=ppt]{--tool-card-accent-color: var(--color-warning-500)}.tool-card-type-conversion[data-format=epub],.tool-card-type-conversion[data-format=mobi]{--tool-card-accent-color: var(--color-accent-500)}.tool-card-type-conversion[data-format=png],.tool-card-type-conversion[data-format=jpg],.tool-card-type-conversion[data-format=jpeg],.tool-card-type-conversion[data-format=webp],.tool-card-type-conversion[data-format=gif]{--tool-card-accent-color: var(--color-secondary-500)}.tool-card-type-conversion[data-format=pdf]{--tool-card-accent-color: var(--color-error-500)}.tool-card-type-test{--tool-card-accent-color: var(--learning-quiz-color)}.tool-card-type-summary{--tool-card-accent-color: var(--color-info)}.tool-card-type-mindmap{--tool-card-accent-color: var(--color-accent);--tool-card-accent-text: var(--color-neutral-900, #1a1a1a)}.tool-card-type-navigation{--tool-card-accent-color: var(--color-secondary)}.tool-card-type-slideshow{--tool-card-accent-color: var(--color-primary)}.tool-card-type-imagegeneration{--tool-card-accent-color: var(--color-accent);--tool-card-accent-text: var(--color-neutral-900, #1a1a1a)}.tool-card-type-topicmastery{--tool-card-accent-color: var(--color-success)}.tool-card-type-planning{--tool-card-accent-color: var(--color-warning)}.tool-card-type-codeexecution{--tool-card-accent-color: var(--color-neutral-600)}.tool-card-type-codeplayground{--tool-card-accent-color: var(--color-success)}.tool-card-type-batch{--tool-card-accent-color: var(--color-primary)}.tool-card-container{inline-size:100%;background:var(--tool-card-base-bg);border:1px solid var(--tool-card-base-border);border-radius:var(--tool-card-base-radius);overflow:hidden;transition:all var(--duration-normal) var(--ease-out);transform:scale(var(--scale-value, 1));position:relative;container-type:inline-size;container-name:tool-card}.tool-card-container:hover{border-color:var(--tool-card-hover-border);box-shadow:var(--tool-card-hover-shadow)}.tool-card-container.is-scaling{will-change:transform}.tool-card-container:not(.is-scaling){will-change:auto}.tool-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-inline:var(--tool-card-padding-x);padding-block:var(--tool-card-padding-y);inline-size:100%;text-align:start;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:transparent;border:none}.tool-card-header:hover{background:var(--tool-card-hover-bg)}.tool-card-header-content{display:flex;align-items:center;gap:var(--tool-card-gap);flex:1;min-inline-size:0}.tool-card-icon-container{flex-shrink:0;inline-size:3rem;block-size:3rem;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) var(--ease-out);background:var(--tool-card-accent-bg);border:1px solid var(--tool-card-accent-border);overflow:hidden}.tool-card-icon-container>:global(*){max-width:var(--tool-card-icon-size);max-height:var(--tool-card-icon-size);width:var(--tool-card-icon-size);height:var(--tool-card-icon-size)}.tool-card-icon{color:var(--tool-card-icon-color);inline-size:var(--tool-card-icon-size);block-size:var(--tool-card-icon-size);max-width:var(--tool-card-icon-size);max-height:var(--tool-card-icon-size);transition:transform var(--duration-normal) var(--ease-out)}.tool-card-header:hover .tool-card-icon{color:var(--tool-card-icon-color-hover);transform:scale(1.1)}.tool-card-text-container{flex:1;min-inline-size:0;min-height:calc((var(--tool-card-title-size) * var(--leading-tight, 1.25)) + var(--space-1) + (var(--tool-card-subtitle-size) * var(--leading-normal, 1.5)) + var(--space-1) + (var(--learning-text-xs) * var(--leading-normal, 1.5)))}.tool-card-title{font-size:var(--tool-card-title-size);font-weight:var(--font-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em;line-height:var(--leading-tight);margin:0}.tool-card-subtitle{font-size:var(--tool-card-subtitle-size);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--font-normal);margin:0;margin-block-start:var(--space-1)}.tool-card-progress-message{font-size:var(--learning-text-xs);color:var(--text-tertiary);font-style:italic;margin:0;margin-block-start:var(--space-1);min-height:calc(var(--learning-text-xs) * var(--leading-normal, 1.5))}.tool-card-badge-container{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.ai-watermark-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 35%,var(--tool-card-base-bg)),color-mix(in srgb,var(--color-secondary) 30%,var(--tool-card-base-bg))),var(--color-surface-secondary, var(--tool-card-base-bg));border:1px solid color-mix(in srgb,var(--color-primary) 50%,transparent);border-radius:var(--radius-full);color:var(--color-primary-700, var(--color-primary));font-size:var(--font-size-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.05em;backdrop-filter:blur(8px);box-shadow:0 1px 4px color-mix(in srgb,var(--color-primary) 15%,transparent)}.ai-watermark-badge :global(svg){inline-size:var(--tool-card-badge-icon-size);block-size:var(--tool-card-badge-icon-size);color:var(--tool-card-badge-icon-color)}.ai-watermark-text{line-height:1}.tool-card-count-badge{display:inline-flex;align-items:center;padding-inline:var(--space-3);padding-block:var(--space-2);border-radius:var(--radius-full);font-size:var(--tool-card-badge-size);font-weight:var(--font-semibold);background:color-mix(in srgb,var(--tool-card-accent-color) 20%,var(--tool-card-base-bg));color:var(--tool-card-accent-color);border:1px solid color-mix(in srgb,var(--tool-card-accent-color) 50%,transparent);backdrop-filter:blur(8px)}.tool-card-chevron{color:var(--text-tertiary);inline-size:var(--tool-card-chevron-size);block-size:var(--tool-card-chevron-size);transition:all var(--duration-normal) var(--ease-out)}.tool-card-header:hover .tool-card-chevron{color:var(--text-secondary)}.tool-card-chevron.rotate-180{transform:rotate(180deg)}.tool-card-progress-bar{block-size:.25rem;background:var(--color-neutral-100);position:relative;overflow:hidden}.tool-card-progress-bar.progress-bar-hidden{visibility:hidden;pointer-events:none}:global(.dark) .tool-card-progress-bar{background:var(--color-neutral-800)}.tool-card-progress-fill{block-size:100%;background:linear-gradient(to right,var(--tool-card-progress-color),color-mix(in srgb,var(--tool-card-progress-color) 80%,var(--color-primary)),var(--tool-card-progress-color));transition:width .5s var(--ease-out);will-change:width}.tool-card-progress-shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--color-white, #fff) 15%,transparent) 50%,transparent 100%);background-size:200% 100%;animation:shimmer-progress 2s linear infinite}:global(.dark) .tool-card-progress-shimmer{background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--color-white, #fff) 10%,transparent) 50%,transparent 100%)}.tool-card-progress-bar[data-mode=indeterminate] .tool-card-progress-fill{width:30%;animation:progress-indeterminate-slide 1.8s ease-in-out infinite}@keyframes progress-indeterminate-slide{0%{transform:translate(-100%)}50%{transform:translate(150%)}to{transform:translate(300%)}}.tool-card-progress-bar[data-mode=determinate] .tool-card-progress-fill{animation:none;transform:translate(0);max-width:95%;transition:width var(--motion-standard, .3s) var(--ease-emphasized-decel, cubic-bezier(.05, .7, .1, 1)),transform .15s ease-out}.tool-card-progress-bar[data-mode=complete] .tool-card-progress-fill{width:100%;animation:progress-complete-glow .6s ease-out forwards}@keyframes progress-complete-glow{0%{box-shadow:0 0 color-mix(in oklch,var(--tool-card-accent-color, var(--color-primary)) 50%,transparent)}50%{box-shadow:0 0 8px 2px color-mix(in oklch,var(--tool-card-accent-color, var(--color-primary)) 30%,transparent)}to{box-shadow:none}}@media (prefers-reduced-motion: reduce){.tool-card-progress-bar[data-mode=indeterminate] .tool-card-progress-fill{animation:none;width:100%;opacity:.6}.tool-card-progress-bar[data-mode=complete] .tool-card-progress-fill{animation:none}.tool-card-progress-fill{transition:none}.tool-card-progress-shimmer{animation:none!important;opacity:.5}}.tool-card-progress-bar[data-shimmer=pulse] .tool-card-progress-shimmer{animation:shimmer-pulse 1.5s ease-in-out infinite}.tool-card-progress-bar[data-shimmer=wave] .tool-card-progress-shimmer{animation:shimmer-wave 2s ease-in-out infinite}@keyframes shimmer-pulse{0%,to{opacity:.3}50%{opacity:.8}}@keyframes shimmer-wave{0%{background-position:-200% center;opacity:.5}50%{opacity:1}to{background-position:200% center;opacity:.5}}@media (prefers-contrast: high){.tool-card-progress-bar{border:2px solid var(--text-primary)}.tool-card-progress-fill{background:var(--text-primary)}}.tool-card-content-divider{border-block-start:1px solid var(--tool-card-base-border)}.tool-card-content-padding{padding-inline:var(--tool-card-content-padding);padding-block:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);min-height:3rem}.tool-card-default-content{font-size:var(--learning-text-sm);color:var(--text-secondary);text-align:center;padding:var(--space-4);background:var(--color-neutral-100);border-radius:var(--radius-md);margin:0}:global(.dark) .tool-card-default-content{background:var(--color-neutral-800)}.tool-card-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.tool-card-action-button{flex:1;min-inline-size:0;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding-inline:var(--space-4);padding-block:var(--space-4);border-radius:var(--radius-xl);font-weight:var(--font-semibold);font-size:var(--learning-text-base);border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:var(--tool-card-accent-color, var(--color-primary-500));color:var(--tool-card-accent-text, var(--color-text-on-primary, var(--color-white, #fff)));box-shadow:0 8px 24px -4px color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 40%,transparent),0 4px 8px color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 25%,transparent);border:1px solid color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 85%,var(--color-black, #000))}.tool-card-action-button:hover{background:color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 85%,var(--color-black, #000));transform:translateY(-1px);color:var(--tool-card-accent-text, var(--color-text-on-primary, var(--color-white, #fff)));box-shadow:0 16px 40px -4px color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 45%,transparent),0 4px 12px color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 30%,transparent);border-color:color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 75%,var(--color-black, #000))}.tool-card-action-button:active{background:color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 80%,var(--color-black, #000));transform:scale(.98);color:var(--tool-card-accent-text, var(--color-text-on-primary, var(--color-white, #fff)));box-shadow:0 4px 16px -4px color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 35%,transparent),0 1px 4px color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 20%,transparent)}.tool-card-regenerate-button{background:var(--color-neutral-200);color:var(--text-primary);border:1px solid var(--color-neutral-300);box-shadow:0 4px 8px color-mix(in srgb,var(--color-neutral-500) 15%,transparent),0 1px 4px color-mix(in srgb,var(--color-neutral-500) 10%,transparent)}:global(.dark) .tool-card-regenerate-button{background:var(--color-neutral-600);border:1px solid var(--color-neutral-400);color:var(--color-neutral-100);box-shadow:0 2px 6px color-mix(in srgb,var(--color-black) 20%,transparent),0 1px 3px color-mix(in srgb,var(--color-black) 15%,transparent)}.tool-card-regenerate-button:hover{background:color-mix(in srgb,var(--color-neutral-200) 85%,black);border-color:var(--color-neutral-400);transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--color-neutral-500) 20%,transparent),0 4px 8px color-mix(in srgb,var(--color-neutral-500) 15%,transparent)}:global(.dark) .tool-card-regenerate-button:hover{background:var(--color-neutral-500);border-color:var(--color-neutral-300);color:var(--color-white)}.tool-card-regenerate-button:active{transform:scale(.98);box-shadow:0 1px 4px color-mix(in srgb,var(--color-neutral-500) 15%,transparent),0 0 2px color-mix(in srgb,var(--color-neutral-500) 10%,transparent)}.tool-card-button-icon{inline-size:var(--tool-card-button-icon-size);block-size:var(--tool-card-button-icon-size);color:currentColor;transition:transform var(--duration-fast) var(--ease-out)}.tool-card-action-button:hover .tool-card-button-icon{transform:translate(.25rem)}.tool-card-action-button:focus-visible{outline:none;box-shadow:0 0 0 var(--focus-ring-width, 4px) color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 40%,transparent),0 0 0 calc(var(--focus-ring-width, 4px) * 2) color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 20%,transparent),0 16px 40px -4px color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 45%,transparent),0 4px 12px color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 30%,transparent);background:var(--tool-card-accent-color, var(--color-primary-500));color:var(--tool-card-accent-text, var(--color-text-on-primary, var(--color-white, #fff)));border-color:color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 75%,var(--color-black, #000))}.tool-card-regenerate-button:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--color-neutral-500) 40%,transparent),0 0 0 8px color-mix(in srgb,var(--color-neutral-500) 20%,transparent),0 4px 12px color-mix(in srgb,var(--color-neutral-500) 20%,transparent),0 4px 8px color-mix(in srgb,var(--color-neutral-500) 15%,transparent)}.tool-card-error-container{padding:var(--space-4);background:color-mix(in srgb,var(--color-error) 5%,var(--tool-card-base-bg));border-block-start:1px solid var(--tool-card-base-border)}.error-content{display:flex;align-items:flex-start;gap:var(--space-3);margin-block-end:var(--space-4)}.error-icon-wrapper{flex-shrink:0;color:var(--tool-card-error-icon-color);display:flex;align-items:center;justify-content:center}.error-icon-wrapper :global(svg),.error-icon{inline-size:var(--tool-card-error-icon-size);block-size:var(--tool-card-error-icon-size);color:var(--tool-card-error-icon-color)}.error-text-wrapper{flex:1;min-inline-size:0}.tool-card-error-title{font-size:var(--learning-text-sm);font-weight:var(--font-semibold);color:var(--color-error);margin:0;margin-block-end:var(--space-1)}.tool-card-error-text{font-size:var(--learning-text-sm);color:var(--text-secondary);line-height:var(--leading-normal);margin:0;margin-block-end:var(--space-2)}.tool-card-error-hint{font-size:var(--learning-text-xs);color:var(--text-tertiary);line-height:var(--leading-normal);font-style:italic;margin:0}.error-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.error-retry-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-error);color:var(--color-white, #fff);border:none;border-radius:var(--radius-md);font-size:var(--learning-text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-normal, .2s) var(--ease-out)}.error-retry-button :global(svg){inline-size:var(--tool-card-feedback-icon-size);block-size:var(--tool-card-feedback-icon-size);color:currentColor;flex-shrink:0}.error-retry-button:hover{background:color-mix(in srgb,var(--color-error) 90%,black);transform:translateY(-1px);box-shadow:0 2px 8px color-mix(in srgb,var(--color-error) 30%,transparent)}.error-retry-button:active{transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--color-error) 20%,transparent)}.error-dismiss-button{padding:var(--space-2) var(--space-4);background:transparent;color:var(--text-secondary);border:1px solid var(--tool-card-base-border);border-radius:var(--radius-md);font-size:var(--learning-text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-normal, .2s) var(--ease-out)}.error-dismiss-button:hover{background:var(--color-neutral-100);border-color:var(--text-tertiary);color:var(--text-primary)}:global(.dark) .error-dismiss-button:hover{background:var(--color-neutral-800)}.error-dismiss-button:active{transform:scale(.98)}@keyframes shimmer-border{0%,to{border-color:var(--tool-card-base-border)}50%{border-color:var(--tool-card-hover-border)}}.shimmer-border{animation:shimmer-border 2s ease-in-out infinite}@keyframes shimmer-text{0%,to{opacity:1}50%{opacity:.7}}.shimmer-text{animation:shimmer-text 2s ease-in-out infinite}@keyframes shimmer-icon{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}.shimmer-icon{animation:shimmer-icon 2s ease-in-out infinite}@keyframes shimmer-progress{0%{background-position:-200% center}to{background-position:200% center}}.skeleton-container{display:flex;align-items:center;gap:var(--tool-card-gap);flex:1;min-inline-size:0}.skeleton{background:linear-gradient(90deg,var(--color-neutral-200) 25%,var(--color-neutral-300) 50%,var(--color-neutral-200) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}:global(.dark) .skeleton{background:linear-gradient(90deg,var(--color-neutral-700) 25%,var(--color-neutral-600) 50%,var(--color-neutral-700) 75%)}.skeleton-circle{width:var(--space-12);height:var(--space-12);border-radius:var(--radius-full, 50%);flex-shrink:0}.skeleton-text-group{flex:1;min-inline-size:0;display:flex;flex-direction:column;gap:var(--space-1)}.skeleton-text{border-radius:var(--radius-sm)}.skeleton-title{width:60%;height:calc(var(--font-size-base) * var(--leading-tight, 1.25))}.skeleton-subtitle{width:80%;height:calc(var(--font-size-sm) * var(--leading-normal, 1.5))}.skeleton-badge{width:4rem;height:calc(var(--font-size-sm) * var(--leading-normal, 1.5) + .5rem * 2);border-radius:var(--radius-full);flex-shrink:0}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes success-pulse{0%{box-shadow:0 0 color-mix(in oklch,var(--color-success, #10b981) 70%,transparent),0 0 color-mix(in oklch,var(--color-success, #10b981) 50%,transparent)}50%{box-shadow:0 0 0 16px color-mix(in oklch,var(--color-success, #10b981) 0%,transparent),0 0 0 32px color-mix(in oklch,var(--color-success, #10b981) 0%,transparent)}to{box-shadow:0 0 color-mix(in oklch,var(--color-success, #10b981) 0%,transparent),0 0 color-mix(in oklch,var(--color-success, #10b981) 0%,transparent)}}.tool-card-celebrating{animation:success-pulse .6s ease-out}.tool-card--highlighted{animation:highlight-glow 2s ease-out}@keyframes highlight-glow{0%{box-shadow:0 0 0 4px color-mix(in oklch,var(--tool-card-accent-color, var(--color-primary)) 60%,transparent),0 0 20px 8px color-mix(in oklch,var(--tool-card-accent-color, var(--color-primary)) 40%,transparent)}to{box-shadow:0 0 color-mix(in oklch,var(--tool-card-accent-color, var(--color-primary)) 0%,transparent),0 0 color-mix(in oklch,var(--tool-card-accent-color, var(--color-primary)) 0%,transparent)}}.tool-card-type-lesson.tool-card-celebrating{animation:success-pulse-accent .6s ease-out}@keyframes success-pulse-accent{0%{box-shadow:0 0 color-mix(in oklch,var(--tool-card-accent-color) 70%,transparent),0 0 color-mix(in oklch,var(--tool-card-accent-color) 50%,transparent)}50%{box-shadow:0 0 0 16px color-mix(in oklch,var(--tool-card-accent-color) 0%,transparent),0 0 0 32px color-mix(in oklch,var(--tool-card-accent-color) 0%,transparent)}to{box-shadow:0 0 color-mix(in oklch,var(--tool-card-accent-color) 0%,transparent),0 0 color-mix(in oklch,var(--tool-card-accent-color) 0%,transparent)}}.follow-up-prompt{margin-block-start:var(--space-2);padding:var(--space-2) var(--space-3);background:linear-gradient(135deg,color-mix(in srgb,var(--color-secondary) 10%,transparent),color-mix(in srgb,var(--color-primary) 5%,transparent));border-inline-start:var(--space-1) solid var(--color-secondary);border-radius:var(--radius-sm)}.follow-up-text{font-size:var(--learning-text-xs);font-weight:var(--font-medium);color:var(--color-secondary);font-style:italic}.rating-feedback{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,color-mix(in srgb,var(--color-success) 15%,transparent),color-mix(in srgb,var(--color-success) 10%,transparent));border:1px solid color-mix(in srgb,var(--color-success) 25%,transparent);border-radius:var(--radius-lg);color:var(--color-success);font-size:var(--learning-text-sm);font-weight:var(--font-medium);margin-block-start:var(--space-3)}.rating-feedback :global(svg){inline-size:var(--tool-card-feedback-icon-size);block-size:var(--tool-card-feedback-icon-size);color:var(--color-success);flex-shrink:0}.ai-disclaimer{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:color-mix(in srgb,var(--color-info) 5%,transparent);border:1px solid color-mix(in srgb,var(--color-info) 15%,transparent);border-radius:var(--radius-md);color:var(--text-tertiary);font-size:var(--learning-text-xs);font-weight:var(--font-normal);margin-block-start:var(--space-4)}.ai-disclaimer :global(svg){inline-size:var(--tool-card-feedback-icon-size);block-size:var(--tool-card-feedback-icon-size);color:var(--color-info);flex-shrink:0}@media (prefers-contrast: more){.tool-card-action-button{background:color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 95%,var(--color-black, #000));color:var(--tool-card-accent-text, var(--color-text-on-primary, var(--color-white, #fff)));border-width:var(--border-width-forced-colors);border-color:color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 70%,var(--color-black, #000));font-weight:var(--font-bold)}.tool-card-regenerate-button{background:var(--color-neutral-100);color:var(--color-neutral-900);border-width:var(--border-width-forced-colors);border-color:var(--color-neutral-400);font-weight:var(--font-bold)}:global(.dark) .tool-card-regenerate-button{background:var(--color-neutral-800);color:var(--color-neutral-100);border-color:var(--color-neutral-500)}.tool-card-count-badge{background:color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 30%,var(--tool-card-base-bg));border-width:var(--border-width-forced-colors);border-color:color-mix(in srgb,var(--tool-card-accent-color, var(--color-primary-500)) 70%,transparent);font-weight:var(--font-bold);color:var(--tool-card-accent-color, var(--color-primary-500))}.ai-watermark-badge{background:color-mix(in srgb,var(--color-primary, var(--color-primary-500)) 35%,var(--tool-card-base-bg));border-width:var(--border-width-forced-colors);border-color:color-mix(in srgb,var(--color-primary, var(--color-primary-500)) 60%,transparent);font-weight:var(--font-bold);color:var(--color-primary, var(--color-primary-500))}}@media (forced-colors: active){.tool-card-action-button,.tool-card-regenerate-button{background:ButtonFace;color:ButtonText;border:4px solid ButtonBorder;forced-color-adjust:none}.tool-card-action-button:focus-visible,.tool-card-regenerate-button:focus-visible{outline:4px solid Highlight;outline-offset:4px}.tool-card-count-badge,.ai-watermark-badge{background:ButtonFace;color:ButtonText;border:4px solid ButtonBorder;forced-color-adjust:none;backdrop-filter:none;box-shadow:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (prefers-reduced-motion: reduce){.tool-card-container,.tool-card-header,.tool-card-icon,.tool-card-progress-fill,.tool-card-action-button,.ai-watermark-badge,.skeleton{transition-duration:.01ms!important;animation-duration:.01ms!important;animation:none!important}.tool-card-container.is-scaling{will-change:auto}.shimmer-border,.shimmer-text,.shimmer-icon,.tool-card-progress-shimmer{animation:none!important}}@media (prefers-contrast: high){.tool-card-container,.tool-card-icon-container,.ai-watermark-badge,.tool-card-count-badge{border-width:4px}}@media (max-width: 768px){.tool-card-padding-x{--tool-card-padding-x: var(--space-4)}.tool-card-content-padding{--tool-card-content-padding: var(--space-4)}.tool-card-actions{flex-direction:column}.tool-card-action-button{flex:none}.tool-card-content-divider{max-height:70vh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.tool-card-content-padding{padding-block-end:var(--space-6)}}@supports (-webkit-touch-callout: none){.tool-card-content-divider{-webkit-overflow-scrolling:touch;transform:translateZ(0)}}@media (hover: none){.tool-card-header:hover{background:transparent}.tool-card-action-button{min-height:48px;min-width:48px}.tool-card-action-button:hover{background:var(--tool-card-accent-color, var(--color-primary-500));color:var(--tool-card-accent-text, var(--color-text-on-primary, var(--color-white, #fff)));transform:none}.tool-card-content-divider{-webkit-overflow-scrolling:touch;touch-action:pan-y}}.citation-loading{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--color-primary-100) 50%,transparent);border:1px solid var(--color-primary-200);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-primary-600)}.citation-loading-spinner{width:12px;height:12px;border:2px solid var(--color-primary-200);border-top-color:var(--color-primary-500);border-radius:50%;animation:citation-spin .8s linear infinite}@keyframes citation-spin{to{transform:rotate(360deg)}}.citation-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--color-error-100) 50%,transparent);border:1px solid var(--color-error-200);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-error-600)}.citation-error-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:var(--color-error-500);color:#fff;border-radius:50%;font-size:10px;font-weight:700;flex-shrink:0}:global(.dark) .citation-loading{background:color-mix(in srgb,var(--color-primary-900) 50%,transparent);border-color:var(--color-primary-700);color:var(--color-primary-300)}:global(.dark) .citation-loading-spinner{border-color:var(--color-primary-700);border-top-color:var(--color-primary-400)}:global(.dark) .citation-error{background:color-mix(in srgb,var(--color-error-900) 50%,transparent);border-color:var(--color-error-700);color:var(--color-error-300)}@media (prefers-reduced-motion: reduce){.citation-loading-spinner{animation:none}}@supports not (container-type: inline-size){@media (max-width: 320px){.tool-card-container{--tool-card-gap: var(--space-2);--tool-card-padding-x: var(--space-3);--tool-card-content-padding: var(--space-3)}.tool-card-icon-container{inline-size:2rem;block-size:2rem}.tool-card-count-badge,.ai-watermark-badge{font-size:.625rem;padding-inline:var(--space-2)}}@media (max-width: 400px){.tool-card-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.tool-card-badge-container{width:100%;justify-content:flex-start}}@media (max-width: 500px){.tool-card-actions{flex-direction:column;width:100%}.tool-card-action-button,.tool-card-regenerate-button{width:100%}}}@supports (container-type: inline-size){@container tool-card (max-width: 400px){.tool-card-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.tool-card-header-content{width:100%}.tool-card-badge-container{width:100%;justify-content:flex-start}.tool-card-title{font-size:var(--learning-text-sm)}.tool-card-subtitle{font-size:var(--learning-text-xs)}}@container tool-card (max-width: 500px){.tool-card-actions{flex-direction:column;width:100%;gap:var(--space-2)}.tool-card-action-button,.tool-card-regenerate-button{width:100%;flex:none}}@container tool-card (min-width: 501px){.tool-card-actions{flex-direction:row;gap:var(--space-3)}.tool-card-action-button{flex:1}.tool-card-regenerate-button{flex:0 1 auto;min-width:fit-content}}@container tool-card (max-width: 320px){.tool-card-container{--tool-card-gap: var(--space-2)}.tool-card-padding-x{--tool-card-padding-x: var(--space-3)}.tool-card-content-padding{--tool-card-content-padding: var(--space-3)}.tool-card-icon-container{inline-size:2rem;block-size:2rem}.tool-card-count-badge,.ai-watermark-badge{font-size:.625rem;padding-inline:var(--space-2)}}}
