:root{--night:#070504;--deep-brown:#160d08;--parchment:#d8c396;--parchment-light:#eadbb7;--ink:#271b12}
*{box-sizing:border-box} html,body{margin:0;min-height:100%}
body{background:radial-gradient(circle at 15% 100%,rgba(210,78,22,.28),transparent 36%),url("assets/canvas-texture.svg"),linear-gradient(135deg,var(--night),var(--deep-brown) 45%,#050403);color:var(--ink);font-family:"EB Garamond",Georgia,serif;overflow-x:hidden}
.world{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:42px 18px;position:relative;isolation:isolate}
.world:before{content:"";position:fixed;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.45),transparent 20%,transparent 80%,rgba(0,0,0,.55)),radial-gradient(circle at center,transparent 0 45%,rgba(0,0,0,.58) 100%);pointer-events:none;z-index:-1}
.fire-glow{position:fixed;left:-180px;bottom:-270px;width:820px;height:820px;border-radius:50%;background:radial-gradient(circle,rgba(255,135,44,.42),rgba(163,57,13,.24) 31%,transparent 68%);filter:blur(6px);z-index:-1;animation:flicker 4.8s infinite alternate ease-in-out}
.ember{position:fixed;width:4px;height:4px;background:#f2a14a;box-shadow:0 0 16px #f2a14a;opacity:.45;transform:rotate(45deg);z-index:-1;animation:rise 9s infinite linear}.ember-one{left:10%;bottom:10%}.ember-two{left:19%;bottom:4%;animation-delay:2.2s}.ember-three{left:7%;bottom:0%;animation-delay:4.7s}
.ledger-shell{width:min(920px,96vw);filter:drop-shadow(0 34px 55px rgba(0,0,0,.62))}
.ledger{position:relative;min-height:620px;padding:54px clamp(26px,6vw,78px);background:url("assets/parchment-texture.svg"),radial-gradient(circle at 50% 18%,rgba(255,255,255,.2),transparent 34%),linear-gradient(135deg,var(--parchment-light),var(--parchment) 52%,#b89359);border:2px solid #6f4f26;outline:8px solid rgba(37,22,10,.74);box-shadow:inset 0 0 0 2px rgba(255,239,190,.28),inset 0 0 65px rgba(65,35,10,.34),0 0 0 1px rgba(211,169,86,.35)}
.ledger:before{content:"";position:absolute;inset:18px;border:1px solid rgba(91,61,24,.52);pointer-events:none}
.corner{position:absolute;width:72px;height:72px;background:url("assets/corner.svg") center/contain no-repeat;opacity:.72}.corner-tl{top:17px;left:17px}.corner-tr{top:17px;right:17px;transform:rotate(90deg)}.corner-br{bottom:17px;right:17px;transform:rotate(180deg)}.corner-bl{bottom:17px;left:17px;transform:rotate(270deg)}
.brand{text-align:center}.kicker{margin:0;color:#6b451f;font-family:"Cinzel",serif;font-weight:700;letter-spacing:.26em;text-transform:uppercase;font-size:.82rem}h1{margin:8px 0 0;color:#2d1c10;font-family:"Cinzel",serif;font-weight:800;letter-spacing:.035em;font-size:clamp(2.2rem,7vw,4.2rem);line-height:.95;text-shadow:0 2px 0 rgba(255,244,206,.35)}.domain{margin:30px 0 0;color:#7a5529;font-size:.9rem;letter-spacing:.22em;text-transform:uppercase}
.ornament{display:grid;grid-template-columns:1fr 108px 1fr;gap:16px;align-items:center;margin:30px 0 34px}.ornament span{height:1px;background:linear-gradient(90deg,transparent,#7d5524,transparent)}.ornament img{width:108px;opacity:.78}
.app{max-width:680px;margin:0 auto;text-align:center;position:relative}.intro{font-size:clamp(1.25rem,2.3vw,1.65rem);line-height:1.45;margin:0 0 28px;color:#342315}.form-block{text-align:left;max-width:430px;margin:0 auto}
.btn{width:100%;border-radius:0;border:2px solid #2d1c0d;background:linear-gradient(180deg,#76501f,#422916);color:#f3e1b7;margin-top:18px;padding:16px 18px;font-family:"Cinzel",serif;font-weight:800;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(233,184,81,.28),0 5px 0 #211309,0 16px 28px rgba(0,0,0,.24)}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(4px);box-shadow:inset 0 0 0 1px rgba(233,184,81,.28),0 1px 0 #211309}.btn-secondary{background:transparent;color:#4a2e17;border-color:#7d5524;box-shadow:none;margin-top:12px}
.meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px;text-align:center}.meta{border:1px solid rgba(95,62,25,.62);padding:10px;background:rgba(255,241,197,.18)}.meta b{display:block;font-family:"Cinzel",serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#76501f}.meta span{font-size:1.12rem;color:#281b11}
.chapter{font-family:"Cinzel",serif;color:#75501f;letter-spacing:.18em;font-size:.85rem;text-transform:uppercase;margin:0 0 8px}.quest-title{margin:0;font-family:"Uncial Antiqua","Cinzel",serif;font-weight:400;color:#2d1c10;font-size:clamp(2rem,5.3vw,3.5rem);line-height:1.02}.quest-copy{margin:22px auto 0;max-width:560px;color:#392817;font-size:clamp(1.18rem,2.2vw,1.45rem);line-height:1.45}.rule{margin:28px auto;width:min(330px,80%);height:1px;background:linear-gradient(90deg,transparent,#7d5524,transparent)}
.status{color:#594022;font-size:1.1rem;margin:0 0 6px}.status strong{color:#2b1b0e;font-family:"Cinzel",serif;letter-spacing:.09em}.seal-wrap{margin:24px auto 8px;display:flex;justify-content:center}.seal-wrap img{width:150px;transform:rotate(-4deg);filter:drop-shadow(0 12px 18px rgba(0,0,0,.35))}.completed-text{color:#5a281f;font-weight:700;font-size:1.25rem}.small-note{margin:18px 0 0;color:#674b2c;font-style:italic;font-size:1.05rem}.footer-actions{margin-top:28px}.error-box{text-align:left;border:2px solid #7f1010;padding:16px;color:#44130d;background:rgba(127,16,16,.12)}
.market{display:grid;gap:12px;margin-top:22px}.market-card{text-align:left;border:1px solid rgba(95,62,25,.62);padding:14px;background:rgba(255,241,197,.16)}.market-card h3{margin:0 0 6px;font-family:"Cinzel",serif}.market-card p{margin:0;color:#4c331e}
@keyframes flicker{0%{opacity:.75;transform:scale(1)}35%{opacity:.95;transform:scale(1.04)}62%{opacity:.7;transform:scale(.98)}100%{opacity:.9;transform:scale(1.03)}}@keyframes rise{0%{transform:translateY(0) rotate(45deg);opacity:0}15%{opacity:.45}100%{transform:translateY(-520px) rotate(125deg);opacity:0}}
@media (max-width:680px){.world{align-items:flex-start;padding:24px 12px}.ledger{padding:42px 22px;min-height:auto}.ledger:before{inset:11px}.corner{width:46px;height:46px}.meta-grid{grid-template-columns:1fr}.ornament{grid-template-columns:1fr 82px 1fr}.ornament img{width:82px}}
