*,
*::after,
*::before{box-sizing:border-box}html{text-size-adjust:100%;overflow-y:scroll;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@supports (height:100dvh){body{min-height:100dvh}}@media screen and (width < 768px){body{min-height:100vh;min-height:100dvh}@supports not (height:100dvh){body{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh}}}body{background-color:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;font-family:var(--font-primary);font-size:var(--font-size-base);line-height:var(--line-height-base);margin:0;min-height:100vh;min-height:100dvh;padding:0;text-rendering:optimizelegibility}body.menu-open{overflow-y:hidden}
ol,ul{list-style:none}button{background:none;border:none;cursor:pointer;font:inherit}a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em}img,
svg{display:block;height:auto;max-width:100%}
button,input,
select,
textarea{font:inherit}p:last-child{margin-bottom:0}
b,strong{color:var(--text-primary);font-weight:var(--font-weight-semibold)}em,
i{font-style:italic}a:hover{text-decoration-color:currentcolor}a:visited{color:var(--interactive-primary-hover)}
.btn-link,a[role="button"]{text-decoration:none}:focus,
a:focus,button:focus,
input:focus,
select:focus,
textarea:focus{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}:focus:not(:focus-visible){outline:none}.container{margin:0 auto;max-width:1000px;padding:0 var(--container-padding);width:100%}.container-sm{max-width:640px}.section{padding:var(--section-spacing) 0}.bg-primary{background-color:var(--bg-primary)}.grid{display:grid}.success-message{align-items:center;color:var(--state-success-text);display:flex;font-size:var(--font-size-sm);gap:var(--space-xs);margin-top:var(--space-xs)}.success-message::before{content:"✅";flex-shrink:0}.loading{animation:spin 1s ease-in-out infinite;border:2px solid var(--border-subtle);border-radius:var(--radius-round);border-top-color:var(--interactive-primary);display:inline-block;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.loading{animation:none;border-top-color:var(--interactive-primary)}.loading::after{content:"⏳";margin-left:-10px;position:absolute}}@media print{body{background:#fff;color:#000;font-size:12pt;line-height:1.4}a[href]::after{content:" (" attr(href) ")"}}a{color:var(--interactive-primary);text-decoration:none;transition:var(--transition-colors)}a:hover{color:var(--interactive-primary-hover);text-decoration:underline}.text-primary{color:var(--text-primary)}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.app-header{background-color:var(--nav-bg);border-bottom:var(--border-width-thin) solid var(--nav-border);padding:var(--space-md) 0;position:relative;top:0;z-index:100}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;padding:0 var(--space-lg)}.app-header::after{background-color:var(--border-default);bottom:-2px;content:"";display:block;height:2px;left:0;position:absolute;width:100%;z-index:50}.app-logo,
.header-logo{align-items:center;display:flex;gap:var(--space-md);text-decoration:none;transition:var(--transition-transform)}.app-logo:hover,
.header-logo:hover{text-decoration:none;transform:translateY(-1px)}.logo-text{display:flex;flex-direction:column;gap:2px}.logo-text-line{line-height:1.2}.logo-brand{color:var(--logo-brand-text);font-size:var(--logo-brand-size);font-weight:var(--logo-brand-weight)}.logo-tagline{color:var(--logo-tagline-text);font-size:var(--logo-tagline-size);font-style:italic;font-weight:var(--logo-tagline-weight)}.main-nav{gap:var(--space-md)}.main-nav,.nav-menu{align-items:center;display:flex}.header-nav,.nav-menu{gap:var(--space-sm)}.header-nav,.nav-link{align-items:center;display:flex}.nav-link{border:var(--border-width-medium) solid var(--interactive-primary);border-radius:var(--radius-md);color:var(--interactive-primary);font-weight:var(--font-weight-medium);min-height:var(--touch-target-min);padding:var(--space-sm) var(--space-md);text-decoration:none;transition:var(--transition-colors)}.nav-link.active,.nav-link:hover{background-color:var(--nav-link-bg-hover);border-color:var(--interactive-primary);color:var(--interactive-primary);text-decoration:none}.mobile-menu-toggle{background:none;border:2px solid transparent;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:none;font-size:1.5rem;font-weight:500;min-height:var(--touch-target-min);min-width:44px;padding:var(--space-sm);transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.mobile-menu-toggle:hover{background-color:var(--nav-link-bg-mobile-hover);border-color:var(--border-subtle);transform:scale(1.05)}@media (width >= 768px){.header-nav{display:flex}.mobile-menu-toggle{display:none}}.app-main{display:flex;flex:1;flex-direction:column}.app-footer{background:var(--bg-primary);margin-top:auto;padding:0}.footer-navigation{align-items:center;border-bottom:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin-bottom:0;padding:var(--space-lg) 0 var(--space-lg) 0;position:relative}.footer-navigation::after{background-color:var(--border-subtle);bottom:-1px;content:"";height:1px;left:-50vw;margin-left:50%;margin-right:50%;position:absolute;right:-50vw}.footer-bottom{color:var(--text-tertiary);padding-bottom:var(--space-md);padding-top:var(--space-md);text-align:center;width:100%}@media (width >= 768px){.footer-navigation{border-top:none;margin-bottom:var(--space-sm);padding:var(--space-md) 0}}@media (width < 768px){.footer-navigation{align-items:center;flex-direction:column;gap:var(--space-md);margin-bottom:0;padding:var(--space-lg) var(--space-md)}}.hero-section{background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-accent) 100%);padding:var(--space-4xl) 0;text-align:center}.section-header{margin-bottom:var(--space-3xl);text-align:center}.section-title{margin-bottom:var(--space-md)}.section-description{color:var(--text-secondary);font-size:var(--font-size-lg);margin:0 auto;max-width:600px}.preview-container{background-color:var(--bg-secondary);border-radius:var(--radius-lg);margin-top:var(--space-xl);padding:var(--space-lg)}.preview-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-lg)}.preview-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.preview-toggle.active{background-color:var(--interactive-primary);border-color:var(--interactive-primary);color:var(--text-inverse)}@media (width <= 1024px){.main-content{padding:1rem}}@media (width < 768px){.header-nav,
    .nav-menu{align-items:center;background-color:var(--bg-surface);border-bottom:var(--border-width-thin) solid var(--border-subtle);box-shadow:0 4px 20px rgba(0,0,0,.15);flex-direction:column;gap:var(--space-md);left:0;list-style:none;margin:0;opacity:0;overflow:visible;padding:var(--space-lg) var(--space-md) var(--space-xl) var(--space-md);position:absolute;right:0;top:120%;transform:scaleY(0);transform-origin:top;transition:transform .2s ease,opacity .15s ease;visibility:hidden;z-index:999}.header-nav.open,
    .nav-menu.open{opacity:1;transform:scaleY(1);visibility:visible}.header-content{padding:0 var(--space-md);position:relative}.mobile-menu-toggle{display:block}.app-header{position:relative}.nav-link{align-items:center;background-color:var(--bg-primary);border:var(--border-width-medium) solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 2px 4px rgba(0,0,0,.08);display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);justify-content:flex-start;line-height:1.4;margin:0 auto;max-width:320px;min-height:var(--touch-target-comfortable);min-width:280px;padding:var(--space-md) var(--space-xl);position:relative;text-align:left;transition:transform .2s ease;width:100%}.nav-link,.nav-link:hover{color:var(--text-primary);text-decoration:none}.nav-link:hover{background-color:var(--nav-link-bg-mobile-hover);border-color:var(--interactive-primary-hover);box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-1px)}.app-nav a,.app-nav a:hover,
    .nav-menu a,
    .nav-menu a:hover,
    .navigation a,
    .navigation a:hover,
    .primary-nav a,
    .primary-nav a:hover{text-decoration:none}.nav-menu li{margin:0;width:100%}.hero-section{padding:var(--space-3xl) 0}.section{padding:var(--space-2xl) 0}.footer-bottom{padding-bottom:var(--space-md);padding-top:var(--space-md)}}@media (width <= 480px){.container{padding:0 var(--space-md)}.hero-section{padding:var(--space-2xl) 0}.app-header{padding:var(--space-sm) 0}.header-nav,
    .nav-menu{gap:var(--space-sm);padding:var(--space-md) var(--space-sm)}.nav-link{font-size:var(--font-size-sm);max-width:300px;min-width:260px;padding:var(--space-sm) var(--space-lg)}.footer-navigation{gap:var(--space-sm);padding:var(--space-md) var(--space-sm)}}@media (prefers-reduced-motion:reduce){
    .app-logo:hover,
    .header-logo:hover{transform:none}}.flex{display:flex}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-button{gap:var(--space-sm);justify-content:center}.flex-between,.flex-button{align-items:center;display:flex}.flex-between,.flex-header{justify-content:space-between}.flex-header{align-items:center;display:flex;min-height:var(--touch-target-min)}.flex-1{flex:1 1 0%}.gap-0{gap:0}.gap-x-xs{column-gap:var(--space-xs)}.relative{position:relative}.absolute{position:absolute}.m-0{margin:0}.my-0{margin-bottom:0}.mt-0,.my-0{margin-top:0}.mb-0{margin-bottom:0}.p-0{padding:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-bottom:0;padding-top:0}.min-w-0{min-width:0}.text-left{text-align:left}@media (width >= 640px){.sm\:block{display:block}}.skip-links{left:0}.skip-link,.skip-links{opacity:0;pointer-events:none;position:absolute;top:-100px;z-index:10000}.skip-link{background:var(--interactive-primary);border-radius:0 0 4px 4px;color:var(--text-inverse);font-size:14px;font-weight:600;left:6px;padding:8px 16px;text-decoration:none;transform:translateY(-100px);transition:transform .3s ease,opacity .3s ease}.skip-link:focus{opacity:1;pointer-events:auto;top:6px;transform:translateY(0)}.skip-links:focus-within{opacity:1;pointer-events:auto}
[tabindex]:not(.card-header, .accordion-header, .group-accordion-header, .item-accordion-header):focus,
a:not(.card-header):focus,button:not(.card-header, .accordion-header, .group-accordion-header, .item-accordion-header, .card-toggle):focus,
input:focus,
select:focus,
textarea:focus{outline:3px solid var(--focus-ring-color);outline-offset:2px}
.accordion-header:focus,.card-header:focus,
.group-accordion-header:focus,
.item-accordion-header:focus{box-shadow:inset 0 0 0 3px var(--focus-ring-color);outline:none;position:relative;z-index:10}
.builder-card .card-header:focus,
.collapsible-card .card-header:focus,.dashboard-card .card-header:focus{background:var(--bg-hover);box-shadow:inset 0 0 0 3px var(--focus-ring-color);outline:none}.accordion-item:focus-within,
.group-accordion-item:focus-within,
.item-accordion-item:focus-within{box-shadow:inset 0 0 0 3px var(--focus-ring-color)}.mobile-menu-toggle:focus{background:var(--bg-hover);border-radius:var(--radius-sm);outline:3px solid var(--focus-ring-color);outline-offset:2px}.nav-action{opacity:.9;position:relative}.nav-action:hover{opacity:1;transform:translateY(-1px);transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.nav-action:focus{outline:3px solid var(--focus-ring-color);outline-offset:2px}.sr-only-focusable:active,
.sr-only-focusable:focus{height:auto;margin:inherit;overflow:visible;padding:inherit;position:static;white-space:inherit;width:auto;clip:auto}.alert-announcement,.status-announcement{height:1px;left:-10000px;overflow:hidden;position:absolute;width:1px}
.keyboard-mode [role="button"]:not(.card-header):focus,.keyboard-mode button:not(.card-header):focus{outline:3px solid var(--focus-ring-color);outline-offset:2px}.keyboard-mode .card-header:focus{background:var(--bg-hover);box-shadow:inset 0 0 0 3px var(--focus-ring-color)}.modal-focus-trap{outline:none}.accordion-header[aria-expanded="true"] .card-toggle,
.group-accordion-header[aria-expanded="true"] .card-toggle,
.item-accordion-header[aria-expanded="true"] .card-toggle{color:var(--interactive-primary);transform:rotate(90deg)}.accordion-header[aria-expanded="false"] .card-toggle,
.group-accordion-header[aria-expanded="false"] .card-toggle,
.item-accordion-header[aria-expanded="false"] .card-toggle{color:var(--text-secondary);transform:rotate(0deg)}.accordion-item[data-keyboard-focused="true"],
.group-accordion-item[data-keyboard-focused="true"],
.item-accordion-item[data-keyboard-focused="true"]{border-radius:var(--radius-md);box-shadow:inset 0 0 0 3px var(--interactive-primary)}.form-field-required::after{color:var(--state-error-text);content:" *";font-weight:var(--font-weight-bold);white-space:nowrap}.form-field-error{background:var(--state-error-bg);border-color:var(--state-error-border)}.form-error-message{align-items:center;color:var(--state-error-text);display:flex;font-size:var(--font-size-sm);gap:var(--space-xs);margin-top:var(--space-xs)}.form-error-message::before{content:"⚠️";font-size:var(--font-size-sm)}.form-help-text{color:var(--text-tertiary);font-size:var(--font-size-sm);margin-top:var(--space-xs)}@media (prefers-contrast:high){.skip-link,
    [tabindex]:focus,
    a:focus,
    button:focus,
    input:focus,
    select:focus,
    textarea:focus{outline-offset:3px;outline-width:4px}.accordion-header[aria-expanded="true"] .card-toggle{background:var(--interactive-primary);border-radius:50%;color:var(--text-inverse);padding:2px}}@media (prefers-reduced-motion:reduce){
    .accordion-header .card-toggle,.card-toggle,
    .group-accordion-header .card-toggle,
    .item-accordion-header .card-toggle{transition:none}.accordion-header[aria-expanded="true"] .card-toggle{background:var(--interactive-primary);border-radius:2px;color:var(--text-inverse)}}@media (width < 768px){
    .accordion-header:focus,
    .card-header:focus,button:focus{outline-offset:4px;outline-width:4px}}:root{--btn-border-radius:var(--radius-md);--btn-border-radius-lg:var(--radius-lg);--btn-border-radius-sm:var(--radius-sm);--btn-padding-sm:var(--space-sm) var(--space-md);--btn-padding-base:var(--space-md) var(--space-lg);--btn-padding-lg:var(--space-lg) var(--space-xl);--btn-padding-xl:var(--space-xl) var(--space-2xl);--btn-height-sm:var(--touch-target-min);--btn-height-base:var(--touch-target-min);--btn-height-lg:var(--touch-target-comfortable);--btn-height-xl:var(--space-3xl);--btn-focus-ring:var(--focus-ring-width) solid var(--focus-ring-color);--btn-focus-offset:var(--focus-ring-offset)}.btn-flex{justify-content:center}.btn-flex,.btn-flex-start{align-items:center;display:flex}.btn-flex-start{justify-content:flex-start}.btn-flex-end{align-items:center;display:flex;justify-content:flex-end}.btn-gap-sm{gap:var(--space-sm)}.btn-gap-md{gap:var(--space-md)}.btn-gap-lg{gap:var(--space-lg)}.btn-column{display:flex;flex-direction:column}.btn,.btn-column{align-items:center;justify-content:center}.btn{background:transparent;border:var(--border-width-medium) solid;border-radius:var(--btn-border-radius);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--space-sm);line-height:1;min-height:var(--btn-height-base);min-width:fit-content;padding:var(--btn-padding-base);text-align:center;text-decoration:none;transition:var(--transition-colors),var(--transition-transform),var(--transition-shadow);user-select:none;white-space:nowrap}.btn:focus{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}.btn:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.btn--sm{font-size:var(--font-size-sm);min-height:var(--btn-height-sm);padding:var(--btn-padding-sm)}.btn--lg{font-size:var(--font-size-lg);min-height:var(--btn-height-lg);padding:var(--btn-padding-lg)}.btn--xl{border-radius:var(--btn-border-radius-lg);box-shadow:0 4px 16px var(--shadow-default);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);min-height:var(--btn-height-xl);padding:var(--btn-padding-xl)}.btn--primary{background:var(--btn-primary-bg);box-shadow:0 2px 4px var(--shadow-default);color:var(--btn-primary-text)}.btn--primary,.btn--primary:hover{border-color:var(--btn-primary-border)}.btn--primary:hover{background:var(--btn-primary-bg-hover);box-shadow:0 4px 12px var(--shadow-strong);transform:translateY(-1px)}.btn--primary:active{background:var(--btn-primary-bg-active);transform:translateY(0)}.btn--primary:active,.btn--secondary{box-shadow:0 2px 4px var(--shadow-default)}.btn--secondary{background:var(--btn-secondary-bg);border-color:var(--btn-secondary-border);color:var(--btn-secondary-text)}.btn--secondary:hover{background:var(--btn-secondary-bg-hover);box-shadow:0 4px 12px var(--shadow-strong);transform:translateY(-1px)}.btn--secondary:active{background:var(--btn-secondary-bg-active);transform:translateY(0)}.btn--success{background:var(--btn-success-bg);box-shadow:0 2px 4px var(--shadow-default);color:var(--btn-success-text)}.btn--success,.btn--success:hover{border-color:var(--btn-success-border)}.btn--success:hover{background:var(--btn-success-bg-hover);box-shadow:0 4px 12px var(--shadow-strong);transform:translateY(-1px)}.btn--success:active{background:var(--btn-success-bg-active);transform:translateY(0)}.btn--outline{background:transparent;border-color:var(--interactive-primary);color:var(--interactive-primary)}.btn--outline:hover{background:var(--interactive-primary);color:var(--text-inverse);transform:translateY(-1px)}.btn--tertiary{background:transparent;border-color:transparent;color:var(--interactive-primary)}.btn--tertiary:hover{background:var(--bg-hover);color:var(--interactive-primary-hover)}.btn--danger{background:var(--state-error-bg);border-color:var(--state-error-border);color:var(--state-error-text)}.btn--danger:hover{background:var(--state-error-bg-hover);transform:translateY(-1px)}.btn--full{width:100%}.btn--icon{aspect-ratio:1;border-radius:var(--radius-round);padding:var(--space-md)}.btn--compact{font-size:var(--font-size-sm);min-height:var(--btn-height-sm);padding:var(--space-sm)}.btn--hero{border-radius:var(--btn-border-radius-lg);box-shadow:0 4px 16px var(--shadow-default);font-weight:var(--font-weight-semibold)}.btn--hero:hover{box-shadow:0 6px 24px var(--shadow-strong);transform:translateY(-2px)}.btn--hero:active{box-shadow:0 4px 16px var(--shadow-default);transform:translateY(-1px)}.btn--hero.btn--lg{font-size:var(--font-size-lg);padding:var(--btn-padding-lg)}.btn--hero.btn--xl{font-size:var(--font-size-xl);min-height:var(--btn-height-xl);padding:var(--btn-padding-xl)}.btn-group{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.btn-group--stack{flex-direction:column}.btn-group--center{justify-content:center}.btn-group--end{justify-content:flex-end}.btn-group--space-between{justify-content:space-between}@media (width < 768px){.btn--responsive{width:100%}.btn--hero{font-size:var(--font-size-lg);padding:var(--space-md) var(--space-lg)}.btn-group:not(.btn-group--keep-horizontal){align-items:stretch;flex-direction:column}.btn-group:not(.btn-group--keep-horizontal) .btn{width:100%}}@media (width >= 768px){.btn-group--horizontal-md{flex-direction:row}}.btn--loading{color:transparent;position:relative}.btn--loading::after{animation:btn-spin 1s linear infinite;border:2px solid;border-radius:50%;border-top:2px solid transparent;content:"";height:1em;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:1em}@keyframes btn-spin{to{transform:translate(-50%,-50%) rotate(1turn)}}@media (prefers-reduced-motion:reduce){
    .btn--hero:hover,.btn:hover{transform:none}.btn--loading::after{animation:none}}@media (prefers-contrast:high){.btn{border-width:var(--border-width-thick)}}.btn-primary{align-items:center;background:var(--btn-primary-bg);border:var(--border-width-medium) solid;border-color:var(--btn-primary-border);border-radius:var(--btn-border-radius);box-shadow:0 2px 4px var(--shadow-default);color:var(--btn-primary-text);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--space-sm);justify-content:center;line-height:1;min-height:var(--btn-height-base);padding:var(--btn-padding-base);text-decoration:none;transition:var(--transition-colors),var(--transition-transform),var(--transition-shadow)}.btn-primary:hover{background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-border);box-shadow:0 4px 12px var(--shadow-strong);transform:translateY(-1px)}.btn-primary:focus{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}.btn-secondary{align-items:center;background:var(--btn-secondary-bg);border:var(--border-width-medium) solid;border-color:var(--btn-secondary-border);border-radius:var(--btn-border-radius);box-shadow:0 2px 4px var(--shadow-default);color:var(--btn-secondary-text);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--space-sm);justify-content:center;line-height:1;min-height:var(--btn-height-base);padding:var(--btn-padding-base);text-decoration:none;transition:var(--transition-colors),var(--transition-transform),var(--transition-shadow)}.btn-secondary:hover{background:var(--btn-secondary-bg-hover);box-shadow:0 4px 12px var(--shadow-strong);transform:translateY(-1px)}.btn-secondary:focus{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}.btn-success{align-items:center;background:var(--btn-success-bg);border:var(--border-width-medium) solid;border-color:var(--btn-success-border);border-radius:var(--btn-border-radius);box-shadow:0 2px 4px var(--shadow-default);color:var(--btn-success-text);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--space-sm);justify-content:center;line-height:1;min-height:var(--btn-height-base);padding:var(--btn-padding-base);text-decoration:none;transition:var(--transition-colors),var(--transition-transform),var(--transition-shadow)}.btn-success:hover{background:var(--btn-success-bg-hover);border-color:var(--btn-success-border);box-shadow:0 4px 12px var(--shadow-strong);transform:translateY(-1px)}.btn-success:focus{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}.btn-tertiary{align-items:center;background:transparent;border:var(--border-width-medium) solid transparent;border-radius:var(--btn-border-radius);color:var(--interactive-primary);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--space-sm);justify-content:center;line-height:1;min-height:var(--btn-height-base);padding:var(--btn-padding-base);text-decoration:none;transition:var(--transition-colors),var(--transition-transform),var(--transition-shadow)}.btn-tertiary:hover{background:var(--bg-hover);color:var(--interactive-primary-hover)}.btn-tertiary:focus{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}.btn-sm{font-size:var(--font-size-sm);min-height:var(--btn-height-sm);padding:var(--btn-padding-sm)}.btn-action-hero,.btn-lg{font-size:var(--font-size-lg);min-height:var(--btn-height-lg);padding:var(--btn-padding-lg)}.btn-action-hero{align-items:center;background:var(--btn-primary-bg);border:var(--border-width-medium) solid;border-color:var(--btn-primary-border);border-radius:var(--btn-border-radius-lg);box-shadow:0 4px 16px var(--shadow-default);color:var(--btn-primary-text);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-weight:var(--font-weight-semibold);gap:var(--space-sm);justify-content:center;line-height:1;text-decoration:none;transition:var(--transition-colors),var(--transition-transform),var(--transition-shadow);width:100%}.btn-action-hero:hover{background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-border);box-shadow:0 6px 24px var(--shadow-strong);text-decoration:none;transform:translateY(-2px)}.btn-action-hero:active{box-shadow:0 4px 16px var(--shadow-default);transform:translateY(-1px)}.btn-action-hero:focus{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}.btn-info{align-items:center;background:var(--btn-primary-bg);border:var(--border-width-medium) solid;border-color:var(--btn-primary-border);border-radius:var(--btn-border-radius);box-shadow:0 2px 4px var(--shadow-default);color:var(--btn-primary-text);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--space-sm);justify-content:center;line-height:1;min-height:var(--btn-height-base);padding:var(--btn-padding-base);text-decoration:none;transition:var(--transition-colors),var(--transition-transform),var(--transition-shadow)}.btn-info:hover{background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-border);box-shadow:0 4px 12px var(--shadow-strong);transform:translateY(-1px)}.btn-info:focus{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}.btn-outline{align-items:center;background:transparent;border:var(--border-width-medium) solid;border-color:var(--interactive-primary);border-radius:var(--btn-border-radius);color:var(--interactive-primary);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--space-sm);justify-content:center;line-height:1;min-height:var(--btn-height-base);padding:var(--btn-padding-base);text-decoration:none;transition:var(--transition-colors),var(--transition-transform),var(--transition-shadow)}.btn-outline:hover{background:var(--interactive-primary);color:var(--text-inverse);transform:translateY(-1px)}.btn-outline:focus{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}.action-buttons-hero,
.button-container-hero{align-items:center;display:flex;flex-direction:column;gap:var(--space-md);margin:0 auto;max-width:calc(var(--space-2xl)*9.5);padding:0 var(--space-md)}@media (width <= 767px){.btn-action-hero{font-size:var(--font-size-lg);max-width:100%;padding:var(--space-md);width:100%}}@media (width >= 600px) and (width <= 767px){.btn-action-hero{max-width:calc(var(--space-2xl)*8)}}@media (width >= 768px){.btn-action-hero{font-size:var(--font-size-base);max-width:calc(var(--space-2xl)*10);min-height:var(--space-3xl);min-width:calc(var(--space-2xl)*4);padding:var(--space-md) var(--space-lg);width:auto}.action-buttons-hero{flex-direction:row;gap:var(--space-lg);justify-content:center}}@media (width >= 1000px){.btn-action-hero{font-size:var(--font-size-lg);min-height:var(--space-3xl);min-width:calc(var(--space-2xl)*5);padding:var(--space-lg) var(--space-xl)}}.skin-tone-btn{align-items:center;aspect-ratio:1;background:transparent;border:var(--border-width-medium) solid;border-color:var(--interactive-primary);border-radius:var(--radius-round);color:var(--interactive-primary);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);justify-content:center;line-height:1;min-height:var(--btn-height-sm);padding:var(--space-sm) var(--space-md);text-decoration:none;transition:var(--transition-colors),var(--transition-transform)}.skin-tone-btn:hover{background:var(--interactive-primary);color:var(--text-inverse);transform:translateY(-1px)}.skin-tone-btn:focus{outline:var(--btn-focus-ring);outline-offset:var(--btn-focus-offset)}.horizontal-nav-container{align-items:center;background:var(--bg-surface);border-bottom:var(--border-width-medium) solid var(--border-subtle);border-top:var(--border-width-medium) solid var(--border-subtle);display:flex;overflow:hidden;padding:var(--space-lg) 0;position:relative}.horizontal-nav-tabs{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin:0 auto;overflow:visible;padding:0 var(--space-md);scroll-behavior:smooth}.horizontal-nav-tab{align-items:center;background:var(--bg-surface);border:var(--border-width-medium) solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--space-xs);min-height:var(--touch-target-min);padding:var(--space-sm) var(--space-md);text-decoration:none;transition:var(--transition-colors);white-space:nowrap}.horizontal-nav-tab:hover{background-color:var(--nav-link-bg-mobile-hover);border-color:var(--interactive-primary-hover);color:var(--text-primary);text-decoration:none}.horizontal-nav-tab:focus,
.horizontal-nav-tab:focus-visible{outline:3px solid var(--focus-ring-color);outline-offset:2px}.horizontal-nav-tab.active,
.horizontal-nav-tab.current-page,
.horizontal-nav-tab[aria-selected="true"]{background-color:var(--nav-link-bg-mobile-hover);border-color:var(--interactive-primary);color:var(--interactive-primary);font-weight:var(--font-weight-semibold)}.horizontal-nav-tab-disabled{color:var(--text-tertiary);cursor:default;pointer-events:none}.horizontal-nav-container .scroll-indicator{align-items:center;background:var(--interactive-primary);border:none;border-radius:50%;color:var(--text-inverse);cursor:pointer;display:none;flex-shrink:0;font-family:inherit;font-size:20px;font-weight:700;height:36px;justify-content:center;opacity:0;pointer-events:none;touch-action:manipulation;transition:transform var(--duration-base) ease;width:36px}@media (width <= 767px){.horizontal-nav-container .scroll-indicator{display:flex;position:absolute;top:50%;transform:translateY(-50%);z-index:15}.horizontal-nav-container .scroll-indicator.visible{opacity:1;pointer-events:auto}.horizontal-nav-container .scroll-indicator.left{left:6px}.horizontal-nav-container .scroll-indicator.right{right:6px}.horizontal-nav-container .scroll-indicator:hover{background:var(--interactive-primary-hover);box-shadow:var(--shadow-primary);transform:translateY(-50%) scale(1.1)}.horizontal-nav-container .scroll-indicator:active{transform:translateY(-50%) scale(.95)}.horizontal-nav-container .scroll-indicator:focus,
    .horizontal-nav-container .scroll-indicator:focus-visible{outline:3px solid var(--focus-ring-color);outline-offset:2px}}@media (width <= 767px){.footer-navigation.horizontal-nav-container,
    .horizontal-nav-container{align-items:center;background:var(--bg-surface);border-bottom:none;border-top:var(--border-width-thin) solid var(--border-subtle);box-shadow:var(--shadow-subtle);display:flex;padding:var(--space-lg) 0;position:sticky;top:0;z-index:120}
    .footer-navigation.horizontal-nav-container .horizontal-nav-tabs,.horizontal-nav-container .horizontal-nav-tabs{display:flex;flex:1;flex-wrap:nowrap;gap:var(--space-xs);justify-content:flex-start;margin:0 48px;max-width:none;overflow:auto hidden;padding:0 var(--space-sm);scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity}
    .footer-navigation.horizontal-nav-container .horizontal-nav-tabs::-webkit-scrollbar,.horizontal-nav-container .horizontal-nav-tabs::-webkit-scrollbar{display:none;height:0;width:0}.horizontal-nav-tab{flex-shrink:0;font-size:var(--font-size-sm);min-height:44px;min-width:fit-content;padding:var(--space-sm) var(--space-md);scroll-snap-align:start;white-space:nowrap}
    .app-footer .nav-tab[aria-current="page"],.app-footer .section-navigation .nav-tab.active{background:var(--nav-link-bg-mobile-hover);border-color:var(--interactive-primary);color:var(--interactive-primary)}.app-footer .section-navigation .nav-tab.active:hover{background:var(--nav-link-bg-mobile-hover);border-color:var(--interactive-primary-hover);color:var(--interactive-primary)}}.footer-navigation.horizontal-nav-container{border-bottom:none;border-top:var(--border-width-medium) solid var(--border-subtle);margin-bottom:0;padding:var(--space-md) 0}@media (width <= 767px){.footer-navigation.horizontal-nav-container{box-sizing:border-box;max-width:100vw;width:100vw}.footer-navigation.horizontal-nav-container .horizontal-nav-tabs{max-width:calc(100vw - 40px);width:calc(100vw - 40px)}.footer-navigation.horizontal-nav-container .horizontal-nav-tabs .horizontal-nav-tab{min-width:120px}}@media (width >= 768px){.app-footer .scroll-indicator,.footer-navigation.horizontal-nav-container{display:none}.footer-navigation{border-top:none;margin-bottom:var(--space-sm);padding:var(--space-md) 0}}.footer-navigation .horizontal-nav-tab-icon{background:#fff;border-radius:var(--radius-sm);line-height:1;margin-right:var(--space-xs);padding:var(--space-xs)}@media (prefers-contrast:high){.horizontal-nav-tab{border-color:var(--border-default)}.horizontal-nav-tab.active,
    .horizontal-nav-tab.current-page{background-color:var(--interactive-primary);border-color:var(--interactive-primary);color:var(--text-inverse)}.horizontal-nav-container .scroll-indicator{border:var(--border-width-medium) solid var(--text-inverse)}}@media (prefers-reduced-motion:reduce){.horizontal-nav-tabs{scroll-behavior:auto}.horizontal-nav-container .scroll-indicator,.horizontal-nav-tab{transition:none}}.horizontal-nav-container.compact{padding:var(--space-sm) 0}.horizontal-nav-container.compact .horizontal-nav-tab{font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm)}.horizontal-nav-container.large .horizontal-nav-tab{font-size:var(--font-size-lg);min-height:var(--touch-target-comfortable);padding:var(--space-md) var(--space-lg)}.footer-navigation-grid{background:var(--bg-surface);border-bottom:var(--border-width-medium) solid var(--border-subtle);border-top:var(--border-width-medium) solid var(--border-subtle);margin-bottom:0;padding:var(--space-lg) 0;width:100%}.footer-nav-tabs{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin:0 auto;padding:0 var(--space-md)}.footer-nav-tab{align-items:center;background:var(--bg-surface);border:var(--border-width-medium) solid var(--interactive-primary);border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--space-xs);justify-content:center;min-height:var(--touch-target-min);min-width:120px;padding:var(--space-sm) var(--space-lg);transition:var(--transition-colors),var(--transition-transform),var(--transition-shadow);white-space:nowrap}.footer-nav-tab,.footer-nav-tab:hover{color:var(--interactive-primary);text-decoration:none}.footer-nav-tab:hover{background-color:var(--nav-link-bg-mobile-hover);border-color:var(--interactive-primary-hover);box-shadow:0 4px 12px var(--shadow-strong);transform:translateY(-2px)}.footer-nav-tab:focus,
.footer-nav-tab:focus-visible{outline:3px solid var(--focus-ring-color);outline-offset:2px}.footer-nav-tab.active,
.footer-nav-tab[aria-current="page"]{background-color:var(--nav-link-bg-mobile-hover);border-color:var(--interactive-primary);color:var(--interactive-primary);font-weight:var(--font-weight-semibold)}.footer-nav-tab-disabled{color:var(--text-tertiary);cursor:default;pointer-events:none}.footer-nav-tab-icon{font-size:1.1em;line-height:1}@media (width >= 768px){.footer-navigation-grid{padding:var(--space-lg) 0}.footer-nav-tabs{gap:var(--space-sm);margin:0 auto;padding:0 var(--space-md)}.footer-nav-tab{min-width:120px}.footer-navigation-grid .scroll-indicator{display:none}}@media (width <= 767px){.footer-navigation-grid{padding:var(--space-md) 0}.footer-nav-tabs{gap:var(--space-xs);padding:0 var(--space-md)}.footer-nav-tab{font-size:var(--font-size-sm);min-width:100px;padding:var(--space-sm) var(--space-md)}}@media (width >= 1000px){.footer-navigation-grid{padding:var(--space-xl) 0}.footer-nav-tab{min-width:140px;padding:var(--space-md) var(--space-xl)}}.form-input,
.form-select,
.form-textarea,
.settings-input{background-color:var(--form-bg);border:var(--border-width-medium) solid var(--form-border);border-radius:var(--radius-md);font-family:var(--font-primary);font-size:var(--font-size-base);padding:var(--space-md);transition:var(--transition-colors);width:100%}.form-input:focus,
.form-select:focus,
.form-textarea:focus,
.settings-input:focus{border-color:var(--form-border-focus);box-shadow:0 0 0 3px rgba(74,144,184,.1);outline:none} .form-grid,.form-group, .form-label, .settings-grid, .settings-group, .settings-label{display:grid;gap:var(--space-lg)}@media (width >= 768px){.form-grid,
    .settings-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}.form-input:invalid,
.form-select:invalid,
.form-textarea:invalid{border-color:var(--form-border-error)}.form-input:valid,
.form-select:valid,
.form-textarea:valid{border-color:var(--form-border-success)}.form-error{color:var(--state-error-text)}.form-error,.form-success{font-size:var(--font-size-sm);margin-top:var(--space-xs)}.form-success{color:var(--state-success-text)}.flex-center{align-items:center;display:flex;justify-content:center}.logo-accent{color:var(--logo-accent-text)}.loading-state{pointer-events:none;position:relative}.loading-state::before{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,transparent,var(--bg-hover),transparent);content:"";inset:0;position:absolute;z-index:1}.sr-only{border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px;clip:rect(0,0,0,0)}:root{--accordion-gap:var(--space-sm);--accordion-padding:var(--space-md);--accordion-padding-lg:var(--space-lg);--accordion-duration:250ms;--accordion-easing:cubic-bezier(0.4,0,0.2,1);--accordion-bg-closed:var(--bg-surface);--accordion-bg-active:var(--bg-hover);--accordion-bg-active-solid:#d3e0fb;--accordion-group-hover:var(--accordion-bg-active);--accordion-group-active:var(--accordion-bg-active);--accordion-group-open:var(--accordion-bg-active-solid);--accordion-item-background:var(--accordion-bg-active-solid);--accordion-emoji-size:3.125rem;--accordion-emoji-container:4rem;--item-emoji-size:2.5rem;--item-emoji-container:3.25rem}.accordion{display:flex;flex-direction:column;gap:var(--accordion-gap);width:100%}.group-accordion-item{background:var(--accordion-bg-active-solid);border:var(--border-width-thin) solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:var(--accordion-gap);overflow:hidden;transition:background-color var(--accordion-duration) var(--accordion-easing),transform var(--accordion-duration) var(--accordion-easing)}.group-accordion-header{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);justify-content:space-between;line-height:var(--line-height-base);margin:0;min-height:48px;outline:none;padding:var(--accordion-padding) var(--accordion-padding-lg);text-align:left;transition:background-color var(--accordion-duration) var(--accordion-easing);width:100%;-webkit-tap-highlight-color:transparent}.group-accordion-header,.group-accordion-header:hover{color:var(--text-secondary)}.group-accordion-header:focus-visible{box-shadow:inset 0 0 0 3px var(--interactive-primary);outline:none}.group-accordion-header:active{color:var(--text-secondary)}.group-accordion-item.open,.item-accordion-item.open{border:2px solid var(--interactive-primary);box-shadow:inset 0 0 0 1px var(--interactive-primary)}.item-accordion-item.open{border-radius:var(--radius-md)}.group-accordion-header-content{align-items:center;display:flex;flex:1;gap:var(--space-md);min-width:0}.group-accordion-emoji{align-items:center;background:var(--bg-surface);border:2px solid var(--border-default);border-radius:var(--radius-sm);display:flex;flex-shrink:0;font-size:var(--accordion-emoji-size);height:var(--accordion-emoji-container);justify-content:center;width:var(--accordion-emoji-container)}.group-accordion-title{color:inherit;flex:1;font-size:inherit;font-weight:inherit;margin:0;min-width:0;word-wrap:break-word}.group-accordion-icon{align-items:center;color:var(--interactive-primary);display:flex;flex-shrink:0;font-size:var(--font-size-lg);height:1.5rem;justify-content:center;margin-left:var(--space-md);pointer-events:none;transition:transform var(--accordion-duration) var(--accordion-easing);user-select:none;width:1.5rem}.group-accordion-item:not(.open) .group-accordion-icon{transform:rotate(0deg)}.group-accordion-item.open .group-accordion-icon{transform:rotate(90deg)}.group-accordion-content{background:var(--accordion-bg-closed);max-height:0;opacity:0;overflow:hidden;padding:0;transition:max-height var(--accordion-duration) var(--accordion-easing),opacity var(--accordion-duration) var(--accordion-easing),padding var(--accordion-duration) var(--accordion-easing)}.group-accordion-item.open .group-accordion-content,
div.group-accordion-item.open .group-accordion-content{max-height:2000px;opacity:1;padding:var(--accordion-padding)}.item-accordion-item{border:var(--border-width-thin) solid var(--border-subtle);border-radius:var(--radius-sm);margin-bottom:var(--accordion-gap);overflow:hidden;transition:transform var(--accordion-duration) var(--accordion-easing)}.item-accordion-header,.item-accordion-item{background:var(--accordion-item-background)}.item-accordion-header{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);justify-content:space-between;line-height:var(--line-height-base);margin:0;min-height:48px;outline:none;padding:var(--accordion-padding) var(--accordion-padding-lg);text-align:left;transition:background-color var(--accordion-duration) var(--accordion-easing);width:100%;-webkit-tap-highlight-color:transparent}.item-accordion-header:hover{background:var(--bg-hover);color:var(--text-secondary)}.item-accordion-header:focus-visible{background:var(--bg-hover);box-shadow:inset 0 0 0 3px var(--interactive-primary);color:var(--text-secondary);outline:none}.item-accordion-item.open .item-accordion-header,.item-accordion-item:not(.open) .item-accordion-header{background:var(--accordion-item-background);color:var(--text-secondary)}.item-accordion-header-content{align-items:center;display:flex;flex:1;gap:var(--space-md);min-width:0}.item-accordion-emoji{align-items:center;background:var(--bg-surface);border:2px solid var(--border-default);border-radius:var(--radius-sm);display:flex;flex-shrink:0;font-size:var(--item-emoji-size);height:var(--item-emoji-container);justify-content:center;width:var(--item-emoji-container)}.item-accordion-title{color:inherit;flex:1;font-size:inherit;font-weight:inherit;margin:0;min-width:0;word-wrap:break-word}.item-accordion-icon{align-items:center;color:var(--interactive-primary);display:flex;flex-shrink:0;font-size:var(--font-size-base);height:1.25rem;justify-content:center;margin-left:var(--space-md);pointer-events:none;transition:transform var(--accordion-duration) var(--accordion-easing);user-select:none;width:1.25rem}.item-accordion-item:not(.open) .item-accordion-icon{transform:rotate(0deg)}.item-accordion-item.open .item-accordion-icon{transform:rotate(90deg)}.item-accordion-content{background:var(--bg-surface);max-height:0;opacity:0;overflow:hidden;padding:0;transition:max-height var(--accordion-duration) var(--accordion-easing),opacity var(--accordion-duration) var(--accordion-easing),padding var(--accordion-duration) var(--accordion-easing)}.item-accordion-item.open .item-accordion-content{border-top:2px solid var(--interactive-primary);max-height:1000px;opacity:1;padding:var(--accordion-padding)}.group-accordion-content p,
.item-accordion-content p{color:var(--text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);margin:0 0 var(--space-sm) 0}.group-accordion-content p:last-child,
.item-accordion-content p:last-child{margin-bottom:0}.loading-state{color:var(--text-secondary);padding:var(--space-2xl);text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:var(--border-width-thick) solid var(--border-subtle);border-radius:50%;border-top:var(--border-width-thick) solid var(--interactive-primary);height:2rem;margin:0 auto var(--space-md) auto;width:2rem}@media (width < 768px){:root{--accordion-padding:var(--space-sm);--accordion-padding-lg:var(--space-md)}.group-accordion-emoji{font-size:2.5rem;height:3.25rem;width:3.25rem}.item-accordion-emoji{font-size:2rem;height:2.75rem;width:2.75rem}}@media (width <= 480px){:root{--accordion-padding:var(--space-sm);--accordion-padding-lg:var(--space-md)}.group-accordion-item,
    .item-accordion-item{margin-bottom:var(--space-xs);min-height:var(--touch-target-min)}.group-accordion-header,
    .item-accordion-header{align-items:center;display:flex;justify-content:space-between;min-height:calc(var(--touch-target-min) + var(--space-sm));padding:var(--space-md)}.group-accordion-header-content,
    .item-accordion-header-content{align-items:center;display:flex;flex:1;gap:var(--space-sm);justify-content:flex-start}.group-accordion-icon,
    .item-accordion-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.group-accordion-title,
    .item-accordion-title{font-size:var(--font-size-base);line-height:1.4;margin:0}.group-accordion-emoji,
    .item-accordion-emoji{align-items:center;display:flex;flex-shrink:0;font-size:1.75rem;height:2.25rem;justify-content:center;width:2.25rem}.group-accordion-item.open .group-accordion-content,
    .item-accordion-item.open .item-accordion-content{padding:var(--space-md)}}@media (prefers-contrast:high){.group-accordion-item,
    .item-accordion-item{border-width:var(--border-width-medium)}.group-accordion-icon,
    .item-accordion-icon{color:var(--text-primary)}}@media (prefers-reduced-motion:reduce){
    .group-accordion-content,
    .group-accordion-header,
    .group-accordion-icon,.group-accordion-item,
    .item-accordion-content,
    .item-accordion-header,
    .item-accordion-icon,
    .item-accordion-item{transition:none}.loading-spinner{animation:none}}.collapsible-card{background:var(--bg-surface);border:var(--border-width-thin) solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-md);overflow:hidden;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.collapsible-card .card-header{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--interactive-primary);border:none;color:var(--text-inverse);cursor:pointer;display:flex;justify-content:space-between;outline:none;padding:var(--space-lg);text-align:left;transition:background-color .2s ease;width:100%;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent}.collapsible-card .card-header:hover{background:var(--interactive-primary-hover)}.collapsible-card .card-header-content{flex:1;min-width:0}.collapsible-card .card-title{color:var(--text-primary);font-size:1.25rem;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0}.collapsible-card .card-subtitle{color:var(--text-secondary);font-size:.875rem;line-height:1.4;margin:var(--space-xs) 0 0 0}.collapsible-card .card-toggle{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;margin-left:var(--space-md);min-height:var(--touch-target-min);min-width:var(--touch-target-min);padding:var(--space-xs);pointer-events:none;transition:transform .2s ease;-webkit-user-select:none;user-select:none}
.collapsible-card .card-toggle:active,
.collapsible-card .card-toggle:focus,
.collapsible-card .card-toggle:focus-visible,.collapsible-card .card-toggle:hover{background:none;border:none;box-shadow:none;color:var(--text-secondary);outline:none}.collapsible-card.collapsed .card-toggle{transform:rotate(0deg)}.collapsible-card:not(.collapsed) .card-toggle{transform:rotate(90deg)}.collapsible-card.always-visible .card-toggle{display:none}.collapsible-card.collapsed .card-toggle:hover{transform:rotate(0deg)}.collapsible-card:not(.collapsed) .card-toggle:hover{transform:rotate(90deg)}.collapsible-card .card-body{background:var(--bg-surface);opacity:1;overflow:hidden;padding:var(--space-lg);transform:scaleY(1);transform-origin:top;transition:transform .3s ease-in-out,opacity .3s ease-in-out}.collapsible-card.collapsed .card-body{opacity:0;padding:0 var(--space-lg);transform:scaleY(0)}.collapsible-card.always-visible .card-body{opacity:1;padding:var(--space-lg);transform:scaleY(1)}.accordion-header.card-header{background:var(--bg-surface);border:none;color:var(--text-secondary)}.group-accordion-header.card-header,.item-accordion-header.card-header{background:var(--bg-hover);border:none;color:var(--text-secondary)}.accordion-icon.card-toggle,
.group-accordion-icon.card-toggle,
.item-accordion-icon.card-toggle{transition:transform .2s ease}.accordion-item.open .accordion-icon,
.accordion-item:not(.collapsed) .accordion-icon,
.group-accordion-item.open .group-accordion-icon,
.group-accordion-item:not(.collapsed) .group-accordion-icon,
.item-accordion-item.open .item-accordion-icon,
.item-accordion-item:not(.collapsed) .item-accordion-icon{transform:rotate(90deg)}
.accordion-item.collapsed .accordion-icon,.accordion-item:not(.open) .accordion-icon,
.group-accordion-item.collapsed .group-accordion-icon,
.group-accordion-item:not(.open) .group-accordion-icon,
.item-accordion-item.collapsed .item-accordion-icon,
.item-accordion-item:not(.open) .item-accordion-icon{transform:rotate(0deg)}.accordion-header.card-header:hover,.group-accordion-header.card-header:hover,.item-accordion-header.card-header:hover{background:var(--bg-hover);color:var(--text-secondary)}.accordion-item.open .accordion-header,
.accordion-item:not(.collapsed) .accordion-header{background:var(--bg-surface);color:var(--text-secondary)}.item-accordion-item.open .item-accordion-header,
.item-accordion-item:not(.collapsed) .item-accordion-header{background:var(--bg-hover);color:var(--text-secondary)}.builder-card.collapsed .card-body{max-height:0;opacity:0;overflow:hidden;padding:0 var(--space-lg);transition:transform .25s ease}.builder-card:not(.collapsed) .card-body{max-height:2000px;opacity:1;overflow:visible;transition:transform .25s ease}@media (width < 768px){.collapsible-card .card-body,.collapsible-card .card-header{padding:var(--space-md)}.collapsible-card.collapsed .card-body{padding:0 var(--space-md)}.collapsible-card .card-toggle{font-size:1.25rem;min-height:2.5rem;min-width:2.5rem}}.error-state{background:var(--state-error-bg);border:var(--border-width-thin) solid var(--state-error-border);border-radius:var(--radius-md);color:var(--state-error-text);padding:var(--space-xl);text-align:center}.error-state .error-icon{display:block;font-size:var(--font-size-2xl);margin-bottom:var(--space-md)}.error-state h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin:0 0 var(--space-sm) 0}.error-state h3,.error-state p{color:var(--state-error-text)}.error-state p{font-size:var(--font-size-base);line-height:var(--line-height-base);margin:0;opacity:.8}.error-slide{align-items:center;background:var(--bg-secondary);border:var(--border-width-thin) solid var(--border-subtle);border-radius:var(--radius-md);display:flex;justify-content:center;min-height:200px;padding:2rem}.error-content{max-width:400px;text-align:center}.error-slide .error-icon{display:block;font-size:3rem;margin-bottom:1rem;opacity:.7}.error-slide .error-text h3{color:var(--text-secondary);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin:0 0 var(--space-sm) 0}.error-slide .error-text p{color:var(--text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-base);margin:0}
.no-items::before{content:"📭";display:block;font-size:2rem;margin-bottom:var(--space-sm);opacity:.5}@media (width < 768px){.error-slide{min-height:150px;padding:1.5rem}.error-slide .error-icon{font-size:2.5rem}.error-slide .error-text h3{font-size:1.1rem}.error-slide .error-text p{font-size:.9rem}.error-state{padding:var(--space-lg)}.error-state .error-icon{font-size:var(--font-size-xl)}}@media (width <= 480px){.error-slide{min-height:120px;padding:1rem}}@media (prefers-color-scheme:dark){.error-slide{background:var(--bg-surface);border-color:var(--border-default)}.error-slide .error-text h3,
    .error-slide .error-text p{color:var(--text-tertiary)}
    .no-items{background:var(--bg-surface);border-color:var(--border-default)}}.cache-toggle-btn,
.index-cache-toggle-btn,
.page-cache-toggle-btn{align-items:center;backdrop-filter:blur(5px);background:var(--bg-surface);border:var(--border-width-thin) solid var(--border-subtle);border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1);color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;width:28px}.cache-toggle-btn:hover,
.index-cache-toggle-btn:hover,
.page-cache-toggle-btn:hover{background:var(--bg-accent);transform:scale(1.05)}.cache-popup-container,
.page-streamlined-cache-container{backdrop-filter:blur(10px);background:var(--bg-secondary);border:var(--border-width-thin) solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-strong);max-height:80vh;max-width:90vw;overflow-y:auto;padding:var(--space-md);position:absolute;right:0;text-align:left;top:35px;transition:var(--transition-base);width:420px;z-index:1000}.cache-popup-container.hidden,
.page-streamlined-cache-container.hidden{display:none}.cache-header-section{border-bottom:var(--border-width-thin) solid var(--border-subtle);margin-bottom:var(--space-lg);padding-bottom:var(--space-md)}.cache-header-main{display:flex;flex-direction:column;gap:var(--space-xs)}.cache-title{align-items:center;color:var(--text-primary);display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--space-sm);margin:0}.cache-icon{font-size:var(--font-size-xl)}.cache-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm);font-style:italic}.cache-content-section{display:flex;flex-direction:column;gap:var(--space-md)}.cache-data-card{background:var(--bg-surface);border:var(--border-width-thin) solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-md);transition:var(--transition-base)}.cache-data-card:hover{box-shadow:var(--shadow-subtle)}.cache-card-header{align-items:flex-start;border-bottom:var(--border-width-thin) solid var(--border-subtle);display:flex;justify-content:space-between;margin-bottom:var(--space-md);padding-bottom:var(--space-sm)}.cache-card-title{align-items:center;display:flex;flex:1;gap:var(--space-sm)}.cache-card-icon{font-size:var(--font-size-lg)}.cache-card-name{color:var(--text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.cache-badges{align-items:center;display:flex;flex-shrink:0;gap:var(--space-xs)}.cache-age-display{color:var(--text-secondary);font-size:var(--font-size-sm);min-width:80px;text-align:right}.cache-card-body{display:flex;flex-direction:column;gap:var(--space-md)}.cache-section-separator{background:rgba(25,118,210,.3);height:1px}.cache-single-header{margin-bottom:0;padding-bottom:var(--space-md)}.cache-single-title-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-sm)}.cache-single-title{color:var(--text-primary);flex:1;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.cache-refresh-icon{align-items:center;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:calc(var(--font-size-lg)*1.5);height:48px;justify-content:center;min-width:48px;padding:var(--space-sm);transition:var(--transition-base)}.cache-refresh-icon:hover{background:var(--bg-accent)}.cache-single-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:space-between}.cache-single-age{color:var(--text-secondary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.cache-single-badges{align-items:center;display:flex;flex-shrink:0;gap:var(--space-sm)}.cache-type-badge{background:linear-gradient(135deg,#059669,#047857);border:1px solid #10b981;border-radius:var(--radius-sm);box-shadow:0 2px 4px rgba(16,185,129,.3);color:#ecfdf5;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:2px var(--space-xs)}.cache-single-badges .cache-type-badge{font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm)}.cache-stats-grid{background:var(--bg-tertiary);border-radius:var(--radius-sm);display:grid;gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(80px,1fr));padding:var(--space-sm)}.cache-stat-item{align-items:center;display:flex;flex-direction:column;padding:var(--space-xs);text-align:center}.cache-stat-value{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1}.cache-stat-label{color:var(--text-secondary);font-size:var(--font-size-xs);margin-top:var(--space-xs);text-transform:lowercase}.cache-performance-section{background:var(--bg-tertiary);border-left:3px solid var(--accent-primary);border-radius:var(--radius-sm);padding:var(--space-sm)}.cache-load-time{color:var(--text-primary);font-size:var(--font-size-sm);margin-bottom:var(--space-xs)}.cache-performance-note{color:var(--text-accent);font-size:var(--font-size-xs);font-style:italic}.cache-actions-inline{border-top:var(--border-width-thin) solid var(--border-subtle);display:flex;gap:var(--space-sm);justify-content:flex-end;padding-top:var(--space-sm)}.cache-action-btn{align-items:center;background:var(--bg-secondary);border:var(--border-width-thin) solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-xs);gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);transition:var(--transition-base)}.cache-action-btn:hover{background:var(--bg-accent);box-shadow:var(--shadow-subtle);transform:translateY(-1px)}.cache-controls-section{border-top:var(--border-width-thin) solid var(--border-subtle);margin-top:var(--space-lg);padding-top:var(--space-md)}.cache-controls-header{margin-bottom:var(--space-md)}.cache-controls-title{align-items:center;color:var(--text-primary);display:flex;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);gap:var(--space-sm);margin:0}.cache-controls-grid{display:grid;gap:var(--space-sm);grid-template-columns:1fr 1fr}.cache-control-btn{align-items:center;background:var(--bg-surface);border:var(--border-width-thin) solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);text-align:center;transition:var(--transition-base)}.cache-control-btn:hover{background:var(--bg-accent);box-shadow:var(--shadow-subtle);transform:translateY(-2px)}.cache-btn-icon{font-size:var(--font-size-xl)}.cache-btn-text{color:var(--text-primary);font-weight:var(--font-weight-medium)}.cache-btn-text,.cache-loading{font-size:var(--font-size-sm)}.cache-loading{color:var(--text-secondary)}
.builder-streamlined-cache-item,.cache-item,
.cache-streamlined-item{align-items:flex-start;border-bottom:var(--border-width-thin) solid var(--border-subtle);display:flex;font-size:var(--font-size-sm);justify-content:space-between;padding:var(--space-sm) 0}
.builder-streamlined-cache-item:last-child,.cache-item:last-child,
.cache-streamlined-item:last-child{border-bottom:none}
.builder-cache-item-info,.cache-item-info,
.index-cache-item-info{flex:1}
.builder-cache-name,.cache-item-name,
.index-cache-item-name{color:var(--text-primary);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-xs)}
.builder-cache-details,.cache-item-details,
.index-cache-item-details{color:var(--text-secondary);font-size:var(--font-size-xs);line-height:1.4}
.builder-cache-item-actions,.cache-item-actions,
.index-cache-item-actions{align-items:center;display:flex;gap:var(--space-xs);margin-left:var(--space-sm)}
.builder-cache-item-refresh,.cache-clear-btn,
.cache-refresh-btn,
.index-cache-item-refresh{align-items:center;background:var(--bg-surface);border:var(--border-width-thin) solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-xs);height:24px;justify-content:center;min-width:24px;padding:var(--space-xs);transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.builder-cache-item-refresh:hover,.cache-clear-btn:hover,
.cache-refresh-btn:hover,
.index-cache-item-refresh:hover{background:var(--bg-accent);transform:scale(1.05)}.cache-status-badge{border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-left:var(--space-xs);padding:2px var(--space-xs)}.cache-status-badge.cache-fresh,
.cache-status-fresh{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.cache-status-badge.cache-stale,
.cache-status-stale{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text)}
.builder-cache-item-status,.cache-item-status,
.index-cache-item-status{border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-right:var(--space-xs);padding:2px var(--space-xs)}
.builder-cache-status-fresh,.cache-status-fresh,
.index-cache-status-fresh{background:var(--success-bg);color:var(--success-text)}
.builder-cache-status-stale,.cache-status-stale,
.index-cache-status-stale{background:var(--warning-bg);color:var(--warning-text)}.cache-detailed-stats{border-top:var(--border-width-thin) solid var(--border-subtle);margin-top:var(--space-sm);padding-top:var(--space-sm)}.title-with-cache{gap:var(--space-md)}.cache-status-section,
.index-cache-status-section,
.page-cache-status-section,.title-with-cache{position:relative}.cache-actions{display:flex;gap:var(--space-xs);margin-top:var(--space-sm)}@media (width < 768px){.cache-popup-container,
    .page-streamlined-cache-container{left:50%;max-height:85vh;max-width:400px;padding:var(--space-sm);position:fixed;top:50%;transform:translate(-50%,-50%);width:95vw}.cache-stats-grid{gap:var(--space-xs);grid-template-columns:repeat(auto-fit,minmax(60px,1fr));padding:var(--space-xs)}.cache-stat-value{font-size:var(--font-size-md)}.cache-controls-grid{gap:var(--space-xs);grid-template-columns:1fr}.cache-control-btn{flex-direction:row;justify-content:center;padding:var(--space-sm)}.cache-actions-inline{flex-direction:column;gap:var(--space-xs)}.cache-action-btn{justify-content:center;padding:var(--space-sm)}.cache-single-meta{align-items:flex-start;flex-direction:column;gap:var(--space-xs)}.cache-single-title-row{flex-wrap:wrap;gap:var(--space-xs)}}@media (width < 480px){.cache-card-header{align-items:flex-start;flex-direction:column;gap:var(--space-sm)}.cache-age-display{min-width:auto;text-align:left}.cache-badges,.cache-single-badges{align-self:flex-start}.cache-single-title{font-size:var(--font-size-md)}.cache-refresh-icon{font-size:calc(var(--font-size-md)*1.8);height:40px;min-width:40px;padding:var(--space-xs)}}@media (prefers-color-scheme:dark){.cache-popup-container,
    .page-streamlined-cache-container{background:var(--bg-surface-dark,var(--bg-secondary));border-color:var(--border-subtle-dark,var(--border-subtle))}}@media (prefers-contrast:high){.cache-status-badge,.cache-toggle-btn,
    .index-cache-toggle-btn,
    .page-cache-toggle-btn{border-width:2px}}.cache-performance-comparison{color:var(--text-accent);font-size:var(--font-size-xs);font-style:italic;opacity:.9}
.builder-streamlined-cache-container,.page-streamlined-cache-container{backdrop-filter:blur(10px);background:var(--bg-secondary);border:var(--border-width-thin) solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-strong);padding:var(--space-md);position:absolute;right:0;top:35px;transition:var(--transition-base);width:380px;z-index:1000}
.builder-streamlined-cache-container.hidden,.page-streamlined-cache-container.hidden{display:none}.cache-panel-header{border-bottom:var(--border-width-thin) solid var(--border-subtle);margin-bottom:var(--space-md);padding-bottom:var(--space-sm)}.cache-panel-title{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}
.builder-streamlined-cache-item,.cache-streamlined-item{align-items:flex-start;border-bottom:var(--border-width-thin) solid var(--border-subtle);display:flex;font-size:var(--font-size-sm);justify-content:space-between;padding:var(--space-sm) 0}
.builder-streamlined-cache-item:last-child,.cache-streamlined-item:last-child{border-bottom:none}
.builder-cache-item-info,.cache-item-info{flex:1;text-align:left}
.builder-cache-item-name,.cache-item-name{align-items:center;color:var(--text-primary);display:flex;font-weight:var(--font-weight-semibold);gap:var(--space-xs);margin-bottom:var(--space-xs)}
.builder-cache-item-details,.cache-item-details{color:var(--text-tertiary);font-size:var(--font-size-xs);line-height:var(--line-height-base)}
.builder-cache-item-actions,.cache-item-actions{align-items:center;display:flex;gap:.5rem;margin-left:.5rem}
.builder-cache-item-status,
.cache-item-status,.cache-status-badge{border-radius:4px;display:inline-block;font-size:.8rem;font-weight:500;padding:.25rem .5rem}
.builder-cache-status-fresh,
.cache-fresh,.cache-status-fresh{background:var(--state-success-bg);color:var(--state-success-text)}
.builder-cache-status-stale,
.cache-stale,.cache-status-stale{background:var(--state-warning-bg);color:var(--state-warning-text)}.cache-layer-badge{border:1px solid transparent;border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;margin-left:.5rem;padding:.25rem .5rem}.cache-layer-memory{background:linear-gradient(135deg,#4c1d95,#5b21b6);border-color:#7c3aed;box-shadow:0 2px 4px rgba(124,58,237,.3);color:#f3e8ff}.cache-layer-apcu{background:linear-gradient(135deg,#059669,#047857);border-color:#10b981;box-shadow:0 2px 4px rgba(16,185,129,.3);color:#ecfdf5}.cache-layer-file{background:linear-gradient(135deg,#1e40af,#1d4ed8);border-color:#3b82f6;box-shadow:0 2px 4px rgba(59,130,246,.3);color:#dbeafe}.cache-layer-generated,
.cache-layer-regenerated{background:linear-gradient(135deg,#dc2626,#b91c1c);border-color:#ef4444;box-shadow:0 2px 4px rgba(239,68,68,.3);color:#fef2f2}
.builder-cache-item-refresh,.cache-action-btn,
.cache-item-refresh,
.cache-refresh-btn{align-items:center;background:var(--bg-secondary);border:var(--border-width-thin) solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-xs);height:28px;justify-content:center;min-width:28px;padding:var(--space-xs) var(--space-sm);transition:var(--transition-base)}
.builder-cache-item-refresh:hover,.cache-action-btn:hover,
.cache-item-refresh:hover,
.cache-refresh-btn:hover{background:var(--bg-accent);transform:rotate(90deg)}.cache-loading{color:var(--text-tertiary);font-style:italic;padding:var(--space-md);text-align:center}.title-with-cache{justify-content:flex-start}.builder-title-row,.title-with-cache{align-items:center;display:flex;gap:1rem}.builder-title-row{justify-content:center;position:relative}@media (width < 768px){
    .builder-streamlined-cache-container,.page-streamlined-cache-container{left:auto;max-width:320px;padding:.75rem;right:0;transform:none;width:90vw}
    .builder-cache-toggle-btn,
    .index-cache-toggle-btn,.page-cache-toggle-btn{font-size:10px;height:24px;width:24px}.builder-title-row{align-items:center;flex-direction:row;gap:.5rem;justify-content:center}
    .builder-streamlined-cache-item,.cache-streamlined-item{font-size:.8rem;padding:.5rem 0}
    .builder-cache-item-actions,.cache-item-actions{flex-direction:column;gap:.25rem}}.hidden{display:none}
.app-nav .nav-link,
.app-nav .nav-link.active,
.app-nav .nav-link:hover,.header-nav .nav-link,
.header-nav .nav-link.active,.header-nav .nav-link:hover{text-decoration:none}