:root{--ink:#3b2412;--parch:#f4e4bc;--gold:#e8b74a;--night:#0d0b25;--wine:#8a2a1a}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Georgia,"Palatino Linotype",serif;color:var(--ink);background:radial-gradient(ellipse at top,#3a2414,#140c08 75%);min-height:100vh;overflow-x:hidden}
a{color:inherit}
.k-header{text-align:center;padding:1rem .8rem .3rem;color:var(--gold);position:relative}
.k-header .back{position:absolute;left:.8rem;top:.8rem;color:#e9dcff;font-size:.9rem;text-decoration:none}
.k-header h1{font-size:clamp(1.7rem,7vw,2.6rem);margin:.7em 0 .1em;text-shadow:0 0 18px #e8b74a88}
.k-header p{margin:0;color:#f1d9b0;font-style:italic}
main{max-width:760px;margin:0 auto;padding:.5rem}
.panel{background:var(--parch);background-image:radial-gradient(circle at 10% 10%,#00000010,transparent 40%),radial-gradient(circle at 90% 90%,#5a3a1018,transparent 45%);border:2px solid #c9a46a;border-radius:6px;padding:.8rem .9rem;margin:.6rem 0;box-shadow:0 8px 30px #0008,inset 0 0 40px #8a5a2a33}
.purse-bar{display:flex;flex-wrap:wrap;gap:.3rem 1rem;justify-content:space-between;align-items:center}
.purse-bar b{font-size:1.1rem}
h2{margin:.1em 0 .4em;font-variant:small-caps;font-size:1.2rem}
.btn{font-family:inherit;font-size:1.05rem;min-height:48px;background:var(--wine);color:#fff3d0;border:2px solid #5a1a10;border-radius:6px;padding:.5em 1em;cursor:pointer;box-shadow:2px 3px 0 #5a1a10;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.btn.alt{background:#2a1f5c;border-color:#15103a;box-shadow:2px 3px 0 #15103a}
.btn.ghost{background:#fff8e3;color:var(--ink);border-color:#8a5a2a;box-shadow:2px 3px 0 #8a5a2a}
.btn:disabled{opacity:.4;cursor:not-allowed}.btn:not(:disabled):active{transform:translate(2px,3px);box-shadow:none}
.btns{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-top:.5rem}
.placeholder-note{font-size:.75rem;color:#8a6a4a;font-style:italic;text-align:center;margin:.3rem 0 0}
details summary{cursor:pointer;font-variant:small-caps;font-size:1.1rem}
footer{text-align:center;color:#c9b08a;padding:1.4rem 1rem 2rem;font-size:.88rem}
#toasts{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);display:flex;flex-direction:column;gap:.4rem;z-index:50;pointer-events:none;width:min(92vw,420px)}
.toast{background:#2a1f5c;color:#f4e4bc;border:1px solid var(--gold);border-radius:6px;padding:.5em .8em;text-align:center;box-shadow:0 4px 14px #000a;transition:opacity .5s}
.toast.out{opacity:0}
@media (max-width:480px){main{padding:.35rem}.panel{padding:.65rem .6rem}}
