/* Friends of the Millwald, in the theatre's brand (Brand & Messaging Guide):
   Blue #218BCA, Light Blue #8DC3E4, Gold #FAA519, Plum #731E5A, Pink #C54592.
   Headlines in Fraunces (standing in for Larken Black), body in Arial. */
:root{
  --plum:#731e5a; --plum-deep:#4a0f3a; --pink:#b23a80; --blue:#218bca; --light-blue:#8dc3e4; --gold:#faa519; --on-gold:#3d0f30;
  --bg:#fdf8f1; --surface:#ffffff; --sunk:#f6efe6; --ink:#2a0f22; --muted:#6b5664; --line:#eadfd6;
  --head:var(--plum-deep); --link:#1a74ab; --bad:#b3261e; --good:#23724f; --good-soft:#dcf0e5; --gold-soft:#fef1d6;
  --shadow:0 18px 40px -22px rgb(115 30 90 / .35);
  --f-display:"Fraunces",Georgia,"Times New Roman",serif; --f-body:Arial,"Helvetica Neue",Helvetica,sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#150c13; --surface:#21141d; --sunk:#2a1925; --ink:#f6eef3; --muted:#bba8b5; --line:#3b2735;
  --head:#f3c6e3; --plum:#d893c4; --pink:#eb7dbd; --link:#8dc3e4; --bad:#ff8a80; --good:#63c796; --good-soft:#173326; --gold-soft:#3a2b0f;
  --shadow:0 18px 40px -22px rgb(0 0 0 / .7); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#150c13; --surface:#21141d; --sunk:#2a1925; --ink:#f6eef3; --muted:#bba8b5; --line:#3b2735;
  --head:#f3c6e3; --plum:#d893c4; --pink:#eb7dbd; --link:#8dc3e4; --bad:#ff8a80; --good:#63c796; --good-soft:#173326; --gold-soft:#3a2b0f;
  --shadow:0 18px 40px -22px rgb(0 0 0 / .7); color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 var(--f-body);-webkit-font-smoothing:antialiased}
a{color:var(--link)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
[hidden]{display:none !important}

/* top band */
.band{background:linear-gradient(135deg,#4a0f3a,#731e5a 60%,#9c2e7a);color:#fff;padding:16px}
.band .in{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.logo{width:150px;height:27px;background:#fff;-webkit-mask:url(/millwald-logo-mask.png) left center/contain no-repeat;mask:url(/millwald-logo-mask.png) left center/contain no-repeat;flex:none}
.band .tag{font-weight:700;letter-spacing:.16em;font-size:12px;text-transform:uppercase;border-left:1px solid rgb(255 255 255 / .45);padding-left:14px}
.band nav{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.band nav a,.band nav button{color:#fff;background:transparent;border:1px solid rgb(255 255 255 / .35);border-radius:999px;padding:6px 14px;font:700 13px var(--f-body);text-decoration:none;cursor:pointer}
.band nav a:hover,.band nav button:hover{background:rgb(255 255 255 / .12)}

main{max-width:1080px;margin:0 auto;padding:28px 16px 56px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}
.narrow{max-width:440px;margin:24px auto}
h1{font:900 clamp(28px,5vw,40px)/1.08 var(--f-display);letter-spacing:-.01em;margin:0 0 8px;color:var(--head)}
h2{font:700 12px/1.2 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--plum);margin:0 0 14px}
h3{font:800 20px/1.2 var(--f-display);margin:0 0 6px;color:var(--head)}
.note{color:var(--muted);font-size:14px}
label{display:grid;gap:6px;font-size:14px;font-weight:700;margin:0 0 14px}
label .hint{font-weight:400;color:var(--muted);font-size:13px}
input,select,textarea{font:16px var(--f-body);padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);width:100%}
textarea{min-height:90px;resize:vertical;line-height:1.45}
input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:transparent}
input[type=checkbox]{width:auto}
input:disabled,textarea:disabled,select:disabled,input[readonly]{background:var(--sunk);color:var(--muted);cursor:not-allowed}
.check{display:flex;align-items:center;gap:8px;font-weight:700}
.code-input{font:700 24px ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;text-align:center}
button,.btn{font:700 15px var(--f-body);padding:11px 20px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}
button:disabled{opacity:.6;cursor:default}
.primary{background:var(--gold);border-color:var(--gold);color:var(--on-gold)}
.plum{background:#731e5a;border-color:#731e5a;color:#fff}
.small{padding:6px 13px;font-size:13px}
.danger{color:var(--bad)}
.full{width:100%}
.msg{min-height:22px;font-size:14px;margin:2px 0 12px}
.msg.err{color:var(--bad)} .msg.ok{color:var(--good)}
.temp{font:700 18px ui-monospace,Menlo,monospace;background:var(--sunk);border:1px dashed var(--line);padding:8px 12px;border-radius:8px;display:inline-block;margin-top:6px;user-select:all}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:end}
.row > label{flex:1 1 200px}
.pill{display:inline-block;border-radius:999px;padding:3px 11px;font:700 11px/1.5 var(--f-body);letter-spacing:.08em;text-transform:uppercase;background:var(--sunk);color:var(--muted)}
.pill.gold{background:var(--gold);color:var(--on-gold)}
.pill.blue{background:var(--blue);color:#fff}
.pill.good{background:var(--good-soft);color:var(--good)}
.pill.off{background:transparent;border:1px solid var(--line)}
