/* CHANUKAH-GAMES-1111: on-screen Hanukkah games (no storage, no external libs) */
.gwrap{max-width:760px;margin:0 auto;padding:4px 0 20px}
.gbox{background:var(--surface,#fff);color:var(--ink,#16130E);border:var(--bw,2px) solid var(--line,#16130E);border-radius:var(--r,16px);box-shadow:var(--sh-sm,4px 4px 0 #16130E);padding:14px;margin:12px 0}
.gbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin:0 0 10px}
.gstat{font-weight:800;font-size:1.05rem}
.gbtn{font:inherit;font-weight:800;cursor:pointer;border:var(--bw,2px) solid var(--line,#16130E);border-radius:var(--r-sm,10px);background:var(--accent,#FF6B1A);color:var(--accent-ink,#16130E);padding:10px 16px;min-height:44px;min-width:44px}
.gbtn.alt{background:var(--surface-2,#FFF9EE);color:var(--ink,#16130E)}
.gbtn:disabled{opacity:.45;cursor:default}
.gbtn:focus-visible,.gcard:focus-visible,.gopt:focus-visible,.gcell:focus-visible,.gslot:focus-visible{outline:3px solid var(--hl,#FFD23F);outline-offset:2px}
.gmsg{min-height:1.6em;font-weight:700;margin:10px 0 0;font-size:1.05rem}
.gmsg.ok{color:#15803d}.gmsg.no{color:#b91c1c}
[data-theme="dark"] .gmsg.ok{color:#4ade80}[data-theme="dark"] .gmsg.no{color:#f87171}
.gwin{text-align:center;padding:16px 10px;border-radius:var(--r-sm,10px);background:var(--accent-soft,#FFE3C7);margin:10px 0;font-size:1.2rem;font-weight:800}
.gwin .big{font-size:2.6rem;display:block}
/* memory */
.gmem{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.gmem.c3{grid-template-columns:repeat(3,1fr)}
.gcard{aspect-ratio:3/4;border:var(--bw,2px) solid var(--line,#16130E);border-radius:var(--r-sm,10px);background:var(--accent,#FF6B1A);color:var(--accent-ink,#16130E);font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px;font-size:1.6rem;font-weight:900}
.gcard .e{font-size:2.3rem;line-height:1}.gcard .w{font-size:.95rem;font-weight:800;line-height:1.15;text-align:center}
.gcard.up{background:var(--surface-2,#FFF9EE);color:var(--ink,#16130E)}
.gcard.done{background:var(--accent-soft,#E4F7C0);color:var(--ink,#16130E);cursor:default}
.gcard svg{width:2.4rem;height:2.4rem}
/* hanukkiah */
.ghk{display:block;width:100%;max-width:520px;margin:0 auto;height:auto}
.ghk .slot{cursor:pointer}
/* options */
.gq{font-size:1.2rem;font-weight:800;margin:6px 0 10px;line-height:1.5}
.gq .src{display:block;font-family:'Frank Ruhl Libre D2',serif;font-size:1.25rem;font-weight:700;background:var(--surface-2,#FFF9EE);border-inline-start:4px solid var(--accent,#FF6B1A);padding:8px 12px;border-radius:6px;margin:6px 0 0}
.gopts{display:grid;gap:8px}
.gopts.row{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}
.gopt{font:inherit;font-weight:700;font-size:1.05rem;text-align:start;cursor:pointer;border:var(--bw,2px) solid var(--line,#16130E);border-radius:var(--r-sm,10px);background:var(--surface-2,#FFF9EE);color:var(--ink,#16130E);padding:12px 14px;min-height:48px}
.gopts.row .gopt{text-align:center;font-size:1.6rem;font-weight:900}
.gopt.right{background:#bbf7d0;color:#14532d;border-color:#15803d}
.gopt.wrong{background:#fecaca;color:#7f1d1d;border-color:#b91c1c}
.gex{background:var(--bg-soft,#FFEFD2);border-radius:8px;padding:8px 12px;margin:10px 0 0;font-size:.98rem;line-height:1.55}
.gprog{height:8px;background:var(--sep,#E8DCC4);border-radius:8px;overflow:hidden;margin:4px 0 10px}.gprog i{display:block;height:100%;background:var(--accent,#FF6B1A)}
.gopts.glb{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px}
.gopts.glb .gopt{padding:8px 0;min-width:0;font-size:1.2rem}
/* order */
.gord{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.gord li{display:flex;gap:8px;align-items:center}
.gord .n{flex:0 0 2rem;height:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;background:var(--accent,#FF6B1A);color:var(--accent-ink,#16130E)}
.gord .t{flex:1;border:var(--bw,2px) solid var(--line,#16130E);border-radius:var(--r-sm,10px);padding:10px 12px;background:var(--surface-2,#FFF9EE);font-weight:700;line-height:1.4}
.gord li.right .t{background:#bbf7d0;color:#14532d}.gord li.wrong .t{background:#fecaca;color:#7f1d1d}
.gord .mv{display:flex;flex-direction:column;gap:4px}.gord .mv .gbtn{padding:4px 10px;min-height:40px;min-width:44px}
/* sevivon */
.gsev{display:flex;flex-direction:column;align-items:center;gap:10px}
.gsev svg{width:150px;height:190px}
.gsev .spin{animation:gspin .9s cubic-bezier(.3,.7,.4,1)}
@keyframes gspin{0%{transform:rotate(0)}100%{transform:rotate(1080deg)}}
@media (prefers-reduced-motion:reduce){.gsev .spin{animation:none}}
.gletters{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.gletters span{border:var(--bw,2px) solid var(--line,#16130E);border-radius:8px;padding:6px 10px;min-width:5.5rem;text-align:center;background:var(--surface-2,#FFF9EE);opacity:.5}
.gletters span b{display:block;font-size:1.8rem}
.gletters span.got{opacity:1;background:var(--accent-soft,#FFE3C7)}
.gpot{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;width:100%}
.gpot div{border:var(--bw,2px) solid var(--line,#16130E);border-radius:8px;padding:8px 4px;background:var(--surface-2,#FFF9EE)}
.gpot b{display:block;font-size:1.6rem}
.glog{font-size:.95rem;margin:4px 0 0;padding-inline-start:18px;max-height:9em;overflow:auto}
/* word search */
.gws{display:grid;gap:3px;direction:rtl;margin:0 auto;max-width:520px;touch-action:manipulation}
.gcell{aspect-ratio:1/1;border:1px solid var(--line,#16130E);border-radius:4px;background:var(--surface-2,#FFF9EE);color:var(--ink,#16130E);font:inherit;font-weight:800;font-size:clamp(.95rem,4.4vw,1.4rem);padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.gcell.sel{background:var(--hl,#FFD23F);color:#16130E}
.gcell.found{background:#bbf7d0;color:#14532d}
.gwl{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;list-style:none;padding:0;margin:10px 0}
.gwl li{border:var(--bw,2px) solid var(--line,#16130E);border-radius:6px;padding:3px 10px;font-weight:800}
.gwl li.found{text-decoration:line-through;opacity:.55}
/* fill-in */
.gtext{font-family:'Frank Ruhl Libre D2',serif;font-size:1.3rem;line-height:2.3}
.gslot{font:inherit;font-family:'Heebo D2',sans-serif;font-size:1.05rem;font-weight:800;min-width:5.5rem;min-height:40px;padding:2px 8px;margin:0 2px;border:2px dashed var(--line,#16130E);border-radius:8px;background:var(--surface-2,#FFF9EE);color:var(--ink,#16130E);cursor:pointer;vertical-align:middle}
.gslot.cur{border-style:solid;border-color:var(--accent,#FF6B1A);box-shadow:var(--glow,none)}
.gslot.filled{border-style:solid}
.gslot.right{background:#bbf7d0;color:#14532d}.gslot.wrong{background:#fecaca;color:#7f1d1d}
.gbank{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:12px 0}
.gbank .gopt{font-family:'Frank Ruhl Libre D2',serif;font-size:1.15rem;padding:8px 12px;text-align:center}
.gbank .gopt.used{opacity:.35}
.gnote{font-size:.9rem;color:var(--ink-soft,#5C5546);margin:8px 0 0}
/* hub */
.gband{background:var(--surface,#fff);border:var(--bw,2px) solid var(--line,#16130E);border-radius:var(--r,16px);box-shadow:var(--sh-sm,4px 4px 0 #16130E);padding:14px 16px;margin:14px 0}
.gband h2{margin:0 0 8px;font-size:1.35rem}
.glist{list-style:none;padding:0;margin:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.glist a{display:flex;gap:10px;align-items:center;border:var(--bw,2px) solid var(--line,#16130E);border-radius:var(--r-sm,10px);padding:10px 12px;text-decoration:none;color:var(--ink,#16130E);background:var(--surface-2,#FFF9EE);min-height:56px}
.glist a .i{font-size:1.7rem}.glist a b{display:block}.glist a small{display:block;color:var(--ink-soft,#5C5546);font-size:.85rem;font-weight:400}
.glist a:hover{background:var(--accent-soft,#FFE3C7)}
.gnav{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.gtop{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
@media print{.gbtn{display:none}}
