:root{--bg:#0d0a1a;--bg-2:#15102a;--panel:#1b1533;--panel-edge:#3a2f5c;--ink:#ece6f7;--ink-dim:#b3a8d4;--gold:#d9b45b;--gold-soft:#f0d99a}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% -10%, var(--bg-2), var(--bg) 60%);min-height:100vh;color:var(--ink);margin:0;font-family:Georgia,Noto Serif Thai,serif;line-height:1.5}#app{max-width:1080px;margin:0 auto;padding:2rem 1.25rem 3rem}.header{text-align:center;margin-bottom:1.5rem;position:relative}.title{letter-spacing:.18em;color:var(--gold-soft);text-shadow:0 0 18px #d9b45b59;margin:0;font-size:2.4rem}.tagline{color:var(--ink-dim);margin:.35rem 0 0;font-style:italic}.lang-toggle{color:var(--gold);border:1px solid var(--panel-edge);font:inherit;letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:999px;padding:.4rem 1rem;font-size:.9rem;position:absolute;top:0;right:0}.lang-toggle:hover{border-color:var(--gold)}.draw-btn{background:linear-gradient(180deg, var(--gold-soft), var(--gold));color:#241a05;font:inherit;letter-spacing:.06em;cursor:pointer;border:none;border-radius:999px;margin:0 auto 2rem;padding:.85rem 2.4rem;font-size:1.05rem;font-weight:600;display:block;box-shadow:0 6px 24px #d9b45b40}.draw-btn:hover{filter:brightness(1.06)}.lang-toggle:focus-visible,.draw-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.spread{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.card{background:var(--panel);border:1px solid var(--panel-edge);text-align:center;border-radius:14px;flex-direction:column;gap:.6rem;padding:1.1rem;display:flex}.card-position{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-size:.85rem}.card-img{border:1px solid var(--panel-edge);border-radius:8px;width:100%;max-width:220px;margin:0 auto;transition:transform .4s}.card-img.reversed{transform:rotate(180deg)}.card-name{color:var(--gold-soft);margin:0;font-size:1.15rem}.reversed-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);border:1px solid var(--panel-edge);border-radius:999px;align-self:center;padding:.1rem .6rem;font-size:.75rem}.card-keywords{color:var(--ink-dim);margin:0;font-size:.9rem;font-style:italic}.card-meaning{margin:0;font-size:.95rem}@media (width<=720px){.spread{grid-template-columns:1fr}.title{font-size:1.8rem}.lang-toggle{margin-top:.75rem;display:inline-block;position:static}}
