/* Shared simulator kit: the core.
   Every simulator links it first, before its own <style>: the reference
   variables and fonts (light business palette), the reset, the task screen
   and the header with the back button. A simulator's own :root comes later
   and overrides only the colors specific to it. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Unbounded:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

:root{
  --bg:#FFFFFF;--bg2:#F6F8FB;--bg3:#EDF1F7;
  --border:rgba(15,23,42,.10);--border2:rgba(15,23,42,.18);
  --accent:#1E3A8A;--accent2:#1D4ED8;--on-accent:#FFFFFF;
  --green:#05674A;--green2:#05674A;
  --yellow:#92400E;--amber:#92400E;--gold:#854D0E;--navy:#0B1F4D;--red:#A61B1B;--purple:#534AB7;
  --text:#0F172A;--text2:#475569;--text3:#5B6B80;
  --shadow:0 10px 30px rgba(15,23,42,.10);--overlay:rgba(246,248,251,.96);
}
*{box-sizing:border-box;margin:0;padding:0}

/* Header: a strip like the catalog search, the button like a catalog filter. */
.lc-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;margin:0 0 14px;background:var(--bg2);border-bottom:1px solid var(--border);font-family:'Inter',sans-serif}
.lc-back{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;border:1px solid var(--border2);background:var(--bg);color:var(--text2);font-size:11px;font-weight:500;line-height:1.4;text-decoration:none;white-space:nowrap;transition:border-color .15s,color .15s}
.lc-back:hover{border-color:var(--accent);color:var(--text)}
.lc-back:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}
.lc-brand{font-family:'Unbounded',sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--accent)}

/* "AI feedback is available after sign-in" hint (R22i): at the bottom, never covers the simulator. */
.lc-hint{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:2147482000;max-width:calc(100% - 32px);padding:10px 16px;border-radius:12px;border:1px solid var(--border2);background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;font-size:13px;line-height:1.4;box-shadow:var(--shadow)}
.lc-hint a{color:var(--accent2);font-weight:600;text-decoration:underline}
.lc-hint a:focus-visible{outline:2px solid var(--accent2);outline-offset:2px}

/* Task screen shown before the simulator starts. */
#lc-intro{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;opacity:1;transition:opacity .28s ease}
#lc-intro.lc-gone{opacity:0;pointer-events:none}
#lc-intro .lc-card{width:100%;max-width:430px;background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:clamp(20px,5vw,30px);text-align:center;box-shadow:var(--shadow)}
#lc-intro .lc-eyebrow{font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--accent2);margin-bottom:11px}
#lc-intro .lc-title{font-size:clamp(16px,3.6vw,20px);font-weight:700;color:var(--text);line-height:1.25;margin-bottom:12px}
#lc-intro .lc-task{font-size:clamp(12.5px,2.6vw,14px);line-height:1.6;color:var(--text2);margin-bottom:22px}
#lc-intro .lc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:150px;padding:13px 30px;border:none;border-radius:11px;cursor:pointer;background:var(--accent);color:var(--on-accent);font-family:inherit;font-size:15px;font-weight:600;transition:background .15s,transform .12s}
#lc-intro .lc-btn:hover{background:var(--navy)}
#lc-intro .lc-btn:active{transform:scale(.97)}
#lc-intro .lc-btn:focus-visible{outline:2px solid var(--accent2);outline-offset:3px}
#lc-intro .lc-count{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:clamp(52px,13vw,74px);font-weight:700;color:var(--accent);line-height:1;margin:6px 0 4px}
#lc-intro .lc-go{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--text3)}
#lc-intro .lc-pulse{animation:lcPulse .5s ease-out}
@keyframes lcPulse{from{transform:scale(.72);opacity:.2}to{transform:scale(1);opacity:1}}
@media (prefers-reduced-motion: reduce){#lc-intro .lc-pulse{animation:none}}
