/* Letter Land visual contract. Values are recovered from the working application. */
:root {
  --ll-font-body:var(--app-font-sans,"Nunito",sans-serif);
  --ll-font-display:var(--app-font-display,"Varela Round",sans-serif);
  --ll-canvas:hsl(var(--background,45 100% 98%));
  --ll-ink:hsl(var(--foreground,220 20% 30%));
  --ll-surface:#fff;
  --ll-menu-ink:#33465a;
  --ll-menu-line:#dfebe3;
  --ll-muted:#5b6684;
  --ll-action:hsl(var(--primary,175 70% 45%));
  --ll-action-ink:hsl(var(--primary-foreground,0 0% 100%));
  --ll-action-deep:#13827c;
  --ll-box-fill:#c89864;--ll-box-ink:#49301c;--ll-box-shadow:#754b2e55;
  --ll-hole-fill:#eef0f5;--ll-hole-line:#e2e5ef;
  --ll-anchor-fill:#e4e8f5;--ll-anchor-shadow:#c2c9e0;
  --ll-ice-line:#75cfea88;--ll-ice-fill:#9de2ff22;
  --ll-water-fill:#4cb8ef33;--ll-water-line:#7bd4ef88;
  --ll-fire-line:#ee903f;--ll-fire-glow:#ffdfaa;
  --ll-target-fill:#ffe29666;--ll-label-surface:#fff9;
  --ll-focus:#3366cc;
  --ll-positive:#27754d;
  --ll-positive-soft:#e7f6e9;
  --ll-warning:#8a5d00;
  --ll-warning-soft:#fff4cc;
  --ll-space-1:4px;--ll-space-2:8px;--ll-space-3:12px;--ll-space-4:16px;--ll-space-5:24px;--ll-space-6:32px;
  --ll-radius-control:16px;--ll-radius-card:22px;--ll-radius-menu:26px;--ll-radius-round:9999px;
  --ll-touch:48px;--ll-touch-compact:44px;
  --ll-shadow-menu:0 5px 0 var(--ll-menu-line);
  --ll-shadow-round:0 3px #d9ddf2,0 6px 14px #2e3a5c1a;
  --ll-duration-press:120ms;--ll-duration-enter:220ms;
  --ll-ease:cubic-bezier(.32,1.28,.6,1);
  --ll-chutu-ink:#2e3a5c;--ll-chutu-muted:#5b6684;--ll-chutu-line:#dfe3f5;
  --ll-chutu-accent:#5b5bd6;--ll-chutu-accent-deep:#3f3fae;--ll-chutu-accent-soft:#eef0ff;
  --ll-chutu-canvas:linear-gradient(180deg,#eceeff,#f4f5ff 55%,#fff8ec);
  --ll-dot-red:#dc2626;--ll-dot-blue:#2563eb;--ll-dot-green:#16a34a;--ll-dot-purple:#9333ea;--ll-dot-orange:#ea580c;
}
/* Bridge the recovered Chutu components to the same semantic tokens, without restyling other games. */
:root :is(.chutu-page,.chutu-levels-page,.chutu-overlay,[data-ll-theme="chutu"]) {
  --chutu-ink:var(--ll-chutu-ink);--chutu-muted:var(--ll-chutu-muted);--chutu-line:var(--ll-chutu-line);
  --chutu-accent:var(--ll-chutu-accent);--chutu-accent-deep:var(--ll-chutu-accent-deep);--chutu-accent-soft:var(--ll-chutu-accent-soft);
  --chutu-gold:var(--ll-warning);--chutu-gold-soft:var(--ll-warning-soft);--chutu-gold-line:#f0d68a;
}
.ll-ui{font-family:var(--ll-font-body);color:var(--ll-ink)}
.ll-ui :is(h1,h2,h3){font-family:var(--ll-font-display);font-weight:900}
.ll-button{min-height:var(--ll-touch);font-family:var(--ll-font-body);font-weight:900;touch-action:manipulation}
.ll-button:focus-visible{outline:3px solid var(--ll-focus);outline-offset:3px}
.ll-button:disabled{cursor:default;opacity:.5}
.ll-button[aria-pressed="true"]{background:var(--chutu-accent-soft);box-shadow:inset 0 0 0 2px var(--chutu-accent),0 3px var(--chutu-line)}
.ll-card{background:var(--ll-surface);border-radius:var(--ll-radius-card);box-shadow:inset 0 0 0 2px var(--chutu-line,var(--ll-menu-line))}
.ll-section-title{font-family:var(--ll-font-display);font-size:20px;font-weight:900;color:var(--chutu-ink,var(--ll-menu-ink))}
@media(prefers-reduced-motion:reduce){.ll-ui *{scroll-behavior:auto!important}}
/* Shared garden defaults for additions outside game-specific themes. */
.ll-button-primary,.ll-button-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;border:0;border-radius:var(--ll-radius-round);padding:10px 20px;font-size:18px;line-height:1.2;cursor:pointer}
.ll-button-primary{background:var(--ll-action);color:var(--ll-action-ink);box-shadow:0 4px var(--ll-action-deep)}.ll-button-secondary{background:var(--ll-surface);color:var(--ll-menu-ink);box-shadow:inset 0 0 0 2px var(--ll-menu-line),0 3px var(--ll-menu-line)}
.ll-button:active:not(:disabled){transform:translateY(2px)}
/* Account and save surfaces inherit the same typography without altering their workflows. */
:root :is(.family-portal,.family-card,.family-password,#local-save-panel){font-family:var(--ll-font-body)}
:root :is(.family-card,.family-password,#local-save-panel) :is(h1,h2,h3){font-family:var(--ll-font-display)}
