:root{--gold: #d4af37;--gold-soft: rgb(225 193 117);--gold-pale: #f4dfa2;--ink: #05040a;--text: #e8dcc0;--text-dim: #8a7f6a}*{box-sizing:border-box}body{margin:0;background-color:var(--ink);color:var(--text);font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;min-height:100vh;perspective:1000px}.page{min-height:100vh;display:flex;flex-direction:column;padding:16px}.page.centered{align-items:center;justify-content:center}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;color:var(--text-dim)}.topbar-user{display:flex;flex-direction:column}.topbar-quota{font-size:11px;letter-spacing:.04em;opacity:.7}.link-button{background:none;border:none;color:var(--text-dim);font:inherit;cursor:pointer;text-decoration:underline;padding:4px}.link-button:hover{color:var(--gold-soft)}.login{text-align:center;max-width:380px;padding:24px}.login-glyph{color:var(--gold);font-size:64px;text-shadow:0 0 24px rgba(255,215,0,.4)}.login-title{font-size:34px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;margin:8px 0 4px}.login-subtitle{color:var(--text-dim);margin-bottom:32px}.login-error{color:#e0796b;font-size:14px;margin-bottom:20px}.login-button{display:inline-block;padding:12px 32px;border:1px solid var(--gold);border-radius:999px;color:var(--gold-pale);text-decoration:none;letter-spacing:.08em;transition:background-color .3s,box-shadow .3s}.login-button:hover{background-color:#d4af371f;box-shadow:0 0 18px #d4af3759}.login-dev{display:block;margin-top:20px;font-size:12px;color:var(--text-dim);letter-spacing:.04em}.login-dev:hover{color:var(--gold-soft)}.reading-area{flex:1;display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px 0 64px;max-width:640px;width:100%;margin:0 auto}.question{width:100%;min-height:90px;padding:16px 20px;border:1px solid var(--gold-soft);border-radius:16px;background-color:#fbf3b9;color:#201a08;font:inherit;font-size:16px;resize:vertical}.question:focus{outline:none;box-shadow:0 0 16px #d4af3766}.question-echo{color:var(--text-dim);font-style:italic;text-align:center;margin:0;max-width:460px}.status,.error{margin:0;font-size:14px}.status{color:var(--gold-soft);letter-spacing:.1em}.error{color:#e0796b;text-align:center}.reading{line-height:1.75;font-size:17px;animation:fade-in 1.2s ease-out}.card-name{text-align:center;font-size:15px;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin:0 0 20px}.ghost-button{background:none;border:1px solid rgba(212,175,55,.4);border-radius:999px;color:var(--text-dim);font:inherit;font-size:14px;padding:10px 26px;cursor:pointer;transition:color .3s,border-color .3s}.ghost-button:hover{color:var(--gold-pale);border-color:var(--gold)}.card-container{position:relative;width:300px;height:500px;flex:0 0 auto;cursor:pointer;transform:scale(.82) rotateY(0);transform-style:preserve-3d;transition:transform .6s ease-in-out}.card-container.flipped{transform:scale(1) rotateY(180deg)}.card-container.disabled{cursor:default}.card-front,.card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:15px;box-shadow:0 0 12px var(--gold-soft);display:flex;align-items:center;justify-content:center;overflow:hidden}.card-back{background:linear-gradient(45deg,#2a250c,#292602);border:1px solid gold;transform:rotateY(0)}.card-back:before{content:"✦";color:gold;font-size:80px;text-shadow:0 0 10px rgba(255,215,0,.5)}.card-front{border:1px solid var(--gold);transform:rotateY(180deg)}.card-image{width:100%;display:block}.shine{position:absolute;z-index:5;width:10px;height:10px;fill:var(--gold-pale);pointer-events:none;animation:shine .5s 2 alternate}@keyframes shine{0%{opacity:0}to{opacity:.8;transform:scale(1.1)}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.pulsing{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}@media(max-width:480px){.card-container{width:240px;height:400px}}
