/* LSL Sorteios Studio • responsive design system • no external font dependency */
:root {
  --brand-primary:#141c3b;
  --brand-secondary:#5755e7;
  --brand-accent:#b598ff;
  --brand-bg:#0b1023;
  --brand-surface:#141d38;
  --wheel-primary:#5755e7;
  --wheel-secondary:#b598ff;
  --ink:#202748;
  --muted:#6c756f;
  --line:#dadfed;
  --dark:var(--brand-primary);
  --highlight:#b598ff;
  --radius:20px;
  --shadow:0 10px 30px #161a2708;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-synthesis:none;
  color:var(--ink);
  background:var(--brand-bg);
  font-size:14px
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:95px
}

body {
  margin:0;
  line-height:1.55
}

a {
  color:inherit;
  text-decoration:none
}

button,input,textarea,select {
  font:inherit
}

button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent
}

button {
  cursor:pointer
}

button:disabled {
  cursor:not-allowed;
  opacity:.55
}

img,canvas {
  max-width:100%
}

button,a,input,select,textarea,summary {
  outline-offset:4px
}

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:3px solid #7580a1
}

h1,h2,h3,p {
  margin-top:0
}

h1,h2,h3 {
  line-height:1.13;
  letter-spacing:-.045em
}

h1 {
  font-size:clamp(30px,3.2vw,46px);
  font-weight:750;
  margin-bottom:12px
}

h2 {
  font-size:28px;
  font-weight:720;
  margin-bottom:14px
}

h3 {
  font-size:19px;
  font-weight:700;
  margin-bottom:10px
}

p {
  margin-bottom:16px
}

small {
  font-size:12px
}

strong {
  font-weight:700
}

code {
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:11px;
  overflow-wrap:anywhere
}

hr {
  border:0;
  border-top:1px solid var(--line)
}

[hidden] {
  display:none!important
}

.sr-only {
  position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}

.skip-link {
  position:fixed;
  top:8px;
  left:12px;
  z-index:300;
  background:white;
  padding:12px;
  transform:translateY(-150%)
}

.skip-link:focus {
  transform:none
}

.muted,.lead,.field-hint {
  color:var(--muted)
}

.lead {
  font-size:16px
}

.eyebrow {
  display:block;
  font-size:10px;
  font-weight:800;
  letter-spacing:.15em;
  color:var(--muted);
  margin-bottom:13px
}

.button {
  min-height:46px;
  border:1px solid var(--brand-secondary);
  background:var(--brand-secondary);
  color:white;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:12px 20px;
  border-radius:10px;
  font-weight:650;
  line-height:1.3;
  transition:transform .18s,box-shadow .18s,background .18s;
  text-align:center
}

.button:hover:not(:disabled) {
  transform:translateY(-2px);
  box-shadow:0 7px 18px #151a2920;
  filter:brightness(1.06)
}

.button-light,.button-outline {
  border:1px solid var(--line);
  background:var(--brand-surface);
  color:var(--ink);
  box-shadow:none
}

.button-accent,.button-draw {
  background:var(--brand-accent);
  border-color:var(--brand-accent);
  color:#151820
}

.button-draw {
  min-height:54px;
  font-size:16px;
  box-shadow:0 6px 15px #483ab820
}

.button-stage {
  background:var(--highlight);
  border-color:var(--highlight);
  color:var(--dark)
}

.button-outline .button:not(.button-draw):not(.button-accent):not(.button-stage) {
  background:transparent;
  color:var(--brand-secondary)
}

.text-link {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-weight:650;
  color:var(--brand-secondary);
  padding-block:10px
}

.text-link:hover {
  text-decoration:underline
}

.tool-button {
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:8px;
  background:transparent;
  color:inherit;
  padding:8px 12px;
  font-size:12px;
  font-weight:600
}

.tool-button:hover {
  background:#7d859d0c
}

.back-link {
  display:inline-flex;
  align-items:center;
  color:var(--muted);
  font-size:12px;
  min-height:40px;
  margin-bottom:14px
}

.page-shell {
  max-width:1320px;
  padding:34px 32px 60px;
  margin:0 auto;
  min-height:65vh
}

.page-heading,.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:28px
}

.page-heading p {
  color:var(--muted);
  margin:0
}

.section-heading h2 {
  margin:0
}

.section-heading .eyebrow {
  margin-bottom:7px
}

.section-note {
  font-size:12px;
  color:var(--muted)
}

.section-block {
  margin-top:42px
}

.heading-dot {
  color:var(--brand-secondary)
}

.panel-card {
  padding:27px;
  background:var(--brand-surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  min-width:0
}

.panel-card>p {
  color:var(--muted)
}

.two-column {
  display:grid;
  grid-template-columns:minmax(300px,.85fr) minmax(0,1.3fr);
  gap:24px;
  align-items:start
}

.empty-state {
  text-align:center;
  padding:60px 24px;
  border:1px dashed #c9cdd7;
  border-radius:var(--radius);
  background:#ffffff70
}

.empty-state p {
  color:var(--muted);
  max-width:520px;
  margin:12px auto 20px
}

.empty-icon {
  font-size:54px;
  color:var(--brand-secondary);
  line-height:1.5
}

.compact {
  padding:34px 24px
}

.notice {
  padding:14px 18px;
  border:1px solid var(--line);
  border-radius:12px;
  margin:0 0 20px;
  font-size:13px
}

.notice-error {
  color:#932d33;
  background:#fff0f0;
  border-color:#f2cdcf
}

.notice-success {
  color:#22315c;
  background:#eef1f8;
  border-color:#cbd1e4
}

.notice-neutral {
  color:#484e60;
  background:#ebeef6;
  border-color:#d8dbe3
}

.status-pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  white-space:nowrap;
  background:#e9e7f4;
  color:#71786e;
  border:1px solid #dbe0ee;
  border-radius:6px;
  padding:5px 9px;
  font-size:10px;
  line-height:1.4;
  font-weight:750
}

.status-open {
  color:#416bc5;
  background:#eaf0ff;
  border-color:#d3e0ff
}

.status-drawn {
  color:#8151c5;
  background:#f0eaff;
  border-color:#e1d2ff
}

.status-draft,.status-closed {
  color:#5b6379;
  background:#ebe9f5
}

.form-stack {
  display:flex;
  flex-direction:column;
  gap:19px;
  margin-top:22px
}

.form-stack label,.form-grid label,.color-grid label,.select-short {
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:12px;
  font-weight:650;
  color:var(--ink)
}

input:not([type=checkbox]):not([type=color]):not([type=file]),textarea,select {
  width:100%;
  min-width:0;
  min-height:46px;
  padding:11px 13px;
  border:1px solid #d8dae1;
  background:#f9f9fc;
  color:var(--ink);
  border-radius:9px
}

textarea {
  resize:vertical;
  line-height:1.6
}

input::placeholder,textarea::placeholder {
  color:#8f96ab;
  font-weight:400
}

input[type=checkbox] {
  width:18px;
  height:18px;
  accent-color:var(--brand-secondary);
  flex-shrink:0
}

input[type=file] {
  max-width:100%;
  font-size:12px;
  padding:10px;
  border:1px dashed #caced9;
  border-radius:9px
}

input[type=file]::file-selector-button {
  border:0;
  border-radius:5px;
  background:#e0dfef;
  padding:8px;
  cursor:pointer;
  margin-right:10px
}

.check-label {
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start;
  gap:12px!important;
  background:#f2f2f8;
  border:1px solid #dddbee;
  border-radius:10px;
  padding:14px;
  font-size:12px
}

.check-label small {
  display:block;
  font-weight:400;
  line-height:1.55;
  color:var(--muted);
  margin-top:3px
}

.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px
}

.span-2 {
  grid-column:1/-1
}

.form-stack label small,.form-grid label small {
  font-weight:400;
  color:var(--muted)
}

.rule-box {
  padding:16px;
  border-left:3px solid #7f76c9;
  background:#efeef8;
  border-radius:0 8px 8px 0;
  margin-top:20px;
  font-size:12px
}

.rule-box p {
  margin:6px 0 0;
  color:var(--muted)
}

.rule-box strong {
  font-size:12px
}

.table-wrap {
  max-width:100%;
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--brand-surface)
}

table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  font-size:12px
}

th {
  background:#f2f2f8;
  color:#6b748e;
  font-size:10px;
  font-weight:650;
  padding:14px 20px;
  white-space:nowrap
}

td {
  padding:19px 20px;
  border-top:1px solid var(--line);
  vertical-align:middle
}

td strong {
  font-weight:650
}

td small {
  display:block;
  color:var(--muted);
  font-size:11px;
  margin-top:4px
}

tbody tr:hover {
  background:#f6f5fb
}

.table-action {
  border:1px solid var(--line);
  border-radius:7px;
  padding:8px 12px;
  white-space:nowrap;
  font-size:11px
}

.stack-list {
  margin-top:16px
}

.list-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:20px 0;
  border-bottom:1px solid var(--line)
}

.list-row:hover {
  color:var(--brand-secondary)
}

.list-row:last-child {
  border-bottom:0
}

.list-row strong {
  display:block;
  font-size:14px
}

.list-row small {
  display:block;
  font-size:11px;
  color:var(--muted);
  margin-top:6px
}

.search-field {
  display:flex;
  align-items:center;
  gap:9px;
  background:var(--brand-surface);
  border:1px solid var(--line);
  border-radius:9px;
  padding:0 12px;
  min-width:0
}

.search-field>span {
  font-size:24px;
  color:#6d7690;
  line-height:1
}

.search-field input:not([type=checkbox]) {
  border:0;
  background:transparent;
  min-height:42px;
  padding:8px 0;
  font-size:12px
}

.search-field:focus-within {
  outline:2px solid #7c86a5;
  outline-offset:2px
}

.search-field input:focus-visible {
  outline:none
}

.catalog-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:24px
}

.catalog-toolbar>.search-field {
  min-width:250px
}

.filter-tabs {
  display:flex;
  gap:4px;
  padding:5px;
  background:#e3e7f2;
  border-radius:10px
}

.filter-tabs button {
  min-height:37px;
  border:0;
  border-radius:7px;
  background:transparent;
  padding:8px 15px;
  color:#626a83;
  font-size:12px;
  font-weight:650;
  white-space:nowrap
}

.filter-tabs button.is-active {
  background:white;
  color:#232732;
  box-shadow:0 2px 5px #1d212f0b
}

.filter-tabs button span {
  margin-left:6px;
  background:#ebe9f5;
  padding:2px 5px;
  font-size:10px;
  border-radius:4px
}

.compact-toolbar {
  flex-wrap:wrap
}

.compact-toolbar>.search-field {
  min-width:0;
  flex:1 1 170px
}

.compact-toolbar>select {
  flex:0 1 145px;
  font-size:12px
}

.app-toast {
  position:fixed;
  bottom:28px;
  left:50%;
  transform:translateX(-50%);
  padding:14px 23px;
  color:#fff;
  background:#191d2a;
  box-shadow:0 8px 50px #0003;
  border:1px solid #4a5165;
  border-radius:12px;
  z-index:500;
  text-align:center;
  max-width:calc(100vw - 32px);
  font-size:13px
}

.copy-fallback {
  margin-top:12px
}

.site-footer {
  max-width:1256px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:30px 0;
  border-top:1px solid var(--line);
  font-size:11px;
  color:var(--muted)
}

.footer-brand,.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:16px;
  font-weight:750;
  letter-spacing:-.045em;
  line-height:1.2
}

.brand small,.footer-brand small {
  display:block;
  font-size:8px;
  font-weight:600;
  letter-spacing:.12em;
  margin-top:6px;
  color:var(--muted)
}

.brand-mark {
  width:38px;
  height:38px;
  object-fit:contain;
  flex-shrink:0
}

.brand-mark-letter,.footer-mark {
  display:grid;
  place-items:center;
  background:var(--brand-accent);
  color:#212533;
  border-radius:11px;
  font-size:31px;
  line-height:1
}

.footer-mark {
  width:31px;
  height:31px;
  font-size:24px
}

.footer-proof {
  display:flex;
  align-items:center;
  gap:7px
}

.footer-proof i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#63719c
}

.footer-link {
  color:var(--brand-secondary);
  font-weight:650
}

/* Admin shell */
.admin-layout {
  display:grid;
  grid-template-columns:238px minmax(0,1fr);
  min-height:100vh
}

.admin-sidebar {
  position:fixed;
  inset:0 auto 0 0;
  width:238px;
  background:var(--dark);
  color:#c1c5d0;
  z-index:70;
  padding:31px 18px 20px;
  display:flex;
  flex-direction:column
}

.admin-sidebar-head {
  padding:0 9px 30px
}

.admin-brand {
  color:#f1f0f8;
  font-size:17px
}

.admin-brand small {
  color:#78819a;
  font-size:7px;
  letter-spacing:.18em
}

.admin-sidebar-caption {
  margin:5px 14px 30px;
  font-size:7px;
  letter-spacing:.11em;
  display:flex;
  align-items:center;
  gap:7px;
  color:#7b839c
}

.admin-sidebar-caption-dot {
  background:var(--highlight);
  width:5px;
  height:5px;
  box-shadow:0 0 0 3px #7e71e410;
  border-radius:50%
}

.admin-sidebar-nav {
  overflow-y:auto
}

.admin-nav-group {
  margin-bottom:30px
}

.admin-nav-group-label {
  display:block;
  font-size:8px;
  font-weight:600;
  color:#677089;
  letter-spacing:.15em;
  margin:0 14px 10px
}

.admin-nav-link {
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:46px;
  padding:10px 14px;
  border-radius:8px;
  margin:3px 0;
  font-size:12px;
  font-weight:500;
  color:#b1b6c4
}

.admin-nav-link:hover {
  background:#ffffff07;
  color:white
}

.admin-nav-icon {
  width:18px;
  height:18px;
  display:block
}

.admin-nav-icon svg {
  width:18px;
  height:18px
}

.admin-nav-link.is-active {
  color:var(--highlight);
  background:#7c6cff22
}

.admin-nav-current {
  margin-left:auto;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--highlight)
}

.admin-sidebar-footer {
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid #ffffff0c
}

.admin-user-card {
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px
}

.admin-user-avatar,.admin-topbar-user {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  background:#2c3140;
  color:#b4afdd;
  border:1px solid #424758;
  border-radius:50%;
  font-size:12px;
  font-weight:700
}

.admin-user-copy {
  min-width:0
}

.admin-user-copy strong {
  display:block;
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
  text-overflow:ellipsis;
  overflow:hidden;
  max-width:148px;
  color:#d8dbe4
}

.admin-user-copy small {
  font-size:9px;
  color:#79819a
}

.admin-logout-button {
  border:0;
  background:transparent;
  color:#7a829a;
  padding:9px 10px;
  font-size:10px;
  min-height:36px
}

.admin-logout-button span {
  margin-right:8px
}

.admin-main {
  grid-column:2;
  min-width:0
}

.admin-topbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  height:77px;
  padding:0 38px;
  background:var(--brand-surface);
  border-bottom:1px solid var(--line)
}

.admin-topbar-left,.admin-topbar-actions {
  display:flex;
  align-items:center;
  gap:20px
}

.admin-breadcrumb {
  display:flex;
  align-items:center;
  gap:16px;
  font-size:11px
}

.admin-breadcrumb span {
  color:#7c849c
}

.admin-breadcrumb span::after {
  content:'/';
  margin-left:16px;
  color:#bab8c9
}

.admin-breadcrumb strong {
  font-weight:550
}

.admin-public-link {
  font-size:10px;
  color:#494f60;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px
}

.admin-public-link span {
  font-size:16px
}

.admin-topbar-divider {
  width:1px;
  height:23px;
  background:var(--line)
}

.admin-topbar-user {
  background:#e2e0f0;
  color:#454c5f;
  border:1px solid #d8d6e6;
  width:32px;
  height:32px
}

.admin-content {
  max-width:1500px;
  padding:38px 38px 60px
}

.admin-footer {
  max-width:100%;
  margin:0 38px;
  padding:23px 0
}

.admin-menu-toggle,.admin-menu-close,.admin-sidebar-scrim {
  display:none
}

.stats-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px
}

.stat-card {
  background:var(--brand-surface);
  border:1px solid var(--line);
  border-radius:14px;
  padding:19px 22px
}

.stat-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px
}

.stat-label {
  font-size:11px;
  color:#666f88
}

.stat-icon {
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  font-size:21px;
  border-radius:8px
}

.stat-icon-violet {
  color:#8a73bd;
  background:#f1edf8
}

.stat-icon-green {
  color:#4c5b88;
  background:#e7e6f4
}

.stat-icon-cyan {
  color:#495989;
  background:#eaedf5
}

.stat-icon-orange {
  color:#c48e48;
  background:#fbf2e5
}

.stat-card>strong {
  display:block;
  font-size:33px;
  letter-spacing:-.055em;
  line-height:1.25;
  margin:9px 0 6px;
  font-weight:650
}

.stat-card>small {
  font-size:10px;
  color:#7d859d
}

.greeting-star {
  color:#5f56a7;
  font-size:26px;
  vertical-align:middle
}

.dashboard-feature-grid {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);
  gap:22px;
  margin-top:26px
}

.dashboard-spotlight {
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:var(--dark);
  color:white;
  border-radius:18px;
  min-height:265px;
  padding:30px
}

.dashboard-spotlight>div:first-child {
  z-index:1;
  max-width:65%
}

.dashboard-spotlight .eyebrow {
  color:#9097ab;
  font-size:8px
}

.dashboard-spotlight h2 {
  font-size:27px;
  line-height:1.15;
  overflow-wrap:anywhere
}

.dashboard-spotlight p {
  font-size:11px;
  color:#a5aabb;
  margin-bottom:25px
}

.dashboard-spotlight .button {
  font-size:11px;
  min-height:42px;
  padding:11px 16px
}

.spotlight-wheel {
  position:absolute;
  right:-40px;
  bottom:9px;
  width:235px;
  height:235px;
  border:1px solid #464269;
  border-radius:50%;
  padding:12px;
  transform:rotate(-15deg);
  box-shadow:0 0 0 19px #ffffff02,0 0 0 40px #ffffff02
}

.spotlight-wheel i {
  display:block;
  width:100%;
  height:100%;
  border-radius:50%;
  background:repeating-conic-gradient(#b598ff 0 44deg,#4f4888 44deg 45deg,#393f52 45deg 89deg,#4f4888 89deg 90deg)
}

.spotlight-wheel span {
  display:grid;
  place-items:center;
  position:absolute;
  inset:35%;
  border-radius:50%;
  background:#151925;
  border:5px solid #655bb6;
  color:var(--highlight);
  font-size:32px
}

.quick-start {
  padding:26px
}

.quick-start .eyebrow {
  font-size:8px
}

.quick-start h3 {
  font-size:20px;
  margin-bottom:17px
}

.quick-start>a {
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 0
}

.quick-start b {
  font-size:10px;
  font-weight:500;
  background:#ecebf5;
  border:1px solid var(--line);
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border-radius:8px;
  color:#7d7a9a
}

.quick-start>a>span {
  font-size:11px;
  font-weight:650
}

.quick-start small {
  display:block;
  font-size:9px;
  font-weight:400;
  color:#8784a2;
  margin-top:2px
}

.quick-start i {
  margin-left:auto;
  color:#8480a0;
  font-style:normal
}

.operation-steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:25px 0
}

.operation-steps a {
  display:flex;
  align-items:center;
  gap:9px;
  padding:13px 16px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:10px;
  font-size:10px;
  color:#6b748f
}

.operation-steps b {
  font-size:10px;
  color:#8c93a8
}

.operation-steps span {
  margin-left:auto
}

.operation-steps .is-current {
  border-color:#b5a6f7;
  background:#eeebff;
  color:#7460bd
}

.raffle-edit {
  padding:18px 24px;
  margin-bottom:24px
}

.raffle-edit summary {
  font-size:12px;
  cursor:pointer;
  font-weight:650
}

.raffle-edit .form-stack {
  max-width:700px
}

.raffle-page-heading h1 {
  font-size:32px
}

.raffle-page-heading p {
  max-width:750px;
  font-size:12px;
  max-height:100px;
  overflow:auto
}

/* Public experience */
.public-body {
  background:#f5f5fc
}

.topbar {
  max-width:1256px;
  margin:0 auto;
  height:94px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px
}

.main-nav {
  display:flex;
  align-items:center;
  gap:32px;
  font-size:12px
}

.public-nav-link {
  color:#5e667d;
  padding:12px 0
}

.nav-login {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:41px;
  border:1px solid #d2d0e2;
  border-radius:8px;
  padding:10px 17px;
  font-size:11px;
  font-weight:600
}

.nav-login-compact {
  display:none
}

.public-body>.page-shell {
  padding-top:12px
}

.public-hero {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  min-height:555px;
  background:var(--dark);
  border-radius:24px;
  overflow:hidden;
  position:relative;
  color:white;
  padding:58px 60px
}

.hero-copy {
  position:relative;
  z-index:2
}

.hero-kicker {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#a29ec1;
  font-size:8px;
  letter-spacing:.17em;
  font-weight:600
}

.hero-kicker i {
  height:5px;
  width:5px;
  border-radius:50%;
  background:var(--highlight)
}

.public-hero h1 {
  font-size:clamp(45px,5.5vw,74px);
  letter-spacing:-.06em;
  line-height:1.02;
  font-weight:650;
  margin:24px 0
}

.public-hero h1 em {
  font-style:normal;
  color:var(--brand-accent)
}

.hero-star {
  font-size:44px;
  margin-left:28px;
  color:var(--brand-accent)
}

.hero-copy>p {
  font-size:13px;
  color:#989eb1;
  line-height:1.8
}

.hero-actions {
  display:flex;
  align-items:center;
  gap:24px;
  margin-top:30px
}

.hero-actions .button {
  font-size:12px;
  min-height:48px;
  padding-inline:22px
}

.hero-secondary {
  font-size:10px;
  color:#c7ccdc
}

.hero-proof {
  display:flex;
  align-items:center;
  gap:22px;
  font-size:9px;
  color:#757e97;
  margin-top:30px
}

.hero-art {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0
}

.hero-wheel {
  width:360px;
  aspect-ratio:1;
  border-radius:50%;
  padding:11px;
  border:1px solid #7770b1;
  background:#1f232f;
  box-shadow:0 0 0 12px #736abc0a,0 0 0 26px #736abc08,0 20px 50px #0006;
  position:relative;
  transform:rotate(-12deg)
}

.decor-wheel {
  position:relative;
  width:100%;
  height:100%;
  border:2px solid #2b3144;
  border-radius:50%;
  background:conic-gradient(#b598ff 0 45deg,#444d6a 45deg 90deg,#c2adff 90deg 135deg,#23293c 135deg 180deg,#b598ff 180deg 225deg,#444d6a 225deg 270deg,#e1aa80 270deg 315deg,#23293c 315deg);
  overflow:hidden
}

.decor-wheel>span {
  position:absolute;
  left:50%;
  top:50%;
  width:46%;
  text-align:right;
  transform-origin:left center;
  transform:rotate(calc(var(--i)*45deg - 68deg));
  padding-right:15px;
  color:#fff;
  font-size:10px;
  letter-spacing:.05em;
  font-weight:650;
  margin-top:-6px
}

.decor-wheel>span:nth-child(4n+1),.decor-wheel>span:nth-child(3),.decor-wheel>span:nth-child(7) {
  color:#1d2334
}

.decor-hub {
  position:absolute;
  inset:38%;
  background:var(--dark);
  border:7px solid #e2e0f5;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--highlight);
  font-size:48px;
  box-shadow:0 2px 25px #0004
}

.decor-pointer {
  position:absolute;
  top:-15px;
  left:calc(50% - 13px);
  width:26px;
  height:39px;
  background:#e9e8f6;
  clip-path:polygon(0 0,100% 0,100% 40%,50% 100%,0 40%);
  filter:drop-shadow(0 3px 4px #0004)
}

.hero-orbit {
  position:absolute;
  border:1px solid #7c6cff22;
  border-radius:50%;
  width:500px;
  height:500px
}

.orbit-two {
  width:590px;
  height:590px;
  border-style:dashed
}

.floating-note {
  position:absolute;
  z-index:3;
  background:#ebeaf6;
  color:#202638;
  box-shadow:0 10px 25px #0002;
  border-radius:10px;
  font-size:9px;
  padding:13px 18px;
  letter-spacing:.05em;
  transform:rotate(7deg)
}

.note-top {
  top:8px;
  right:-12px;
  font-weight:700
}

.note-top i {
  font-style:normal;
  font-size:19px;
  margin-left:10px
}

.note-bottom {
  bottom:12px;
  left:12px;
  font-size:11px;
  transform:rotate(-7deg);
  padding:16px 24px 16px 61px;
  line-height:1.55;
  letter-spacing:0
}

.mini-star {
  position:absolute;
  left:17px;
  top:15px;
  font-size:30px;
  color:#424e73
}

.art-spark {
  position:absolute;
  color:#a69ee6
}

.spark-one {
  font-size:47px;
  bottom:25px;
  right:0;
  transform:rotate(10deg)
}

.spark-two {
  font-size:33px;
  top:18px;
  left:18px
}

.trust-strip {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  padding:24px 18px;
  font-size:10px;
  color:#5f677f
}

.trust-strip>span {
  font-size:8px;
  letter-spacing:.1em;
  color:#7c849d
}

.trust-strip>div {
  display:flex;
  align-items:center;
  gap:10px
}

.trust-strip i {
  font-size:14px;
  color:#5b5588;
  font-style:normal
}

.public-body #sorteios {
  margin-top:52px
}

.public-body .section-heading h2 {
  font-size:34px;
  font-weight:650
}

.raffle-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px
}

.raffle-card {
  border:1px solid var(--line);
  border-radius:17px;
  background:#fff;
  overflow:hidden;
  transition:transform .2s,box-shadow .2s
}

.raffle-card:hover {
  transform:translateY(-4px);
  box-shadow:0 15px 30px #181e2f0a
}

.raffle-card-art {
  height:175px;
  position:relative;
  padding:18px;
  overflow:hidden;
  background:#e5eaff
}

.art-1 {
  background:#eee5ff
}

.art-2 {
  background:#e1efff
}

.raffle-card-art>.status-pill {
  position:relative;
  z-index:2;
  background:#ffffffd9;
  border-color:#ffffff99;
  font-size:9px
}

.card-serial {
  position:absolute;
  bottom:16px;
  left:19px;
  font-size:8px;
  letter-spacing:.15em;
  color:#58537f
}

.prize-illustration {
  position:absolute;
  right:28px;
  top:29px;
  width:125px;
  height:125px;
  border:1px solid #655da444;
  border-radius:50%;
  transform:rotate(-12deg);
  box-shadow:0 0 0 18px #655da40a,0 0 0 38px #655da407
}

.prize-illustration>span {
  position:absolute;
  inset:15px;
  display:grid;
  place-items:center;
  color:#6173d9;
  font-size:98px;
  line-height:1
}

.prize-illustration i {
  position:absolute;
  font-style:normal;
  right:-22px;
  top:-10px;
  font-size:30px;
  color:#59538e
}

.art-1 .prize-illustration {
  border-color:#9886bf33;
  box-shadow:0 0 0 18px #9886bf0a,0 0 0 38px #9886bf07
}

.art-1 .prize-illustration>span,.art-1 .prize-illustration i {
  color:#9b67df
}

.art-2 .prize-illustration>span,.art-2 .prize-illustration i {
  color:#4c9bd9
}

.raffle-card-content {
  padding:23px
}

.card-meta {
  display:flex;
  justify-content:space-between;
  color:#837f9f;
  font-size:10px;
  margin-bottom:14px
}

.raffle-card h3 {
  font-size:22px;
  line-height:1.2;
  overflow-wrap:anywhere;
  margin-bottom:7px
}

.card-prize {
  font-size:12px;
  color:#6c758f;
  margin-bottom:24px
}

.raffle-card .button {
  width:100%;
  justify-content:space-between;
  min-height:43px;
  font-size:11px
}

.winner-line {
  font-size:12px;
  background:#f0eff8;
  padding:12px;
  border-radius:8px
}

.winner-line span {
  display:block;
  font-size:8px;
  color:#757194;
  letter-spacing:.1em
}

.winner-line strong {
  display:block;
  margin-top:3px
}

.how-section {
  margin-top:70px;
  padding:40px 0 20px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:.85fr 2fr;
  gap:50px
}

.how-section h2 {
  font-size:34px;
  line-height:1.1;
  font-weight:650
}

.how-section>div>p {
  font-size:12px;
  color:var(--muted)
}

.how-cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:27px;
  padding-top:8px
}

.how-cards b {
  display:block;
  font-size:27px;
  font-weight:400;
  letter-spacing:-.05em;
  color:#827ea1;
  margin-bottom:26px
}

.how-cards h3 {
  font-size:16px;
  letter-spacing:-.03em
}

.how-cards p {
  font-size:11px;
  line-height:1.9;
  color:#757294
}

.detail-navigation {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px
}

.detail-navigation .back-link {
  margin:0
}

.detail-hero {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin-bottom:27px
}

.detail-hero h1 {
  font-size:38px;
  margin:0
}

.detail-hero .eyebrow {
  font-size:9px
}

.detail-hero .status-pill {
  align-self:center
}

.public-workspace {
  margin-bottom:26px
}

/* Wheel studio */
.raffle-workspace {
  display:grid;
  grid-template-columns:minmax(0,1fr) 295px;
  gap:24px;
  align-items:start
}

.wheel-panel {
  min-width:0;
  border-radius:22px;
  background:#111c40;
  color:#f0eff7;
  overflow:hidden;
  border:1px solid #282e3f;
  position:relative
}

.wheel-head {
  padding:25px 28px 19px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px
}

.wheel-head .eyebrow {
  color:#91a2d1;
  font-size:8px;
  margin-bottom:9px
}

.wheel-head h2 {
  font-size:24px;
  font-weight:550;
  margin:0;
  color:#edf0ff;
  letter-spacing:-.04em
}

.live-mark {
  color:#9e97d5;
  font-size:7px;
  letter-spacing:.07em;
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
  padding-top:5px
}

.live-mark i {
  width:4px;
  height:4px;
  background:#a5a0ff;
  border-radius:50%;
  box-shadow:0 0 0 3px #978fda10
}

.wheel-toolbar {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:3px 18px 16px
}

.wheel-toolbar .tool-button {
  border-color:#ffffff18;
  color:#b4bde9;
  background:#ffffff04;
  font-size:10px;
  min-height:32px;
  padding:6px 10px
}

.wheel-toolbar .tool-button:hover,.wheel-toolbar .tool-button[aria-pressed=true] {
  background:#8a76ff26;
  border-color:#b598ff88;
  color:#b598ff
}

.duration-control {
  display:flex;
  align-items:center;
  gap:6px;
  font-size:10px;
  color:#8990a6
}

.duration-control select {
  font-size:10px;
  color:#b4b9c8;
  background:#222735;
  border-color:#ffffff12;
  min-height:32px;
  padding:4px 8px;
  max-width:140px
}

.duration-control option {
  background:#222735;
  color:white
}

.wheel-scene {
  position:relative;
  padding:15px 24px 18px;
  isolation:isolate;
  overflow:hidden
}

.wheel-scene::before {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at center,#7c72cc10,transparent 65%);
  z-index:-1
}

.stage-caption {
  position:absolute;
  inset:48% 24px auto;
  display:flex;
  justify-content:space-between;
  font-size:7px;
  letter-spacing:.15em;
  color:#555d76;
  pointer-events:none;
  z-index:-1
}

.stage-caption span {
  writing-mode:vertical-rl
}

.stage-caption span:first-child {
  transform:rotate(180deg)
}

.wheel-stage {
  position:relative;
  width:min(100%,410px);
  aspect-ratio:1;
  margin:0 auto
}

.wheel-orbit {
  position:absolute;
  inset:-7px;
  border:1px solid #b598ff50;
  border-radius:50%;
  box-shadow:0 0 0 12px #8078c204,0 0 0 25px #8078c204,0 0 0 40px #8078c203;
  pointer-events:none
}

.wheel-bulbs {
  position:absolute;
  inset:-2px;
  border:13px solid #262b3b;
  background:#262b3b;
  border-radius:50%;
  box-shadow:0 6px 18px #0005
}

.wheel-bulbs i {
  position:absolute;
  top:50%;
  left:50%;
  height:4px;
  width:4px;
  background:#c9bdff;
  border-radius:50%;
  transform:translate(-50%,-50%) rotate(calc(var(--bulb)*11.25deg)) translateY(calc(-1 * var(--bulb-radius,185px)));
  box-shadow:0 0 4px #b598ff88
}

.wheel-stage canvas {
  position:absolute;
  inset:12px;
  width:calc(100% - 24px);
  height:calc(100% - 24px);
  border-radius:50%;
  filter:drop-shadow(0 2px 4px #0004)
}

.wheel-pointer {
  position:absolute;
  top:-6px;
  left:calc(50% - 13px);
  width:26px;
  height:39px;
  clip-path:polygon(12% 0,88% 0,100% 33%,50% 100%,0 33%);
  background:#dfddf6;
  z-index:5;
  transform-origin:50% 8%;
  filter:drop-shadow(0 3px 6px #0005)
}

.wheel-pointer.is-ticking {
  animation:pointer-tick .12s ease-out
}

.wheel-center-badge {
  position:absolute;
  inset:38%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  background:#151924;
  border:6px solid #dfddf2;
  border-radius:50%;
  color:#e0ddf6;
  z-index:3;
  box-shadow:0 5px 18px #0005;
  pointer-events:none;
  line-height:1.2
}

.wheel-center-badge>span {
  font-size:9px;
  letter-spacing:.16em
}

.wheel-center-badge>strong {
  font-size:17px;
  letter-spacing:-.05em;
  font-weight:750
}

.wheel-center-badge>i {
  font-style:normal;
  color:var(--highlight);
  font-size:20px;
  margin-top:3px
}

.wheel-countdown {
  position:absolute;
  inset:0;
  border-radius:50%;
  background:#121622b8;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:6;
  font-size:100px;
  font-weight:750;
  color:var(--highlight);
  backdrop-filter:blur(5px)
}

.wheel-countdown.countdown-pop {
  animation:count-pop .75s ease-out
}

.pointer-readout {
  position:relative;
  text-align:center;
  margin:5px auto 0;
  padding:16px 16px 20px;
  width:min(85%,420px);
  border:1px solid #ffffff10;
  background:#ffffff04;
  border-radius:12px;
  overflow:hidden
}

.pointer-readout>span:first-child {
  display:block;
  font-size:8px;
  letter-spacing:.15em;
  color:#757e97;
  margin-bottom:5px
}

.pointer-readout strong {
  display:block;
  font-size:22px;
  color:#e4e6ff;
  font-weight:600;
  letter-spacing:-.04em;
  min-height:32px;
  overflow-wrap:anywhere;
  line-height:1.3
}

.spin-progress {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:2px;
  background:#ffffff04
}

.spin-progress i {
  display:block;
  width:0;
  background:#b598ff;
  height:100%
}

.wheel-live-status {
  text-align:center;
  font-size:10px;
  color:#8b92a8;
  max-width:520px;
  padding:0 26px;
  margin:16px auto 14px;
  min-height:16px
}

.wheel-action-row {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin:0 24px 18px
}

.wheel-action-row:has([hidden]):not(:has(:not([hidden]))) {
  display:none
}

.wheel-action-row .button {
  font-size:11px;
  min-height:36px;
  padding:9px 16px
}

.stage-text-link {
  color:#8c98bc;
  font-size:10px
}

.wheel-foot {
  border-top:1px solid #ffffff0b;
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:15px 25px;
  font-size:8px;
  color:#727a94
}

.wheel-foot>span {
  display:flex;
  align-items:center;
  gap:5px
}

.wheel-foot i {
  width:4px;
  height:4px;
  background:#827cb8;
  border-radius:50%
}

.wheel-foot b {
  font-weight:500
}

.wheel-stage-running .wheel-orbit {
  animation:rim-pulse 1.2s infinite
}

.wheel-stage-running .wheel-bulbs i:nth-child(odd) {
  animation:bulb .4s infinite alternate
}

.wheel-stage-running .wheel-bulbs i:nth-child(even) {
  animation:bulb .4s .2s infinite alternate
}

.wheel-stage-running .wheel-center-badge>i {
  animation:twinkle .9s infinite
}

.wheel-celebration {
  position:absolute;
  inset:0;
  z-index:7;
  pointer-events:none;
  overflow:visible
}

.confetti {
  position:absolute;
  left:50%;
  top:45%;
  width:7px;
  height:12px;
  border-radius:2px;
  background:var(--confetti-color);
  animation:confetti 1.8s var(--delay) ease-out forwards;
  opacity:0
}

.draw-sidebar {
  display:flex;
  flex-direction:column;
  gap:18px;
  min-width:0
}

.prize-card {
  position:relative;
  overflow:hidden;
  border:1px solid #ded4fa;
  background:#eeeaff;
  border-radius:19px;
  padding:25px 25px 21px;
  min-height:205px
}

.prize-symbol {
  position:absolute;
  right:17px;
  top:10px;
  font-size:40px;
  line-height:1;
  color:#756fac;
  opacity:.7
}

.prize-card .eyebrow {
  color:#8b75b2;
  font-size:8px;
  margin-top:5px;
  padding-right:22px
}

.prize-card h2 {
  font-size:26px;
  font-weight:650;
  color:#443679;
  margin:18px 0 20px;
  max-width:230px;
  overflow-wrap:anywhere
}

.prize-card>p {
  font-size:11px;
  color:#716c9c;
  line-height:1.8
}

.ticket-edge {
  border-top:1px dashed #9d99c3;
  position:relative;
  margin:18px -25px
}

.ticket-edge::before,.ticket-edge::after {
  content:'';
  position:absolute;
  width:18px;
  height:18px;
  top:-9px;
  background:var(--brand-bg);
  border-radius:50%;
  border:1px solid #ded4fa
}

.ticket-edge::before {
  left:-10px
}

.ticket-edge::after {
  right:-10px
}

.prize-meta {
  display:flex;
  align-items:center;
  gap:12px;
  color:#8873af
}

.prize-meta strong {
  font-size:25px;
  font-weight:600;
  letter-spacing:-.04em
}

.prize-meta span {
  font-size:10px
}

.draw-control-card {
  padding:23px
}

.draw-control-card h3 {
  font-size:21px
}

.draw-control-card .eyebrow {
  font-size:8px
}

.draw-control-card>p {
  font-size:11px;
  line-height:1.8
}

.draw-control-card .form-stack {
  gap:16px;
  margin-top:17px
}

.draw-control-card .check-label {
  font-size:10px;
  padding:12px 10px
}

.draw-control-card .check-label small {
  font-size:9px
}

.draw-assurance {
  text-align:center;
  font-size:8px!important;
  color:#8e8ba8!important;
  margin:16px 0 0;
  line-height:1.5
}

.share-card {
  padding:18px 22px;
  border:1px dashed #c3c0d7;
  border-radius:15px
}

.share-card>span {
  font-size:13px;
  font-weight:650
}

.share-card>p {
  font-size:10px;
  color:#7e7a9b;
  margin:5px 0 14px
}

.share-card .button {
  font-size:10px;
  min-height:38px;
  width:100%
}

.share-card .text-link {
  font-size:10px;
  width:100%;
  justify-content:center;
  padding-top:13px;
  padding-bottom:0
}

.share-card>small {
  font-size:10px;
  color:#767295
}

.rules-card {
  padding:25px 23px
}

.rules-card .eyebrow {
  font-size:8px
}

.rules-card h3 {
  font-size:22px
}

.how-list {
  list-style:none;
  padding:0;
  margin:24px 0 0
}

.how-list li {
  display:flex;
  gap:11px;
  margin-bottom:20px
}

.how-list li:last-child {
  margin:0
}

.how-list li>span {
  font-size:10px;
  color:#7f7b9f;
  flex-shrink:0;
  padding-top:1px
}

.how-list strong {
  font-size:11px;
  font-weight:650
}

.how-list p {
  font-size:10px;
  color:#807c9d;
  line-height:1.7;
  margin:4px 0 0
}

.regulation {
  margin-top:25px
}

.regulation h2 {
  font-size:22px
}

.regulation p {
  font-size:13px;
  line-height:1.85;
  overflow-wrap:anywhere
}

.regulation .muted {
  font-size:11px
}

.result-panel {
  margin-top:25px;
  padding:30px;
  background:#fff;
  border:1px solid #cdcae4;
  border-radius:20px;
  break-inside:avoid
}

.result-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px
}

.result-marker {
  color:#414f7b;
  font-weight:700;
  letter-spacing:.1em;
  font-size:10px
}

.result-panel h2 {
  font-size:21px;
  color:#596177;
  font-weight:500
}

.winner-name {
  font-size:clamp(27px,4vw,45px);
  font-weight:700;
  letter-spacing:-.05em;
  color:#2b334b;
  margin-bottom:13px;
  overflow-wrap:anywhere
}

.result-panel>p {
  font-size:13px;
  color:var(--muted)
}

.receipt-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  padding:22px 0;
  border-block:1px solid var(--line);
  margin:25px 0
}

.receipt-grid dt {
  font-size:10px;
  color:#807c9d
}

.receipt-grid dd {
  margin:5px 0 0;
  font-size:13px;
  overflow-wrap:anywhere
}

.audit-details {
  font-size:12px;
  margin-bottom:22px
}

.audit-details summary {
  cursor:pointer;
  color:#4d5776
}

.audit-details p {
  margin-top:15px;
  color:#7c789a;
  font-size:11px
}

.audit-details code {
  display:block;
  background:#f0eff7;
  padding:13px;
  border-radius:6px
}

.eligible-strip {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  max-height:400px;
  overflow:auto;
  padding:5px 4px 5px 0
}

.eligible-chip {
  display:flex;
  align-items:center;
  gap:9px;
  padding:13px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:9px;
  font-size:11px;
  flex-wrap:wrap;
  overflow-wrap:anywhere
}

.eligible-chip small {
  font-size:9px;
  color:#807c9d;
  padding:3px;
  background:#ecebf5;
  border-radius:4px
}

.eligible-chip i {
  font-style:normal;
  font-size:9px;
  color:#8c88a6;
  display:block;
  margin-left:auto
}

.eligible-chip.is-winner {
  border-color:#847cc6;
  background:#ebeaf6
}

.entry-search {
  max-width:400px;
  margin-bottom:15px
}

.hash-chip {
  font-size:9px;
  background:#e7e5f3;
  border:1px solid #d3d1e4;
  border-radius:6px;
  padding:7px 11px;
  color:#6c688b
}

dialog {
  color:var(--ink);
  border:1px solid var(--line);
  background:#fff;
  border-radius:24px;
  padding:35px;
  max-width:min(480px,calc(100vw - 30px));
  box-shadow:0 30px 100px #0004;
  max-height:90dvh;
  overflow:auto
}

dialog::backdrop {
  background:#080b15bd;
  backdrop-filter:blur(7px)
}

.modal-actions {
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:24px
}

.modal-actions .button {
  width:100%
}

.draw-confirm-dialog h2 {
  font-size:29px
}

.draw-confirm-dialog p {
  font-size:13px;
  color:var(--muted);
  line-height:1.8
}

.confirm-dialog-facts {
  padding:14px;
  background:#ebeaf6;
  border-radius:8px;
  font-size:11px;
  color:#5c5881
}

.winner-dialog {
  text-align:center;
  padding:40px 35px;
  width:470px;
  background:radial-gradient(ellipse at top,#dddaf6,white 70%)
}

.dialog-close {
  position:absolute;
  top:12px;
  right:12px;
  width:35px;
  height:35px;
  border-radius:50%;
  border:1px solid #d4d2e4;
  background:#fff;
  color:#5d5a7c;
  font-size:23px
}

.winner-trophy {
  width:80px;
  height:80px;
  margin:6px auto 24px;
  display:grid;
  place-items:center;
  border:1px solid #a39dd1;
  background:#d0cdef;
  border-radius:50%;
  font-size:58px;
  color:#4c448b;
  box-shadow:0 0 0 10px #a39dd116
}

.winner-dialog .eyebrow {
  font-size:8px;
  color:#7d79a0
}

.winner-dialog h2 {
  font-size:24px;
  font-weight:500;
  color:#515a73
}

.modal-winner-name {
  font-size:34px;
  font-weight:700;
  letter-spacing:-.05em;
  line-height:1.2;
  color:#283049;
  overflow-wrap:anywhere;
  margin-bottom:22px
}

.winner-prize {
  border-block:1px dashed #bcb8dd;
  padding:16px 0;
  margin-bottom:20px
}

.winner-prize small {
  display:block;
  font-size:8px;
  color:#76729c;
  letter-spacing:.13em
}

.winner-prize strong {
  display:block;
  margin-top:6px;
  font-size:16px
}

.winner-dialog .muted {
  font-size:10px
}

.winner-dialog .button {
  font-size:12px
}

.is-drawing .raffle-edit,.is-drawing .raffle-entries-section {
  pointer-events:none;
  opacity:.5
}

.is-drawing .official-winner {
  visibility:hidden
}

/* Participants, identity, integrations and authentication */
.participant-filters {
  display:flex;
  align-items:end;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:25px
}

.participant-filters label {
  font-size:11px;
  min-width:0
}

.participant-filters input,.participant-filters select {
  font-size:12px
}

.participant-filters .button {
  font-size:11px
}

.inline-filter {
  display:flex;
  gap:12px;
  align-items:center
}

.inline-filter select {
  width:auto;
  max-width:280px
}

.participants-heading {
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:15px;
  margin-bottom:22px
}

.participants-heading p {
  font-size:10px;
  margin:5px 0
}

.select-all-label {
  display:flex;
  gap:6px;
  align-items:center;
  font-size:10px;
  color:#7d7a9a
}

.participant-row {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  border-top:1px solid var(--line);
  padding:18px 0
}

.participant-avatar {
  display:grid;
  place-items:center;
  background:#e7e5f3;
  color:#686391;
  border-radius:50%;
  width:35px;
  height:35px;
  font-size:12px;
  flex-shrink:0
}

.participant-info {
  flex:1 1 150px;
  min-width:0
}

.participant-info>strong {
  font-size:12px;
  overflow-wrap:anywhere
}

.participant-info>small {
  display:block;
  font-size:10px;
  color:#817e9d;
  line-height:1.6;
  margin-top:3px
}

.participant-edit {
  margin-top:8px
}

.participant-edit summary {
  color:#504a84;
  font-size:10px;
  cursor:pointer
}

.participant-edit .form-stack {
  margin-top:12px
}

.participant-actions,.participant-archive-form {
  margin:0
}

.status-dot-button {
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid var(--line);
  background:#f4f3f9;
  padding:8px 10px;
  border-radius:7px;
  font-size:9px;
  min-height:38px;
  color:#6f6b8e
}

.status-dot-button.is-active {
  background:#e8ebf6;
  border-color:#cbd3e9;
  color:#43527e
}

.status-dot-indicator {
  width:4px;
  height:4px;
  border-radius:50%;
  background:currentColor
}

.archive-button {
  border:0;
  background:none;
  color:#a19386;
  font-size:9px;
  cursor:pointer;
  min-height:38px
}

.bulk-status-toolbar {
  padding:14px;
  background:#f3f2f9;
  border:1px solid var(--line);
  border-radius:10px;
  margin-bottom:20px;
  display:flex;
  gap:10px;
  align-items:end;
  flex-wrap:wrap
}

.bulk-status-toolbar label {
  font-size:10px;
  flex:1 1 130px
}

.bulk-status-toolbar select {
  font-size:11px;
  margin-top:5px
}

.bulk-status-toolbar .button {
  font-size:10px
}

.bulk-status-toolbar small {
  display:block;
  font-size:9px;
  color:#8b87a5
}

.mini-form {
  display:flex;
  gap:7px;
  min-width:220px;
  align-items:center
}

.mini-form input {
  font-size:10px;
  max-width:150px
}

.mini-form .button {
  font-size:9px;
  min-height:38px;
  white-space:nowrap;
  padding:9px 12px
}

.pagination {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  font-size:11px;
  margin-top:20px
}

.pagination .button {
  font-size:10px;
  min-height:36px;
  padding:8px 12px
}

.participant-autocomplete {
  position:relative
}

.participant-autocomplete>label {
  display:block;
  font-size:12px;
  font-weight:600;
  margin-bottom:7px
}

.participant-autocomplete>small {
  display:block;
  font-size:10px;
  color:#7e7b9b;
  margin-top:7px
}

.participant-search-results {
  position:absolute;
  top:76px;
  left:0;
  right:0;
  max-height:260px;
  overflow-y:auto;
  border:1px solid var(--line);
  background:white;
  box-shadow:0 15px 30px #11152320;
  z-index:20;
  border-radius:10px;
  padding:6px
}

.participant-search-option {
  display:block;
  width:100%;
  text-align:left;
  border:0;
  border-bottom:1px solid var(--line);
  padding:12px;
  color:var(--ink);
  background:white;
  font-size:12px
}

.participant-search-option:hover,.participant-search-option[aria-selected=true] {
  background:#e6e5f3
}

.participant-search-option small {
  display:block;
  font-size:10px;
  color:#7c7899
}

.participant-search-empty {
  font-size:11px;
  padding:16px;
  color:#797597
}

.participant-import {
  margin:20px 0
}

.participant-import summary {
  cursor:pointer;
  font-size:12px;
  font-weight:600
}

.participant-import .form-stack {
  margin-top:20px
}

.participant-import>p {
  font-size:11px;
  color:#7e7a9b
}

.settings-form {
  display:flex;
  flex-direction:column;
  gap:24px
}

.settings-section .form-grid {
  margin-top:22px
}

.color-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin:25px 0
}

.color-input {
  display:flex;
  align-items:center;
  gap:8px;
  background:#f4f3fa;
  border:1px solid var(--line);
  border-radius:9px;
  padding:5px 9px
}

.color-input input[type=color] {
  width:32px;
  height:32px;
  padding:0;
  border:0;
  background:none;
  flex-shrink:0;
  cursor:pointer
}

.color-input .color-hex {
  padding:0!important;
  min-height:30px!important;
  border:0!important;
  background:none!important;
  font-size:10px
}

.select-short {
  max-width:240px
}

.brand-preview {
  max-width:180px;
  max-height:90px;
  object-fit:contain;
  object-position:left
}

.icon-preview {
  max-width:64px
}

.settings-section>.button {
  margin-top:22px
}

.integration-card {
  padding:22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px
}

.qr-image,.qr-code {
  max-width:280px;
  border:10px solid white;
  border-radius:12px;
  display:block;
  margin:24px auto
}

.integration-status {
  font-size:12px;
  color:#646086
}

.auth-page {
  min-height:100svh;
  background:var(--dark);
  background-image:radial-gradient(ellipse at 15% 15%,#4a438619,transparent 50%),radial-gradient(ellipse at 90% 85%,#4a438619,transparent 60%)
}

.auth-page-shell.page-shell {
  display:grid;
  place-items:center;
  min-height:100svh;
  max-width:none;
  padding:35px 18px
}

.auth-shell {
  padding:39px 42px;
  background:#f6f5fb;
  border:1px solid #ccc9e1;
  box-shadow:0 30px 100px #0003;
  border-radius:24px;
  width:min(100%,430px)
}

.auth-brand {
  margin-bottom:40px;
  font-size:18px;
  color:#2c3141
}

.auth-brand small {
  font-size:7px;
  letter-spacing:.17em
}

.auth-shell .eyebrow {
  font-size:8px;
  color:#7d799e
}

.auth-shell h1 {
  font-size:35px;
  line-height:1.08;
  font-weight:600;
  letter-spacing:-.045em
}

.auth-shell .lead {
  font-size:12px;
  line-height:1.8;
  color:#8582a0;
  margin:17px 0 28px
}

.auth-shell .form-stack {
  gap:20px
}

.auth-shell label {
  font-size:11px
}

.auth-shell .button {
  margin-top:5px;
  min-height:48px
}

.auth-shell .back-link {
  display:flex;
  justify-content:center;
  margin:25px 0 0;
  font-size:10px;
  color:#726e94
}

.password-field {
  position:relative;
  display:block
}

.password-field input {
  padding-right:78px!important
}

.password-field button {
  position:absolute;
  top:5px;
  right:5px;
  bottom:5px;
  border:0;
  background:transparent;
  color:#7b779a;
  font-size:10px;
  min-width:65px
}

.brand-preview {
  max-width:100%
}

.audit-event,.confirmation-panel {
  padding:15px;
  border:1px solid var(--line);
  border-radius:10px;
  font-size:12px;
  margin:10px 0
}

/* Presentation and responsive layouts */
.presentation-mode {
  overflow:hidden
}

.presentation-mode .wheel-panel {
  position:fixed;
  inset:0;
  z-index:100;
  width:100%;
  height:100dvh;
  overflow:auto;
  border:0;
  border-radius:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:14px 0
}

.presentation-mode .wheel-head {
  width:100%;
  max-width:1100px;
  padding:10px 30px 12px
}

.presentation-mode .wheel-toolbar {
  position:relative;
  z-index:2;
  padding:0 16px 14px
}

.presentation-mode .wheel-scene {
  width:100%;
  flex:1;
  min-height:200px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:15px
}

.presentation-mode .wheel-stage {
  width:min(52vh,65vw,620px)
}

.presentation-mode .pointer-readout {
  margin-top:9px;
  padding:10px 18px;
  width:min(92vw,500px);
  flex-shrink:0
}

.presentation-mode .wheel-live-status {
  margin:10px auto;
  font-size:10px
}

.presentation-mode .wheel-action-row {
  margin-bottom:10px
}

.presentation-mode .wheel-foot {
  display:none
}

.presentation-mode .wheel-head h2 {
  font-size:23px
}

.presentation-mode .wheel-head .eyebrow {
  margin-bottom:6px
}

.presentation-mode .wheel-center-badge strong {
  font-size:clamp(15px,2vw,23px)
}

.presentation-mode .stage-caption {
  inset-inline:20%
}

.presentation-mode .winner-dialog {
  z-index:120
}

.presentation-mode .presentation-draw {
  position:fixed;
  bottom:20px;
  right:22px;
  z-index:110
}

.presentation-mode .draw-confirm-dialog {
  z-index:120
}

.presentation-mode .presentation-exit {
  z-index:101
}

@keyframes pointer-tick {
  0% {
    transform:rotate(-13deg)
  }

  100% {
    transform:rotate(0)
  }

}

@keyframes rim-pulse {
  50% {
    box-shadow:0 0 0 12px #7e71e40a,0 0 35px #7e71e420
  }

}

@keyframes bulb {
  to {
    opacity:.2
  }

}

@keyframes twinkle {
  50% {
    transform:scale(.7);
    opacity:.5
  }

}

@keyframes count-pop {
  from {
    transform:scale(.8);
    opacity:.4
  }

  40% {
    transform:scale(1);
    opacity:1
  }

  to {
    transform:scale(1.04)
  }

}

@keyframes confetti {
  0% {
    opacity:1;
    transform:translate(0,0) rotate(0)
  }

  80% {
    opacity:1
  }

  100% {
    opacity:0;
    transform:translate(var(--dx),var(--dy)) rotate(var(--turn))
  }

}

@media(min-width:1600px) {
  .wheel-stage {
    width:min(100%,465px)
  }

  .wheel-scene {
    padding-block:25px
  }

  .raffle-workspace {
    grid-template-columns:minmax(0,1fr) 340px
  }

}

@media(max-width:1190px) {
  .admin-layout {
    grid-template-columns:210px minmax(0,1fr)
  }

  .admin-sidebar {
    width:210px;
    padding-inline:12px
  }

  .admin-brand {
    font-size:15px
  }

  .admin-content {
    padding:30px 25px 45px
  }

  .admin-topbar {
    padding:0 25px
  }

  .admin-footer {
    margin:0 25px
  }

  .raffle-workspace {
    grid-template-columns:minmax(0,1fr) 260px;
    gap:18px
  }

  .wheel-head {
    padding:21px 20px 18px;
    flex-wrap:wrap
  }

  .wheel-head h2 {
    font-size:21px
  }

  .wheel-head .live-mark {
    padding:0
  }

  .wheel-stage {
    width:min(100%,360px)
  }

  .wheel-toolbar {
    gap:5px;
    padding-inline:10px
  }

  .wheel-toolbar .tool-button {
    padding:6px 8px
  }

  .duration-control {
    font-size:0;
    gap:0
  }

  .duration-control select {
    font-size:9px;
    max-width:114px
  }

  .stats-grid {
    gap:12px
  }

  .stat-card {
    padding:17px
  }

  .stat-label {
    font-size:10px
  }

  .dashboard-feature-grid {
    grid-template-columns:1.4fr 1fr
  }

  .dashboard-spotlight {
    padding:27px 23px
  }

  .dashboard-spotlight h2 {
    font-size:25px
  }

  .spotlight-wheel {
    right:-70px;
    width:210px;
    height:210px
  }

  .topbar,.site-footer:not(.admin-footer) {
    margin-inline:32px
  }

  .public-hero {
    padding:47px 40px;
    min-height:505px
  }

  .hero-wheel {
    width:310px
  }

  .hero-actions {
    gap:15px
  }

  .hero-actions .button {
    padding-inline:16px;
    font-size:10px
  }

  .hero-secondary {
    font-size:9px
  }

  .hero-proof {
    font-size:8px;
    gap:12px
  }

  .hero-star {
    font-size:36px
  }

  .hero-orbit {
    width:430px;
    height:430px
  }

  .orbit-two {
    width:510px;
    height:510px
  }

  .note-top {
    right:-5px;
    top:3px;
    font-size:7px
  }

  .note-bottom {
    bottom:0
  }

  .two-column {
    grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);
    gap:18px
  }

  .panel-card {
    padding:23px
  }

  .eligible-strip {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }

  .how-section {
    gap:30px
  }

  .how-cards {
    gap:18px
  }

}

@media(max-width:980px) {
  .stats-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .dashboard-feature-grid {
    grid-template-columns:1fr
  }

  .dashboard-spotlight {
    min-height:235px
  }

  .spotlight-wheel {
    right:20px
  }

  .quick-start {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    column-gap:16px
  }

  .quick-start .eyebrow,.quick-start h3 {
    grid-column:1/-1
  }

  .quick-start>a {
    align-items:flex-start;
    gap:9px
  }

  .quick-start i {
    display:none
  }

  .quick-start small {
    line-height:1.6
  }

  .admin-body .raffle-workspace {
    grid-template-columns:1fr
  }

  .admin-body .draw-sidebar {
    display:grid;
    grid-template-columns:1fr 1fr
  }

  .admin-body .share-card {
    grid-column:1/-1;
    display:flex;
    align-items:center;
    gap:16px
  }

  .admin-body .share-card p {
    display:none
  }

  .admin-body .share-card .button,.admin-body .share-card .text-link {
    width:auto;
    font-size:10px
  }

  .admin-body .share-card .text-link {
    padding:0
  }

  .two-column {
    grid-template-columns:1fr
  }

  .color-grid {
    grid-template-columns:repeat(3,1fr)
  }

  .hero-art {
    transform:scale(.86);
    transform-origin:center right
  }

  .public-hero {
    padding:40px 32px;
    grid-template-columns:1.1fr 1fr;
    min-height:480px
  }

  .public-hero h1 {
    font-size:52px
  }

  .hero-copy>p {
    font-size:11px
  }

  .hero-actions {
    align-items:flex-start;
    flex-direction:column;
    gap:16px
  }

  .hero-proof {
    gap:12px
  }

  .hero-wheel {
    width:290px
  }

  .note-bottom {
    bottom:15px;
    left:0
  }

  .hero-kicker {
    font-size:7px
  }

  .trust-strip>span {
    display:none
  }

  .trust-strip {
    padding-inline:10px
  }

  .public-workspace {
    grid-template-columns:minmax(0,1fr) 255px
  }

  .public-workspace .wheel-toolbar .tool-button span {
    font-size:8px
  }

  .public-workspace .wheel-head h2 {
    font-size:18px
  }

  .raffle-grid {
    gap:16px
  }

  .raffle-card-content {
    padding:20px
  }

  .raffle-card h3 {
    font-size:19px
  }

  .how-section {
    grid-template-columns:1fr
  }

  .how-section>div:first-child {
    display:flex;
    flex-direction:column
  }

  .how-section>div:first-child>p {
    margin:0
  }

  .how-cards {
    gap:30px
  }

  .form-grid {
    gap:14px
  }

  .operation-steps a {
    padding:12px 10px;
    font-size:9px;
    gap:6px
  }

}

@media(max-width:760px) {
  html {
    scroll-padding-top:20px
  }

  .page-shell {
    padding:20px 18px 38px
  }

  .page-heading {
    align-items:flex-start;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:23px
  }

  .page-heading h1 {
    font-size:30px
  }

  .page-heading>div {
    flex:1 1 220px
  }

  .page-heading p {
    font-size:12px
  }

  .page-heading>.button {
    font-size:11px;
    min-height:42px
  }

  .section-heading {
    gap:15px;
    flex-wrap:wrap;
    margin-bottom:20px
  }

  .section-heading h2 {
    font-size:24px
  }

  .section-block {
    margin-top:30px
  }

  .section-note {
    font-size:10px
  }

  .admin-layout {
    display:block
  }

  .admin-main {
    width:100%;
    min-height:100vh
  }

  .admin-sidebar {
    width:265px;
    transform:translateX(-100%);
    transition:transform .25s ease;
    box-shadow:10px 0 60px #0004;
    padding:25px 18px;
    overflow-y:auto
  }

  .admin-sidebar.is-open {
    transform:translateX(0)
  }

  .admin-sidebar-head {
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 0 28px
  }

  .admin-brand {
    font-size:17px
  }

  .admin-menu-close {
    display:block;
    width:30px;
    height:35px;
    min-width:30px;
    border:1px solid #ffffff16;
    background:none;
    border-radius:6px;
    color:#bbc0cf;
    font-size:23px
  }

  .admin-menu-toggle {
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:4px;
    background:none;
    border:1px solid var(--line);
    width:36px;
    height:36px;
    border-radius:8px;
    padding:9px
  }

  .admin-menu-toggle span {
    height:1.5px;
    display:block;
    width:16px;
    background:#656d86
  }

  .admin-topbar {
    height:66px;
    padding:0 18px
  }

  .admin-topbar-left {
    gap:11px
  }

  .admin-topbar-actions {
    gap:12px
  }

  .admin-breadcrumb span {
    display:none
  }

  .admin-breadcrumb strong {
    font-size:11px
  }

  .admin-public-link {
    font-size:0
  }

  .admin-public-link span {
    font-size:20px;
    padding:8px
  }

  .admin-topbar-divider {
    display:none
  }

  .admin-sidebar-scrim {
    display:block;
    position:fixed;
    inset:0;
    background:#0a0d16b0;
    border:0;
    z-index:65;
    backdrop-filter:blur(2px)
  }

  .admin-menu-open {
    overflow:hidden
  }

  .admin-content {
    padding:26px 18px 40px
  }

  .admin-footer {
    margin:0 18px;
    padding:22px 0;
    font-size:9px
  }

  .admin-footer .footer-link {
    display:none
  }

  .stats-grid {
    gap:10px
  }

  .stat-card {
    padding:17px
  }

  .stat-card>strong {
    font-size:31px
  }

  .stat-label {
    font-size:9px
  }

  .stat-icon {
    width:26px;
    height:26px;
    font-size:18px
  }

  .stat-card>small {
    font-size:9px
  }

  .dashboard-feature-grid {
    margin-top:19px;
    gap:18px
  }

  .dashboard-spotlight {
    min-height:246px;
    padding:26px
  }

  .dashboard-spotlight>div:first-child {
    max-width:68%
  }

  .dashboard-spotlight h2 {
    font-size:25px
  }

  .spotlight-wheel {
    width:210px;
    height:210px;
    right:-66px;
    bottom:14px
  }

  .quick-start {
    display:block
  }

  .quick-start>a {
    padding:12px 0;
    align-items:center
  }

  .quick-start i {
    display:block
  }

  .quick-start small {
    font-size:10px
  }

  .quick-start>a>span {
    font-size:12px
  }

  .panel-card {
    padding:23px 20px;
    border-radius:15px
  }

  .two-column {
    gap:20px
  }

  .operation-steps {
    gap:6px;
    margin:20px 0
  }

  .operation-steps a {
    font-size:8px;
    flex-wrap:wrap;
    padding:10px 8px;
    gap:4px;
    line-height:1.5
  }

  .operation-steps b {
    width:100%;
    font-size:9px
  }

  .operation-steps span {
    display:none
  }

  .raffle-page-heading h1 {
    font-size:28px
  }

  .raffle-page-heading {
    gap:12px
  }

  .raffle-page-heading .status-pill {
    align-self:flex-start
  }

  .raffle-workspace,.public-workspace {
    grid-template-columns:1fr;
    gap:19px
  }

  .wheel-panel {
    border-radius:19px
  }

  .wheel-head {
    padding:24px 22px 18px;
    gap:10px
  }

  .wheel-head h2 {
    font-size:22px
  }

  .wheel-head .live-mark {
    font-size:7px;
    align-self:flex-end
  }

  .wheel-toolbar {
    gap:8px;
    padding:0 16px 16px
  }

  .wheel-toolbar .tool-button {
    font-size:10px;
    padding:6px 9px
  }

  .wheel-toolbar .tool-button span {
    font-size:9px!important
  }

  .duration-control select {
    max-width:125px;
    font-size:10px
  }

  .wheel-scene {
    padding:14px 26px 18px
  }

  .wheel-stage {
    width:min(100%,400px)
  }

  .stage-caption {
    display:none
  }

  .wheel-center-badge {
    border-width:5px
  }

  .wheel-center-badge>strong {
    font-size:16px
  }

  .pointer-readout {
    padding:15px 12px 17px;
    width:84%
  }

  .pointer-readout strong {
    font-size:23px
  }

  .wheel-live-status {
    font-size:10px;
    padding:0 24px;
    line-height:1.6
  }

  .wheel-foot {
    padding:14px 20px;
    font-size:8px
  }

  .admin-body .draw-sidebar,.draw-sidebar {
    display:flex;
    flex-direction:column;
    gap:18px
  }

  .prize-card {
    min-height:unset;
    padding:22px 24px
  }

  .prize-card h2 {
    max-width:none;
    padding-right:22px;
    font-size:26px;
    margin:14px 0
  }

  .prize-card>p {
    font-size:12px
  }

  .prize-meta {
    gap:12px
  }

  .prize-meta span {
    font-size:11px
  }

  .ticket-edge {
    margin:18px -24px
  }

  .draw-control-card {
    padding:25px
  }

  .draw-control-card>p {
    font-size:12px
  }

  .draw-control-card .check-label {
    font-size:12px
  }

  .draw-control-card .check-label small {
    font-size:11px
  }

  .draw-control-card .button {
    width:100%
  }

  .admin-body .share-card {
    display:block;
    padding:22px
  }

  .admin-body .share-card p {
    display:block;
    font-size:11px
  }

  .admin-body .share-card .button {
    display:flex;
    width:100%;
    font-size:12px
  }

  .admin-body .share-card .text-link {
    display:flex;
    width:100%;
    padding:14px 0 0;
    font-size:11px
  }

  .rules-card h3 {
    font-size:24px
  }

  .how-list strong {
    font-size:13px
  }

  .how-list p {
    font-size:12px
  }

  .how-list li>span {
    font-size:12px
  }

  .how-list li {
    gap:15px
  }

  .eligible-strip {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .eligible-chip {
    font-size:10px;
    gap:7px
  }

  .result-panel {
    padding:25px 22px
  }

  .result-top {
    align-items:flex-start;
    gap:12px;
    flex-wrap:wrap
  }

  .result-top .tool-button {
    font-size:10px;
    min-height:34px;
    padding:7px
  }

  .result-panel h2 {
    font-size:19px
  }

  .winner-name {
    font-size:34px
  }

  .receipt-grid {
    gap:18px 12px
  }

  .receipt-grid dd {
    font-size:12px
  }

  .entry-search {
    max-width:100%
  }

  .topbar {
    height:80px;
    margin:0 20px;
    gap:10px
  }

  .topbar .brand {
    font-size:16px
  }

  .brand-mark {
    width:34px;
    height:34px
  }

  .brand-mark-letter {
    font-size:28px
  }

  .topbar .brand small {
    font-size:7px
  }

  .public-nav-link {
    display:none
  }

  .main-nav {
    gap:0
  }

  .nav-login {
    min-height:36px;
    padding:9px 12px;
    font-size:11px
  }

  .nav-login-wide {
    display:none
  }

  .nav-login-compact {
    display:inline
  }

  .public-body>.page-shell {
    padding-top:4px
  }

  .public-hero {
    padding:33px 27px 30px;
    grid-template-columns:1fr;
    gap:20px;
    min-height:unset;
    border-radius:20px
  }

  .hero-kicker {
    font-size:7px;
    letter-spacing:.13em
  }

  .public-hero h1 {
    font-size:56px;
    line-height:1.01;
    margin:22px 0
  }

  .hero-star {
    font-size:38px;
    margin-left:24px
  }

  .hero-copy>p {
    font-size:12px;
    line-height:1.9
  }

  .hero-actions {
    flex-direction:row;
    align-items:center;
    gap:17px;
    margin-top:24px
  }

  .hero-actions .button {
    font-size:10px;
    padding:12px 15px;
    min-height:45px;
    gap:12px
  }

  .hero-secondary {
    font-size:9px;
    max-width:80px;
    line-height:1.6
  }

  .hero-proof {
    margin-top:22px;
    font-size:8px;
    gap:20px
  }

  .hero-art {
    height:330px;
    transform:none;
    margin-top:15px;
    min-width:0
  }

  .hero-wheel {
    width:270px;
    flex-shrink:0;
    padding:9px
  }

  .decor-wheel>span {
    font-size:8px;
    padding-right:10px
  }

  .decor-hub {
    font-size:37px;
    border-width:5px
  }

  .hero-orbit {
    width:330px;
    height:330px
  }

  .orbit-two {
    width:395px;
    height:395px
  }

  .floating-note {
    font-size:7px;
    padding:10px 13px
  }

  .note-top {
    top:5px;
    right:-7px;
    transform:rotate(6deg)
  }

  .note-bottom {
    bottom:2px;
    left:-6px;
    font-size:9px;
    padding:12px 18px 12px 47px
  }

  .mini-star {
    left:11px;
    top:11px;
    font-size:26px
  }

  .spark-one {
    bottom:10px;
    right:0;
    font-size:36px
  }

  .spark-two {
    top:10px;
    left:0;
    font-size:26px
  }

  .trust-strip {
    gap:12px;
    padding:22px 3px;
    font-size:8px;
    align-items:center;
    justify-content:space-between
  }

  .trust-strip>div {
    gap:6px;
    line-height:1.5
  }

  .trust-strip i {
    font-size:10px
  }

  .public-body #sorteios {
    margin-top:34px
  }

  .public-body .section-heading h2 {
    font-size:29px
  }

  .catalog-toolbar {
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    margin-bottom:20px
  }

  .catalog-toolbar>.search-field {
    min-width:0
  }

  .filter-tabs {
    align-self:flex-start;
    gap:1px
  }

  .filter-tabs button {
    padding:8px 13px;
    font-size:11px
  }

  .filter-tabs button span {
    font-size:9px
  }

  .raffle-grid {
    grid-template-columns:1fr;
    gap:22px
  }

  .raffle-card-art {
    height:190px
  }

  .raffle-card-content {
    padding:24px
  }

  .raffle-card h3 {
    font-size:24px
  }

  .card-prize {
    font-size:13px
  }

  .card-meta {
    font-size:11px
  }

  .raffle-card .button {
    font-size:12px;
    min-height:45px
  }

  .prize-illustration {
    right:43px;
    top:35px;
    width:130px;
    height:130px
  }

  .card-serial {
    font-size:9px;
    bottom:18px;
    left:23px
  }

  .raffle-card-art>.status-pill {
    font-size:10px
  }

  .how-section {
    margin-top:45px;
    padding-top:30px;
    gap:26px
  }

  .how-section h2 {
    font-size:33px
  }

  .how-cards {
    grid-template-columns:1fr;
    gap:20px
  }

  .how-cards article {
    display:grid;
    grid-template-columns:42px 1fr;
    column-gap:15px
  }

  .how-cards b {
    grid-row:1/3;
    margin:0;
    font-size:29px;
    line-height:1.2
  }

  .how-cards h3 {
    font-size:18px;
    line-height:1.4;
    margin-bottom:7px
  }

  .how-cards p {
    font-size:12px;
    margin:0
  }

  .site-footer:not(.admin-footer) {
    margin-inline:20px;
    padding:27px 0 35px;
    flex-direction:column;
    align-items:flex-start;
    gap:22px;
    font-size:10px
  }

  .site-footer .footer-brand {
    font-size:16px
  }

  .detail-navigation {
    gap:9px;
    margin-bottom:14px
  }

  .detail-navigation .back-link {
    font-size:10px
  }

  .detail-navigation .tool-button {
    font-size:9px;
    padding:8px;
    min-height:36px
  }

  .detail-hero {
    gap:14px;
    align-items:flex-start;
    flex-wrap:wrap;
    margin-bottom:22px
  }

  .detail-hero h1 {
    font-size:31px
  }

  .detail-hero .eyebrow {
    font-size:8px;
    line-height:1.7
  }

  .public-workspace .wheel-head h2 {
    font-size:22px
  }

  .regulation h2 {
    font-size:23px
  }

  .regulation p {
    font-size:12px
  }

  .compact-toolbar {
    flex-direction:row;
    flex-wrap:wrap
  }

  .compact-toolbar .search-field {
    min-height:46px
  }

  .compact-toolbar>select {
    flex:1 1 150px
  }

  .responsive-table thead {
    display:none
  }

  .responsive-table,.responsive-table tbody {
    display:block
  }

  .responsive-table tr {
    display:block;
    padding:18px 20px;
    border-top:1px solid var(--line)
  }

  .responsive-table tr:first-child {
    border-top:0
  }

  .responsive-table td {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:8px 0;
    border:0;
    font-size:11px;
    text-align:right
  }

  .responsive-table td:first-child {
    display:block;
    text-align:left;
    font-size:14px;
    margin-bottom:7px
  }

  .responsive-table td[data-label]::before {
    content:attr(data-label);
    font-size:10px;
    color:#7b839b;
    flex-shrink:0
  }

  .responsive-table td:first-child::before {
    display:none
  }

  .responsive-table td:last-child {
    justify-content:flex-end
  }

  .responsive-table small {
    font-size:10px
  }

  .form-grid {
    grid-template-columns:1fr
  }

  .color-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:15px
  }

  .participant-filters {
    align-items:stretch;
    gap:10px
  }

  .participant-filters label {
    flex:1 1 145px
  }

  .participant-filters .button {
    flex:1 1 100px
  }

  .inline-filter {
    flex-wrap:wrap
  }

  .inline-filter select {
    max-width:100%;
    width:100%
  }

  .participants-heading {
    gap:10px;
    flex-wrap:wrap
  }

  .participants-heading h2 {
    font-size:23px
  }

  .participant-row {
    gap:9px
  }

  .participant-select {
    width:18px
  }

  .participant-info {
    flex:1 1 calc(100% - 75px)
  }

  .participant-actions {
    margin-left:70px
  }

  .participant-archive-form {
    margin-left:auto
  }

  .participant-search-results {
    top:77px
  }

  .participant-filters input,.participant-filters select,.form-stack input:not([type=checkbox]),.form-stack textarea,.form-stack select,.form-grid input,.form-grid textarea,.form-grid select {
    font-size:16px
  }

  .participant-edit input:not([type=checkbox]) {
    font-size:16px
  }

  .participant-edit .button {
    min-height:40px;
    font-size:11px
  }

  .panel-card .table-wrap {
    margin-inline:-5px;
    max-width:calc(100% + 10px)
  }

  .auth-shell {
    padding:33px 28px;
    border-radius:20px
  }

  .auth-brand {
    margin-bottom:34px
  }

  .auth-shell h1 {
    font-size:36px
  }

  .auth-shell label {
    font-size:12px
  }

  .auth-shell .lead {
    font-size:13px
  }

  .auth-shell .form-stack input {
    font-size:16px
  }

  .auth-shell .back-link {
    font-size:11px
  }

  .presentation-mode .wheel-panel {
    padding-top:12px
  }

  .presentation-mode .wheel-head {
    padding:10px 20px 15px
  }

  .presentation-mode .wheel-head h2 {
    font-size:19px
  }

  .presentation-mode .wheel-head .eyebrow {
    font-size:7px
  }

  .presentation-mode .live-mark {
    font-size:6px
  }

  .presentation-mode .wheel-stage {
    width:min(80vw,47vh)
  }

  .presentation-mode .wheel-scene {
    min-height:180px;
    padding:13px 25px
  }

  .presentation-mode .wheel-toolbar {
    gap:7px
  }

  .presentation-mode .wheel-live-status {
    font-size:9px
  }

  .presentation-mode .pointer-readout {
    padding:10px 12px 12px;
    max-width:350px
  }

  .presentation-mode .pointer-readout strong {
    font-size:22px
  }

  .presentation-mode .presentation-draw {
    bottom:15px;
    right:15px;
    min-height:42px;
    font-size:12px;
    padding:10px 15px
  }

  .winner-dialog {
    padding:35px 26px
  }

  .winner-dialog h2 {
    font-size:23px
  }

  .modal-winner-name {
    font-size:32px
  }

  dialog {
    padding:29px 24px;
    border-radius:19px
  }

  .draw-confirm-dialog h2 {
    font-size:28px
  }

  .empty-state {
    padding:36px 20px
  }

  .empty-state p {
    font-size:12px
  }

}

@media(max-width:380px) {
  .page-shell,.admin-content {
    padding-inline:14px
  }

  .topbar {
    margin-inline:15px
  }

  .public-hero {
    padding-inline:23px
  }

  .public-hero h1 {
    font-size:51px
  }

  .hero-kicker {
    font-size:6px
  }

  .hero-art {
    height:300px
  }

  .hero-wheel {
    width:245px
  }

  .hero-proof {
    font-size:7px;
    gap:12px
  }

  .hero-actions {
    gap:13px
  }

  .hero-actions .button {
    padding-inline:12px;
    font-size:9px
  }

  .hero-secondary {
    font-size:8px
  }

  .wheel-toolbar {
    gap:4px;
    padding-inline:8px
  }

  .wheel-toolbar .tool-button {
    padding:6px 7px;
    font-size:9px
  }

  .wheel-toolbar .tool-button span {
    font-size:8px!important
  }

  .duration-control select {
    font-size:9px;
    max-width:107px
  }

  .wheel-head {
    padding:20px
  }

  .wheel-head h2,.public-workspace .wheel-head h2 {
    font-size:20px
  }

  .wheel-center-badge strong {
    font-size:13px
  }

  .wheel-center-badge>span {
    font-size:7px
  }

  .wheel-center-badge>i {
    font-size:16px
  }

  .stats-grid {
    gap:8px
  }

  .stat-card {
    padding:14px
  }

  .stat-label {
    font-size:8px
  }

  .stat-card>small {
    font-size:8px
  }

  .filter-tabs button {
    padding:8px 11px
  }

  .operation-steps a {
    font-size:7px
  }

  .color-grid {
    gap:10px
  }

  .eligible-strip {
    grid-template-columns:1fr
  }

  .detail-hero h1 {
    font-size:28px
  }

}

@media(prefers-reduced-motion:reduce) and (min-width:100000px) {
  html {
    scroll-behavior:auto
  }

  *,*::before,*::after {
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important
  }

  .wheel-confetti-piece,.confetti {
    display:none
  }

  .raffle-card:hover,.button:hover {
    transform:none
  }

}

@media print {
  body {
    background:white!important
  }

  .admin-sidebar,.admin-topbar,.topbar,.site-footer,.wheel-panel,.draw-sidebar,.raffle-edit,.raffle-entries-section,.page-heading,.detail-navigation,.detail-hero,.operation-steps,.regulation,dialog,.app-toast,.result-panel button,.result-panel>.button {
    display:none!important
  }

  .admin-layout,.admin-main {
    display:block
  }

  .page-shell {
    padding:0;
    margin:0;
    max-width:none
  }

  .result-panel {
    border:1px solid #bbb;
    margin:0;
    display:block!important
  }

  .result-panel[hidden] {
    display:none!important
  }

  .result-panel details {
    display:block
  }

  .audit-details>code {
    display:block
  }

  .receipt-grid {
    border-color:#ccc
  }

  .result-top {
    margin-bottom:25px
  }

  .result-panel h2 {
    color:#333
  }

  .winner-name {
    color:#000
  }

}

/* Blue / violet identity requested by the owner. */
.button:not(.button-light):not(.button-outline) {
  background:linear-gradient(115deg,var(--brand-secondary),#8859ec);
  border-color:transparent;
  color:#fff;
  box-shadow:0 5px 15px #6558dd20
}

.button:not(.button-light):not(.button-outline):hover:not(:disabled) {
  box-shadow:0 8px 24px #6656e638;
  filter:brightness(1.06)
}

.button.button-draw,.button.button-accent,.button.button-stage {
  background:linear-gradient(110deg,#5278ff,#9158f2);
  border-color:#a19aff55;
  color:white
}

.brand-mark-letter,.footer-mark {
  background:linear-gradient(135deg,#608aff,#9d6cff);
  color:white;
  box-shadow:0 4px 14px #8071e829
}

.admin-sidebar {
  background:linear-gradient(180deg,var(--brand-primary),#161733 75%)
}

.admin-nav-link.is-active {
  background:linear-gradient(105deg,#496ae5,#8654de);
  color:#fff;
  box-shadow:0 6px 21px #6545dc38
}

.admin-nav-current {
  background:#d5d0ff;
  box-shadow:0 0 9px #c6bcff
}

.admin-nav-link:hover:not(.is-active) {
  background:#8a77f01a;
  color:#e9e4ff
}

.admin-nav-link:not(.is-active) .admin-nav-icon {
  color:#a9abeb
}

.admin-sidebar-caption-dot {
  background:#a4b5ff;
  box-shadow:0 0 0 3px #9b9aff20
}

.admin-topbar-user,.admin-user-avatar {
  color:#7550c8;
  background:#ece5ff;
  border-color:#d6c9f9
}

.admin-body .stat-card:nth-child(1) {
  background:linear-gradient(135deg,#fff,#eeeaff);
  border-color:#e1d7fa
}

.admin-body .stat-card:nth-child(2) {
  background:linear-gradient(135deg,#fff,#e7efff);
  border-color:#d9e4fa
}

.admin-body .stat-card:nth-child(3) {
  background:linear-gradient(135deg,#fff,#e3f2ff);
  border-color:#d5eafa
}

.admin-body .stat-card:nth-child(4) {
  background:linear-gradient(135deg,#fff,#f4e8ff);
  border-color:#e9d9fa
}

.stat-icon-violet {
  color:#8554dc;
  background:#e6dcff
}

.stat-icon-green {
  color:#4774da;
  background:#dce8ff
}

.stat-icon-cyan {
  color:#3192cc;
  background:#d9efff
}

.stat-icon-orange {
  color:#a154cf;
  background:#f0dcff
}

.greeting-star {
  color:#8f60e4
}

.stat-card>strong {
  color:#31315b
}

.stat-label {
  color:#7d7c9b
}

.dashboard-spotlight {
  background:radial-gradient(ellipse at 90% 0,#6752c44a,transparent 70%),linear-gradient(120deg,#1a285a,#251a50)
}

.dashboard-spotlight .eyebrow {
  color:#a8b5ef
}

.dashboard-spotlight p {
  color:#a5add2
}

.spotlight-wheel i {
  background:repeating-conic-gradient(#9d82fa 0 44deg,#7779cf 44deg 45deg,#4a63c5 45deg 89deg,#7779cf 89deg 90deg)
}

.spotlight-wheel span {
  background:#20234d;
  border-color:#c7b7fc;
  color:#c3caff
}

.spotlight-wheel {
  border-color:#8c7ed8
}

.quick-start a:nth-of-type(1) b {
  color:#8056d1;
  background:#f0e9ff;
  border-color:#dfd0ff
}

.quick-start a:nth-of-type(2) b {
  color:#4e7acc;
  background:#e9f0ff;
  border-color:#d3e0ff
}

.quick-start a:nth-of-type(3) b {
  color:#a15aca;
  background:#f5eaff;
  border-color:#ecd2ff
}

.public-hero {
  background:radial-gradient(ellipse at 85% 40%,#6542bc36,transparent 50%),var(--brand-primary)
}

.public-hero h1 em {
  background:linear-gradient(105deg,#82acff,#b58aff);
  color:transparent;
  background-clip:text;
  -webkit-background-clip:text
}

.hero-star {
  color:#a68bfa
}

.hero-copy>p {
  color:#b1b8db
}

.hero-kicker {
  color:#adb9f3
}

.hero-proof {
  color:#8d9bc8
}

.hero-kicker i {
  background:#b58aff;
  box-shadow:0 0 9px #b58aff88
}

.decor-wheel {
  background:conic-gradient(#6590ff 0 45deg,#7552d1 45deg 90deg,#c2adff 90deg 135deg,#344dac 135deg 180deg,#759bff 180deg 225deg,#9163dc 225deg 270deg,#56c8e9 270deg 315deg,#3e4b99 315deg)
}

.decor-wheel>span {
  color:#fff!important
}

.decor-wheel>span:nth-child(3),.decor-wheel>span:nth-child(7) {
  color:#23274b!important
}

.decor-hub {
  background:#25294f;
  border-color:#e6dfff;
  color:#d7c4ff
}

.hero-wheel {
  background:#24294d;
  border-color:#7b79bb;
  box-shadow:0 0 0 12px #8076dd0a,0 0 0 26px #8076dd08,0 20px 50px #0005
}

.hero-orbit {
  border-color:#9d80fa17
}

.floating-note {
  background:#f1edff;
  color:#44426a
}

.mini-star {
  color:#8a65d1
}

.art-spark {
  color:#a2b8ff
}

.trust-strip i {
  color:#9680c9
}

.raffle-card-art.art-0 {
  background:linear-gradient(135deg,#e8eeff,#d9e3ff)
}

.raffle-card-art.art-1 {
  background:linear-gradient(135deg,#f0e7ff,#e4d4fc)
}

.raffle-card-art.art-2 {
  background:linear-gradient(135deg,#e8f4ff,#d5eaff)
}

.prize-illustration {
  border-color:#8c9dde66;
  box-shadow:0 0 0 18px #8c9dde12,0 0 0 38px #8c9dde09
}

.art-1 .prize-illustration {
  border-color:#ae8fdf66;
  box-shadow:0 0 0 18px #ae8fdf12,0 0 0 38px #ae8fdf09
}

.prize-card {
  background:radial-gradient(ellipse at 90% 15%,#d6c0fc5e,transparent 70%),linear-gradient(130deg,#f0ecff,#eae6ff);
  border-color:#ded4f8
}

.prize-card h2 {
  color:#453577
}

.prize-card .eyebrow {
  color:#8e78b5
}

.prize-symbol {
  color:#a48acb
}

.prize-meta {
  color:#8b77ae
}

.ticket-edge {
  border-color:#c5b4e4
}

.wheel-panel {
  background:radial-gradient(ellipse at 50% 48%,#26376955,transparent 65%),#111b3d;
  border-color:#2d3965
}

.wheel-head .eyebrow {
  color:#91a4da
}

.wheel-head h2 {
  color:#e9edff
}

.wheel-live-status {
  color:#a2b1d7
}

.wheel-foot {
  color:#91a0c6
}

.wheel-foot i {
  background:#9d99ee
}

.live-mark {
  color:#b4b7ff
}

.live-mark i {
  background:#a5a7ff
}

.pointer-readout strong {
  color:#e3ddff
}

.pointer-readout>span:first-child {
  color:#9b9dd1
}

.wheel-orbit {
  border-color:#9690ee4d
}

.wheel-bulbs {
  background:#2f3561;
  border-color:#2f3561
}

.wheel-center-badge {
  background:#252c55;
  border-color:#e2e4ff;
  color:#f5f2ff
}

.wheel-center-badge>i {
  color:#bca4ff
}

.wheel-countdown {
  background:#141b3ebf;
  color:#c5b5ff
}

.duration-control select,.duration-control option {
  background:#293158;
  color:#d8def7
}

.wheel-toolbar .tool-button {
  color:#b1bce2
}

.wheel-toolbar .tool-button[aria-pressed=true] {
  background:#8376ed24;
  border-color:#9c90ec80;
  color:#d1bcff
}

.winner-dialog {
  background:radial-gradient(ellipse at top,#ece5ff,white 70%)
}

.winner-trophy {
  background:#e5dcff;
  border-color:#cfc1f5;
  color:#8b67d4;
  box-shadow:0 0 0 10px #af92e816
}

.winner-dialog h2 {
  color:#7b6b9d
}

.modal-winner-name,.winner-name {
  color:#564087
}

.winner-dialog .eyebrow {
  color:#9f8abd
}

.winner-prize {
  border-color:#d3c6ed
}

.result-marker {
  color:#805bbe
}

.result-panel {
  border-color:#dfd6f3
}

.auth-page {
  background:radial-gradient(ellipse at 15% 15%,#5166dd26,transparent 50%),radial-gradient(ellipse at 90% 85%,#9355d529,transparent 60%),#141b39
}

.auth-shell {
  background:#fafaff;
  border-color:#ded9f3
}

.auth-shell h1 {
  color:#303258
}

.auth-brand {
  color:#303258
}

.audio-level {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  margin:-6px 15px 15px;
  color:#97a3cf;
  font-size:8px
}

.audio-level>span {
  letter-spacing:.15em;
  color:#8e98bd
}

.audio-level label {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:9px
}

.audio-level input[type=range] {
  width:70px;
  min-height:15px!important;
  height:15px;
  padding:0!important;
  border:0!important;
  background:none!important;
  accent-color:#a68aff;
  cursor:pointer
}

.wheel-countdown {
  flex-direction:column;
  gap:10px
}

.wheel-countdown small {
  font-size:9px;
  letter-spacing:.18em;
  color:#b8c9ff
}

.wheel-countdown strong {
  font-size:clamp(70px,9vw,115px);
  font-weight:800;
  line-height:1.1;
  text-shadow:0 0 45px #a18cff66
}

.wheel-countdown strong.countdown-go {
  font-size:clamp(32px,4vw,55px);
  letter-spacing:-.05em
}

.presentation-mode .audio-level {
  margin:0 0 5px
}

.wheel-stage-running .wheel-pointer {
  background:#eee9ff;
  filter:drop-shadow(0 0 8px #b192ff77)
}

.wheel-options {
  position:relative;
  z-index:10;
  width:calc(100% - 48px);
  margin:0 24px 10px;
  border:1px solid #8593d024;
  background:#98a4ff08;
  border-radius:10px;
  color:#bac3e5
}

.wheel-options summary {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:39px;
  padding:11px 14px;
  cursor:pointer;
  font-size:10px;
  list-style:none
}

.wheel-options summary::-webkit-details-marker {
  display:none
}

.wheel-options summary>span {
  font-weight:600;
  color:#c5c6ee
}

.wheel-options summary>small {
  font-size:8px;
  color:#8292bb;
  margin-left:auto
}

.wheel-options summary>i {
  font-style:normal;
  font-size:17px;
  line-height:1;
  color:#a48be9
}

.wheel-options[open] summary>i {
  transform:rotate(45deg)
}

.wheel-options-body {
  padding:0 15px 14px
}

.wheel-options-body>p {
  font-size:9px;
  color:#9baad0;
  line-height:1.7;
  margin:0 0 15px
}

.effect-options-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px
}

.effect-option {
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 11px;
  border:1px solid #929bd51c;
  border-radius:7px;
  background:#7887d308;
  cursor:pointer
}

.effect-option>span {
  flex:1;
  min-width:0
}

.effect-option strong {
  display:block;
  font-size:10px;
  font-weight:500;
  color:#ced6f5
}

.effect-option small {
  display:block;
  font-size:8px;
  line-height:1.6;
  margin-top:3px;
  color:#7f92c2
}

.effect-option input {
  position:absolute;
  right:11px;
  top:50%;
  transform:translateY(-50%);
  width:31px;
  height:18px;
  opacity:0;
  cursor:pointer;
  z-index:1;
  margin:0
}

.effect-option>i {
  display:block;
  flex-shrink:0;
  width:31px;
  height:18px;
  border-radius:20px;
  background:#424b71;
  position:relative;
  transition:background .2s
}

.effect-option>i::after {
  content:'';
  position:absolute;
  top:3px;
  left:3px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#cad0e8;
  transition:transform .2s
}

.effect-option input:checked+i {
  background:linear-gradient(90deg,#5777f4,#ad73f1)
}

.effect-option input:checked+i::after {
  transform:translateX(13px);
  background:#fff
}

.effect-option input:focus-visible+i {
  outline:2px solid #c2adff;
  outline-offset:3px
}

.effect-option input:disabled+i {
  opacity:.45
}

.effects-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:8px;
  color:#768abb;
  margin-top:15px
}

.effects-footer button {
  border:0;
  background:none;
  color:#b3a3e7;
  font-size:9px;
  padding:7px;
  min-height:30px
}

.effects-lights-off.wheel-stage-running .wheel-orbit,.effects-lights-off.wheel-stage-running .wheel-bulbs i,.effects-lights-off.wheel-stage-running .wheel-center-badge>i {
  animation:none!important
}

.presentation-mode .wheel-options {
  width:min(92vw,650px);
  margin:0 auto 10px;
  flex-shrink:0
}

.presentation-mode .wheel-options[open] {
  max-height:40vh;
  overflow:auto;
  background:#182446
}

.presentation-mode .wheel-head {
  padding-bottom:9px
}

.presentation-mode .wheel-toolbar {
  padding-bottom:10px
}

@media(max-width:760px) {
  .wheel-options {
    width:calc(100% - 36px);
    margin-inline:18px
  }

  .effect-options-grid {
    grid-template-columns:1fr
  }

  .effect-option {
    padding:12px
  }

  .effect-option strong {
    font-size:11px
  }

  .effect-option small {
    font-size:9px
  }

  .wheel-options summary>small {
    font-size:7px
  }

  .effects-footer {
    font-size:7px
  }

  .wheel-options-body>p {
    font-size:10px
  }

  .wheel-options summary {
    padding:11px 12px
  }

  .audio-level {
    gap:15px;
    margin-bottom:14px
  }

  .audio-level>span {
    font-size:7px
  }

  .presentation-mode .wheel-options {
    margin-bottom:8px
  }

  .presentation-mode .wheel-options summary {
    min-height:32px;
    padding:7px 12px
  }

}

/* ARENA / final art direction: high contrast blue, electric violet, deliberate hierarchy. */
:root {
  --ink:#e9eeff;
  --muted:#92a0c2;
  --line:#283255;
  --shadow:none;
  --radius:16px
}

body {
  color:var(--ink);
  background:#0b1023;
  letter-spacing:-.01em
}

body.admin-body,body.public-body {
  --ink:#e9eeff;
  --muted:#92a0c2;
  --line:#283255;
  background:var(--brand-bg);
  color:#e9eeff
}

h1,h2,h3 {
  font-weight:750;
  letter-spacing:-.045em
}

h1 {
  font-size:clamp(32px,3.6vw,48px)
}

.eyebrow {
  color:#7f91bc;
  letter-spacing:.18em;
  font-size:9px
}

.muted,.lead,.section-note {
  color:#92a0c2
}

.button {
  border-radius:7px;
  font-weight:700;
  letter-spacing:0
}

.button:not(.button-light):not(.button-outline) {
  background:linear-gradient(112deg,var(--brand-secondary) 5%,color-mix(in srgb,var(--brand-accent) 55%,#432184) 100%);
  box-shadow:0 5px 22px #4a56d22b
}

.button.button-light,.button.button-outline {
  background:#1a2546;
  color:#d4dfff;
  border-color:#33426b;
  box-shadow:none
}

.button.button-light:hover,.button.button-outline:hover {
  background:#24335b;
  border-color:#586fb1
}

.button.button-draw {
  background:linear-gradient(108deg,#4978ff,#8c4ff0);
  border-color:#a7aaff77;
  box-shadow:0 0 25px #6b5cf536
}

.text-link,.footer-link {
  color:#a6b9ff
}

.tool-button {
  border-color:#354168;
  background:#1b2643;
  color:#c0d0fc
}

.tool-button:hover {
  background:#273759
}

.back-link {
  color:#9badcf
}

.page-heading p {
  color:#8f9fc5
}

.panel-card {
  background:var(--brand-surface);
  border-color:#293357;
  border-radius:14px
}

.panel-card>p {
  color:#98a8c9
}

.section-heading {
  margin-bottom:24px
}

.section-note {
  font-size:11px
}

.status-pill {
  background:#26324f;
  border-color:#384561;
  color:#adbad8;
  border-radius:4px;
  font-size:10px;
  letter-spacing:.025em
}

.status-open {
  background:#203561;
  border-color:#385c9e;
  color:#9cbeff
}

.status-drawn {
  background:#352451;
  border-color:#65438b;
  color:#ceb1f6
}

.status-draft,.status-closed {
  background:#272f47;
  border-color:#3a435c;
  color:#9aa9c6
}

.notice-success {
  background:#142d40;
  border-color:#285976;
  color:#9bcdeb
}

.notice-neutral {
  background:#1a2747;
  border-color:#354871;
  color:#a5b9e0
}

.notice-error {
  background:#362131;
  border-color:#70364c;
  color:#ffacbf
}

.empty-state {
  background:#141d3488;
  border-color:#354364;
  color:#e3eaff
}

.empty-state p {
  color:#8f9fc3
}

.empty-icon {
  color:#9b83f0
}

.heading-dot,.greeting-star {
  color:#9c79f6
}

input:not([type=checkbox]):not([type=color]):not([type=file]),textarea,select {
  background:#0e1830;
  color:#e0e8ff;
  border-color:#35436a;
  border-radius:7px
}

input::placeholder,textarea::placeholder {
  color:#62769e
}

.form-stack label,.form-grid label,.color-grid label,.select-short {
  color:#aebde0
}

.form-stack label small,.form-grid label small,.field-hint {
  color:#7f91b5
}

.check-label {
  background:#1a2442;
  border-color:#34426a;
  color:#c9d7f4
}

.check-label small {
  color:#8e9fc5
}

input[type=checkbox] {
  accent-color:#8364ee
}

.rule-box {
  background:#201f3c;
  border-left-color:#8d65d8;
  color:#c5b7eb
}

.rule-box p {
  color:#9b8cba
}

input[type=file] {
  border-color:#35466a;
  color:#9faed0
}

input[type=file]::file-selector-button {
  background:#293865;
  color:#b8c9ef
}

.search-field {
  background:#121c36;
  border-color:#2c3a5e;
  border-radius:6px
}

.search-field>span {
  color:#7c94c1
}

.filter-tabs {
  background:transparent;
  padding:0;
  border-radius:0;
  border-bottom:1px solid #2c3b61;
  gap:15px
}

.filter-tabs button {
  border-radius:0;
  border-bottom:2px solid transparent;
  padding:12px 5px;
  color:#6f86b3;
  min-height:44px;
  font-size:12px
}

.filter-tabs button.is-active {
  background:transparent;
  border-bottom-color:#9773ff;
  color:#dfddff;
  box-shadow:none
}

.filter-tabs button span {
  background:#1e2a4b;
  color:#a9bce1;
  border-radius:3px
}

.table-wrap {
  background:#131d36;
  border-color:#293857;
  border-radius:10px
}

th {
  background:#192540;
  color:#8196bb;
  border-color:#2c3958;
  font-size:10px
}

td {
  border-color:#253453;
  color:#c4d1ee
}

td small {
  color:#6f86b2
}

tbody tr:hover {
  background:#1a2949
}

.table-action {
  background:#1c2c4e;
  border-color:#344c77;
  color:#a9bff1;
  border-radius:5px
}

.list-row {
  border-color:#293857
}

.list-row small {
  color:#7f94bd
}

.list-row:hover {
  color:#a5baff
}

.list-row strong {
  color:#cedaf4
}

.hash-chip {
  background:#241f43;
  border-color:#4c3971;
  color:#b2a0d2
}

.app-toast {
  background:#283f77;
  border-color:#6a82bd;
  color:white
}

/* Menu takes the form of an operator console, with strong selected-state hierarchy. */
.admin-layout {
  grid-template-columns:225px minmax(0,1fr)
}

.admin-sidebar {
  width:225px;
  background:linear-gradient(180deg,var(--brand-primary),#10162a);
  border-right:1px solid #293253;
  padding:29px 15px 20px
}

.admin-brand {
  font-size:18px;
  letter-spacing:-.05em;
  color:#f0f3ff
}

.admin-brand small {
  color:#6479a7;
  letter-spacing:.23em;
  font-size:7px
}

.brand-mark-letter,.footer-mark {
  border-radius:9px;
  background:linear-gradient(140deg,#4d84ff,#995bfa);
  color:#fff;
  box-shadow:0 3px 20px #6655df38
}

.admin-sidebar-caption {
  font-size:7px;
  letter-spacing:.11em;
  color:#5f76a4;
  margin-bottom:32px
}

.admin-nav-group-label {
  color:#52688c;
  font-size:8px;
  letter-spacing:.19em
}

.admin-nav-link {
  border-radius:7px;
  min-height:47px;
  font-size:12px;
  color:#8397c4;
  margin-block:4px
}

.admin-nav-link.is-active {
  background:linear-gradient(105deg,#365fdb,#7446c6);
  box-shadow:0 5px 20px #613fd42b;
  color:#fff
}

.admin-nav-link:not(.is-active) .admin-nav-icon {
  color:#7e91cc
}

.admin-nav-link:hover:not(.is-active) {
  background:#29345a59
}

.admin-nav-current {
  width:4px;
  height:16px;
  border-radius:2px;
  background:#d5c5ff
}

.admin-sidebar-footer {
  border-color:#273252
}

.admin-user-copy strong {
  color:#c8d4f3
}

.admin-user-copy small,.admin-logout-button {
  color:#6078a5
}

.admin-user-avatar {
  background:#28325b;
  border-color:#48588e;
  color:#b1bcf5
}

.admin-topbar {
  height:70px;
  background:#111930cc;
  backdrop-filter:blur(15px);
  border-color:#253151;
  padding-inline:34px
}

.admin-breadcrumb span {
  color:#61769d
}

.admin-breadcrumb strong {
  color:#bbc9eb
}

.admin-breadcrumb span::after {
  color:#384b74
}

.admin-public-link {
  color:#8ea4ce
}

.admin-topbar-user {
  background:#2d2c58;
  border-color:#514779;
  color:#baaaf1
}

.admin-content {
  padding:35px 34px 60px
}

.admin-footer {
  margin-inline:34px;
  border-color:#263454;
  color:#5b719b
}

.footer-proof i {
  background:#8e72df
}

.admin-body .stats-grid {
  gap:15px
}

.admin-body .stat-card {
  position:relative;
  overflow:hidden;
  border-radius:13px;
  padding:20px 22px
}

.admin-body .stat-card:nth-child(1) {
  background:radial-gradient(ellipse at 100% 0,#7653c852,transparent 75%),#1e1d3e;
  border-color:#453373
}

.admin-body .stat-card:nth-child(2) {
  background:radial-gradient(ellipse at 100% 0,#335fd04d,transparent 75%),#152744;
  border-color:#294f80
}

.admin-body .stat-card:nth-child(3) {
  background:radial-gradient(ellipse at 100% 0,#267bbd4d,transparent 75%),#142940;
  border-color:#245477
}

.admin-body .stat-card:nth-child(4) {
  background:radial-gradient(ellipse at 100% 0,#9753ba42,transparent 75%),#2a1b40;
  border-color:#5b326d
}

.admin-body .stat-card::after {
  content:'';
  position:absolute;
  width:60px;
  height:60px;
  border:1px solid #bbbcff0c;
  right:-15px;
  bottom:-20px;
  transform:rotate(30deg);
  border-radius:15px
}

.stat-label {
  color:#a1aed2;
  font-size:10px
}

.stat-card>strong {
  color:#eef1ff;
  font-size:35px;
  margin:11px 0 6px
}

.stat-card>small {
  color:#7386b3
}

.stat-icon {
  border-radius:8px;
  width:31px;
  height:31px
}

.stat-icon-violet {
  background:#6743a955;
  color:#baa0ff
}

.stat-icon-green {
  background:#2a57a957;
  color:#90baff
}

.stat-icon-cyan {
  background:#2c78a64f;
  color:#7fc9f2
}

.stat-icon-orange {
  background:#8a409b4a;
  color:#d493ef
}

.dashboard-feature-grid {
  gap:23px;
  margin-top:25px
}

.dashboard-spotlight {
  min-height:290px;
  background:radial-gradient(ellipse at 85% 40%,#5954ba4a,transparent 70%),linear-gradient(118deg,#172b65,#2b1c55);
  border:1px solid #415394;
  border-radius:15px;
  padding:32px
}

.dashboard-spotlight::before {
  position:absolute;
  content:'';
  height:4px;
  left:0;
  top:0;
  right:0;
  background:linear-gradient(90deg,#467dff,#a36ff5)
}

.dashboard-spotlight h2 {
  font-size:32px;
  font-weight:700
}

.dashboard-spotlight .eyebrow {
  font-size:8px;
  color:#7b9edb
}

.dashboard-spotlight p {
  color:#869ecf;
  font-size:12px
}

.spotlight-wheel {
  right:-52px;
  bottom:5px;
  width:260px;
  height:260px;
  border-color:#6872be55;
  box-shadow:0 0 0 18px #a090ed05,0 0 0 38px #a090ed04
}

.spotlight-wheel i {
  background:repeating-conic-gradient(#9875ec 0 44deg,#7980d3 44deg 45deg,#4264d1 45deg 89deg,#7980d3 89deg 90deg)
}

.spotlight-wheel span {
  background:#172a5a;
  color:#c5b1ff;
  border-color:#aaa0ef
}

.quick-start {
  border-color:#2d3c60;
  background:#141f39;
  padding:27px
}

.quick-start .eyebrow {
  color:#6a80b0
}

.quick-start h3 {
  font-size:23px;
  color:#cbd9f4;
  margin-bottom:21px
}

.quick-start>a {
  border-bottom:1px solid #26375a;
  padding:13px 0
}

.quick-start>a:last-child {
  border:0
}

.quick-start>a>span {
  color:#aebfe2;
  font-size:12px
}

.quick-start small {
  color:#5e79a8;
  font-size:10px
}

.quick-start i {
  color:#8b91d5
}

.quick-start a:nth-of-type(1) b {
  background:#302549;
  border-color:#533973;
  color:#b38ddd
}

.quick-start a:nth-of-type(2) b {
  background:#1d3150;
  border-color:#344f7b;
  color:#789de4
}

.quick-start a:nth-of-type(3) b {
  background:#30203e;
  border-color:#573168;
  color:#c083d6
}

/* Public pages have the feel of an event poster, not a company brochure. */
.topbar {
  height:89px;
  border-bottom:1px solid #273351
}

.topbar .brand {
  color:#eff3ff;
  font-size:20px
}

.topbar .brand small {
  color:#657ca7;
  font-size:7px
}

.public-nav-link {
  color:#91a5cf
}

.nav-login {
  border-color:#3b4a72;
  color:#bdc9eb;
  background:#182241;
  font-size:11px;
  border-radius:6px
}

.public-body>.page-shell {
  padding-top:32px
}

.public-hero {
  border-radius:17px;
  border:1px solid #3a4275;
  padding:55px 53px;
  min-height:570px;
  background:radial-gradient(ellipse at 85% 50%,#633ca14d,transparent 58%),radial-gradient(ellipse at 5% 0,#2b4d984d,transparent 75%),var(--brand-primary)
}

.public-hero::before {
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,#428bff,#af68f6)
}

.public-hero h1 {
  font-size:clamp(46px,5.4vw,73px);
  letter-spacing:-.052em;
  line-height:1.03;
  color:#f3f4ff;
  max-width:590px
}

.hero-copy>p {
  max-width:390px;
  line-height:1.9;
  font-size:13px;
  color:#829acb
}

.hero-kicker {
  font-size:7px;
  letter-spacing:.17em;
  color:#85a9e9
}

.hero-kicker i {
  background:#a7a6ff
}

.hero-proof {
  font-size:9px;
  color:#6f89bd
}

.hero-actions .button {
  min-height:49px;
  border-radius:6px;
  font-size:12px
}

.hero-secondary {
  color:#9fafe0
}

.hero-art {
  transform:rotate(4deg);
  transform-origin:center
}

.hero-wheel {
  width:365px;
  padding:12px;
  background:#252750;
  border:1px solid #8087d5;
  box-shadow:0 0 0 14px #7371ca10,0 0 0 30px #7371ca09,0 22px 50px #05081388
}

.decor-wheel {
  border-color:#363d7e
}

.decor-hub {
  background:#252858;
  border-color:#ddd5ff
}

.decor-pointer {
  background:#e4d6ff
}

.floating-note {
  border:1px solid #6962ac;
  background:#302554;
  color:#ccc1f2;
  border-radius:7px;
  box-shadow:0 12px 25px #0004
}

.note-bottom {
  background:#203158;
  color:#9fb9e5;
  border-color:#4666a4
}

.note-bottom strong {
  color:#c5d7fb
}

.mini-star {
  color:#b09af1
}

.art-spark {
  color:#bda3ff
}

.trust-strip {
  padding:25px 12px;
  border-bottom-color:#273657;
  color:#728cb8;
  font-size:10px
}

.trust-strip>span {
  color:#415e8a;
  font-size:7px
}

.trust-strip i {
  color:#9271d1
}

.public-body .section-heading h2 {
  font-size:35px
}

.raffle-card {
  background:#141f3a;
  border-color:#2e3f68;
  border-radius:13px;
  box-shadow:0 10px 30px #0408141c
}

.raffle-card:hover {
  border-color:#7560b8;
  box-shadow:0 14px 30px #4029722e
}

.raffle-card-art.art-0 {
  background:radial-gradient(ellipse at 80% 60%,#4b62c177,transparent 70%),linear-gradient(140deg,#253a78,#242b60)
}

.raffle-card-art.art-1 {
  background:radial-gradient(ellipse at 80% 60%,#8f5cc069,transparent 70%),linear-gradient(140deg,#4b2d72,#2b2755)
}

.raffle-card-art.art-2 {
  background:radial-gradient(ellipse at 80% 60%,#347faf55,transparent 70%),linear-gradient(140deg,#214b77,#1d2e5c)
}

.raffle-card-art>.status-pill {
  background:#0b1838ab;
  border-color:#7189c55c;
  color:#c1d4fa
}

.raffle-card-art>.status-drawn {
  background:#392350c9;
  border-color:#9d75c363;
  color:#d4b9ef
}

.card-serial {
  color:#8ba3d0
}

.prize-illustration {
  border-color:#809ce85e;
  box-shadow:0 0 0 18px #708bd30f,0 0 0 38px #708bd309
}

.prize-illustration>span,.prize-illustration i {
  color:#99aaf0
}

.art-1 .prize-illustration>span,.art-1 .prize-illustration i {
  color:#c29cec
}

.art-2 .prize-illustration>span,.art-2 .prize-illustration i {
  color:#86b7e5
}

.raffle-card h3 {
  color:#dce6ff;
  font-weight:650
}

.card-prize {
  color:#8398c2
}

.card-meta {
  color:#6f8abd
}

.winner-line {
  background:#282344;
  color:#c5b3ef
}

.winner-line span {
  color:#8975b7
}

.how-section {
  border-color:#253655
}

.how-section>div>p,.how-cards p {
  color:#718cb5
}

.how-cards h3 {
  color:#b2c7e8
}

.how-cards b {
  color:#8b6bc3
}

.site-footer {
  border-color:#273555;
  color:#627eac
}

.footer-brand {
  color:#c3d3f5
}

.footer-brand small {
  color:#526f9e
}

.detail-hero .eyebrow {
  color:#788fc0
}

.detail-hero h1 {
  font-weight:700;
  color:#eef1ff
}

.detail-navigation .tool-button {
  background:#182644
}

.operation-steps a {
  background:#16213f;
  border-color:#2a3a65;
  color:#718cbd;
  border-radius:6px
}

.operation-steps .is-current {
  background:#29214c;
  border-color:#67519f;
  color:#c9b5f5
}

.operation-steps b {
  color:#778ed0
}

.prize-card {
  background:radial-gradient(ellipse at 95% 0,#7a4bcb3d,transparent 70%),linear-gradient(135deg,#30265d,#211d46);
  border-color:#57417f;
  border-radius:15px
}

.prize-card .eyebrow {
  color:#9b86cb
}

.prize-card h2 {
  color:#e5dafa;
  font-size:29px
}

.prize-card>p {
  color:#9986bc
}

.prize-symbol {
  color:#a586de
}

.prize-meta {
  color:#b19ed2
}

.ticket-edge {
  border-color:#695489
}

.ticket-edge::before,.ticket-edge::after {
  background:#0b1023;
  border-color:#57417f
}

.draw-control-card {
  background:#151f3c;
  border-color:#31406b
}

.draw-control-card>p {
  color:#8c9dc5
}

.draw-control-card h3 {
  font-size:24px;
  color:#d8e1f8
}

.draw-control-card .check-label {
  background:#20284d;
  border-color:#3a4a7a;
  color:#b9caf0
}

.draw-assurance {
  color:#647ba9!important
}

.share-card {
  border-color:#36476b;
  background:#15213b;
  border-radius:10px
}

.share-card>span {
  color:#9fb6df
}

.share-card>p {
  color:#617da9
}

.share-card>small {
  color:#667fa7
}

.rules-card {
  background:#151f3b;
  border-color:#303a61
}

.rules-card h3 {
  color:#d6dafa
}

.how-list strong {
  color:#acbce4
}

.how-list p {
  color:#7387b3
}

.how-list li>span {
  color:#9382cf
}

.regulation p {
  color:#8d9fc5
}

.regulation .muted {
  color:#5e77a4
}

.eligible-chip {
  background:#15233f;
  border-color:#2d426b;
  color:#aec4eb
}

.eligible-chip small {
  background:#213657;
  color:#84a4d2
}

.eligible-chip i {
  color:#5b7ba9
}

.eligible-chip.is-winner {
  background:#302653;
  border-color:#7a58b8;
  color:#ddc7ff
}

.result-panel {
  background:radial-gradient(ellipse at 100% 0,#5b3c8a22,transparent 70%),#161e37;
  border-color:#4c3c72
}

.result-panel h2 {
  color:#8a81ac
}

.winner-name {
  color:#cbafff
}

.result-panel>p {
  color:#9b92b6
}

.receipt-grid {
  border-color:#34324f
}

.receipt-grid dt {
  color:#72688e
}

.receipt-grid dd {
  color:#b2adcc
}

.audit-details summary {
  color:#a390d0
}

.audit-details p {
  color:#817493
}

.audit-details code {
  background:#11152c;
  color:#8079a6
}

.result-marker {
  color:#ae8cdd
}

.winner-dialog {
  color:#d7dafa;
  background:radial-gradient(ellipse at top,#6948a75c,transparent 70%),#18213c;
  border-color:#6f539a
}

.winner-dialog h2 {
  color:#b4a1d2
}

.modal-winner-name {
  color:#e0ccff
}

.winner-trophy {
  background:#493365;
  border-color:#8d68b5;
  color:#d2afff;
  box-shadow:0 0 0 10px #8f6ab71b,0 0 35px #a26bea22
}

.winner-dialog .eyebrow {
  color:#9f84bf
}

.winner-prize {
  border-color:#624b7e;
  color:#c5b5dd
}

.winner-prize small {
  color:#947ea9
}

.winner-dialog .muted {
  color:#7e7296
}

.dialog-close {
  background:#302b47;
  border-color:#5f4e77;
  color:#bca4d3
}

.draw-confirm-dialog {
  background:#19233f;
  color:#e1e8ff;
  border-color:#4b5484
}

.draw-confirm-dialog p {
  color:#a0add0
}

.confirm-dialog-facts {
  background:#29264a;
  color:#aca0cf
}

.effect-option {
  background:#1d294b;
  border-color:#3b487326
}

.wheel-panel {
  border-radius:16px;
  border-color:#394e82;
  background:radial-gradient(ellipse at 50% 40%,#3d4f9133,transparent 70%),#111b3d
}

.wheel-head {
  padding:25px 26px 20px
}

.wheel-head h2 {
  font-size:25px;
  letter-spacing:-.045em
}

.wheel-options {
  border-color:#3b4881;
  background:#1d274b69
}

.pointer-readout {
  background:#1f274b;
  border-color:#4b447f;
  box-shadow:inset 0 0 25px #8869da06
}

.pointer-readout strong {
  font-weight:650
}

.wheel-orbit {
  border-color:#9c8fe766;
  box-shadow:0 0 0 12px #7d72c807,0 0 0 25px #7d72c805,0 0 45px #746ae217
}

.wheel-toolbar .tool-button {
  background:#1c284a;
  border-color:#3d4b78
}

.wheel-toolbar .tool-button:hover {
  background:#2e345e;
  border-color:#7c69b6
}

.wheel-center-badge {
  box-shadow:0 5px 25px #080c3080
}

.wheel-foot {
  border-top-color:#2e3960
}

/* Supporting tools share the same contrast and spacing. */
.participant-avatar {
  background:#342c5f;
  color:#b8a0f4
}

.participant-info>small {
  color:#7289b4
}

.participant-edit summary {
  color:#a28ae1
}

.select-all-label {
  color:#8299c2
}

.participant-row {
  border-color:#273b62
}

.status-dot-button {
  background:#25304a;
  border-color:#3a4869;
  color:#96a7c8
}

.status-dot-button.is-active {
  background:#203660;
  border-color:#365794;
  color:#9ebcf1
}

.archive-button {
  color:#9789ab
}

.bulk-status-toolbar {
  background:#18223e;
  border-color:#303c64
}

.bulk-status-toolbar small {
  color:#6c80a8
}

.participant-autocomplete>small {
  color:#7284ac
}

.participant-search-results {
  background:#182746;
  border-color:#46618f
}

.participant-search-option {
  background:#182746;
  border-color:#30466e;
  color:#c6d7fa
}

.participant-search-option:hover,.participant-search-option[aria-selected=true] {
  background:#30325d
}

.participant-search-option small {
  color:#7c94bb
}

.participant-search-empty {
  color:#93a5c5
}

.color-input {
  background:#182543;
  border-color:#34466c
}

.color-input .color-hex {
  color:#92a9d2
}

.integration-card {
  background:#18243f;
  border-color:#354971
}

.integration-status {
  color:#7c97bd
}

.audit-event,.confirmation-panel {
  background:#18233e;
  border-color:#31446d
}

.auth-page {
  background:radial-gradient(ellipse at 15% 15%,#4267d936,transparent 50%),radial-gradient(ellipse at 90% 85%,#8746d135,transparent 60%),#0b1127
}

.auth-shell {
  background:#17213a;
  border-color:#3f4972;
  box-shadow:0 30px 100px #02081780
}

.auth-shell h1 {
  color:#e7ebff
}

.auth-brand {
  color:#e0e8ff
}

.auth-brand small {
  color:#8395be
}

.auth-shell .eyebrow {
  color:#7c91ba
}

.auth-shell .lead {
  color:#8e9fc4
}

.auth-shell .back-link {
  color:#7c91bd
}

.password-field button {
  color:#a18bcf
}

.auth-shell .form-stack input {
  background:#101b31;
  border-color:#3b4c70;
  color:#dfeaff
}

@media(max-width:1190px) {
  .admin-layout {
    grid-template-columns:205px minmax(0,1fr)
  }

  .admin-sidebar {
    width:205px;
    padding-inline:12px
  }

  .admin-brand {
    font-size:16px
  }

  .admin-content {
    padding-inline:24px
  }

  .admin-topbar {
    padding-inline:24px
  }

  .admin-footer {
    margin-inline:24px
  }

  .dashboard-spotlight h2 {
    font-size:27px
  }

  .public-hero {
    padding:45px 36px
  }

  .hero-wheel {
    width:315px
  }

  .public-hero h1 {
    font-size:61px
  }

  .hero-art {
    transform:scale(.9) rotate(4deg)
  }

}

@media(max-width:980px) {
  .public-hero h1 {
    font-size:51px
  }

  .hero-wheel {
    width:280px
  }

  .hero-art {
    transform:scale(.88) rotate(4deg)
  }

  .dashboard-spotlight {
    min-height:245px
  }

  .dashboard-spotlight h2 {
    font-size:29px
  }

  .quick-start {
    display:block
  }

  .spotlight-wheel {
    right:0;
    width:240px;
    height:240px
  }

  .public-workspace .wheel-head h2 {
    font-size:21px
  }

}

@media(max-width:760px) {
  body {
    background:var(--brand-bg)
  }

  .admin-layout {
    display:block
  }

  .admin-sidebar {
    width:265px;
    padding:25px 18px
  }

  .admin-content {
    padding:27px 18px 40px
  }

  .admin-topbar {
    height:66px;
    padding-inline:18px
  }

  .admin-menu-toggle {
    background:#1a2747;
    border-color:#34476f
  }

  .admin-menu-toggle span {
    background:#9eb6dd
  }

  .admin-brand {
    font-size:18px
  }

  .admin-menu-close {
    background:#1e2846;
    border-color:#394b72;
    color:#a5bce4
  }

  .admin-body .stat-card {
    padding:17px
  }

  .stat-label {
    font-size:9px
  }

  .stat-card>strong {
    font-size:32px
  }

  .stat-card>small {
    font-size:8px
  }

  .admin-body .stats-grid {
    gap:10px
  }

  .dashboard-spotlight {
    padding:27px;
    min-height:255px
  }

  .dashboard-spotlight h2 {
    font-size:27px
  }

  .spotlight-wheel {
    right:-80px;
    bottom:15px;
    width:230px;
    height:230px
  }

  .quick-start {
    padding:25px
  }

  .quick-start>a {
    padding:14px 0
  }

  .topbar {
    height:79px;
    margin-inline:20px
  }

  .topbar .brand {
    font-size:18px
  }

  .public-body>.page-shell {
    padding-top:20px
  }

  .public-hero {
    padding:31px 25px 25px;
    border-radius:13px;
    gap:12px;
    min-height:unset
  }

  .public-hero h1 {
    font-size:51px;
    margin:21px 0;
    line-height:1.06
  }

  .hero-star {
    font-size:34px;
    margin-left:18px
  }

  .hero-kicker {
    font-size:6px;
    letter-spacing:.12em
  }

  .hero-copy>p {
    font-size:12px;
    line-height:1.9
  }

  .hero-actions .button {
    font-size:11px;
    padding:12px 15px;
    min-height:46px
  }

  .hero-secondary {
    font-size:8px
  }

  .hero-proof {
    font-size:8px
  }

  .hero-art {
    height:315px;
    transform:rotate(4deg);
    margin-top:16px
  }

  .hero-wheel {
    width:265px
  }

  .note-top {
    font-size:6px;
    right:-5px;
    top:8px
  }

  .note-bottom {
    bottom:4px;
    font-size:9px;
    left:-3px
  }

  .trust-strip {
    font-size:8px;
    padding:22px 5px;
    gap:10px
  }

  .trust-strip i {
    font-size:10px
  }

  .public-body .section-heading h2 {
    font-size:30px
  }

  .filter-tabs {
    gap:18px
  }

  .filter-tabs button {
    font-size:11px;
    padding:11px 4px
  }

  .raffle-card-art {
    height:190px
  }

  .raffle-card h3 {
    font-size:24px
  }

  .raffle-card-content {
    padding:23px
  }

  .card-prize {
    font-size:12px
  }

  .how-cards h3 {
    font-size:18px
  }

  .how-cards p {
    font-size:12px
  }

  .detail-hero h1 {
    font-size:32px
  }

  .wheel-head h2,.public-workspace .wheel-head h2 {
    font-size:23px
  }

  .wheel-head {
    padding:23px 21px 18px
  }

  .prize-card h2 {
    font-size:28px
  }

  .prize-meta {
    font-size:12px
  }

  .result-panel {
    padding:25px 22px
  }

  .result-panel h2 {
    font-size:20px
  }

  .winner-name {
    font-size:35px
  }

  .winner-dialog {
    padding:35px 26px
  }

  .modal-winner-name {
    font-size:35px
  }

  .receipt-grid dd {
    font-size:12px
  }

  .responsive-table td[data-label]::before {
    color:#718eb8
  }

  .auth-shell h1 {
    font-size:36px
  }

  .auth-shell .lead {
    font-size:13px
  }

  .site-footer:not(.admin-footer) {
    margin-inline:20px
  }

  .admin-footer {
    margin-inline:18px
  }

}

@media(max-width:380px) {
  .public-hero {
    padding-inline:22px
  }

  .public-hero h1 {
    font-size:46px
  }

  .hero-actions .button {
    font-size:9px;
    padding:12px
  }

  .hero-wheel {
    width:240px
  }

  .hero-art {
    height:285px
  }

  .hero-proof {
    font-size:7px;
    gap:12px
  }

  .wheel-head h2,.public-workspace .wheel-head h2 {
    font-size:20px
  }

  .admin-body .stat-card {
    padding:15px
  }

  .stat-label {
    font-size:8px
  }

  .filter-tabs {
    gap:13px
  }

}

@media print {
  body.admin-body,body.public-body {
    --ink:#111;
    --muted:#444;
    --line:#ccc;
    color:#111;
    background:white
  }

  .result-panel {
    background:white;
    color:#111;
    border-color:#ccc
  }

  .winner-name {
    color:#111
  }

  .receipt-grid dd,.receipt-grid dt,.result-panel>p,.result-marker,.audit-details summary,.audit-details p {
    color:#333
  }

  .audit-details code {
    background:#f2f2f2;
    color:#333
  }

}

/* Notification channel selector */
.notification-settings {
  border:1px solid #3b4772;
  border-radius:12px;
  padding:18px;
  margin:6px 0;
  min-width:0;
  background:#1b244130
}

.notification-settings legend {
  font-size:13px;
  font-weight:700;
  color:#c8c9ef;
  padding:0 7px
}

.notification-settings label {
  display:block;
  margin-bottom:13px
}

.notification-settings select,.notification-settings input {
  margin-top:7px
}

.notification-group-fields {
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #354267
}

.notification-group-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:17px
}

.notification-group-heading strong {
  font-size:12px
}

.notification-group-heading .tool-button {
  font-size:11px;
  min-height:40px
}

.notification-settings .field-hint {
  font-size:11px;
  line-height:1.7;
  margin:10px 0 0
}

.notification-settings .field-hint a {
  color:#ab9cf1
}

.notification-settings label small {
  display:block;
  line-height:1.6;
  margin-top:6px;
  font-size:10px
}

.notification-status {
  margin-top:24px
}

.notification-status td {
  font-size:12px
}

.notification-status code {
  overflow-wrap:anywhere
}

.notification-status .section-note {
  line-height:1.7
}

/* Comfortable touch targets and readable mobile labels. */
@media (max-width: 760px) {
  .stat-label { font-size: 11px; line-height: 1.4; }
  .stat-card > small { font-size: 10px; line-height: 1.6; }
  .stat-top { gap: 7px; min-height: 32px; }
  .stat-icon { flex-shrink: 0; }
  .form-stack label, .form-grid label { font-size: 13px; }
  .form-stack label small, .form-grid label small { font-size: 11px; }
  .notification-settings .field-hint { font-size: 12px; }
  .wheel-toolbar { flex-wrap: wrap; }
  .wheel-toolbar .tool-button { min-height: 42px; font-size: 11px; }
  .wheel-toolbar .tool-button span { font-size: 10px !important; }
  .duration-control select { min-height: 42px; }
  .effect-option strong { font-size: 12px; }
  .effect-option small { font-size: 10px; }
  .wheel-live-status { font-size: 11px; line-height: 1.6; }
}

/* App shell: dynamic viewport, iOS safe areas and independently scrolling drawer. */
:root { --safe-top: env(safe-area-inset-top, 0px); --safe-right: env(safe-area-inset-right, 0px); --safe-bottom: env(safe-area-inset-bottom, 0px); --safe-left: env(safe-area-inset-left, 0px); }
html { min-height: 100%; scroll-padding-top: calc(85px + var(--safe-top)); -webkit-text-size-adjust: 100%; }
body, .admin-layout { min-height: 100vh; min-height: 100dvh; }
body { -webkit-tap-highlight-color: transparent; }
.admin-sidebar { height: 100vh; height: 100dvh; overflow: hidden; padding-top: max(25px, var(--safe-top)); padding-bottom: max(16px, var(--safe-bottom)); }
.admin-sidebar-head, .admin-sidebar-caption, .admin-sidebar-footer { flex-shrink: 0; }
.admin-sidebar-nav { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding-right: 4px; scrollbar-width: thin; scrollbar-color: transparent transparent; }
.admin-sidebar-nav::-webkit-scrollbar { width: 5px; }
.admin-sidebar-nav::-webkit-scrollbar-track { background: transparent; }
.admin-sidebar-nav::-webkit-scrollbar-thumb { background: transparent; border-radius: 9px; }
@media (hover: hover) {
  .admin-sidebar-nav:hover, .admin-sidebar-nav:focus-within { scrollbar-color: #7b74b879 transparent; }
  .admin-sidebar-nav:hover::-webkit-scrollbar-thumb, .admin-sidebar-nav:focus-within::-webkit-scrollbar-thumb { background: #7b74b879; }
}
.admin-sidebar-footer { margin-top: 12px; padding-top: 12px; }
.mobile-bottom-nav { display: none; }
.brand small, .footer-brand small { max-width: 190px; white-space: normal; overflow-wrap: anywhere; line-height: 1.5; }
.qr-real { display: grid; justify-items: center; gap: 15px; padding: 25px 0; }
.qr-real img { width: min(100%, 290px); height: auto; background: white; border: 14px solid white; border-radius: 15px; }
.qr-real span { font-size: 12px; color: var(--muted); }
.qr-empty { min-height: 240px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 14px; }
.qr-empty .qr-icon { font-size: 60px; color: #9482dd; }
.qr-empty p { color: var(--muted); line-height: 1.7; max-width: 310px; }
.connection-state { padding: 14px; background: #25345c; border-radius: 10px; display: flex; justify-content: space-between; gap: 12px; }
.presentation-timing { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 18px 0; }
.presentation-timing label { color: #a8b5dc; font-size: 11px; }
.presentation-timing input { margin-top: 7px; }
.notification-settings .effect-option { display: flex; }
@media (max-width: 760px) {
  .admin-topbar { position: sticky; top: 0; z-index: 50; height: calc(62px + var(--safe-top)); padding: var(--safe-top) max(18px, var(--safe-right)) 0 max(18px, var(--safe-left)); background: #121a32ed; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
  .admin-content { padding-left: max(18px, var(--safe-left)); padding-right: max(18px, var(--safe-right)); }
  .admin-body.has-mobile-nav .admin-main { padding-bottom: calc(76px + var(--safe-bottom)); }
  .admin-footer { min-height: 50px; padding-bottom: max(15px, var(--safe-bottom)); }
  .has-mobile-nav .admin-footer { padding-bottom: 15px; }
  .mobile-bottom-nav { position: fixed; inset: auto 0 0; z-index: 55; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 7px max(8px, var(--safe-right)) calc(7px + var(--safe-bottom)) max(8px, var(--safe-left)); background: #141c36f0; -webkit-backdrop-filter: blur(22px); backdrop-filter: blur(22px); border-top: 1px solid #4855816b; box-shadow: 0 -8px 25px #05091733; }
  .mobile-bottom-nav a, .mobile-bottom-nav button { min-width: 0; min-height: 48px; border: 0; padding: 3px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; background: transparent; color: #8c9dc3; border-radius: 9px; font: inherit; }
  .mobile-bottom-nav svg { width: 21px; height: 21px; display: block; }
  .mobile-bottom-nav small { font-size: 10px; font-weight: 650; }
  .mobile-bottom-nav [aria-current=page] { background: #7351d82b; color: #c6afff; }
  .mobile-bottom-nav a:active, .mobile-bottom-nav button:active { background: #384374; transform: scale(.97); }
  .admin-menu-open .mobile-bottom-nav, .presentation-mode .mobile-bottom-nav, .admin-body:has(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=button]):not([type=submit]):focus, textarea:focus) .mobile-bottom-nav { display: none; }
  .admin-sidebar { width: min(300px, calc(100vw - 42px)); z-index: 80; padding-left: max(18px, var(--safe-left)); }
  .admin-sidebar-scrim { z-index: 75; }
  .admin-sidebar-head { padding-bottom: 22px; }
  .admin-sidebar-caption { margin-bottom: 22px; }
  .admin-nav-link { min-height: 48px; font-size: 14px; }
  .admin-nav-group-label { font-size: 10px; }
  input:not([type=checkbox]):not([type=range]):not([type=color]), select, textarea { font-size: 16px !important; }
  .public-body:not(.auth-page) .topbar { position: sticky; top: 0; z-index: 50; height: calc(72px + var(--safe-top)); margin: 0; padding: var(--safe-top) max(20px, var(--safe-right)) 0 max(20px, var(--safe-left)); background: #10182eeb; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
  .public-body > .page-shell { padding-left: max(18px, var(--safe-left)); padding-right: max(18px, var(--safe-right)); }
  .site-footer:not(.admin-footer) { padding-bottom: max(28px, calc(var(--safe-bottom) + 12px)); }
  .app-toast { bottom: calc(85px + var(--safe-bottom)); max-width: calc(100vw - 30px); }
  dialog { max-height: calc(100dvh - var(--safe-top) - var(--safe-bottom) - 32px); overscroll-behavior: contain; }
  .presentation-mode .wheel-panel { padding-top: max(10px, var(--safe-top)); padding-bottom: max(10px, var(--safe-bottom)); }
  .presentation-mode .presentation-draw { bottom: calc(15px + var(--safe-bottom)); right: max(15px, var(--safe-right)); }
  .auth-page-shell.page-shell { min-height: 100dvh; padding-top: max(25px, var(--safe-top)); padding-bottom: max(25px, var(--safe-bottom)); }
  .duration-control select { max-width: 166px; font-size: 16px !important; }
}
@media (max-height: 540px) {
  .admin-sidebar-head { padding-bottom: 12px; }
  .admin-sidebar-caption { display: none; }
  .admin-nav-group { margin-bottom: 16px; }
  .admin-sidebar-footer { margin-top: 6px; padding-top: 6px; }
  .admin-user-card { display: none; }
}
@media print { .mobile-bottom-nav { display: none !important; } .admin-body.has-mobile-nav .admin-main { padding-bottom: 0; } }

/* Winner reveal: a deliberate entrance, prize ribbon and restrained light sweep. */
.winner-dialog[open] .modal-winner-name { animation: winner-name-reveal 850ms cubic-bezier(.2,.8,.2,1) both; text-shadow: 0 0 30px #ad7bf44f; }
.winner-dialog[open] .winner-trophy { animation: prize-medal-reveal 750ms cubic-bezier(.2,1.3,.4,1) both; }
.winner-prize { position: relative; overflow: hidden; border: 1px solid #9e7ed05c; background: linear-gradient(110deg,#2e285a,#38316b,#292654); border-radius: 13px; padding: 20px 14px; }
.winner-prize-badge { display: inline-block; color: #e0ccff; font-size: 10px; font-weight: 750; letter-spacing: .11em; padding: 7px 12px; background: #9160d038; border: 1px solid #bb90ed70; border-radius: 5px; }
.winner-prize strong { color: #f2e8ff; font-size: 23px; line-height: 1.4; margin-top: 14px; overflow-wrap: anywhere; }
.winner-dialog[open] .winner-prize { animation: prize-medal-reveal 700ms 250ms both; }
.winner-dialog[open] .winner-prize::after { content: ''; position: absolute; inset: -70% auto -70% -50%; width: 20%; background: linear-gradient(90deg,transparent,#e6d2ff26,transparent); transform: rotate(25deg); animation: prize-light-sweep 3s 900ms 3; pointer-events: none; }
.thanks-message-setting { display: block; margin-top: 25px; font-size: 13px; color: #bbc9e8; }
.thanks-message-setting textarea { margin-top: 9px; }
.thanks-message-setting small { display: block; margin-top: 7px; color: var(--muted); font-size: 11px; }
.settings-switches { margin-top: 25px; }
.form-grid > label { min-width: 0; }
input[type=file] { min-width: 0; max-width: 100%; width: 100%; overflow: hidden; text-overflow: ellipsis; }
@keyframes winner-name-reveal { from { opacity: 0; transform: translateY(15px) scale(.9); filter: blur(6px); } to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); } }
@keyframes prize-medal-reveal { from { opacity: 0; transform: translateY(14px) scale(.85); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes prize-light-sweep { 0% { left: -50%; } 55%,100% { left: 130%; } }
@media (prefers-reduced-motion: reduce) and (min-width: 100000px) { .winner-dialog[open] .modal-winner-name, .winner-dialog[open] .winner-trophy, .winner-dialog[open] .winner-prize, .winner-dialog[open] .winner-prize::after { animation: none; } }

/* The installer is self-contained and uses the same mobile-safe visual system. */
.install-body { background: radial-gradient(ellipse at 0 0,#293e7a55,transparent 65%),#0b1023; color: #e6ecff; }
.install-shell { max-width: 820px; margin: 0 auto; padding: max(35px,var(--safe-top)) max(22px,var(--safe-right)) max(35px,var(--safe-bottom)) max(22px,var(--safe-left)); }
.installer-brand { display: flex; align-items: center; gap: 12px; font-size: 22px; font-weight: 750; margin-bottom: 28px; }
.installer-brand small { display: block; font-size: 9px; color: #899bc3; letter-spacing: .12em; margin-top: 5px; }
.install-card { background: #17213a; padding: 36px; border: 1px solid #3e4b77; border-radius: 22px; box-shadow: 0 20px 65px #02061650; }
.install-card h1 { font-size: clamp(28px,5vw,41px); margin-bottom: 16px; }
.install-card .lead { line-height: 1.8; font-size: 14px; }
.installer-step { display: flex; align-items: flex-start; gap: 15px; margin: 35px 0 20px; }
.installer-step-number { flex-shrink: 0; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: #6547b6; font-weight: 750; }
.installer-step h2 { font-size: 21px; margin: 2px 0 7px; }
.installer-step p { color: #93a5cc; line-height: 1.7; font-size: 12px; margin: 0; }
.check-list { border: 1px solid #34466c; border-radius: 12px; padding: 4px 17px; }
.check-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 13px 0; border-bottom: 1px solid #30405f; font-size: 13px; }
.check-row:last-child { border-bottom: 0; }
.check-row strong { font-size: 11px; text-align: right; }
.check-ok { color: #8ccdf5; }
.check-fail { color: #ffabc0; }
.install-card .form-stack { gap: 21px; }
.installer-security-note, .install-card .microcopy { color: #8c9fc4; font-size: 12px; line-height: 1.8; margin-top: 22px; }
.install-card code { color: #c4a6f6; }
@media (max-width: 760px) {
  .install-shell { padding-left: max(16px,var(--safe-left)); padding-right: max(16px,var(--safe-right)); }
  .install-card { padding: 25px 20px; border-radius: 16px; }
  .check-row { font-size: 12px; }
  .check-row strong { font-size: 10px; }
  .installer-step h2 { font-size: 19px; }
}
