:root{--lm-color-primary:#f2a66f;--lm-color-primary-strong:#e08c54;--lm-color-primary-soft:#fbe3cf;--lm-color-secondary:#c8b6e8;--lm-color-success:#a9c9a4;--lm-color-success-strong:#6f9a69;--lm-color-info:#9ccfd3;--lm-color-highlight:#f4d98a;--lm-color-accent:#efa6a0;--lm-color-error:#c96b63;--lm-color-surface:#fff;--lm-color-background:#fdfaf3;--lm-color-text:#2f3138;--lm-color-text-secondary:#666873;--lm-color-border:#e8dfd0;--lm-color-focus:#2f3138;--lm-font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--lm-font-display:1.75rem;--lm-font-heading:1.375rem;--lm-font-title:1.125rem;--lm-font-body:1rem;--lm-font-caption:.875rem;--lm-font-button:1.0625rem;--lm-line-height:1.5;--lm-space-1:4px;--lm-space-2:8px;--lm-space-3:12px;--lm-space-4:16px;--lm-space-6:24px;--lm-space-8:32px;--lm-space-10:40px;--lm-space-12:48px;--lm-space-16:64px;--lm-radius-s:8px;--lm-radius-m:12px;--lm-radius-l:16px;--lm-radius-xl:24px;--lm-radius-pill:999px;--lm-shadow-1:0 1px 3px #2f313812, 0 2px 8px #2f31380d;--lm-shadow-2:0 4px 16px #2f31381a;--lm-touch-min:44px;--lm-touch-child:56px;--lm-motion-fast:.12s;--lm-motion-base:.2s;--lm-motion-ease:cubic-bezier(.2, 0, .2, 1)}@media (prefers-reduced-motion:reduce){:root{--lm-motion-fast:0s;--lm-motion-base:0s}}[data-reduced-stimuli=true]{--lm-motion-fast:0s;--lm-motion-base:0s}*{box-sizing:border-box}html{font-family:var(--lm-font-family);line-height:var(--lm-line-height);color:var(--lm-color-text);background:var(--lm-color-background);-webkit-text-size-adjust:100%}body{min-height:100dvh;margin:0}:focus-visible{outline:3px solid var(--lm-color-focus);outline-offset:2px;border-radius:var(--lm-radius-s)}[data-theme=classico]{--theme-background:var(--lm-color-background);--theme-surface:var(--lm-color-surface);--theme-primary:var(--lm-color-primary);--theme-primary-soft:var(--lm-color-primary-soft);--theme-secondary:var(--lm-color-secondary);--theme-accent:var(--lm-color-accent);--theme-decorative:var(--lm-color-highlight);--theme-collectible-fill:var(--lm-color-highlight);--theme-collectible-stroke:#d9b95a;--theme-motion-intensity:1}[data-theme=classico][data-reduced-stimuli=true]{--theme-decorative:transparent;--theme-motion-intensity:0}.lm-button{justify-content:center;align-items:center;gap:var(--lm-space-2);min-height:var(--lm-touch-min);padding:var(--lm-space-3) var(--lm-space-6);border-radius:var(--lm-radius-l);font-family:inherit;font-size:var(--lm-font-button);cursor:pointer;transition:transform var(--lm-motion-fast) var(--lm-motion-ease), background-color var(--lm-motion-fast) var(--lm-motion-ease);touch-action:manipulation;border:2px solid #0000;font-weight:600;display:inline-flex}.lm-button:active{transform:scale(.98)}.lm-button--primary{background:var(--theme-primary,var(--lm-color-primary));color:var(--lm-color-text)}.lm-button--primary:hover{background:var(--lm-color-primary-strong)}.lm-button--secondary{background:var(--theme-surface,var(--lm-color-surface));border-color:var(--lm-color-border);color:var(--lm-color-text)}.lm-button--ghost{color:var(--lm-color-text-secondary);background:0 0;text-decoration:underline}.lm-button--success{background:var(--lm-color-success);color:var(--lm-color-text)}.lm-button--child{min-height:var(--lm-touch-child);padding:var(--lm-space-4) var(--lm-space-8);font-size:var(--lm-font-title);border-radius:var(--lm-radius-xl);width:100%}.lm-button:disabled{background:var(--lm-color-border);color:var(--lm-color-text-secondary);cursor:not-allowed;transform:none}.lm-icon-button{width:var(--lm-touch-min);height:var(--lm-touch-min);border-radius:var(--lm-radius-pill);color:var(--lm-color-text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.25rem;display:inline-flex}.lm-icon-button:hover{background:var(--theme-primary-soft,var(--lm-color-primary-soft))}.lm-chip{align-items:center;gap:var(--lm-space-1);min-height:32px;padding:var(--lm-space-1) var(--lm-space-3);border-radius:var(--lm-radius-pill);border:1px solid var(--lm-color-border);background:var(--theme-surface,var(--lm-color-surface));font-size:var(--lm-font-caption);color:var(--lm-color-text);display:inline-flex}.lm-chip--selected{background:var(--lm-color-highlight);border-color:var(--lm-color-primary-strong);font-weight:700}input[type=checkbox],input[type=radio]{accent-color:var(--lm-color-primary-strong);width:22px;height:22px}.lm-check{border:2px solid var(--lm-color-border);background:var(--theme-surface,var(--lm-color-surface));width:30px;height:30px;color:var(--lm-color-text);transition:background-color var(--lm-motion-fast) var(--lm-motion-ease);flex-shrink:0;place-items:center;display:inline-grid}.lm-check--box{border-radius:var(--lm-radius-s)}.lm-check--circle{border-radius:var(--lm-radius-pill)}.lm-check--on{background:var(--lm-color-success);border-color:var(--lm-color-success-strong)}.lm-badge{align-items:center;gap:var(--lm-space-1);padding:2px var(--lm-space-2);border-radius:var(--lm-radius-s);font-size:var(--lm-font-caption);font-weight:600;display:inline-flex}.lm-badge--success{background:var(--lm-color-success)}.lm-badge--info{background:var(--lm-color-info)}.lm-badge--highlight{background:var(--lm-color-highlight)}.lm-badge--neutral{background:var(--lm-color-border);color:var(--lm-color-text-secondary)}.lm-progress{gap:var(--lm-space-1);flex-direction:column;display:flex}.lm-progress__track{border-radius:var(--lm-radius-pill);background:var(--lm-color-border);height:14px;overflow:hidden}.lm-progress__fill{border-radius:var(--lm-radius-pill);background:var(--theme-secondary,var(--lm-color-secondary));height:100%;transition:width var(--lm-motion-base) var(--lm-motion-ease)}.lm-progress__label{font-size:var(--lm-font-caption);color:var(--lm-color-text-secondary)}.lm-progress--segments{align-items:center;gap:var(--lm-space-2);flex-flow:wrap}.lm-progress__segment{font-size:1.5rem;line-height:1}.lm-card{background:var(--theme-surface,var(--lm-color-surface));border-radius:var(--lm-radius-xl);box-shadow:var(--lm-shadow-1);border:1px solid var(--lm-color-border);padding:var(--lm-space-4)}.lm-card--interactive{cursor:pointer;transition:box-shadow var(--lm-motion-fast) var(--lm-motion-ease)}.lm-card--interactive:hover{box-shadow:var(--lm-shadow-2)}.lm-overlay{padding:var(--lm-space-4);z-index:100;background:#2f313859;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lm-overlay--sheet{align-items:flex-end;padding:0}.lm-dialog{background:var(--theme-surface,var(--lm-color-surface));border-radius:var(--lm-radius-xl);box-shadow:var(--lm-shadow-2);padding:var(--lm-space-6);gap:var(--lm-space-4);flex-direction:column;width:100%;max-width:420px;display:flex}.lm-sheet{border-radius:var(--lm-radius-xl) var(--lm-radius-xl) 0 0;max-width:100%;padding-bottom:max(var(--lm-space-6), env(safe-area-inset-bottom))}.lm-dialog__title{font-size:var(--lm-font-heading);margin:0;font-weight:700}.lm-nav{justify-content:space-around;gap:var(--lm-space-2);padding:var(--lm-space-2);padding-bottom:max(var(--lm-space-2), env(safe-area-inset-bottom));background:var(--theme-surface,var(--lm-color-surface));border-top:1px solid var(--lm-color-border);display:flex}.lm-nav__item{min-width:var(--lm-touch-child);min-height:var(--lm-touch-min);padding:var(--lm-space-1) var(--lm-space-3);border-radius:var(--lm-radius-m);font-size:var(--lm-font-caption);color:var(--lm-color-text-secondary);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;text-decoration:none;display:flex}.lm-nav__item[aria-current=page]{background:var(--theme-primary-soft,var(--lm-color-primary-soft));color:var(--lm-color-text);font-weight:700}.lm-nav__icon{font-size:1.4rem;line-height:1}.lm-field{gap:var(--lm-space-1);flex-direction:column;display:flex}.lm-field__label{font-size:var(--lm-font-body);font-weight:600}.lm-field__hint{font-size:var(--lm-font-caption);color:var(--lm-color-text-secondary)}.lm-field__input{min-height:var(--lm-touch-min);padding:var(--lm-space-3) var(--lm-space-4);border:2px solid var(--lm-color-border);border-radius:var(--lm-radius-m);background:var(--theme-surface,var(--lm-color-surface));font-family:inherit;font-size:var(--lm-font-body);color:var(--lm-color-text)}.lm-field__input:focus{border-color:var(--lm-color-primary-strong);outline:none}.lm-field__error{font-size:var(--lm-font-caption);color:var(--lm-color-error);font-weight:600}.lm-field--invalid .lm-field__input{border-color:var(--lm-color-error)}
