:root{--color-bg-deep:#0d0a06;--color-bg-card:#1a0f06;--color-bg-elevated:#110d07;--color-gold:#d4af37;--color-gold-hover:#f0d060;--color-gold-muted:#a67c00;--color-brown:#6f3d1f;--color-brown-light:#8b5e34;--color-text:#e8dcc8;--color-text-muted:#b99d6b;--color-text-dim:#8b7355;--color-text-faint:#6f5530;--color-danger:#8b1a1a;--color-success:#4ade80;--color-error:#ff6b6b;--font-heading:"Cinzel", Georgia, serif;--font-body:"Crimson Text", Georgia, serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background:var(--color-bg-deep);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.65}img{max-width:100%;display:block}a{color:var(--color-gold);text-decoration:none;transition:color .2s}a:hover{color:var(--color-gold-hover)}button{cursor:pointer;font-family:inherit}:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-gold);line-height:1.2}h1{letter-spacing:.04em;font-size:clamp(2rem,5vw,3.5rem);font-weight:900}h2{font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:700}h3{font-size:1.25rem;font-weight:600}.container{max-width:1200px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}.section{padding:clamp(3rem,8vw,6rem) 0}.ornament{justify-content:center;align-items:center;gap:12px;max-width:280px;margin:2rem auto;display:flex}.ornament:before,.ornament:after{content:"";background:linear-gradient(90deg, transparent, var(--color-brown), transparent);flex:1;height:1px}.field{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.field-label{font-size:.78rem;font-family:var(--font-heading);color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase}.cl-input{width:100%;color:var(--color-text);font-family:var(--font-body);box-sizing:border-box;appearance:none;background:#0a0804cc;border:1px solid #c9a84c26;border-radius:6px;padding:.75rem 1rem;font-size:1rem;line-height:1.4;transition:border-color .2s,box-shadow .2s}.cl-input:focus{border-color:#c9a84c73;outline:none;box-shadow:0 0 0 3px #c9a84c12}.cl-input::placeholder{color:var(--color-text-faint)}.btn-primary{background:linear-gradient(135deg, var(--color-gold), var(--color-gold-hover));width:100%;color:var(--color-bg-deep);font-family:var(--font-heading);cursor:pointer;letter-spacing:.03em;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 20px #c9a84c4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}@keyframes cl-spin{to{transform:rotate(360deg)}}.cl-loading{color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:40vh;padding:5rem 2rem;font-size:.95rem;display:flex}.cl-loading-ring{border:2px solid #c9a84c1f;border-top-color:var(--color-gold);border-radius:50%;flex-shrink:0;width:36px;height:36px;animation:.8s linear infinite cl-spin}.page-hero{background:var(--color-bg-elevated);text-align:center;border-bottom:1px solid #c9a84c0f;padding:clamp(2.5rem,5vw,4rem) 0 clamp(1.5rem,3vw,2.5rem)}.page-hero-desc{color:var(--color-text-muted);max-width:520px;margin:.5rem auto 0;font-size:1.05rem;line-height:1.65}:root{--base-size:180px;--base-height:calc(var(--base-size) * .845)}.d20-container{width:200px;height:200px;perspective:calc(var(--base-size) * 18);justify-content:center;align-items:center;display:flex}.d20{width:var(--base-size);height:var(--base-height);transform-style:preserve-3d;position:relative}@media screen and (prefers-reduced-motion:no-preference){.d20{animation:20s linear infinite d20-rotate}}.d20,.d20>*{box-sizing:border-box;margin:0;padding:0;list-style-type:none}.d20>*{width:var(--base-size);height:var(--base-height);clip-path:polygon(0 0,50% 100%,100% 0);transform-origin:top;font-size:calc(var(--base-size) * .28);color:#d4af37;padding-bottom:calc(var(--base-size) * .3);--d:calc(var(--base-size) * .69);background:linear-gradient(#d4af3773 0 0%,#0000 2% 100%),linear-gradient(300deg,#d4af3740 0 32.5%,#0000 35% 100%),linear-gradient(60deg,#d4af3740 0 32.5%,#0000 35% 100%),linear-gradient(0deg,#0f0a02 0,#1c1306 100%);justify-content:center;align-items:center;font-family:Cinzel,Georgia,serif;font-weight:700;display:flex;position:absolute}.d20>:first-child{transform:rotateY(.7turn) translateZ(calc(var(--d) * -1)) rotateX(127deg)}.d20>:nth-child(20){bottom:calc(var(--base-height) * -1);transform:rotateY(.7turn) translateZ(var(--d)) rotateX(307deg)}.d20>:nth-child(2){transform:rotateY(.6turn) translateZ(var(--d)) rotateX(11deg)}.d20>:nth-child(19){bottom:calc(var(--base-height) * -1);transform:rotateY(.6turn) translateZ(calc(var(--d) * -1)) rotateX(191deg)}.d20>:nth-child(3){bottom:calc(var(--base-height) * -1);transform:rotateY(1turn) translateZ(calc(var(--d) * -1)) rotateX(191deg)}.d20>:nth-child(18){transform:rotateY(1turn) translateZ(var(--d)) rotateX(11deg)}.d20>:nth-child(4){transform:rotateY(.3turn) translateZ(calc(var(--d) * -1)) rotateX(127deg)}.d20>:nth-child(17){bottom:calc(var(--base-height) * -1);transform:rotateY(.3turn) translateZ(var(--d)) rotateX(307deg)}.d20>:nth-child(5){transform:rotateY(.8turn) translateZ(var(--d)) rotateX(11deg)}.d20>:nth-child(16){bottom:calc(var(--base-height) * -1);transform:rotateY(.8turn) translateZ(calc(var(--d) * -1)) rotateX(191deg)}.d20>:nth-child(6){transform:rotateY(.9turn) translateZ(calc(var(--d) * -1)) rotateX(127deg)}.d20>:nth-child(15){bottom:calc(var(--base-height) * -1);transform:rotateY(.9turn) translateZ(var(--d)) rotateX(307deg)}.d20>:nth-child(7){bottom:calc(var(--base-height) * -1);transform:rotateY(.2turn) translateZ(calc(var(--d) * -1)) rotateX(191deg)}.d20>:nth-child(14){transform:rotateY(.2turn) translateZ(var(--d)) rotateX(11deg)}.d20>:nth-child(8){transform:rotateY(.1turn) translateZ(calc(var(--d) * -1)) rotateX(127deg)}.d20>:nth-child(13){bottom:calc(var(--base-height) * -1);transform:rotateY(.1turn) translateZ(var(--d)) rotateX(307deg)}.d20>:nth-child(9){transform:rotateY(.4turn) translateZ(var(--d)) rotateX(11deg)}.d20>:nth-child(12){bottom:calc(var(--base-height) * -1);transform:rotateY(.4turn) translateZ(calc(var(--d) * -1)) rotateX(191deg)}.d20>:nth-child(10){transform:rotateY(.5turn) translateZ(calc(var(--d) * -1)) rotateX(127deg)}.d20>:nth-child(11){bottom:calc(var(--base-height) * -1);transform:rotateY(.5turn) translateZ(var(--d)) rotateX(307deg)}@keyframes d20-rotate{0%{transform:rotateX(0)rotateY(360deg)rotate(360deg)}to{transform:rotateX(360deg)rotateY(0)rotate(-360deg)}}
