/* Shared shell for standalone pages (/x/*, /challenge): top bar with back + language + sound, cards, share-first buttons. */
:root{--bg:#120804;--bg2:#1d0d06;--lava:#E86A33;--ink:#0d0d0d;--gold:#F5C542;--cream:#FFF8E8;--cream2:#F5EDDC;--muted:#b9a78e;--si:#5ee0ff;--good:#6ee7a8;--warn:#ffc35c;--bad:#ff6b6b;--claus:#ff8a5c;
  --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--serif:Georgia,"Times New Roman",serif;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --st:env(safe-area-inset-top);--sb:env(safe-area-inset-bottom);--sl:env(safe-area-inset-left);--sr:env(safe-area-inset-right)}
html[data-lang=en]{--sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
html[data-lang=ko]{--sans:"Apple SD Gothic Neo","Noto Sans KR","Noto Sans CJK KR","Malgun Gothic",ui-sans-serif,system-ui,sans-serif}
html[data-lang=ko] body{word-break:keep-all}
html.i18n-pending body{visibility:hidden}
*{box-sizing:border-box}
html,body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,rgba(232,106,51,.35),transparent 60%),linear-gradient(var(--bg2),var(--bg));background-attachment:fixed;color:var(--cream);font-family:var(--sans);min-height:100%}
body{padding-bottom:calc(84px + var(--sb))}
a{color:var(--gold)}
.abar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:8px;padding:calc(8px + var(--st)) calc(12px + var(--sr)) 8px calc(12px + var(--sl));background:rgba(18,8,4,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(245,197,66,.15)}
.abar .atitle{flex:1;text-align:center;font:700 14px var(--serif);letter-spacing:.12em;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aback{font:800 13.5px var(--sans);color:var(--cream);text-decoration:none;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);padding:8px 13px;border-radius:999px;white-space:nowrap}
.aright{display:flex;gap:6px;align-items:center}
.snd{font-size:15px;line-height:1;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:var(--cream);border-radius:999px;padding:6px 9px;cursor:pointer}
.lang{display:inline-flex;border:1px solid rgba(245,197,66,.5);border-radius:999px;overflow:hidden}
.lang button{background:transparent;border:0;color:var(--cream2);font:700 12px var(--sans);padding:6px 9px;cursor:pointer;min-width:30px}
.lang button.on{background:var(--gold);color:#1a0f0a}
.fback{position:fixed;left:calc(12px + var(--sl));bottom:calc(14px + var(--sb));z-index:60;display:inline-flex;align-items:center;font:800 14px var(--sans);color:var(--gold);background:rgba(13,13,13,.92);border:1px solid rgba(245,197,66,.55);border-radius:999px;padding:12px 17px;text-decoration:none;box-shadow:0 8px 22px rgba(0,0,0,.35)}
@media (hover:hover) and (pointer:fine) and (min-width:900px){.fback{display:none}body{padding-bottom:40px}}
.wrap{max-width:980px;margin:0 auto;padding:18px 16px}
.kick{font:700 11.5px var(--serif);letter-spacing:.3em;color:var(--gold);opacity:.9}
h1.big{font-size:clamp(30px,6vw,52px);line-height:1.08;margin:8px 0 10px;font-weight:900}
.lead{font-size:clamp(14.5px,2vw,17px);line-height:1.65;color:var(--cream2);margin:0 0 14px}
.card{background:rgba(255,248,232,.05);border:1px solid rgba(255,248,232,.1);border-radius:20px;padding:16px}
.disc{background:rgba(255,195,92,.1);border:1px solid rgba(255,195,92,.45);border-left:4px solid var(--warn);border-radius:14px;padding:11px 14px;font-size:13px;line-height:1.6;color:var(--cream2)}
.disc b{color:var(--warn)}
.si-line{font-size:13px;color:var(--si);line-height:1.6;margin:14px 0 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:800 15px var(--sans);padding:12px 20px;border-radius:999px;border:1px solid rgba(245,197,66,.5);background:rgba(13,13,13,.8);color:var(--gold);cursor:pointer;text-decoration:none}
.btn.hot{background:var(--gold);color:#1a0f0a;border-color:var(--gold);box-shadow:0 6px 0 #a7781a}
.btn.hot:active{transform:translateY(3px);box-shadow:0 3px 0 #a7781a}
.btn:disabled{opacity:.55;cursor:wait}
.btn.sm{font-size:13px;padding:8px 14px}
.xbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;font:900 17px var(--sans);padding:15px 18px;border-radius:999px;background:#000;color:#fff;text-decoration:none;border:2px solid rgba(255,255,255,.85);box-shadow:0 0 0 4px rgba(255,255,255,.12)}
.xbtn svg{width:20px;height:20px;fill:#fff}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.muted{color:var(--muted)}.sm{font-size:12.5px}
.toast{position:fixed;left:50%;bottom:calc(90px + var(--sb));transform:translateX(-50%) translateY(20px);opacity:0;background:#000;color:#fff;padding:10px 16px;border-radius:999px;font-weight:700;font-size:14px;transition:.25s;z-index:80;pointer-events:none}
.toast.on{opacity:1;transform:translateX(-50%)}
.empty{color:var(--muted);font-size:13px;padding:10px 0}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.abar .atitle{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.2;overflow-wrap:anywhere;min-width:0}@media (max-width:400px){.abar .atitle{font-size:12px;letter-spacing:.04em}.abar .aback{padding-left:10px;padding-right:10px}}
