:root{
  --ild-ww-bg:#f8fafc;
  --ild-ww-card:#ffffff;
  --ild-ww-line:#dbe5ee;
  --ild-ww-text:#172033;
  --ild-ww-muted:#64748b;
  --ild-ww-blue-a:#0877bb;
  --ild-ww-blue-b:#0b82c4;
  --ild-ww-blue-c:#17a8dc;
  --ild-ww-violet:#6546d7;
  --ild-ww-shadow:0 16px 46px rgba(15,46,78,.15);
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;padding:0;overflow:hidden;overscroll-behavior:none}
body.ild-wordwall-player-page{
  background:
    radial-gradient(circle at 12% -18%,rgba(56,189,248,.18),transparent 34%),
    radial-gradient(circle at 94% 112%,rgba(8,119,187,.11),transparent 31%),
    var(--ild-ww-bg);
  color:var(--ild-ww-text);
  font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
a{text-decoration:none}
.ild-ww-shell{
  width:100%;
  height:100dvh;
  min-height:100svh;
  padding:clamp(6px,1vw,12px);
  display:flex;
  align-items:stretch;
  justify-content:center;
  overflow:hidden;
}
.ild-ww-player{
  position:relative;
  width:min(1500px,100%);
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) 28px;
  overflow:hidden;
  border:1px solid rgba(132,171,200,.42);
  border-radius:18px;
  background:var(--ild-ww-card);
  box-shadow:var(--ild-ww-shadow);
}
.ild-ww-player::before{
  content:"";
  position:absolute;
  z-index:5;
  pointer-events:none;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);
}
.ild-ww-toolbar{
  min-width:0;
  min-height:72px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:8px 10px;
  color:#fff;
  background:
    linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0) 42%),
    linear-gradient(90deg,var(--ild-ww-blue-a) 0%,var(--ild-ww-blue-b) 55%,var(--ild-ww-blue-c) 100%);
  border-bottom:1px solid rgba(3,105,161,.28);
  box-shadow:0 7px 18px rgba(7,89,133,.14);
}
.ild-ww-toolbar-left{display:flex;align-items:center;gap:8px;min-width:0}
.ild-ww-back,.ild-ww-brand{
  color:#fff!important;
  transition:filter .18s ease,transform .18s ease,background .18s ease;
}
.ild-ww-back{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.30);
  border-radius:12px;
  background:rgba(255,255,255,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 7px 16px rgba(2,67,106,.12);
  color:#fff!important;
  font-size:.78rem;
  font-weight:900;
  white-space:nowrap;
}
.ild-ww-back:hover{background:rgba(255,255,255,.20);filter:brightness(1.04);transform:translateY(-1px)}
.ild-ww-back-icon{font-size:1rem;line-height:1}
.ild-ww-brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  padding:3px 7px 3px 4px;
  border-radius:12px;
  color:#fff!important;
}
.ild-ww-brand-logo{
  width:38px;height:38px;flex:0 0 38px;
  display:grid;place-items:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.30);
  border-radius:11px;
  background:rgba(255,255,255,.12);
  box-shadow:0 5px 13px rgba(3,60,94,.18),inset 0 1px 0 rgba(255,255,255,.22);
}
.ild-ww-brand-logo img{display:block;width:100%;height:100%;object-fit:contain}
.ild-ww-brand-name{font-size:.82rem;font-weight:950;letter-spacing:-.01em;white-space:nowrap;text-shadow:0 1px 3px rgba(0,43,73,.18)}
.ild-ww-titlebox{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px}
.ild-ww-titlebox h1{
  min-width:0;
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
  font-size:clamp(.98rem,1.55vw,1.38rem);
  line-height:1.14;
  font-weight:950;
  letter-spacing:-.02em;
  text-shadow:0 2px 8px rgba(0,53,86,.20);
}
.ild-ww-meta{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden}
.ild-ww-meta span{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 7px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(255,255,255,.13);
  color:rgba(255,255,255,.94);
  font-size:.60rem;
  font-weight:950;
  letter-spacing:.015em;
  white-space:nowrap;
}
.ild-ww-meta .is-wordwall{background:rgba(92,45,179,.62);border-color:rgba(226,213,255,.34)}
.ild-ww-meta .is-template{max-width:150px;overflow:hidden;text-overflow:ellipsis}
.ild-ww-frame-wrap{
  position:relative;
  min-width:0;
  min-height:0;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#fff;
  border-top:1px solid rgba(255,255,255,.35);
}
.ild-ww-frame{
  position:absolute;
  inset:0;
  display:block;
  width:100%!important;
  height:100%!important;
  min-width:0;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  background:#fff;
}
.ild-ww-statusbar{
  min-width:0;
  height:28px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 12px;
  border-top:1px solid #e8eef4;
  background:linear-gradient(180deg,#fff,#f8fafc);
  color:#718096;
  font-size:.67rem;
  font-weight:800;
  white-space:nowrap;
}
.ild-ww-status-domain{margin-left:auto;color:#0b82c4;font-weight:950}
.ild-ww-fallback{
  min-height:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:14px;
  margin:12px;
  padding:18px;
  border:1px dashed #b9cad8;
  border-radius:14px;
  background:#f8fbfd;
  color:#334155;
}
.ild-ww-fallback-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#fff2e8;color:#d95d0b;font-weight:950;font-size:1.25rem}
.ild-ww-fallback strong{display:block;font-size:.95rem}
.ild-ww-fallback p{margin:4px 0 0;color:#64748b;font-size:.82rem}
@media(max-width:1080px){
  .ild-ww-brand-name{display:none}
  .ild-ww-brand{padding-right:2px}
  .ild-ww-toolbar{gap:9px}
}
@media(max-width:760px){
  .ild-ww-shell{padding:5px}
  .ild-ww-player{border-radius:13px;grid-template-rows:auto minmax(0,1fr) 24px}
  .ild-ww-toolbar{min-height:62px;padding:6px 7px;gap:7px}
  .ild-ww-brand{display:none}
  .ild-ww-back{min-height:34px;padding:6px 9px}
  .ild-ww-back-text{max-width:112px;overflow:hidden;text-overflow:ellipsis}
  .ild-ww-titlebox{gap:3px}
  .ild-ww-titlebox h1{font-size:.95rem}
  .ild-ww-meta span{font-size:.56rem;padding:2px 6px}
  .ild-ww-meta .is-template{display:none}
  .ild-ww-statusbar{height:24px;padding:0 8px;font-size:.60rem}
  .ild-ww-status-domain{display:none}
}
@media(max-width:460px){
  .ild-ww-toolbar{grid-template-columns:auto minmax(0,1fr)}
  .ild-ww-back-text{display:none}
  .ild-ww-back{width:34px;padding:0}
  .ild-ww-titlebox h1{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden;line-height:1.08}
  .ild-ww-meta span:nth-child(n+4){display:none}
  .ild-ww-fallback{grid-template-columns:1fr;text-align:center;justify-items:center}
}
@media(max-height:720px){
  .ild-ww-shell{padding:4px}
  .ild-ww-player{border-radius:12px;grid-template-rows:auto minmax(0,1fr) 22px}
  .ild-ww-toolbar{min-height:54px;padding:5px 7px}
  .ild-ww-brand-logo{width:32px;height:32px;flex-basis:32px;border-radius:9px}
  .ild-ww-back{min-height:32px}
  .ild-ww-meta{display:none}
  .ild-ww-titlebox h1{font-size:.94rem}
  .ild-ww-statusbar{height:22px;font-size:.58rem}
}
@media(max-height:580px){
  .ild-ww-statusbar{display:none}
  .ild-ww-player{grid-template-rows:auto minmax(0,1fr)}
  .ild-ww-toolbar{min-height:48px}
  .ild-ww-brand{display:none}
}
@media(prefers-color-scheme:dark){
  :root{--ild-ww-bg:#0f172a;--ild-ww-card:#111c2a;--ild-ww-line:#294057;--ild-ww-text:#f1f5f9;--ild-ww-muted:#a7b4c6;--ild-ww-shadow:0 16px 48px rgba(0,0,0,.32)}
  body.ild-wordwall-player-page{background:radial-gradient(circle at 12% -18%,rgba(14,165,233,.13),transparent 34%),#0f172a}
  .ild-ww-player{border-color:#294057;background:#111c2a}
  .ild-ww-statusbar{border-color:#294057;background:linear-gradient(180deg,#152234,#111c2a);color:#a7b4c6}
  .ild-ww-fallback{background:#142132;border-color:#35506a;color:#f1f5f9}.ild-ww-fallback p{color:#a7b4c6}
}
