:root{--gold:#d8b062;--gold-hi:#f6dfa0;--gold-lo:#8a6a32;--ink:#0a0807;--panel:#0e0b09d1;--text:#eadcc0;--muted:#a8977a;--red:#c0262d;--green:#4fbf6a}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;color:var(--text);font-family:var(--font-body), Georgia, serif;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:#07050a;overflow:hidden}canvas{touch-action:none}input,textarea{-webkit-user-select:text;user-select:text}button{font-family:var(--font-title), serif;cursor:pointer;color:inherit;background:0 0;border:none}.title-font{font-family:var(--font-title), serif}.btn{letter-spacing:.14em;text-transform:uppercase;color:#1a1209;background:linear-gradient(#f7e2a6 0%,#d3a54c 48%,#a8792c 100%);border:1px solid #fff0c0;border-radius:4px;padding:12px 30px;font-size:15px;font-weight:700;transition:transform .15s,filter .15s,box-shadow .2s;position:relative;box-shadow:0 0 0 2px #3a2810,0 6px 24px #0009,inset 0 1px #fff9}.btn:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-2px);box-shadow:0 0 0 2px #3a2810,0 0 28px #ffc86473,inset 0 1px #fff9}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{filter:grayscale(.8)brightness(.6);cursor:not-allowed}.btn.ghost{color:var(--gold-hi);border:1px solid var(--gold-lo);background:#140f0abf;box-shadow:0 4px 18px #00000080}.btn.ghost:hover:not(:disabled){border-color:var(--gold);box-shadow:0 0 20px #ffc86440}.btn.danger{color:#fff3e6;background:linear-gradient(#ff8f7a 0%,#c0392b 50%,#7d1e16 100%);border-color:#ffc4b5}.ornament{background:linear-gradient(90deg, transparent, var(--gold), transparent);height:2px}.modal-back{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(#050403b8,#000000eb);justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:absolute;inset:0}.modal{text-align:center;max-width:min(1200px,94vw);max-height:92vh;padding:26px 34px 30px;animation:.4s cubic-bezier(.2,1.3,.4,1) rise;overflow:auto}.modal h2{font-family:var(--font-title), serif;letter-spacing:.12em;color:var(--gold-hi);text-shadow:0 0 24px #ffbe5a80;font-size:30px}.modal p.sub{color:var(--muted);margin:6px 0 18px;font-size:19px;font-style:italic}.card-grid{flex-wrap:wrap;justify-content:center;gap:14px;margin:10px 0 22px;display:flex}.card-img{aspect-ratio:480/672;border-radius:8px;width:150px;transition:transform .2s,box-shadow .2s,filter .2s;display:block;box-shadow:0 10px 28px #000000b3}.card-img.clickable{cursor:pointer}.card-img.clickable:hover{box-shadow:0 0 0 2px var(--gold-hi), 0 0 30px #ffc8648c, 0 18px 34px #000c;transform:translateY(-10px)scale(1.06)rotate(-1deg)}.card-img.picked{filter:grayscale()brightness(.45);transform:scale(.94)}@keyframes fadeIn{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(30px)scale(.96)}}@keyframes pulseGold{0%,to{box-shadow:0 0 10px #ffc8644d}50%{box-shadow:0 0 26px #ffc864bf}}@keyframes float{0%{opacity:0;transform:translateY(105vh)translate(0)}10%{opacity:1}to{opacity:0;transform:translateY(-10vh)translate(40px)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:var(--gold-lo);border-radius:4px}
