:root{--color-primary-50: #FDF2F5;--color-primary-100: #FAE5EB;--color-primary-200: #F2CCD7;--color-primary-300: #E9A8B8;--color-primary-400: #DD7A94;--color-primary-500: #8B1538;--color-primary-600: #6B1028;--color-primary-700: #5A0E23;--color-primary-800: #4A0C1D;--color-primary-900: #3D0A18;--color-gold-50: #FEFBF0;--color-gold-100: #FDF7E1;--color-gold-200: #FAEFC3;--color-gold-300: #F6E7A5;--color-gold-400: #F1DE87;--color-gold-500: #D4AF37;--color-gold-600: #B8941F;--color-gold-700: #9C7A18;--color-gold-800: #806010;--color-gold-900: #644609;--color-secondary-50: #EFF6FF;--color-secondary-100: #DBEAFE;--color-secondary-200: #BFDBFE;--color-secondary-300: #93C5FD;--color-secondary-400: #60A5FA;--color-secondary-500: #1E40AF;--color-secondary-600: #1E3A8A;--color-secondary-700: #1D4ED8;--color-secondary-800: #1E3A8A;--color-secondary-900: #1E3A8A;--color-success: #059669;--color-warning: #D97706;--color-error: #DC2626;--color-info: #0EA5E9;--color-neutral-50: #FAFAFA;--color-neutral-100: #F5F5F5;--color-neutral-200: #E5E5E5;--color-neutral-300: #D4D4D4;--color-neutral-400: #A3A3A3;--color-neutral-500: #737373;--color-neutral-600: #525252;--color-neutral-700: #404040;--color-neutral-800: #262626;--color-neutral-900: #171717;--color-dark-600: #475569;--color-dark-700: #334155;--color-dark-800: #1E293B;--color-dark-900: #0F172A;--font-family-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-display: "Cinzel", serif;--font-family-mono: "JetBrains Mono", Consolas, "Courier New", monospace;--font-size-h1: 3.5rem;--font-size-h2: 2.5rem;--font-size-h3: 2rem;--font-size-h4: 1.5rem;--font-size-h5: 1.25rem;--font-size-bodyLarge: 1.125rem;--font-size-body: 1rem;--font-size-bodySmall: .875rem;--font-size-caption: .75rem;--font-size-label: .875rem;--font-size-code: .875rem;--font-size-button: 1rem;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-h1: 1.2;--line-height-h2: 1.3;--line-height-h3: 1.4;--line-height-h4: 1.5;--line-height-h5: 1.6;--line-height-bodyLarge: 1.7;--line-height-body: 1.6;--line-height-bodySmall: 1.5;--line-height-caption: 1.4;--line-height-label: 1.3;--line-height-code: 1.6;--line-height-button: 1.2;--letter-spacing-h1: -.025em;--letter-spacing-h2: -.02em;--letter-spacing-h3: -.015em;--letter-spacing-h4: -.01em;--letter-spacing-h5: normal;--letter-spacing-label: .05em;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--duration-micro: .15s;--duration-local: .25s;--duration-page: .35s;--duration-complex: .6s;--easing-easeOut: cubic-bezier(0, 0, .2, 1);--easing-easeInOut: cubic-bezier(.4, 0, .6, 1);--easing-sharp: cubic-bezier(.4, 0, .6, 1);--easing-spring-gentle: cubic-bezier(.16, 1, .3, 1);--easing-spring-bouncy: cubic-bezier(.68, -.55, .265, 1.55);--easing-spring-firm: cubic-bezier(.2, 0, .38, .9);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(139, 21, 56, .2);--shadow-lg: 0 8px 24px rgba(139, 21, 56, .1);--shadow-xl: 0 20px 60px rgba(0, 0, 0, .3);--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--breakpoint-mobile: 320px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--breakpoint-wide: 1440px;--button-height: 3rem;--input-height: 3rem;--modal-backdrop: rgba(0, 0, 0, .6);--modal-backdrop-blur: 4px;--container-max-width: 1200px;--grid-gutter: 2rem;--grid-gutter-mobile: 1rem;--grid-gutter-tablet: 1.5rem}@media (max-width: 767px){:root{--font-size-h1: 2.5rem;--font-size-h2: 2rem;--font-size-h3: 1.75rem;--grid-gutter: var(--grid-gutter-mobile)}}@media (min-width: 768px) and (max-width: 1023px){:root{--font-size-h1: 3rem;--font-size-h2: 2.25rem;--grid-gutter: var(--grid-gutter-tablet)}}@media (prefers-color-scheme: dark){:root{--color-text-primary: var(--color-neutral-100);--color-text-secondary: var(--color-neutral-300);--color-background-primary: var(--color-dark-900);--color-background-secondary: var(--color-dark-800);--color-surface: var(--color-dark-700)}}@media (prefers-contrast: high){:root{--color-primary-500: #000000;--color-gold-500: #FFD700;--shadow-md: 0 4px 12px rgba(0, 0, 0, .8);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6)}}@media (prefers-reduced-motion: reduce){:root{--duration-micro: 0ms;--duration-local: 0ms;--duration-page: 0ms;--duration-complex: 0ms}}.btn{display:inline-flex;align-items:center;justify-content:center;height:var(--button-height);padding:0 var(--space-xl);border-radius:var(--radius-sm);font-family:var(--font-family-primary);font-size:var(--font-size-button);font-weight:var(--font-weight-semibold);line-height:var(--line-height-button);text-decoration:none;border:none;cursor:pointer;transition:all var(--duration-local) var(--easing-easeOut);min-width:44px;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn:focus-visible{outline:2px solid var(--color-gold-500);outline-offset:2px}.btn-primary{background:linear-gradient(45deg,var(--color-primary-500),var(--color-primary-400));color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{background:transparent;color:var(--color-primary-500);border:2px solid var(--color-primary-500);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--color-primary-500);color:#fff;transform:translateY(-1px)}.btn-tertiary{background:transparent;color:var(--color-neutral-500);border:none;box-shadow:none}.btn-tertiary:hover:not(:disabled){background:var(--color-neutral-100);color:var(--color-neutral-700)}.btn-gold{background:linear-gradient(45deg,var(--color-gold-500),var(--color-gold-400));color:var(--color-neutral-900);box-shadow:var(--shadow-md)}.btn-gold:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-loading{color:transparent}.btn-loading:after{content:"";position:absolute;width:20px;height:20px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:button-spinner .8s linear infinite}@keyframes button-spinner{to{transform:rotate(360deg)}}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-size:var(--font-size-label);font-weight:var(--font-weight-medium);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label);color:var(--color-neutral-700);margin-bottom:var(--space-sm);text-transform:uppercase}.form-input,.form-select,.form-textarea{width:100%;height:var(--input-height);padding:0 var(--space-md);border:1px solid var(--color-neutral-300);border-radius:var(--radius-sm);background:var(--color-neutral-50);font-family:var(--font-family-primary);font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-neutral-700);transition:all var(--duration-local) var(--easing-easeOut)}.form-textarea{height:auto;min-height:8rem;padding:var(--space-md);resize:vertical;font-family:var(--font-family-mono);font-size:var(--font-size-code);line-height:var(--line-height-code)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary-500);border-width:2px;background:#fff;box-shadow:0 0 0 2px rgba(139,21,56,.1)}.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible{outline:2px solid var(--color-gold-500);outline-offset:2px}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--color-error);background:rgba(220,38,38,.05)}.form-input.success,.form-select.success,.form-textarea.success{border-color:var(--color-success);background:rgba(5,150,105,.05)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--color-neutral-200);color:var(--color-neutral-400);cursor:not-allowed}.form-help{display:block;font-size:var(--font-size-caption);line-height:var(--line-height-caption);margin-top:var(--space-xs);color:var(--color-neutral-500)}.form-error{display:block;font-size:var(--font-size-caption);line-height:var(--line-height-caption);margin-top:var(--space-xs);color:var(--color-error)}.card{background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-sm);transition:all var(--duration-local) var(--easing-easeOut)}.card-header{margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-neutral-200)}.card-title{font-family:var(--font-family-display);font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);line-height:var(--line-height-h4);color:var(--color-neutral-700);margin:0}.card-subtitle{font-size:var(--font-size-bodySmall);line-height:var(--line-height-bodySmall);color:var(--color-neutral-500);margin:var(--space-xs) 0 0 0}.card-body{margin-bottom:var(--space-md)}.card-footer{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-neutral-200);display:flex;gap:var(--space-sm);justify-content:flex-end}.card-hero{background:linear-gradient(135deg,var(--color-neutral-50),var(--color-neutral-100));border:2px solid var(--color-gold-500);box-shadow:var(--shadow-lg)}.card-interactive{cursor:pointer}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary-300)}.card-interactive:focus-visible{outline:2px solid var(--color-gold-500);outline-offset:2px}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-backdrop);backdrop-filter:blur(var(--modal-backdrop-blur));z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}.modal-content{background:#fff;border-radius:var(--radius-lg);max-width:90vw;max-height:90vh;width:100%;max-width:600px;box-shadow:var(--shadow-xl);overflow:hidden;position:relative}.modal-header{padding:var(--space-xl);border-bottom:1px solid var(--color-neutral-200);display:flex;align-items:center;justify-content:space-between}.modal-title{font-family:var(--font-family-display);font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold);line-height:var(--line-height-h3);color:var(--color-neutral-700);margin:0}.modal-close{background:none;border:none;font-size:var(--font-size-h4);cursor:pointer;color:var(--color-neutral-400);padding:var(--space-xs);border-radius:var(--radius-sm);transition:all var(--duration-micro) var(--easing-easeOut);min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--color-neutral-100);color:var(--color-neutral-600)}.modal-body{padding:var(--space-xl);overflow-y:auto;max-height:calc(90vh - 200px)}.modal-footer{padding:var(--space-xl);border-top:1px solid var(--color-neutral-200);display:flex;gap:var(--space-sm);justify-content:flex-end}.disclosure{border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);margin-bottom:var(--space-md);background:var(--color-neutral-50);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--duration-local) var(--easing-easeOut)}.disclosure:hover{border-color:var(--color-neutral-300);box-shadow:var(--shadow-md)}.disclosure.expanded{border-color:var(--color-primary-200);box-shadow:var(--shadow-lg)}.disclosure-trigger{width:100%;background:none;border:none;padding:var(--space-lg);text-align:left;cursor:pointer;font-family:var(--font-family-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);transition:all var(--duration-local) var(--easing-easeOut);position:relative;min-height:44px}.disclosure-trigger:hover{background:var(--color-neutral-100);color:var(--color-neutral-800)}.disclosure-trigger:focus-visible{outline:2px solid var(--color-gold-500);outline-offset:-2px;background:var(--color-neutral-100);z-index:1}.disclosure-trigger:active{transform:translateY(1px)}.disclosure-trigger-content{display:flex;align-items:center;gap:var(--space-md);flex-grow:1;min-width:0}.disclosure-trigger-icon{flex-shrink:0;width:20px;height:20px;color:var(--color-primary-500);font-size:var(--font-size-bodyLarge)}.disclosure-trigger-title{font-weight:var(--font-weight-semibold);flex-grow:1;min-width:0}.disclosure-trigger-subtitle{font-size:var(--font-size-bodySmall);color:var(--color-neutral-500);margin-top:var(--space-xs)}.disclosure-trigger-badge{background:var(--color-gold-100);color:var(--color-gold-700);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);flex-shrink:0}.disclosure-chevron{flex-shrink:0;width:24px;height:24px;color:var(--color-neutral-400);transition:all var(--duration-local) var(--easing-spring-gentle);transform-origin:center center;display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold)}.disclosure-chevron:before{content:"›";font-size:18px;line-height:1}.disclosure-trigger:hover .disclosure-chevron{color:var(--color-neutral-600)}.disclosure-trigger[aria-expanded=true] .disclosure-chevron{transform:rotate(90deg);color:var(--color-primary-500)}.disclosure-chevron.plus-minus:before{content:"+";font-size:16px}.disclosure-trigger[aria-expanded=true] .disclosure-chevron.plus-minus{transform:rotate(45deg)}.disclosure-content{border-top:1px solid var(--color-neutral-200);background:#fff;overflow:hidden;opacity:0;transform:translateY(-8px);transition:all var(--duration-page) var(--easing-spring-gentle)}.disclosure-content.expanded{opacity:1;transform:translateY(0)}.disclosure-content-inner{padding:var(--space-lg)}.disclosure-skills .disclosure-content-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.skill-group{background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-sm);padding:var(--space-md)}.skill-group-title{font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);margin-bottom:var(--space-sm);font-size:var(--font-size-bodySmall);text-transform:uppercase;letter-spacing:var(--letter-spacing-label)}.skill-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.skill-item{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-bodySmall)}.skill-name{color:var(--color-neutral-600)}.skill-modifier{font-weight:var(--font-weight-semibold);color:var(--color-primary-600);background:var(--color-primary-50);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-caption)}.skill-proficient{color:var(--color-gold-600)}.disclosure-equipment .disclosure-content-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg)}.equipment-category{background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-sm);padding:var(--space-md)}.equipment-category-title{font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.equipment-category-icon{color:var(--color-primary-500);font-size:var(--font-size-bodyLarge)}.equipment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.equipment-item{padding:var(--space-sm);background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-sm)}.equipment-item-name{font-weight:var(--font-weight-medium);color:var(--color-neutral-700)}.equipment-item-details{font-size:var(--font-size-bodySmall);color:var(--color-neutral-500);margin-top:var(--space-xs)}.disclosure-spells .disclosure-content-inner{display:flex;flex-direction:column;gap:var(--space-lg)}.spell-level-group{background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-sm);padding:var(--space-md)}.spell-level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.spell-level-title{font-weight:var(--font-weight-semibold);color:var(--color-neutral-700)}.spell-slots{display:flex;gap:var(--space-xs);align-items:center}.spell-slot{width:12px;height:12px;border:2px solid var(--color-primary-300);border-radius:50%;background:var(--color-primary-500)}.spell-slot.used{background:transparent}.spell-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-sm);list-style:none;margin:0;padding:0}.spell-item{padding:var(--space-sm);background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--duration-local) var(--easing-easeOut)}.spell-item:hover{border-color:var(--color-primary-300);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.spell-name{font-weight:var(--font-weight-medium);color:var(--color-neutral-700)}.spell-details{font-size:var(--font-size-bodySmall);color:var(--color-neutral-500);margin-top:var(--space-xs)}.disclosure-features .disclosure-content-inner{display:flex;flex-direction:column;gap:var(--space-md)}.feature-item{background:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-sm);padding:var(--space-md)}.feature-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-sm);gap:var(--space-md)}.feature-name{font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);flex-grow:1}.feature-source{font-size:var(--font-size-caption);color:var(--color-neutral-500);background:var(--color-neutral-200);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);flex-shrink:0}.feature-description{color:var(--color-neutral-600);line-height:var(--line-height-body)}.disclosure-loading{opacity:.7;pointer-events:none}.disclosure-content-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-xl);color:var(--color-neutral-500);font-size:var(--font-size-bodySmall)}.disclosure-loading-spinner{width:20px;height:20px;border:2px solid var(--color-neutral-200);border-top-color:var(--color-primary-500);border-radius:50%;animation:disclosure-spinner .8s linear infinite;margin-right:var(--space-sm)}@keyframes disclosure-spinner{to{transform:rotate(360deg)}}.disclosure-error .disclosure-trigger{border-left:4px solid var(--color-error)}.disclosure-content-error{padding:var(--space-lg);color:var(--color-error);background:rgba(220,38,38,.05);border:1px solid var(--color-error);border-radius:var(--radius-sm);margin:var(--space-md)}.disclosure-group{border:1px solid var(--color-neutral-200);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.disclosure-group .disclosure{margin-bottom:0;border-radius:0;border-width:0 0 1px 0;box-shadow:none}.disclosure-group .disclosure:last-child{border-bottom:none}.disclosure-group-header{background:var(--color-primary-50);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-primary-200);display:flex;justify-content:space-between;align-items:center}.disclosure-group-title{font-family:var(--font-family-display);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);margin:0}.disclosure-group-action{background:none;border:1px solid var(--color-primary-300);color:var(--color-primary-600);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-bodySmall);cursor:pointer;transition:all var(--duration-local) var(--easing-easeOut)}.disclosure-group-action:hover{background:var(--color-primary-100);border-color:var(--color-primary-400)}@media (max-width: 768px){.disclosure-trigger,.disclosure-content-inner{padding:var(--space-md)}.disclosure-skills .disclosure-content-inner,.disclosure-equipment .disclosure-content-inner,.spell-list{grid-template-columns:1fr}.disclosure-group-header{flex-direction:column;gap:var(--space-sm);align-items:flex-start}.disclosure-group-actions{width:100%;justify-content:stretch}.disclosure-group-action{flex:1;text-align:center}}@media (pointer: coarse){.disclosure-trigger{min-height:48px;padding:var(--space-lg)}.disclosure-chevron{width:32px;height:32px}.spell-item,.equipment-item{padding:var(--space-md)}}.progress-container{width:100%;height:8px;background:var(--color-neutral-200);border-radius:var(--radius-sm);overflow:hidden;position:relative}.progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-400));border-radius:var(--radius-sm);transition:width var(--duration-complex) var(--easing-easeOut);position:relative;overflow:hidden}.progress-shimmer{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progress-shimmer 2s ease-in-out infinite}@keyframes progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(400%)}}.alert{padding:var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-md);border-left:4px solid;display:flex;align-items:flex-start;gap:var(--space-sm)}.alert-success{background:rgba(5,150,105,.1);border-left-color:var(--color-success);color:var(--color-success)}.alert-warning{background:rgba(217,119,6,.1);border-left-color:var(--color-warning);color:var(--color-warning)}.alert-error{background:rgba(220,38,38,.1);border-left-color:var(--color-error);color:var(--color-error)}.alert-info{background:rgba(14,165,233,.1);border-left-color:var(--color-info);color:var(--color-info)}.alert-icon{flex-shrink:0;width:20px;height:20px;margin-top:2px}.alert-content{flex-grow:1}.alert-title{font-weight:var(--font-weight-semibold);margin:0 0 var(--space-xs) 0}.alert-message{font-size:var(--font-size-bodySmall);line-height:var(--line-height-bodySmall);margin:0}.format-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg);margin:var(--space-lg) 0}.format-card{border:2px solid var(--color-neutral-200);border-radius:var(--radius-md);padding:var(--space-lg);cursor:pointer;transition:all var(--duration-local) var(--easing-easeOut);position:relative;background:#fff;tabindex:0}.format-card:hover{border-color:var(--color-primary-300);transform:translateY(-2px);box-shadow:var(--shadow-md)}.format-card:focus-visible{outline:2px solid var(--color-gold-500);outline-offset:2px}.format-card.selected{border-color:var(--color-primary-500);background:var(--color-primary-50);box-shadow:var(--shadow-lg)}.format-card.selected:before{content:"✓";position:absolute;top:var(--space-sm);right:var(--space-sm);background:var(--color-primary-500);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.format-card-icon{font-size:var(--font-size-h3);margin-bottom:var(--space-sm);color:var(--color-primary-500)}.format-card-title{font-family:var(--font-family-display);font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);margin:0 0 var(--space-xs) 0}.format-card-description{font-size:var(--font-size-bodySmall);color:var(--color-neutral-500);margin:0 0 var(--space-md) 0}.format-card-features{font-size:var(--font-size-caption);color:var(--color-neutral-400);margin:0}.nav-primary{height:4rem;background:var(--color-primary-500);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-xl)}.nav-brand{font-family:var(--font-family-display);font-size:var(--font-size-h4);font-weight:var(--font-weight-bold);color:var(--color-gold-500);text-decoration:none}.nav-links{display:flex;gap:var(--space-lg);list-style:none;margin:0;padding:0}.nav-link{color:#fff;text-decoration:none;font-weight:var(--font-weight-medium);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:background-color var(--duration-micro) var(--easing-easeOut)}.nav-link:hover{background:rgba(255,255,255,.1)}.nav-link.active{color:var(--color-gold-500);background:rgba(255,255,255,.05)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-primary-500);color:#fff;padding:8px;text-decoration:none;border-radius:var(--radius-sm);z-index:10000;transition:top var(--duration-local) var(--easing-easeOut)}.skip-link:focus{top:6px}@media (prefers-contrast: high){.btn{border:2px solid}.btn-primary,.btn-secondary{border-color:var(--color-primary-500)}.card,.form-input,.form-select,.form-textarea{border-width:2px}}@media (prefers-color-scheme: dark){.card,.form-input,.form-select,.form-textarea{background:var(--color-dark-700);border-color:var(--color-dark-600);color:var(--color-neutral-100)}.modal-content{background:var(--color-dark-800);color:var(--color-neutral-100)}.modal-header,.modal-footer{border-color:var(--color-dark-600)}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Consolas,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{scroll-behavior:smooth}body{font-family:var(--font-family-primary);font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-neutral-700);background-color:var(--color-neutral-50);margin:0;padding:0;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display);color:var(--color-neutral-800);margin:0;font-weight:var(--font-weight-semibold)}h1{font-size:var(--font-size-h1);line-height:var(--line-height-h1);letter-spacing:var(--letter-spacing-h1)}h2{font-size:var(--font-size-h2);line-height:var(--line-height-h2);letter-spacing:var(--letter-spacing-h2)}h3{font-size:var(--font-size-h3);line-height:var(--line-height-h3);letter-spacing:var(--letter-spacing-h3)}h4{font-size:var(--font-size-h4);line-height:var(--line-height-h4);letter-spacing:var(--letter-spacing-h4)}h5{font-size:var(--font-size-h5);line-height:var(--line-height-h5);letter-spacing:var(--letter-spacing-h5)}p{margin:0 0 var(--space-md) 0;line-height:var(--line-height-body)}a{color:var(--color-primary-500);text-decoration:none;transition:color var(--duration-micro) var(--easing-easeOut)}a:hover{color:var(--color-primary-600);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-gold-500);outline-offset:2px;border-radius:2px}button,a,input,select,textarea,[role=button],[tabindex]{min-height:44px;min-width:44px}main,#main,[role=main]{outline:none}[tabindex="-1"]:focus{outline:none}.container{width:100%}@media (min-width: 320px){.container{max-width:320px}}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1440px){.container{max-width:1440px}}@media (min-width: 1536px){.container{max-width:1536px}}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--grid-gutter)}.grid{display:grid;gap:var(--grid-gutter)}.stack{display:flex;flex-direction:column;gap:var(--space-md)}.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}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-full{bottom:100%}.left-1\/2{left:50%}.left-full{left:100%}.right-full{right:100%}.top-1\/2{top:50%}.top-full{top:100%}.z-50{z-index:50}.col-span-full{grid-column:1 / -1}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.max-h-96{max-height:24rem}.max-h-\[80vh\]{max-height:80vh}.max-h-\[calc\(80vh-80px\)\]{max-height:calc(80vh - 80px)}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-16{width:4rem}.w-24{width:6rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-2{--tw-translate-y: .5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:1rem}.rounded-md{border-radius:.75rem}.rounded-xl{border-radius:1.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-blue-400{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.border-dnd-gold{--tw-border-opacity: 1;border-color:rgb(212 175 55 / var(--tw-border-opacity, 1))}.border-dnd-red{--tw-border-opacity: 1;border-color:rgb(139 21 56 / var(--tw-border-opacity, 1))}.border-error{--tw-border-opacity: 1;border-color:rgb(220 38 38 / var(--tw-border-opacity, 1))}.border-error\/20{border-color:rgba(220,38,38,.2)}.border-error\/30{border-color:rgba(220,38,38,.3)}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-green-300{--tw-border-opacity: 1;border-color:rgb(134 239 172 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-green-600{--tw-border-opacity: 1;border-color:rgb(22 163 74 / var(--tw-border-opacity, 1))}.border-info{--tw-border-opacity: 1;border-color:rgb(14 165 233 / var(--tw-border-opacity, 1))}.border-neutral-200{--tw-border-opacity: 1;border-color:rgb(229 229 229 / var(--tw-border-opacity, 1))}.border-neutral-300{--tw-border-opacity: 1;border-color:rgb(212 212 212 / var(--tw-border-opacity, 1))}.border-neutral-400{--tw-border-opacity: 1;border-color:rgb(163 163 163 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-red-600{--tw-border-opacity: 1;border-color:rgb(220 38 38 / var(--tw-border-opacity, 1))}.border-secondary-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-success{--tw-border-opacity: 1;border-color:rgb(5 150 105 / var(--tw-border-opacity, 1))}.border-success\/20{border-color:rgba(5,150,105,.2)}.border-success\/30{border-color:rgba(5,150,105,.3)}.border-warning{--tw-border-opacity: 1;border-color:rgb(217 119 6 / var(--tw-border-opacity, 1))}.border-warning\/20{border-color:rgba(217,119,6,.2)}.border-warning\/30{border-color:rgba(217,119,6,.3)}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.border-yellow-300{--tw-border-opacity: 1;border-color:rgb(253 224 71 / var(--tw-border-opacity, 1))}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(234 179 8 / var(--tw-border-opacity, 1))}.border-yellow-600{--tw-border-opacity: 1;border-color:rgb(202 138 4 / var(--tw-border-opacity, 1))}.border-opacity-30{--tw-border-opacity: .3}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-800{--tw-bg-opacity: 1;background-color:rgb(30 64 175 / var(--tw-bg-opacity, 1))}.bg-blue-900{--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.bg-dark-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-dnd-dark{--tw-bg-opacity: 1;background-color:rgb(26 26 26 / var(--tw-bg-opacity, 1))}.bg-dnd-gold{--tw-bg-opacity: 1;background-color:rgb(212 175 55 / var(--tw-bg-opacity, 1))}.bg-dnd-red{--tw-bg-opacity: 1;background-color:rgb(139 21 56 / var(--tw-bg-opacity, 1))}.bg-error{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-error\/10{background-color:rgba(220,38,38,.1)}.bg-error\/5{background-color:rgba(220,38,38,.05)}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-green-800{--tw-bg-opacity: 1;background-color:rgb(22 101 52 / var(--tw-bg-opacity, 1))}.bg-green-900{--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.bg-info\/10{background-color:rgba(14,165,233,.1)}.bg-neutral-100{--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.bg-neutral-200{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.bg-neutral-50{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.bg-primary-500{--tw-bg-opacity: 1;background-color:rgb(139 21 56 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-800{--tw-bg-opacity: 1;background-color:rgb(153 27 27 / var(--tw-bg-opacity, 1))}.bg-red-900{--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.bg-secondary-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-secondary-500{--tw-bg-opacity: 1;background-color:rgb(30 64 175 / var(--tw-bg-opacity, 1))}.bg-success{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-success\/10{background-color:rgba(5,150,105,.1)}.bg-success\/5{background-color:rgba(5,150,105,.05)}.bg-warning{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))}.bg-warning\/10{background-color:rgba(217,119,6,.1)}.bg-warning\/5{background-color:rgba(217,119,6,.05)}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-yellow-800{--tw-bg-opacity: 1;background-color:rgb(133 77 14 / var(--tw-bg-opacity, 1))}.bg-yellow-900{--tw-bg-opacity: 1;background-color:rgb(113 63 18 / var(--tw-bg-opacity, 1))}.bg-opacity-10{--tw-bg-opacity: .1}.bg-opacity-20{--tw-bg-opacity: .2}.bg-opacity-50{--tw-bg-opacity: .5}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-error\/80{--tw-gradient-from: rgb(220 38 38 / .8) var(--tw-gradient-from-position);--tw-gradient-to: rgb(220 38 38 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-neutral-400{--tw-gradient-from: #A3A3A3 var(--tw-gradient-from-position);--tw-gradient-to: rgb(163 163 163 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-secondary-400{--tw-gradient-from: #60A5FA var(--tw-gradient-from-position);--tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-success\/80{--tw-gradient-from: rgb(5 150 105 / .8) var(--tw-gradient-from-position);--tw-gradient-to: rgb(5 150 105 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-warning\/80{--tw-gradient-from: rgb(217 119 6 / .8) var(--tw-gradient-from-position);--tw-gradient-to: rgb(217 119 6 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-error{--tw-gradient-to: #DC2626 var(--tw-gradient-to-position)}.to-neutral-500{--tw-gradient-to: #737373 var(--tw-gradient-to-position)}.to-secondary-500{--tw-gradient-to: #1E40AF var(--tw-gradient-to-position)}.to-success{--tw-gradient-to: #059669 var(--tw-gradient-to-position)}.to-warning{--tw-gradient-to: #D97706 var(--tw-gradient-to-position)}.stroke-gray-200{stroke:#e5e7eb}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-cinzel{font-family:Cinzel,serif}.font-mono{font-family:JetBrains Mono,Consolas,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.text-blue-200{--tw-text-opacity: 1;color:rgb(191 219 254 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-dnd-gold{--tw-text-opacity: 1;color:rgb(212 175 55 / var(--tw-text-opacity, 1))}.text-error{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-200{--tw-text-opacity: 1;color:rgb(187 247 208 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-info{--tw-text-opacity: 1;color:rgb(14 165 233 / var(--tw-text-opacity, 1))}.text-neutral-500{--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.text-neutral-600{--tw-text-opacity: 1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.text-neutral-700{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-secondary-500{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-secondary-600{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-success{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-warning{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-200{--tw-text-opacity: 1;color:rgb(254 240 138 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 8px 24px rgba(139, 21, 56, .1);--tw-shadow-colored: 0 8px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 2px 8px rgba(0, 0, 0, .05);--tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 60px rgba(0, 0, 0, .3);--tw-shadow-colored: 0 20px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hardware-accelerated{transform:translateZ(0);will-change:transform}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-neutral-100);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--color-neutral-400);border-radius:var(--radius-sm);-webkit-transition:background-color var(--duration-micro) var(--easing-easeOut);transition:background-color var(--duration-micro) var(--easing-easeOut)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-500)}*{scrollbar-width:thin;scrollbar-color:var(--color-neutral-400) var(--color-neutral-100)}.character-converter{padding:var(--space-xl)}.character-preview{background:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);padding:var(--space-lg);margin-top:var(--space-lg)}.character-preview-header{display:flex;align-items:center;justify-content:between;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-neutral-200)}.character-preview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}.stat-item{background:var(--color-neutral-50);padding:var(--space-md);border-radius:var(--radius-sm);border-left:4px solid var(--color-primary-500)}.stat-label{font-size:var(--font-size-label);font-weight:var(--font-weight-medium);color:var(--color-neutral-500);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-label)}.stat-value{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);color:var(--color-neutral-700)}.performance-dashboard{position:fixed;bottom:var(--space-md);right:var(--space-md);background:var(--color-dark-800);color:#fff;padding:var(--space-sm);border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:var(--font-size-caption);z-index:999;opacity:.8;transition:opacity var(--duration-micro) var(--easing-easeOut)}.performance-dashboard:hover{opacity:1}.performance-metrics{display:flex;gap:var(--space-sm)}.metric-item{text-align:center}.metric-good{color:var(--color-success)}.metric-warning{color:var(--color-warning)}.metric-error{color:var(--color-error)}.btn-primary{background:#3b82f6;color:#fff;border:1px solid #3b82f6;padding:.5rem 1rem;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:.25rem}.btn-primary:hover{background:#2563eb;border-color:#2563eb}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:.5rem 1rem;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:.25rem}.btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af}.btn-success{background:#10b981;color:#fff;border:1px solid #10b981;padding:.5rem 1rem;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:.25rem}.btn-success:hover{background:#059669;border-color:#059669}@media (max-width: 767px){.container{padding:0 var(--grid-gutter-mobile)}.character-preview-stats,.format-cards{grid-template-columns:1fr}.nav-links{flex-direction:column;gap:var(--space-sm)}.modal-content{margin:var(--space-sm);max-width:calc(100vw - var(--space-lg))}}@media (min-width: 768px) and (max-width: 1023px){.container{padding:0 var(--grid-gutter-tablet)}.format-cards{grid-template-columns:repeat(2,1fr)}}@media print{.performance-dashboard,.modal-backdrop,button,.btn{display:none!important}.character-preview{border:2px solid var(--color-neutral-800);box-shadow:none}a{color:var(--color-neutral-800)!important;text-decoration:underline}}.disclosure{border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);overflow:hidden;transition:all var(--duration-local) var(--easing-easeOut)}.disclosure.expanded{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.disclosure-trigger{width:100%;padding:var(--space-md);background:var(--color-neutral-50);border:none;cursor:pointer;text-align:left;transition:background-color var(--duration-micro) var(--easing-easeOut);display:flex;align-items:center;justify-content:space-between}.disclosure-trigger:hover{background:var(--color-neutral-100)}.disclosure-trigger:focus{outline:2px solid var(--color-gold-500);outline-offset:-2px;background:var(--color-neutral-100)}.disclosure-trigger-content{display:flex;align-items:center;gap:var(--space-sm);flex:1}.disclosure-trigger-icon{font-size:var(--font-size-h4);min-width:2rem}.disclosure-trigger-title{font-size:var(--font-size-h5);font-weight:var(--font-weight-semibold);color:var(--color-neutral-800)}.disclosure-trigger-subtitle{font-size:var(--font-size-caption);color:var(--color-neutral-500);margin-top:var(--space-xs)}.disclosure-trigger-badge{background:var(--color-primary-100);color:var(--color-primary-700);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.disclosure-chevron{transition:transform var(--duration-local) var(--easing-easeOut);color:var(--color-neutral-500)}.disclosure.expanded .disclosure-chevron{transform:rotate(180deg)}.disclosure-chevron.plus-minus:before{content:"+";font-weight:700}.disclosure.expanded .disclosure-chevron.plus-minus:before{content:"−"}.disclosure-content{border-top:1px solid var(--color-neutral-200);background:#fff}.disclosure-content-inner{padding:var(--space-md)}.disclosure-content-loading{padding:var(--space-xl);text-align:center;color:var(--color-neutral-500)}.disclosure-content-error{padding:var(--space-md);background:var(--color-error-50);color:var(--color-error-700);border-left:4px solid var(--color-error-500)}.disclosure-loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid var(--color-neutral-300);border-top:2px solid var(--color-primary-500);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.character-preview-container{max-width:100%}.disclosure-group{display:flex;flex-direction:column;gap:var(--space-sm)}.disclosure-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-neutral-200)}.disclosure-group-title{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);color:var(--color-neutral-800)}.disclosure-group-actions{display:flex;gap:var(--space-sm)}.disclosure-group-action{padding:var(--space-xs) var(--space-sm);background:var(--color-neutral-100);border:1px solid var(--color-neutral-300);border-radius:var(--radius-sm);font-size:var(--font-size-caption);cursor:pointer;transition:all var(--duration-micro) var(--easing-easeOut)}.disclosure-group-action:hover{background:var(--color-neutral-200)}.disclosure-group-action:disabled{opacity:.5;cursor:not-allowed}.format-card{border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);padding:var(--space-md);cursor:pointer;transition:all var(--duration-local) var(--easing-easeOut);background:#fff}.format-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px -8px rgba(0,0,0,.15);border-color:var(--color-neutral-300)}.format-card.selected{border-color:var(--color-primary-500);background:var(--color-primary-50);box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.compatibility-bar{height:4px;background:linear-gradient(90deg,#ef4444,#f59e0b,#10b981);border-radius:var(--radius-sm);overflow:hidden}.format-recommendation-badge{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);border:1px solid}.format-recommendation-badge.excellent{background:var(--color-success-50);color:var(--color-success-700);border-color:var(--color-success-300)}.format-recommendation-badge.good{background:var(--color-primary-50);color:var(--color-primary-700);border-color:var(--color-primary-300)}.format-recommendation-badge.fair{background:var(--color-warning-50);color:var(--color-warning-700);border-color:var(--color-warning-300)}.format-recommendation-badge.poor{background:var(--color-error-50);color:var(--color-error-700);border-color:var(--color-error-300)}.validation-indicator{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.validation-indicator.success{background:var(--color-success-50);color:var(--color-success-700);border:1px solid var(--color-success-300)}.validation-indicator.warning{background:var(--color-warning-50);color:var(--color-warning-700);border:1px solid var(--color-warning-300)}.validation-indicator.error{background:var(--color-error-50);color:var(--color-error-700);border:1px solid var(--color-error-300)}.validation-progress{width:100%;height:8px;background:var(--color-neutral-200);border-radius:var(--radius-full);overflow:hidden}.validation-progress-bar{height:100%;transition:width var(--duration-page) var(--easing-easeOut);border-radius:var(--radius-full)}.validation-progress-bar.success{background:linear-gradient(90deg,var(--color-success-400),var(--color-success-500))}.validation-progress-bar.warning{background:linear-gradient(90deg,var(--color-warning-400),var(--color-warning-500))}.validation-progress-bar.error{background:linear-gradient(90deg,var(--color-error-400),var(--color-error-500))}.disclosure-enter{opacity:0;transform:translateY(-10px)}.disclosure-enter-active{opacity:1;transform:translateY(0);transition:all var(--duration-local) var(--easing-spring-gentle)}.disclosure-leave{opacity:1;transform:translateY(0)}.disclosure-leave-active{opacity:0;transform:translateY(-10px);transition:all var(--duration-micro) var(--easing-easeIn)}.modal-enter{opacity:0;transform:scale(.95)}.modal-enter-active{opacity:1;transform:scale(1);transition:all var(--duration-local) var(--easing-spring-gentle)}.modal-leave{opacity:1;transform:scale(1)}.modal-leave-active{opacity:0;transform:scale(.95);transition:all var(--duration-micro) var(--easing-easeIn)}@media (prefers-color-scheme: dark){body{background-color:var(--color-dark-900);color:var(--color-neutral-100)}.app-header{background:var(--color-dark-800);border-bottom:1px solid var(--color-dark-700)}.app-footer{background:var(--color-dark-800);color:var(--color-neutral-300)}.character-preview{background:var(--color-dark-800);border-color:var(--color-dark-600);color:var(--color-neutral-100)}.stat-item{background:var(--color-dark-700);border-left-color:var(--color-gold-500)}.disclosure{border-color:var(--color-dark-600)}.disclosure-trigger{background:var(--color-dark-700);color:var(--color-neutral-100)}.disclosure-trigger:hover{background:var(--color-dark-600)}.disclosure-content,.format-card{background:var(--color-dark-800);border-color:var(--color-dark-600);color:var(--color-neutral-100)}.format-card.selected{background:var(--color-dark-700);border-color:var(--color-gold-500)}::-webkit-scrollbar-track{background:var(--color-dark-700)}::-webkit-scrollbar-thumb{background:var(--color-dark-600)}::-webkit-scrollbar-thumb:hover{background:var(--color-dark-500)}}.last\:mb-0:last-child{margin-bottom:0}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.hover\:border-gray-400:hover{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-error\/10:hover{background-color:rgba(220,38,38,.1)}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.hover\:bg-green-100:hover{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\:bg-neutral-100:hover{--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.hover\:bg-neutral-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.hover\:bg-neutral-50:hover{--tw-bg-opacity: 1;background-color:rgb(250 250 250 / var(--tw-bg-opacity, 1))}.hover\:bg-primary-600:hover{--tw-bg-opacity: 1;background-color:rgb(107 16 40 / var(--tw-bg-opacity, 1))}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-secondary-600:hover{--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.hover\:bg-success\/10:hover{background-color:rgba(5,150,105,.1)}.hover\:bg-warning\/10:hover{background-color:rgba(217,119,6,.1)}.hover\:bg-yellow-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.hover\:bg-yellow-500:hover{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.hover\:text-dnd-gold:hover{--tw-text-opacity: 1;color:rgb(212 175 55 / var(--tw-text-opacity, 1))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:text-yellow-300:hover{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.focus\:border-transparent:focus{border-color:transparent}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-dnd-gold:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(212 175 55 / var(--tw-ring-opacity, 1))}.focus\:ring-error\/20:focus{--tw-ring-color: rgb(220 38 38 / .2)}.focus\:ring-neutral-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(229 229 229 / var(--tw-ring-opacity, 1))}.focus\:ring-primary-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(242 204 215 / var(--tw-ring-opacity, 1))}.focus\:ring-secondary-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(191 219 254 / var(--tw-ring-opacity, 1))}.focus\:ring-success\/20:focus{--tw-ring-color: rgb(5 150 105 / .2)}.focus\:ring-warning\/20:focus{--tw-ring-color: rgb(217 119 6 / .2)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-300:disabled{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}
