:root{color-scheme:dark;--allocation-bg:#080e18;--allocation-panel:#101b2b;--allocation-line:#29384c;--allocation-text:#eef3fa;--allocation-muted:#abb9cd;--allocation-accent:#ff9347;--allocation-green:#86e0b7}
*{box-sizing:border-box}body{margin:0;background:var(--allocation-bg);color:var(--allocation-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.6}a{color:var(--allocation-accent);text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;min-height:46px;padding:.65rem 1.1rem;border:1px solid var(--allocation-accent);border-radius:6px;background:var(--allocation-accent);color:#201106;font-weight:700}button.secondary{background:transparent;color:var(--allocation-text);border-color:#617187}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #91c8ff;outline-offset:4px}input,select{width:100%;min-height:48px;border:1px solid #526177;border-radius:5px;padding:.7rem;background:#08121f;color:var(--allocation-text)}input:read-only{color:var(--allocation-muted)}input[type=checkbox]{width:20px;min-height:20px;flex-shrink:0;margin-top:5px}label{display:block;font-size:.95rem;margin-bottom:.4rem;font-weight:600}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.85rem,5vw,2.8rem);line-height:1.2;letter-spacing:-.04em;margin-bottom:.7rem}h2{font-size:1.25rem;line-height:1.4}h3{font-size:1rem}p{margin-bottom:1rem}.masthead{border-bottom:1px solid var(--allocation-line)}.masthead-inner{max-width:1160px;margin:auto;padding:1.1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.brand{color:var(--allocation-text);font-weight:800;letter-spacing:.14em;text-decoration:none;font-size:.95rem}.brand span{color:var(--allocation-accent)}main{max-width:1160px;padding:2.75rem 1.5rem 4rem;margin:auto}.intro{max-width:740px;margin-bottom:2rem}.eyebrow{color:var(--allocation-accent);font-size:.875rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;margin-bottom:.75rem}.muted{color:var(--allocation-muted)}.layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:1.5rem;align-items:start}.panel{padding:1.6rem;background:var(--allocation-panel);border:1px solid var(--allocation-line);border-radius:10px;margin-bottom:1.5rem}.primary-panel{border-top:3px solid var(--allocation-accent)}.panel p:last-child{margin-bottom:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.section-head h2{margin:0}.badge{display:inline-block;border:1px solid #617187;padding:.2rem .6rem;border-radius:30px;color:var(--allocation-muted);font-size:.875rem;white-space:nowrap}.badge.open{border-color:var(--allocation-green);color:var(--allocation-green)}.timer{font-variant-numeric:tabular-nums;font-size:clamp(1.7rem,4vw,2.5rem);letter-spacing:.03em;font-weight:700;line-height:1.35;margin:.8rem 0}.amount-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}.amount-box{background:#0a1422;border:1px solid var(--allocation-line);border-radius:6px;padding:1rem;min-width:0}.amount-box .label{color:var(--allocation-muted);font-size:.875rem}.amount{font-size:1.4rem;font-weight:700;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.amount.accent{color:var(--allocation-accent)}.field{margin:1.2rem 0}.help{font-size:.875rem;color:var(--allocation-muted);margin-top:.5rem}.actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center}.check{display:flex;gap:.65rem;align-items:flex-start;font-weight:400}.message{padding:1rem;border:1px solid #746040;background:#2b241a;border-radius:6px;margin-bottom:1.5rem;overflow-wrap:anywhere}.message.error{border-color:#d0787d;background:#321d26;color:#ffe4e7}.success{border-color:#377a64}.success h2{color:var(--allocation-green)}dl{margin:0}dl>div{border-bottom:1px solid var(--allocation-line);padding:.85rem 0}dl>div:last-child{border-bottom:0}dt{font-size:.875rem;color:var(--allocation-muted);margin-bottom:.2rem}dd{margin:0;overflow-wrap:anywhere}.wallet{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem;overflow-wrap:anywhere}.steps{padding-left:1.3rem;color:var(--allocation-muted)}.steps li{margin-bottom:.65rem}dialog{max-width:640px;width:calc(100% - 2rem);max-height:90vh;overflow:auto;padding:1.75rem;border:1px solid #65738a;border-top:3px solid var(--allocation-accent);border-radius:10px;background:var(--allocation-panel);color:var(--allocation-text)}dialog::backdrop{background:#02070cbb}dialog .actions{margin-top:1.5rem}.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.kpis .panel{margin:0}.kpis .amount{font-size:1.75rem}.admin-grid{margin:1.5rem 0;display:grid;grid-template-columns:1.2fr 1fr;gap:1.5rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid .field{margin:0 0 1rem}.table-wrap{overflow-x:auto;margin:1rem -1.6rem;padding:0 1.6rem}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{text-align:left;padding:.9rem .7rem;border-bottom:1px solid var(--allocation-line);vertical-align:top}th{color:var(--allocation-muted);white-space:nowrap;font-weight:600}td.wallet{min-width:230px;max-width:280px;word-break:break-all}.toolbar{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.toolbar input{max-width:440px}.pagination{display:flex;justify-content:space-between;align-items:center;gap:1rem}.footer{font-size:.875rem;color:var(--allocation-muted);margin-top:2rem}.full-width{width:100%}.spaced{margin-top:1rem}[hidden]{display:none!important}
@media(max-width:780px){main{padding:1.75rem 1rem 3rem}.masthead-inner{padding:1rem}.layout,.admin-grid{grid-template-columns:1fr}.kpis{grid-template-columns:1fr}.panel{padding:1.25rem}.table-wrap{margin:1rem -1.25rem;padding:0 1.25rem}.form-grid{grid-template-columns:1fr}.amount-grid{gap:.65rem}.amount-box{padding:.75rem}.amount{font-size:1.2rem}.section-head{align-items:flex-start}.brand{letter-spacing:.08em}.pagination{flex-wrap:wrap}}


/* Misfit Galaxy branding, shared by the player portal and allocation admin. */
:root {
  --allocation-bg: #060a12;
  --allocation-panel: rgba(8, 14, 24, .96);
  --allocation-line: rgba(232, 115, 30, .28);
  --allocation-text: #dce4ec;
  --allocation-muted: #abb9cd;
  --allocation-accent: #f08a36;
  --allocation-purple: #a78bfa;
}
body {
  background: linear-gradient(180deg, rgba(5, 7, 12, .52), rgba(5, 7, 12, .9) 65%, #05070c),
    url('/images/misfit-galaxy-background.png') center top / cover fixed;
}
.masthead { background: rgba(6, 10, 18, .83); }
.masthead-inner { padding-top: .65rem; padding-bottom: .65rem; }
.brand { display: inline-flex; flex-shrink: 0; }
.brand img { display: block; width: 132px; height: auto; }
.portal-label, .eyebrow { font-family: 'Share Tech Mono', monospace; font-weight: 400; }
.portal-label { font-size: .8rem; letter-spacing: .13em; text-transform: uppercase; color: var(--allocation-muted); text-align: right; }
main { padding-top: 3rem; }
.intro { max-width: 760px; margin-bottom: 2.25rem; }
h1, h2, h3 { font-family: 'Orbitron', 'Segoe UI', sans-serif; }
h1 { font-size: clamp(1.9rem, 4.4vw, 3.2rem); line-height: 1.3; letter-spacing: -.025em; font-weight: 600; }
h1 span { color: var(--allocation-accent); }
h2 { font-size: 1.02rem; letter-spacing: .025em; }
.intro > .muted { max-width: 650px; }
.panel { position: relative; border-radius: 2px; box-shadow: 0 12px 36px #0003; }
.panel::before, .panel::after { content: ''; position: absolute; width: 13px; height: 13px; pointer-events: none; }
.panel::before { left: -1px; top: -1px; border-left: 2px solid var(--allocation-accent); border-top: 2px solid var(--allocation-accent); }
.panel::after { right: -1px; bottom: -1px; border-right: 2px solid #7c3aed; border-bottom: 2px solid #7c3aed; }
.primary-panel { border-top: 3px solid var(--allocation-accent); }
button { border-radius: 2px; background: #e8731e; border-color: #e8731e; color: #100a05; font-family: 'Rajdhani', 'Segoe UI', sans-serif; font-size: 1.1rem; letter-spacing: .035em; }
button:not(:disabled):hover { background: #f0a030; border-color: #f0a030; }
button.secondary { background: transparent; border-color: #796297; }
button.secondary:not(:disabled):hover { background: #a78bfa18; border-color: var(--allocation-purple); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline-color: var(--allocation-purple); }
input, select, .amount-box, dialog, .message { border-radius: 2px; }
input[type=checkbox] { accent-color: #e8731e; }
.amount-box { background: #060a12; }
.amount-box:last-child { border-color: #7c3aed66; background: linear-gradient(135deg, #7c3aed16, #060a12); }
.amount.accent { color: var(--allocation-purple); }
.timer, .amount { font-family: 'Share Tech Mono', ui-monospace, monospace; font-weight: 400; }
.timer { color: var(--allocation-accent); font-size: clamp(1.65rem, 3.5vw, 2.4rem); }
.badge { border-radius: 2px; font-size: .78rem; }
.steps { list-style: none; counter-reset: registration-step; padding-left: 0; }
.steps li { counter-increment: registration-step; display: flex; gap: .8rem; align-items: baseline; }
.steps li::before { content: '0' counter(registration-step); color: var(--allocation-purple); font-family: 'Share Tech Mono', monospace; }
.footer { padding-top: 1.25rem; border-top: 1px solid var(--allocation-line); }
dialog::backdrop { background: #02040bd9; }
@media(max-width:780px) {
  main { padding-top: 2rem; }
  .brand img { width: 105px; }
  .portal-label { max-width: 150px; font-size: .7rem; }
  h2 { font-size: .93rem; }
  .intro { margin-bottom: 1.75rem; }
}
@media(max-width:380px) {
  .section-head { flex-wrap: wrap; gap: .6rem; }
  .amount-grid { grid-template-columns: 1fr; }
}
