/* Dungeon Chronicles — αρχική και ρυθμίσεις: ίδια περγαμηνή με τη σελίδα εκστρατείας */
:root{
  --parch:#e9dcbc; --parch-deep:#dcc99e; --ink:#2b1d12; --ink-soft:#5a4430;
  --blood:#7c1f17; --verd:#2c5a54; --gold:#8a6a2b; --rule:#b89c68; --field:#f3ead3;
  --display:"GFS Didot","EB Garamond",Georgia,serif;
  --body:"EB Garamond",Georgia,"Times New Roman",serif;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
[hidden]{display:none!important}
body{margin:0;background:var(--parch-deep);background-image:radial-gradient(ellipse at 50% 0%,var(--parch) 0%,var(--parch-deep) 70%);background-attachment:fixed;color:var(--ink);font-family:var(--body);font-size:1.1rem;line-height:1.55;padding:1.4rem 16px 2.5rem}
a{color:var(--blood)}
.wrap{max-width:44rem;margin:0 auto;display:flex;flex-direction:column;gap:1.1rem}
.wide{max-width:72rem}
.hero{text-align:center;display:flex;flex-direction:column;gap:.3rem;padding-block:.6rem}
.eyebrow{font-size:.78rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold)}
h1{font-family:var(--display);font-weight:400;font-size:clamp(2rem,7vw,3rem);line-height:1.1;margin:0;text-wrap:balance}
h2{font-family:var(--display);font-weight:400;font-size:1.4rem;margin:0 0 .6rem;color:var(--blood)}
h3{font-family:var(--display);font-weight:400;font-size:1.15rem;margin:0}
.sub{font-style:italic;color:var(--ink-soft);margin:0 auto;max-width:34rem}
.card{background:rgba(243,234,211,.7);border:1px solid var(--rule);padding:1rem 1.1rem;min-width:0}
.card p{margin:.3rem 0}
.about p{text-align:center}
.form{display:flex;flex-direction:column;gap:.7rem}
label{display:flex;flex-direction:column;gap:.2rem;font-size:1rem}
label small{color:var(--ink-soft);font-size:.85rem}
input,textarea,select{font:inherit;font-size:1rem;color:var(--ink);background:#fbf6e8;border:1px solid var(--rule);padding:.45rem .55rem;width:100%;min-width:0}
input:focus,textarea:focus,select:focus{outline:2px solid var(--gold);outline-offset:0}
input[type=checkbox]{width:auto}
.btn{font:inherit;font-size:1rem;background:var(--blood);color:var(--field);border:none;padding:.5rem 1rem;cursor:pointer;align-self:flex-start;text-decoration:none;display:inline-block}
.btn.alt{background:none;color:var(--blood);border:1px solid var(--blood)}
.btn.sm{font-size:.9rem;padding:.25rem .6rem}
.btn:disabled{opacity:.45;cursor:default}
.btn:focus-visible,.tab:focus-visible,.link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.link{font:inherit;background:none;border:none;color:var(--blood);text-decoration:underline;cursor:pointer;padding:0}
.msg{margin:0;font-size:.95rem;color:var(--blood);min-height:1.2em}
.msg.ok{color:var(--verd)}
.tabs{display:flex;gap:0;margin-bottom:.8rem;border-bottom:1px solid var(--rule)}
.tab{font:inherit;background:none;border:none;border-bottom:2px solid transparent;padding:.3rem .9rem;cursor:pointer;color:var(--ink-soft);margin-bottom:-1px}
.tab.on{color:var(--blood);border-bottom-color:var(--blood)}
.who{display:flex;justify-content:flex-end;gap:.8rem;align-items:baseline;font-size:.95rem;color:var(--ink-soft)}
.camp{border-top:1px solid var(--rule);padding:.8rem 0;display:flex;flex-direction:column;gap:.4rem}
.camp:first-child{border-top:none;padding-top:0}
.camp .url{display:flex;gap:.4rem;align-items:center;min-width:0}
.camp .url input{font-size:.9rem;padding:.25rem .4rem}
.camp .acts{display:flex;flex-wrap:wrap;gap:.4rem}
.slug{display:flex;align-items:stretch;min-width:0}
.slug .base{font-size:.85rem;color:var(--ink-soft);background:var(--field);border:1px solid var(--rule);border-right:none;padding:.45rem .5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%}
.more{margin-top:.8rem}
.more summary{cursor:pointer;color:var(--ink-soft)}
.more[open] summary{margin-bottom:.6rem}
.card > .more:first-child{margin-top:0}
.urow{display:flex;gap:.6rem;align-items:center;justify-content:space-between;border-top:1px solid var(--rule);padding:.4rem 0;font-size:.95rem;flex-wrap:wrap}
.urow span{min-width:0;overflow-wrap:anywhere}
.foot{text-align:center;color:var(--ink-soft);font-size:.85rem;margin-top:1rem}
.empty{color:var(--ink-soft);font-style:italic}
.note{font-size:.92rem;color:var(--ink-soft);margin:0;border-left:3px solid var(--blood);padding:.3rem .6rem;background:rgba(124,31,23,.06)}
.note b{color:var(--blood);margin-right:.3rem}
.camp.locked{opacity:.55}
.uacts{display:flex;gap:.4rem;flex-wrap:wrap}
.grant{border:1px solid var(--rule);background:var(--field);padding:.7rem;margin:.2rem 0 .6rem;display:flex;flex-direction:column;gap:.5rem}
.grant .glist{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.2rem .8rem}
.grant .chk{font-size:.95rem;flex-direction:row;align-items:center;gap:.4rem}
.grant input[type=number]{max-width:6rem}
.lbl{font-size:1rem}
.camp.locked h3{color:var(--ink-soft)}
