/* Wings style sheet v1.1 - local fonts, semantic colors, no runtime dependencies. */
@font-face { font-family: "Wings Lora"; src: url("../assets/fonts/lora/Lora-variable.ttf") format("truetype"); font-weight: 400 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Wings Nunito Sans"; src: url("../assets/fonts/nunito-sans/NunitoSans-variable.ttf") format("truetype"); font-weight: 200 1000; font-style: normal; font-display: swap; }
:root {
  --w-font-heading: "Wings Lora", Georgia, serif;
  --w-font-ui: "Wings Nunito Sans", system-ui, sans-serif;
  --w-radius-control: 14px;
  --w-radius-card: 20px;
  --w-radius-sheet: 24px;
  --w-touch-target: 48px;
  --w-space-1: 4px;
  --w-space-2: 8px;
  --w-space-3: 12px;
  --w-space-4: 16px;
  --w-space-6: 24px;
  --w-space-8: 32px;
  --w-space-12: 48px;
  --w-duration-press: 120ms;
  --w-duration-control: 180ms;
  --w-duration-sheet: 240ms;
  --w-duration-theme: 240ms;
  --w-ease: cubic-bezier(0.2, 0, 0, 1);
}
:root, [data-theme="light"] {
  color-scheme: light;
  --w-canvas: #F6F3EA;
  --w-surface: #FCFAF3;
  --w-inset: #ECEFE6;
  --w-text: #35483D;
  --w-muted: #606D5E;
  --w-border: #788777;
  --w-divider: #D8DDCF;
  --w-brand: #D6A071;
  --w-primary: #EBD0B3;
  --w-primary-hover: #E5C39F;
  --w-primary-pressed: #DDB48B;
  --w-on-primary: #35483D;
  --w-selected: #ECEFE6;
  --w-on-selected: #35483D;
  --w-focus: #946038;
  --w-success: #416952;
  --w-warning: #806026;
  --w-error: #954E5B;
  --w-info: #4E677F;
}
[data-theme="dark"] {
  color-scheme: dark;
  --w-canvas: #203D40;
  --w-surface: #29494A;
  --w-inset: #183235;
  --w-text: #EEECDD;
  --w-muted: #B4C2B6;
  --w-border: #93A89D;
  --w-divider: #496362;
  --w-brand: #E8BC96;
  --w-primary: #E8BC96;
  --w-primary-hover: #F0CAA8;
  --w-primary-pressed: #DBAD87;
  --w-on-primary: #203D40;
  --w-selected: #183235;
  --w-on-selected: #EEECDD;
  --w-focus: #EDC7A6;
  --w-success: #BED6AF;
  --w-warning: #E7C78F;
  --w-error: #EDADB8;
  --w-info: #B1CADE;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
  --w-canvas: #203D40;
  --w-surface: #29494A;
  --w-inset: #183235;
  --w-text: #EEECDD;
  --w-muted: #B4C2B6;
  --w-border: #93A89D;
  --w-divider: #496362;
  --w-brand: #E8BC96;
  --w-primary: #E8BC96;
  --w-primary-hover: #F0CAA8;
  --w-primary-pressed: #DBAD87;
  --w-on-primary: #203D40;
  --w-selected: #183235;
  --w-on-selected: #EEECDD;
  --w-focus: #EDC7A6;
  --w-success: #BED6AF;
  --w-warning: #E7C78F;
  --w-error: #EDADB8;
  --w-info: #B1CADE;
  }
}
.w-ui { color: var(--w-text); background: var(--w-canvas); font: 400 1rem/1.5 var(--w-font-ui); font-optical-sizing: auto; }
.w-ui, .w-ui * { box-sizing: border-box; }
.w-display { margin: 0; font: 500 2rem/1.25 var(--w-font-heading); }
.w-heading { margin: 0; font: 500 1.5rem/1.3334 var(--w-font-heading); }
.w-section { margin: 0; font: 500 1.25rem/1.4 var(--w-font-heading); }
.w-caption { font: 600 .8125rem/1.3847 var(--w-font-ui); color: var(--w-muted); }
.w-card { padding: 24px; background: var(--w-surface); border: 1px solid var(--w-divider); border-radius: var(--w-radius-card); }
.w-sheet { padding: 24px 24px max(24px, env(safe-area-inset-bottom)); max-block-size: 85dvh; overflow: auto; background: var(--w-surface); border-radius: var(--w-radius-sheet) var(--w-radius-sheet) 0 0; }
.w-button { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-block-size: var(--w-touch-target); min-inline-size: var(--w-touch-target); padding: 12px 20px; border: 1px solid var(--w-focus); border-radius: var(--w-radius-control); background: var(--w-primary); color: var(--w-on-primary); font: 600 .9375rem/1.3334 var(--w-font-ui); cursor: pointer; touch-action: manipulation; transition: background-color var(--w-duration-control) var(--w-ease); }
@media (hover: hover) { .w-button:hover:not(:disabled) { background: var(--w-primary-hover); } }
.w-button:active:not(:disabled) { background: var(--w-primary-pressed); transition-duration: var(--w-duration-press); }
.w-button--secondary { background: var(--w-surface); color: var(--w-text); border-color: var(--w-border); }
.w-button--quiet { background: transparent; color: var(--w-text); border-color: transparent; }
.w-button--danger { background: var(--w-surface); color: var(--w-error); border-color: var(--w-error); }
@media (hover: hover) {
  .w-button--secondary:hover:not(:disabled), .w-button--quiet:hover:not(:disabled), .w-button--danger:hover:not(:disabled) { background: var(--w-inset); }
}
.w-button--secondary:active:not(:disabled), .w-button--quiet:active:not(:disabled), .w-button--danger:active:not(:disabled) { background: var(--w-inset); }
.w-button:disabled { background: var(--w-inset); color: var(--w-muted); border-color: var(--w-divider); cursor: default; }
.w-ui :where(button, a, input, select, textarea, [tabindex]):focus-visible { outline: 2px solid var(--w-focus); outline-offset: 3px; }
.w-field-label { display: block; margin-block-end: 8px; font: 600 .9375rem/1.3334 var(--w-font-ui); }
.w-input { min-block-size: 48px; inline-size: 100%; padding: 12px 16px; background: var(--w-surface); color: var(--w-text); border: 1px solid var(--w-border); border-radius: var(--w-radius-control); font: 400 1rem/1.5 var(--w-font-ui); }
.w-input::placeholder { color: var(--w-muted); opacity: 1; }
.w-input[aria-invalid="true"] { border-color: var(--w-error); }
.w-error { color: var(--w-error); font: 600 .8125rem/1.3847 var(--w-font-ui); }
.w-chip { min-block-size: 48px; min-inline-size: 48px; padding: 10px 16px; border: 1px solid var(--w-border); border-radius: 999px; background: var(--w-surface); color: var(--w-text); font: 600 .9375rem/1.3334 var(--w-font-ui); cursor: pointer; }
.w-chip[aria-pressed="true"] { background: var(--w-selected); color: var(--w-on-selected); border-color: var(--w-focus); }
.w-nav { display: flex; gap: 4px; padding: 8px 8px max(8px, env(safe-area-inset-bottom)); background: var(--w-surface); border-block-start: 1px solid var(--w-divider); }
.w-nav__item { flex: 1; min-block-size: 56px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 0; border-radius: 14px; background: transparent; color: var(--w-muted); font: 600 .8125rem/1.3847 var(--w-font-ui); text-decoration: none; cursor: pointer; }
.w-nav__item[aria-current="page"] { color: var(--w-on-selected); background: var(--w-selected); box-shadow: inset 0 -3px var(--w-focus); }
.w-icon { inline-size: 24px; block-size: 24px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.w-switch-label { display: flex; align-items: center; gap: 12px; min-block-size: 48px; cursor: pointer; }
.w-switch { appearance: none; margin: 0; inline-size: 48px; block-size: 28px; padding: 3px; border: 1px solid var(--w-border); border-radius: 999px; background: var(--w-inset); cursor: pointer; }
.w-switch::before { display: block; content: ""; inline-size: 20px; block-size: 20px; border-radius: 50%; background: var(--w-muted); transition: transform var(--w-duration-control) var(--w-ease); }
.w-switch:checked { background: var(--w-primary); border-color: var(--w-on-primary); }
.w-switch:checked::before { transform: translateX(20px); background: var(--w-on-primary); }
@media (prefers-reduced-motion: reduce) {
  :root { --w-duration-press: 0ms; --w-duration-control: 0ms; --w-duration-sheet: 0ms; --w-duration-theme: 0ms; }
}
