:root{--ink: #f1ecdf;--dim: #c3baa4;--gold: #e6c071;--gold-soft: rgba(230, 192, 113, .4);--violet: #7d5bc6;--bg0: #07060d;--bg1: #161122;--panel: rgba(20, 16, 32, .42);--panel-edge: rgba(230, 192, 113, .22);--accent: var(--tg-theme-button-color, #7d5bc6)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:radial-gradient(140% 100% at 50% -10%,#241a3a 0%,var(--bg1) 38%,var(--bg0) 100%);color:var(--ink);font-family:Georgia,Iowan Old Style,Times New Roman,serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#bg{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0}#app{position:relative;z-index:1;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:max(24px,env(safe-area-inset-top)) 20px max(28px,env(safe-area-inset-bottom))}.scene{display:flex;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:460px;padding:30px 24px 32px;border-radius:26px;background:var(--panel);border:1px solid var(--panel-edge);box-shadow:0 24px 60px -20px #000000b3,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(14px) saturate(115%);backdrop-filter:blur(14px) saturate(115%);animation:rise .7s cubic-bezier(.22,1,.36,1)}@keyframes rise{0%{opacity:0;transform:translateY(16px) scale(.985);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}h1{font-size:clamp(1.7rem,7vw,2.15rem);margin:0;font-weight:600;letter-spacing:.4px;line-height:1.2;color:var(--gold);text-shadow:0 0 18px rgba(230,192,113,.45),0 2px 10px rgba(0,0,0,.5)}p{margin:0;line-height:1.65;font-size:1.02rem;color:var(--dim);text-shadow:0 1px 6px rgba(0,0,0,.45)}b,strong{color:var(--ink);font-weight:600}.hint{font-size:.9rem;color:var(--dim);opacity:.8;letter-spacing:.3px}button,.btn{position:relative;font:inherit;font-size:1.05rem;color:var(--ink);background:#ffffff0d;border:1px solid var(--gold-soft);border-radius:16px;padding:15px 22px;cursor:pointer;width:100%;max-width:340px;letter-spacing:.3px;transition:transform .12s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease}button:hover,.btn:hover{background:#ffffff17;border-color:var(--gold)}button:active,.btn:active{transform:scale(.965)}.btn-primary{color:#1a1226;font-weight:600;background:linear-gradient(180deg,#f0d495 0%,var(--gold) 70%,#cda14f 100%);border-color:#fff0c8b3;box-shadow:0 0 24px #e6c07159,inset 0 1px #ffffff80}.btn-primary:hover{box-shadow:0 0 34px #e6c0718c}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:400px}.grid button{max-width:none;padding:18px 14px;font-size:1rem}.reveal-text{text-align:left;white-space:pre-wrap;line-height:1.78;font-size:1.04rem;color:var(--ink);max-height:60dvh;overflow-y:auto;width:100%;padding:6px 4px;-webkit-overflow-scrolling:touch}.reveal-text p{color:var(--ink)}.muted{opacity:.45;pointer-events:none;filter:grayscale(.3)}.loader{width:38px;height:38px;border:3px solid rgba(230,192,113,.2);border-top-color:var(--gold);border-radius:50%;animation:spin .9s linear infinite;box-shadow:0 0 20px #e6c0714d}@keyframes spin{to{transform:rotate(360deg)}}input[type=text]{font:inherit;font-size:1rem;color:var(--ink);background:#00000047;border:1px solid var(--gold-soft);border-radius:14px;padding:14px 16px;width:100%;max-width:340px;outline:none;transition:border-color .2s ease}input[type=text]::placeholder{color:#c3baa48c}input[type=text]:focus{border-color:var(--gold)}input[type=file]{display:none}@media(prefers-reduced-motion:reduce){.scene{animation:none}}
