
#wsht-app{
  --wsht-shell-bg:#0d1526;
  --wsht-shell-ink:#ffffff; --wsht-shell-muted:#b9c2d3;
  --wsht-card-bg:#141e33; --wsht-card-ink:#eef2f8; --wsht-card-text:#c6d0e2; --wsht-card-muted:#8b99b3;
  --wsht-soft:#1f2b47; --wsht-border:rgba(255,255,255,.1);
  --wsht-wheel-bg:#1b2742; --wsht-wheel-shadow:rgba(0,0,0,.4);
  --wsht-accent:#ffbd2e; --wsht-accent2:#f48b2a;
  --wsht-green:#43b96b; --wsht-red:#e06d6d; --wsht-bonus:#ffca55; --wsht-blue:#4a7ee8;
  --wsht-cell:42px; --wsht-wheelsize:280px; --wsht-lettersize:58px;
  --wsht-card-shadow:0 18px 50px rgba(0,0,0,.3);
  -webkit-tap-highlight-color:transparent;
  color:var(--wsht-shell-ink); font-family:Inter,"Segoe UI",Arial,sans-serif; line-height:1.45;
  border-radius:26px; padding:18px; margin:10px 0;
  background:var(--wsht-shell-bg);
}
#wsht-app *{box-sizing:border-box}
#wsht-app button{font:inherit;cursor:pointer}
#wsht-app .wsht-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}
#wsht-app .wsht-brand h2{font-size:clamp(20px,3vw,30px);margin:0 0 4px;color:var(--wsht-shell-ink)}
#wsht-app .wsht-brand p{margin:0;color:var(--wsht-shell-muted);font-size:14px}
#wsht-app .wsht-progresscard{min-width:220px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:10px 14px}
#wsht-app .wsht-progressrow{display:flex;justify-content:space-between;font-size:13px;margin-bottom:7px;color:var(--wsht-shell-ink)}
#wsht-app .wsht-bar{height:9px;background:rgba(255,255,255,.12);border-radius:999px;overflow:hidden}
#wsht-app .wsht-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--wsht-accent),var(--wsht-accent2));width:0%;transition:.3s}
#wsht-app .wsht-map{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
#wsht-app .wsht-chip{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#cfd6e4;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;padding:0}
#wsht-app .wsht-chip.done{background:rgba(67,185,107,.22);border-color:rgba(67,185,107,.5);color:#bff0d0}
#wsht-app .wsht-chip.current{background:rgba(255,189,46,.22);border-color:var(--wsht-accent);color:#ffe2a1}
#wsht-app .wsht-chip.locked{opacity:.45;cursor:default}
#wsht-app .wsht-layout{display:grid;grid-template-columns:minmax(340px,1.25fr) minmax(300px,.75fr);gap:18px}
#wsht-app .wsht-card{background:var(--wsht-card-bg);color:var(--wsht-card-ink);border-radius:22px;box-shadow:var(--wsht-card-shadow);border:1px solid var(--wsht-border)}
#wsht-app .wsht-game{padding:16px;display:flex;flex-direction:column;min-height:640px}
#wsht-app .wsht-side{padding:20px;align-self:start}
#wsht-app .wsht-gamehead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;flex-wrap:wrap}
#wsht-app .wsht-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:#ffe3e0;color:#a52a1e;font-weight:800;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
#wsht-app .wsht-badge.hard{background:#fff0d2;color:#925b00}
#wsht-app .wsht-badge.easy{background:#dff3e4;color:#1d7a3f}
#wsht-app .wsht-stage{font-size:13px;color:var(--wsht-card-muted);margin-top:7px}
#wsht-app .wsht-stats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#wsht-app .wsht-stat{background:var(--wsht-soft);border-radius:12px;padding:7px 9px;min-width:66px;text-align:center}
#wsht-app .wsht-stat strong{display:block;font-size:16px;color:var(--wsht-card-ink)}
#wsht-app .wsht-stat span{font-size:10px;color:var(--wsht-card-muted);letter-spacing:.03em}
#wsht-app .wsht-gridwrap{flex:1;display:flex;align-items:center;justify-content:center;min-height:260px;overflow:auto;padding:14px 0}
#wsht-app .wsht-grid{display:grid;gap:4px}
#wsht-app .wsht-cellbox{width:var(--wsht-cell);height:var(--wsht-cell);border-radius:8px;background:#e9eef6;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:calc(var(--wsht-cell)*.5);color:#172033;box-shadow:inset 0 -2px 0 rgba(0,0,0,.08);transition:.2s;user-select:none;-webkit-user-select:none}
#wsht-app .wsht-cellbox.empty{background:transparent;box-shadow:none}
#wsht-app .wsht-cellbox.filled{background:linear-gradient(180deg,#ffd66b,#ffbd2e);color:#5c3d00}
#wsht-app .wsht-cellbox.hinted{background:#dbe8ff;color:#28407a}
#wsht-app .wsht-worddisplay{min-height:34px;text-align:center;font-size:24px;font-weight:900;letter-spacing:.18em;color:var(--wsht-card-ink)}
#wsht-app .wsht-wheel{position:relative;width:var(--wsht-wheelsize);height:var(--wsht-wheelsize);margin:6px auto 2px;touch-action:none;user-select:none;-webkit-user-select:none}
#wsht-app .wsht-wheelbg{position:absolute;inset:0;border-radius:50%;background:var(--wsht-wheel-bg);box-shadow:inset 0 4px 14px var(--wsht-wheel-shadow)}
#wsht-app .wsht-trace{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#wsht-app .wsht-letter{position:absolute;width:var(--wsht-lettersize);height:var(--wsht-lettersize);margin:calc(var(--wsht-lettersize)/-2) 0 0 calc(var(--wsht-lettersize)/-2);border-radius:50%;border:0;background:#ffffff;color:#172033;font-size:calc(var(--wsht-lettersize)*.45);font-weight:900;box-shadow:0 6px 14px rgba(0,0,0,.3);touch-action:none;user-select:none;-webkit-user-select:none}
#wsht-app .wsht-letter.selected{background:var(--wsht-blue);color:#ffffff}
#wsht-app .wsht-shuffle{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:0;background:#ffffff;color:#172033;font-size:20px;box-shadow:0 6px 14px rgba(0,0,0,.25)}
#wsht-app .wsht-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:10px}
#wsht-app .wsht-btn{border:0;border-radius:12px;padding:10px 14px;font-weight:800;font-size:14px;touch-action:manipulation}
#wsht-app .wsht-btn.primary{background:linear-gradient(90deg,var(--wsht-accent),var(--wsht-accent2));color:#4a2d00}
#wsht-app .wsht-btn.secondary{background:var(--wsht-soft);color:var(--wsht-card-ink)}
#wsht-app .wsht-btn.danger{background:#ffe3e0;color:#a52a1e}
#wsht-app .wsht-btn:disabled{opacity:.45;cursor:not-allowed}
#wsht-app .wsht-message{min-height:22px;text-align:center;font-weight:700;font-size:14px;margin-top:8px}
#wsht-app .wsht-message.good{color:var(--wsht-green)}
#wsht-app .wsht-message.bad{color:var(--wsht-red)}
#wsht-app .wsht-message.bonus{color:var(--wsht-bonus)}
#wsht-app .wsht-side h3{margin:0 0 6px;font-size:19px;color:var(--wsht-card-ink)}
#wsht-app .wsht-lvlnum{font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--wsht-card-muted);text-transform:uppercase;margin-bottom:4px}
#wsht-app .wsht-side p{margin:0 0 10px;font-size:14px;color:var(--wsht-card-text)}
#wsht-app .wsht-traplabel{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.06em;color:#a52a1e;background:#ffe3e0;border-radius:999px;padding:3px 9px;margin-bottom:5px;text-transform:uppercase}
#wsht-app .wsht-phasebox{background:var(--wsht-soft);border-radius:14px;padding:10px 12px;margin:0 0 12px}
#wsht-app .wsht-phasebox strong{display:block;font-size:13px;color:var(--wsht-card-ink)}
#wsht-app .wsht-phasebox span{font-size:12.5px;color:var(--wsht-card-muted)}
#wsht-app .wsht-attempts h4{margin:0 0 6px;font-size:13px;color:var(--wsht-card-ink);text-transform:uppercase;letter-spacing:.04em}
#wsht-app .wsht-attempt{display:flex;justify-content:space-between;font-size:12.5px;color:var(--wsht-card-text);padding:5px 0;border-top:1px dashed var(--wsht-border)}
#wsht-app .wsht-attempt b{color:var(--wsht-card-ink)}
#wsht-app .wsht-footnote{font-size:11.5px;color:var(--wsht-card-muted);margin-top:12px}
#wsht-app .wsht-overlay{position:fixed;inset:0;background:rgba(10,15,26,.66);display:none;align-items:center;justify-content:center;z-index:99999;padding:16px}
#wsht-app .wsht-overlay.show{display:flex}
#wsht-app .wsht-modal{background:var(--wsht-card-bg);color:var(--wsht-card-ink);border-radius:22px;max-width:440px;width:100%;padding:26px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.5);border:1px solid var(--wsht-border)}
#wsht-app .wsht-modal .big{font-size:44px;line-height:1;margin-bottom:8px}
#wsht-app .wsht-modal h3{margin:0 0 8px;font-size:21px;color:var(--wsht-card-ink)}
#wsht-app .wsht-modal p{margin:0 0 14px;font-size:14px;color:var(--wsht-card-text)}
#wsht-app .wsht-summary{display:flex;gap:8px;justify-content:center;margin-bottom:16px;flex-wrap:wrap}
#wsht-app .wsht-summary div{background:var(--wsht-soft);border-radius:12px;padding:8px 12px;min-width:74px}
#wsht-app .wsht-summary b{display:block;font-size:16px;color:var(--wsht-card-ink)}
#wsht-app .wsht-summary span{font-size:10px;color:var(--wsht-card-muted);letter-spacing:.03em}
@media(max-width:880px){
  #wsht-app .wsht-layout{grid-template-columns:1fr}
  #wsht-app .wsht-game{min-height:0}
  #wsht-app .wsht-gridwrap{min-height:0;padding:8px 0}
}
@media(max-width:420px){
  #wsht-app{padding:10px;border-radius:18px}
  #wsht-app{--wsht-wheelsize:196px;--wsht-lettersize:44px}
  #wsht-app .wsht-game{padding:10px}
  #wsht-app .wsht-side{padding:16px}
  #wsht-app .wsht-gamehead{margin-bottom:4px;gap:8px}
  #wsht-app .wsht-stage{font-size:12px;margin-top:4px}
  #wsht-app .wsht-stat{min-width:50px;padding:5px 6px}
  #wsht-app .wsht-stat strong{font-size:13px}
  #wsht-app .wsht-stat span{font-size:9px}
  #wsht-app .wsht-gridwrap{padding:6px 0}
  #wsht-app .wsht-worddisplay{min-height:26px;font-size:20px}
  #wsht-app .wsht-wheel{margin:2px auto 0}
  #wsht-app .wsht-controls{gap:6px;margin-top:6px}
  #wsht-app .wsht-btn{padding:8px 10px;font-size:13px;border-radius:10px}
  #wsht-app .wsht-message{min-height:18px;font-size:13px;margin-top:5px}
  #wsht-app .wsht-brand p{font-size:13px}
}
html:not(.dark-mode) #wsht-app{
  --wsht-shell-bg:#f5f2ff;
  --wsht-shell-ink:#1b1340; --wsht-shell-muted:rgba(27,19,64,.66);
  --wsht-card-bg:#ffffff; --wsht-card-ink:#172033; --wsht-card-text:#33405c; --wsht-card-muted:#687386;
  --wsht-soft:#f3f6fb; --wsht-border:#e5eaf3;
  --wsht-wheel-bg:#eef2f9; --wsht-wheel-shadow:rgba(23,32,51,.12);
  --wsht-red:#dd5b5b; --wsht-bonus:#b07800;
  --wsht-card-shadow:0 12px 40px rgba(60,40,120,.14);
}
html:not(.dark-mode) #wsht-app .wsht-letter{box-shadow:0 6px 14px rgba(23,32,51,.18)}
html:not(.dark-mode) #wsht-app .wsht-shuffle{box-shadow:0 6px 14px rgba(23,32,51,.15)}
html:not(.dark-mode) #wsht-app .wsht-progresscard{background:rgba(0,0,0,.045);border-color:rgba(0,0,0,.1)}
html:not(.dark-mode) #wsht-app .wsht-bar{background:rgba(0,0,0,.12)}
html:not(.dark-mode) #wsht-app .wsht-chip{background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.14);color:#4a4470}
html:not(.dark-mode) #wsht-app .wsht-chip.done{background:rgba(67,185,107,.16);border-color:rgba(29,122,63,.45);color:#1d7a3f}
html:not(.dark-mode) #wsht-app .wsht-chip.current{background:rgba(255,189,46,.25);border-color:#d99a00;color:#7a5200}
html:not(.dark-mode) #wsht-app .wsht-overlay{background:rgba(28,20,64,.45)}
