:root{--bg:#0a0a0c;--surface:#131316;--surface-raised:#1a1a1e;--surface-alt:#1f1f24;--border:#2e2e38;--border-gold:#6b5a30;--gold:#c9a84c;--gold-bright:#f0d070;--gold-dim:#8a6d3b;--text:#ddd0b0;--text-muted:#807060;--text-dim:#40382c;--accent:#c9a84c;--accent-hover:#f0d070;--success:#6fa055;--success-btn:#284e1c;--success-btn-hover:#376828;--warning:#d0882c;--danger:#8f2424;--danger-hover:#b03030;--tile-border:#484a4f;--sidebar-bg:#0d0c18;--sidebar-border:#2a2848;--sidebar-gold:#89c;--tile-gap:1rem;--radius:3px;--input-bg:#0c0c10;color:var(--text);font-family:Crimson Text,Georgia,Times New Roman,serif;font-size:17px;font-weight:400;line-height:1.5}*,:after,:before{box-sizing:border-box}html{background-color:var(--bg)}body{min-height:100vh;color:var(--text);margin:0}body:before{content:"";z-index:-1;background-image:linear-gradient(#040306d1,#040306d1),url(../backdrop.jpg?v=3);background-position:50% 30%;background-size:cover;position:fixed;inset:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#080808}::-webkit-scrollbar-thumb{background:var(--border-gold);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--gold-dim)}h1,h2{color:var(--gold);letter-spacing:.07em}h1,h2,h3,h4{font-family:Cinzel,Palatino Linotype,Georgia,serif;font-weight:700}h3,h4{letter-spacing:.05em}div.tile>h3.tile-title,section.tile>h3.tile-title{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 0 16px #c9a84c59,0 1px #000c;border-bottom:1px solid #0000;border-image:linear-gradient(90deg,#0000,#c9a84c38 20%,#c9a84c99 50%,#c9a84c38 80%,#0000) 1;align-items:center;gap:.55rem;margin:0 0 .9rem;padding-bottom:.6rem;font-family:Cinzel,Palatino Linotype,Georgia,serif;font-size:1.05rem;font-weight:700;display:flex}div.tile>h3.tile-title:after,div.tile>h3.tile-title:before,section.tile>h3.tile-title:after,section.tile>h3.tile-title:before{content:"";flex:1;min-width:8px;height:1px}div.tile>h3.tile-title:before,section.tile>h3.tile-title:before{background:linear-gradient(90deg,#0000,#c9a84c8c)}div.tile>h3.tile-title:after,section.tile>h3.tile-title:after{background:linear-gradient(270deg,#0000,#c9a84c8c)}.tile{outline-offset:-7px;outline:1px solid #c9a84c52;position:relative}.tile:before{content:"";pointer-events:none;border-radius:inherit;border-top:1px solid #c9a84c33;border-bottom:1px solid #0009;position:absolute;inset:0}div.tile.tile:not(.roll-log),section.tile.tile:not(.roll-log){border-color:var(--tile-border)}a{color:var(--gold);text-decoration:none;transition:color .15s,text-shadow .15s}a:hover{color:var(--gold-bright);text-shadow:0 0 10px #c9a84c66,0 0 20px #ffffff1a}button,input,select,textarea{font-family:Crimson Text,Georgia,serif;font-size:1.3rem;font-weight:600}input,select,textarea{background:var(--input-bg);color:var(--text);border:1px solid var(--border-gold);border-radius:var(--radius);padding:.35rem .65rem;transition:border-color .15s,box-shadow .15s}input::-moz-placeholder{color:var(--text-muted);opacity:.55;font-weight:400}textarea::-moz-placeholder{color:var(--text-muted);opacity:.55;font-weight:400}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.55;font-weight:400}input:focus,select:focus,textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 2px #c9a84c24,0 0 10px #c9a84c2e,inset 0 0 6px #ffffff08}input[type=number]::-webkit-inner-spin-button{opacity:.3}button{background:linear-gradient(180deg,var(--surface-alt) 0,var(--surface) 100%);color:var(--gold);border:1px solid var(--border-gold);border-radius:var(--radius);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;padding:.4rem 1rem;font-family:Cinzel,Palatino Linotype,Georgia,serif;font-size:1rem;font-weight:700;transition:border-color .15s,color .15s,box-shadow .2s,background .15s}button:hover:not(:disabled){border-color:var(--gold);color:var(--gold-bright);box-shadow:0 0 14px #c9a84c61,0 0 30px #ffffff12,inset 0 1px #ffffff14}button:active:not(:disabled){transform:translateY(1px);box-shadow:0 0 6px #c9a84c33}button:disabled{opacity:.35;cursor:not-allowed}@media (width<=480px){:root{--tile-gap:.5rem;font-size:16px}.tile{padding:.6rem}}@media (orientation:portrait) and (width<=820px){:root{font-size:15px}button:not(.close-btn){font-size:.6rem!important}}
