@import url("/randolet-tokens.css");
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: var(--bg); color: var(--text); -webkit-font-smoothing: antialiased; }
button, input, textarea, select { font: inherit; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
button { cursor: pointer; color: inherit; }
button:disabled { cursor: default; opacity: .48; }
button:focus-visible, a:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
a { color: var(--accent-strong); }
h1, h2, h3, p { margin: 0; }
h1 { font-size: clamp(26px, 6vw, 34px); letter-spacing: -1px; line-height: 1.16; }
h2 { font-size: 21px; letter-spacing: -.5px; line-height: 1.25; }
h3 { font-size: 16px; line-height: 1.35; }
p { line-height: 1.55; }
.icon-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.app-shell { max-width: 680px; margin: auto; min-height: 100dvh; position: relative; }
.app-header { padding: calc(22px + env(safe-area-inset-top)) 24px 23px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand { text-decoration: none; display: flex; align-items: center; gap: 10px; color: var(--text); font-weight: 750; font-size: 19px; letter-spacing: -.5px; }
.brand-mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; background: var(--accent); color: var(--bg); }
.brand-caption { display: block; color: var(--muted); letter-spacing: .15px; font-size:13px; font-weight: 450; margin-top: 3px; }
.stage-badge { display: inline-flex; align-items: center; gap: 6px; font-size:13px; font-weight: 650; background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 7px 9px; white-space: nowrap; }
.status-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--muted); }
main { padding: 0 24px calc(var(--bottom-height) + env(safe-area-inset-bottom) + 32px); }
.page-enter { animation: enter .22s ease-out both; }
.page-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin: 8px 0 24px; }
.eyebrow { display: block; font-size:13px; font-weight: 750; letter-spacing: 1.8px; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; }
.page-intro { font-size: 13px; color: var(--muted); margin-top: 9px; }
.icon-button { display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: 13px; width: 42px; height: 42px; background: var(--surface); flex-shrink: 0; }
.hero { background: var(--hero); color: var(--text); padding: 25px; border-radius: 24px; position: relative; overflow: hidden; margin-bottom: 25px; min-height: 226px; }
.hero-content { position: relative; z-index: 1; max-width: 69%; }
.hero .eyebrow { color: var(--muted); font-size:13px; }
.hero h1 { font-size: clamp(27px, 6.8vw, 35px); font-weight: 650; letter-spacing: -1.1px; }
.hero p { font-size:13px; color: var(--muted); max-width: 250px; margin: 12px 0 19px; }
.hero .button { font-size:13px; padding: 12px 14px; min-height: 42px; }



.button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 13px 19px; border: 0; border-radius: 13px; font-weight: 650; font-size: 14px; text-decoration: none; background: var(--accent); color: var(--bg); }
.button .icon { width: 18px; height: 18px; }
.button.secondary { border: 1px solid var(--line); background: var(--surface); color: var(--text); }
.button.ghost { background: transparent; color: var(--muted); padding: 10px; }
.button.full { width: 100%; }
.section-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 24px 0 14px; }
.section-heading h2 { font-size: 19px; }
.count { background: var(--surface-soft); color: var(--muted); padding: 5px 9px; border-radius: 9px; font-size:13px; }
.segmented { display: flex; gap: 4px; background: var(--surface-soft); padding: 4px; border-radius: 14px; margin-bottom: 16px; }
.segmented button { flex: 1; background: none; color: var(--muted); border: 0; border-radius: 10px; padding: 11px 7px; font-size: 13px; font-weight: 650; }
.segmented button[aria-selected="true"] { background: var(--accent); color: var(--bg); box-shadow: 0 2px 5px var(--bg); }
.filters { display: flex; gap: 8px; margin: 0 0 17px; overflow-x: auto; }
.filter { background: transparent; color: var(--muted); border: 1px solid var(--line); border-radius: 20px; padding: 8px 12px; white-space: nowrap; font-size:13px; }
.filter[aria-pressed="true"] { background: var(--accent-soft); color: var(--accent-strong); border-color: var(--accent-strong); }
.empty-card { border: 1px dashed var(--line); border-radius: 20px; padding: 30px 22px; text-align: center; margin: 12px 0; }
.empty-card .large-icon, .state-view .large-icon { width: 56px; height: 56px; display: grid; place-items: center; margin: 0 auto 16px; border-radius: 18px; color: var(--accent-strong); background: var(--accent-soft); }
.empty-card .large-icon .icon { width: 26px; height: 26px; }
.empty-card p { max-width: 300px; margin: 8px auto 17px; font-size:13px; color: var(--muted); }
.empty-card .button { min-height: 42px; font-size:13px; }
.notice { display: flex; gap: 11px; padding: 15px; margin: 18px 0; background: var(--surface-soft); border-radius: 14px; color: var(--muted); font-size:13px; line-height: 1.55; }
.notice .icon { width: 17px; height: 17px; margin-top: 1px; }
.notice strong { display: block; color: var(--text); margin-bottom: 3px; font-size:13px; font-weight: 650; }
.notice.warning { background: var(--accent-soft); }
.bottom-nav { position: fixed; z-index: 10; bottom: 0; left: 50%; transform: translateX(-50%); max-width: 680px; width: 100%; display: grid; grid-template-columns: repeat(4,1fr); padding: 9px 15px calc(10px + env(safe-area-inset-bottom)); min-height: var(--bottom-height); border-top: 1px solid var(--line); background: var(--surface); }
.nav-item { display: flex; flex-direction: column; align-items: center; gap: 5px; background: none; border: 0; color: var(--muted); font-size:13px; padding: 4px; }
.nav-icon { height: 29px; min-width: 46px; border-radius: 10px; display: grid; place-items: center; }
.nav-item[aria-current="page"] { color: var(--accent-strong); font-weight: 700; }
.nav-item[aria-current="page"] .nav-icon { background: var(--accent-soft); }
.nav-item .icon { width: 21px; height: 21px; }
.state-view { padding: 65px 12px; text-align: center; }
.state-view h1 { font-size: 25px; }
.state-view p { max-width: 340px; color: var(--muted); margin: 12px auto 22px; font-size: 14px; }
.spinner { display: inline-block; width: 30px; height: 30px; border: 3px solid var(--line); border-top-color: var(--accent-strong); border-radius: 50%; animation: spin 1s linear infinite; margin-bottom: 20px; }
.skeleton { border-radius: 20px; height: 105px; background: var(--surface-soft); margin: 12px 0; animation: pulse 1.2s ease-in-out infinite alternate; }
.draft-card { width: 100%; text-align: left; border: 1px solid var(--line); border-radius: 19px; background: var(--surface); margin-bottom: 11px; padding: 17px; box-shadow: var(--shadow); }
.draft-card:active { transform: translateY(1px); }
.draft-top { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin-bottom: 13px; }
.draft-type { display: flex; align-items: center; gap: 7px; font-size:13px; color: var(--muted); }
.draft-type .icon { width: 15px; height: 15px; }
.draft-status { color: var(--accent-strong); background: var(--accent-soft); border-radius: 7px; font-size:13px; font-weight: 650; padding: 5px 7px; }
.draft-title { overflow-wrap: anywhere; font-size: 16px; font-weight: 650; line-height: 1.35; margin-bottom: 13px; }
.draft-bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; }
.draft-prize { font-size: 19px; font-weight: 700; letter-spacing: -.5px; }
.draft-prize small { font-size:13px; letter-spacing: 0; font-weight: 500; color: var(--muted); }
.draft-caption { color: var(--muted); font-size:13px; margin-top: 4px; }
.edit-pill { padding: 8px; border-radius: 10px; background: var(--surface-soft); display: grid; place-items: center; }
.edit-pill .icon { width: 17px; height: 17px; }
.editor-top { display: flex; align-items: center; gap: 12px; margin: 4px 0 23px; }
.editor-top h1 { font-size: 22px; letter-spacing: -.6px; }
.save-status { color: var(--muted); font-size:13px; margin-top: 5px; min-height: 14px; }
.save-status.error { color: var(--danger); }
.step-counter { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 9px; font-size:13px; color: var(--muted); }
.step-counter strong { color: var(--accent-strong); font-weight: 600; }
.progress-track { display: flex; gap: 5px; margin-bottom: 28px; }
.progress-part { flex: 1; height: 4px; border-radius: 5px; background: var(--line); }
.progress-part.done { background: var(--accent-strong); }
.editor-section h2 { margin-bottom: 8px; }
.editor-section > p { color: var(--muted); font-size: 13px; margin-bottom: 23px; }
.field { display: block; margin-bottom: 20px; }
.field-title { display: block; font-size:13px; font-weight: 650; margin-bottom: 9px; }
.field-help { display: block; font-size:13px; color: var(--muted); margin-top: 7px; line-height: 1.6; }
input, textarea, select { width: 100%; border: 1px solid var(--line); border-radius: 13px; padding: 14px; color: var(--text); background: var(--surface); outline: none; font-size: 16px; min-height: 50px; }
input:focus, textarea:focus, select:focus { border-color: var(--accent-strong); box-shadow: 0 0 0 3px var(--accent-soft); }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: .7; }
input[aria-invalid="true"] { border-color: var(--danger); }
textarea { resize: vertical; min-height: 120px; }
.two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.form-error { padding: 11px 13px; border: 1px solid currentColor; border-radius: 12px; color: var(--danger); font-size:13px; margin: 16px 0; line-height: 1.5; }
.choice-group { display: grid; gap: 10px; margin: 20px 0; }
.choice-card { display: flex; align-items: center; gap: 13px; padding: 17px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); text-align: left; }
.choice-card[aria-pressed="true"] { background: var(--accent-soft); border-color: var(--accent-strong); }
.choice-icon { width: 42px; height: 42px; border-radius: 13px; background: var(--surface-soft); display: grid; place-items: center; flex-shrink: 0; }
.choice-card[aria-pressed="true"] .choice-icon { background: var(--accent); color: var(--bg); }
.choice-text { flex: 1; }
.choice-text strong { font-size: 13px; display: block; margin-bottom: 5px; font-weight: 650; }
.choice-text span { display: block; font-size:13px; color: var(--muted); line-height: 1.5; }
.radio-indicator { width: 18px; height: 18px; border: 1.5px solid var(--line); border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; }
.choice-card[aria-pressed="true"] .radio-indicator { border: 5px solid var(--accent-strong); }
.editor-actions { display: flex; gap: 10px; margin-top: 27px; padding-top: 20px; border-top: 1px solid var(--line); }
.editor-actions .button { flex: 1; }
.editor-actions .button.secondary { flex: 0 0 auto; }
.money-card { background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 23px; margin: 18px 0; }
.money-label { font-size:13px; color: var(--muted); }
.money-value { font-size: 38px; font-weight: 650; letter-spacing: -1.6px; margin: 9px 0 18px; }
.money-value small { font-size: 15px; font-weight: 500; letter-spacing: 0; color: var(--muted); margin-left: 5px; }
.reserve-line { display: flex; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 15px; font-size:13px; color: var(--muted); gap: 12px; }
.reserve-line strong { font-weight: 600; color: var(--text); }
.wallet-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.wallet-actions .button { min-height: 52px; }
.summary-card { padding: 19px; background: var(--surface); border: 1px solid var(--line); border-radius: 18px; margin: 19px 0; }
.summary-row { display: flex; justify-content: space-between; gap: 14px; padding: 12px 0; font-size:13px; border-bottom: 1px solid var(--line); }
.summary-row:last-child { border: 0; }
.summary-row span { color: var(--muted); }
.summary-row strong { font-weight: 600; text-align: right; overflow-wrap: anywhere; max-width: 65%; }
.summary-row.total { font-size: 16px; }
.summary-row.total strong { color: var(--accent-strong); }
.summary-title { font-size: 20px; font-weight: 650; overflow-wrap: anywhere; margin: 8px 0 11px; letter-spacing: -.4px; }
.summary-description { color: var(--muted); font-size:13px; white-space: pre-wrap; overflow-wrap: anywhere; }
.profile-card { display: flex; align-items: center; gap: 17px; margin: 27px 0; }
.avatar { display: grid; place-items: center; width: 64px; height: 64px; background: var(--accent); color: var(--surface); border-radius: 22px; font-size: 25px; font-weight: 600; }
.profile-name { font-size: 20px; font-weight: 650; overflow-wrap: anywhere; }
.profile-id { margin-top: 5px; font-size:13px; color: var(--muted); }
.profile-menu { border: 1px solid var(--line); border-radius: 18px; background: var(--surface); overflow: hidden; margin-bottom: 18px; }
.profile-row { display: flex; align-items: center; gap: 12px; padding: 18px; width: 100%; text-align: left; border: 0; border-bottom: 1px solid var(--line); background: none; font-size:13px; }
.profile-row:last-child { border: 0; }
.profile-row .row-text { flex: 1; }
.profile-row small { color: var(--muted); font-size:13px; }
.profile-row .icon { width: 18px; height: 18px; color: var(--muted); }
.disclosure { border-bottom: 1px solid var(--line); padding: 18px; }
.disclosure:last-child { border: 0; }
.disclosure summary { cursor: pointer; font-size:13px; font-weight: 600; }
.disclosure p { padding-top: 13px; color: var(--muted); font-size:13px; }
.toast { position: fixed; z-index: 30; left: 50%; transform: translateX(-50%); bottom: calc(var(--bottom-height) + env(safe-area-inset-bottom) + 15px); width: max-content; max-width: calc(100% - 36px); padding: 12px 18px; border-radius: 14px; background: var(--text); color: var(--bg); box-shadow: 0 8px 32px var(--bg); font-size:13px; }
.microcopy { text-align: center; color: var(--muted); font-size:13px; line-height: 1.6; margin-top: 15px; }
.noscript { max-width: 500px; margin: 40px auto; padding: 20px; text-align: center; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes pulse { to { opacity: .4; } }
@keyframes enter { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (min-width: 560px) {
  .app-header { padding-right: 32px; padding-left: 32px; }
  main { padding-right: 32px; padding-left: 32px; }
  .hero { padding: 32px; min-height: 245px; }
  
  .hero-content { max-width: 65%; }
  .hero p { max-width: 290px; }
}
@media (max-width: 350px) {
  .app-header { padding-left: 16px; padding-right: 16px; }
  main { padding-left: 16px; padding-right: 16px; }
  .stage-badge { font-size:13px; padding: 6px; }
  .brand { font-size: 16px; }
  .hero { padding: 21px; }
  
  .hero-content { max-width: 78%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* Orbit — approved by owner, task 277. Shared tokens across every application view. */
@font-face{font-family:Manrope;src:url('/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}

.app-shell,.bottom-nav{max-width:480px}.brand-mark{font-size:30px;font-weight:800;transform:rotate(-8deg);color:var(--bg)}.brand-caption{font-size:13px}.hero-content{max-width:100%}.hero h1{max-width:310px;font-weight:800;font-size:34px}.hero p{font-size:14px;max-width:310px;color:var(--muted)}.hero .button{font-size:14px;min-height:48px}.button{min-height:48px;font-weight:750}.button:not(.secondary){color:var(--bg)}.draft-card{border-radius:24px}.draft-prize{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.segmented,.filter,.input{font-family:inherit}.nav-item{min-height:48px}.page-enter{animation-duration:.18s}.film-canvas{display:block;width:100%;height:auto;border-radius:24px;margin:16px 0;background:var(--bg)}.film-view .page-intro{min-height:38px}.film-controls{display:grid;gap:10px}.film-winners{display:grid;gap:8px;margin:12px 0}.winner-row{font-size:18px;font-weight:750;overflow-wrap:anywhere;color:var(--accent)}.proof-json{max-height:400px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;border:1px solid var(--line);border-radius:16px;font-size:13px}.recorded-video{width:100%;height:auto;border-radius:24px;margin-top:12px}.film-view h2{margin-top:24px}.film-view .secondary{width:100%}.film-view .button{width:100%}
@media(max-width:359px){.app-header{padding-inline:16px}main{padding-inline:16px}.hero{padding:20px}.hero h1{font-size:29px}.brand{gap:8px}.stage-badge{font-size:13px}.film-canvas{border-radius:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.app-shell:has(.film-view) .app-header,.app-shell:has(.film-view) .bottom-nav{display:none}.app-shell:has(.film-view) main{padding-top:16px;padding-bottom:24px}
/* Immersive game view: give the actual game the phone's usable width. */
.app-shell:has(.film-view) main{padding-inline:10px}.film-view .film-canvas{border-radius:20px;margin-block:8px}.film-view .page-intro{min-height:20px;font-size:13px;margin-block:8px}.film-view> .button.secondary{min-height:44px}.film-view .film-winners{margin-block:8px}.film-view .winner-row{font-size:17px}
.participant-directory{margin-top:20px;border:1px solid var(--line);padding:16px;border-radius:20px}.participant-directory summary{font-size:19px;font-weight:800;cursor:pointer;min-height:44px}.participant-directory input{width:100%;margin-block:12px}.participant-grid{display:grid;gap:10px}.participant-row{display:flex;align-items:center;gap:12px;min-width:0}.participant-row img,.participant-initials{width:56px;height:56px;flex:0 0 56px;border-radius:50%;background:var(--surface-soft);object-fit:cover}.participant-initials{display:grid;place-items:center;font-weight:800;color:var(--accent)}.participant-row strong{display:block;overflow-wrap:anywhere;font-size:15px}.participant-row small{display:block;color:var(--muted);margin-top:4px}.participant-pager{display:flex;gap:8px;align-items:center;margin-top:16px}.participant-pager span{flex:1;text-align:center;font-size:13px}.participant-pager .button{width:auto!important;padding-inline:12px;font-size:13px}

.full-proof-hash{overflow-wrap:anywhere;display:block;font-size:15px} #checks{white-space:pre-line} #hash-check textarea{width:100%;box-sizing:border-box} #app section{scroll-margin-top:20px}
/* var(--surface): direct correction, compact creation and accessible participation puzzle. */
.quick-times{display:flex;flex-wrap:wrap;gap:8px}.quick-times .button{flex:1;padding-inline:10px;font-size:13px;white-space:nowrap}
.summary-editable{align-items:center;gap:8px}.summary-editable>div{display:grid;gap:4px;min-width:0;flex:1}.summary-editable>div>span{color:var(--muted);font-size:13px}.summary-editable strong{overflow-wrap:anywhere}.summary-editable .button{min-height:44px;padding:8px;font-size:13px;flex:none;color:var(--accent)}
.inline-correction{padding:20px;border:1px solid var(--accent);border-radius:20px;background:var(--surface)}.inline-correction h3{margin-top:0}.inline-correction>.button{margin-top:12px}.editor-actions{flex-wrap:wrap}.editor-actions>.button{min-width:0;white-space:normal}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--danger)}
.entry-check> .button{margin-bottom:20px}.entry-check .summary-card p{font-size:14px;line-height:1.6}.entry-check .summary-card{margin-bottom:20px}.consent-check{display:flex;align-items:flex-start;gap:12px;min-height:48px;font-size:14px;line-height:1.6;cursor:pointer}.consent-check input{width:22px;height:22px;flex:0 0 22px;accent-color:var(--accent);margin-top:3px}
.puzzle-area{display:grid;gap:16px}.puzzle-stage{position:relative;overflow:hidden;border-radius:20px;border:1px solid var(--line);background:var(--surface);width:100%}.puzzle-background{display:block;width:100%;height:100%;object-fit:fill}.puzzle-piece{position:absolute;left:0;height:auto;filter:drop-shadow(0 3px 3px var(--bg));pointer-events:none}.puzzle-slider{width:100%;height:48px!important;min-height:48px;accent-color:var(--accent);padding:0!important;cursor:ew-resize}.puzzle-feedback{min-height:28px;font-size:14px;line-height:1.6;color:var(--muted)}.draw-conditions{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.summary-editable>div>strong{max-width:100%;text-align:left;font-size:14px}
/* var(--bg): two payment choices, one automatically reconciled balance. */
.funding-view .page-intro{font-size:14px;line-height:1.6}.funding-options{display:grid;gap:12px}.funding-option{min-width:0;padding:20px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}.funding-option h2{font-size:20px;margin:0 0 12px}.funding-cost{display:block;font-size:28px;line-height:1.3;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.funding-option p{font-size:14px;line-height:1.6;margin:8px 0}.funding-option .button,.funding-controls .button{width:100%;white-space:normal}.funding-option .button{margin-top:12px}.funding-status{font-size:14px;line-height:1.6;color:var(--accent);min-height:44px;margin:16px 0}.funding-controls{display:grid;gap:12px}.funding-summary .summary-row{font-size:14px;align-items:center}.funding-history-row p{margin-block:8px}.deposit-form{display:grid;gap:16px}.deposit-form .field{margin:0}.deposit-form .button{width:100%}

/* var(--bg): optional privacy text follows the post-puzzle consent. */
.entry-privacy summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--muted);font-size:14px}.entry-privacy p{line-height:1.6}.entry-check .consent-check input{min-height:22px;padding:0;align-self:flex-start}
/* var(--bg): the channel participation link opens only the entry flow. */
.entry-only .app-header,.entry-only .bottom-nav{display:none}
.entry-only main{padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.entry-only .entry-check .summary-card{margin-bottom:0}
.entry-subscriptions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.entry-subscriptions:empty{display:none}
.entry-subscriptions p{flex-basis:100%}
.entry-channel{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
/* Optional eligibility settings share the existing creation step. */
.eligibility-settings{border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:16px;margin:20px 0}
.eligibility-settings>summary,.eligibility-settings>h3{min-height:44px;cursor:pointer;line-height:1.5;font-size:16px;font-weight:750}
.eligibility-settings>summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:8px}
.eligibility-count{display:inline-block;color:var(--muted);font-size:13px;font-weight:500;margin-left:12px}
.eligibility-controls{display:grid;gap:12px;min-width:0;padding-top:12px}
.eligibility-controls>.field-help{margin:0 0 4px;font-size:13px}
.eligibility-option{display:flex;align-items:center;gap:12px;min-height:56px;cursor:pointer;padding:12px;border:1px solid var(--line);border-radius:14px}
.eligibility-option:has(input:checked){background:var(--accent-soft);border-color:var(--accent)}
.eligibility-option input{width:22px;height:22px;min-height:22px;flex:0 0 22px;padding:0;accent-color:var(--accent)}
.eligibility-option>span{min-width:0}.eligibility-option strong{display:block;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.eligibility-option small{display:block;color:var(--muted);font-size:13px;line-height:1.5;margin-top:4px}
.eligibility-controls>.field{min-width:0;margin:8px 0 0}.eligibility-controls .field-title{font-size:14px}.eligibility-controls .field-help{font-size:13px}
.eligibility-controls input[type=text]{min-width:0}.eligibility-controls>.button{white-space:normal}
.inline-correction .eligibility-settings{padding:0;border:0;margin:12px 0}.inline-correction .eligibility-settings>h3{display:none}
.entry-requirements{padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.entry-requirements[hidden]{display:none}.entry-requirements .field-title{font-size:15px;margin-bottom:4px}.entry-requirements .field-help{font-size:13px;margin-top:4px}
.entry-requirements .entry-channel{display:flex}
/* Brand372: one flat theme across existing views and states. */
body{font-size:15px;line-height:1.5}h1,.hero h1{font-size:clamp(24px,6vw,28px);line-height:1.2;letter-spacing:-.7px}h2{font-size:22px}h3{font-size:18px}
.app-shell,.bottom-nav{max-width:600px}.app-header{padding:calc(20px + env(safe-area-inset-top)) 20px 24px}.brand{gap:12px;font-size:20px}.brand-mark{display:block;width:44px;height:44px;object-fit:contain;background:none;box-shadow:none;transform:none;border-radius:0;flex:none}.brand-caption{font-size:13px;letter-spacing:0}.stage-badge{font-size:13px;white-space:normal;padding:6px 10px}.status-dot{background:var(--success);flex:none}
main{padding-inline:20px}.hero{border:1px solid var(--line);border-radius:16px;padding:24px;min-height:0;background:var(--surface);box-shadow:none;color:var(--text)}.hero-content{max-width:100%}.hero .eyebrow{color:var(--muted);font-size:13px;letter-spacing:.6px;padding-right:64px;min-height:48px}.hero h1{max-width:330px}.hero p{font-size:15px;color:var(--muted);margin:16px 0 24px;max-width:350px}.hero-art{position:absolute;right:16px;top:16px;width:64px;height:64px;opacity:1;pointer-events:none}.hero-art img{width:64px;height:64px;object-fit:contain}.hero-art:before,.hero-art:after{display:none}
.button,.hero .button{min-height:48px;border-radius:12px;font-size:15px;padding:12px 16px;font-weight:750;transition:background-color 160ms,transform 160ms;color:var(--onAccent);background:var(--accent)}.button:not(.secondary){color:var(--onAccent)}.button:hover:not(:disabled):not(.secondary):not(.ghost){background:var(--hover)}.button:active:not(:disabled):not(.secondary):not(.ghost){background:var(--active)}.button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--control)}.button.secondary:hover:not(:disabled){background:var(--elevated)}.button.ghost{color:var(--text);background:transparent}.button:disabled{opacity:1;background:var(--elevated);color:var(--muted);border:1px solid var(--line);cursor:not-allowed;transform:none}.button .icon{width:20px;height:20px}.icon-button{width:44px;height:44px;border-color:var(--control);border-radius:12px}
a{color:var(--focus)}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:none}input,textarea,select{border-color:var(--control);border-radius:12px;font-size:16px}input:focus,textarea:focus,select:focus{border-color:var(--focus);box-shadow:none}input::placeholder,textarea::placeholder{opacity:1}input[type=checkbox]{accent-color:var(--accent)}
.draft-card,.summary-card,.money-card,.funding-option,.empty-card,.profile-menu,.participant-directory,.entry-requirements,.eligibility-settings{border-radius:16px;padding:16px;background:var(--surface)}.draft-card{margin-bottom:12px;transition:background-color 160ms}.draft-card:hover{background:var(--elevated)}.draft-top{flex-wrap:wrap}.draft-type,.draft-status,.draft-caption,.draft-prize small,.count,.save-status,.step-counter,.field-help,.profile-id,.profile-row small,.microcopy{font-size:13px}.draft-status{color:var(--text);background:var(--elevated)}.draft-title{font-size:17px}.draft-prize,.money-value,.funding-cost,.summary-row strong{font-variant-numeric:tabular-nums}.money-value{font-size:36px}.draft-bottom>div{min-width:0}.draft-caption{line-height:1.5}
.segmented{border-radius:12px;background:var(--surface);gap:4px}.segmented button{min-height:44px;font-size:14px}.segmented button[aria-selected=true]{background:var(--accent);color:var(--onAccent);box-shadow:none}.filter{font-size:13px;min-height:44px;border-color:var(--control)}.filter[aria-pressed=true]{background:var(--elevated);border-color:var(--accent);color:var(--text)}.choice-card[aria-pressed=true]{border-color:var(--accent);background:var(--elevated)}.choice-card[aria-pressed=true] .choice-icon{background:var(--accent);color:var(--onAccent)}.choice-card[aria-pressed=true] .radio-indicator{border-color:var(--accent)}.choice-text strong,.field-title{font-size:15px}.choice-text span{font-size:13px}.radio-indicator{border-color:var(--control)}.choice-text{min-width:0}.progress-part.done{background:var(--accent)}
.bottom-nav{border-radius:0;background:var(--bg);box-shadow:none;padding-inline:12px}.nav-item{font-size:13px;min-width:0;min-height:52px}.nav-item[aria-current=page]{color:var(--text)}.nav-item[aria-current=page] .nav-icon{background:var(--accent);color:var(--onAccent)}.nav-icon{min-width:44px;height:32px;border-radius:10px}.notice{font-size:14px;border-radius:12px;background:var(--elevated);padding:16px}.notice strong{font-size:15px}.notice.warning{border-left:3px solid var(--warning)}.form-error,.save-status.error{color:var(--error)}.form-error{font-size:14px}.summary-row{font-size:14px}.summary-row.total strong,.funding-status,.winner-row,.participant-initials,.summary-editable .button{color:var(--text)}.winner-row{border-left:3px solid var(--accent);padding:12px 16px;border-radius:0 12px 12px 0;background:var(--surface)}.profile-card>div{min-width:0}.avatar{background:var(--elevated);color:var(--text)}.profile-menu{padding:0}.profile-row{font-size:15px;flex-wrap:wrap}.disclosure summary{font-size:15px;min-height:44px}.disclosure p,.empty-card p,.page-intro{font-size:14px}.empty-card .button{min-height:48px;font-size:15px}.toast{font-size:14px;background:var(--elevated);color:var(--text);border:1px solid var(--control);box-shadow:none}.state-view{padding:48px 0}.state-view .brand-loading{width:88px;height:88px;object-fit:contain;margin:0 auto 24px;display:block}.spinner{animation:none;width:88px;height:88px;border:0;border-radius:0;background:url('/brand/randolet-mark.svg') center/contain no-repeat}.skeleton{animation:none;border-radius:16px;background:var(--elevated)}
.film-canvas,.recorded-video,.film-view .film-canvas{border-radius:16px}.app-shell:has(.film-view) main{padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}.film-view .page-intro{font-size:14px}.film-view .winner-row{font-size:16px}.participant-directory{overflow-wrap:anywhere}.participant-row>div{min-width:0}.participant-pager{flex-wrap:wrap}.participant-pager .button{min-width:44px}.verify-view{max-width:760px;margin:auto;padding:calc(24px + env(safe-area-inset-top)) 20px 40px}.verify-view>.brand{margin-bottom:32px}.verify-view>section{background:var(--surface);padding:20px;border:1px solid var(--line);border-radius:16px;margin-top:24px}.verify-view p,.verify-view label{display:block;margin-block:16px}.verify-view .button{white-space:normal;max-width:100%;margin-block:4px}.verify-view h2{font-size:22px}.verify-view pre{font-size:13px}.proof-json{font-size:13px}.two-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.editor-actions .button{flex:1;min-width:80px}.quick-times .button{font-size:14px}.inline-correction{border-color:var(--control);border-radius:20px}
@media(max-width:359px){.app-header{padding-inline:16px;gap:8px}.brand{font-size:17px;gap:8px}.brand-caption{font-size:12px}.stage-badge{font-size:12px}main{padding-inline:16px}.hero{padding:20px}.hero h1{font-size:26px}.hero .eyebrow{font-size:12px}.hero-art{right:12px;top:16px}.bottom-nav{padding-inline:4px}.nav-item{font-size:12px}.wallet-actions{gap:8px}.wallet-actions .button{padding-inline:10px}.profile-row{padding:16px}.two-columns{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
