:root{color-scheme:dark;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#090c14;color:#f5f6fb}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 0,#23324f 0,transparent 65%)}main{max-width:560px;margin:auto;padding:38px 22px 60px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.brand{letter-spacing:.24em;font-size:14px;font-weight:700}.tag{font-size:14px;color:#a6bbd8}h1{font-size:clamp(2rem,7vw,2.9rem);line-height:1.1;letter-spacing:-.04em;margin:10px 0 18px}h2{font-size:22px;margin-top:0}p{color:#aebbd0}.card{background:#141c2ccc;border:1px solid #ffffff18;padding:24px;border-radius:24px;margin:20px 0;box-shadow:0 18px 60px #0002}label{display:block;margin:16px 0 8px}input,button,a.button{font:inherit}input:not([type=checkbox]):not([type=range]):not([type=color]){width:100%;padding:14px;background:#090e19;color:white;border:1px solid #546078;border-radius:12px}button,.button{display:inline-block;border:0;border-radius:14px;padding:14px 20px;background:#c9e8ff;color:#11253c;font-weight:650;text-decoration:none;cursor:pointer;min-height:48px}button:disabled{opacity:.45;cursor:default}.primary{width:100%;margin-top:22px}.secondary{background:#253249;color:#e0edff}.danger{background:#41252d;color:#ffd9df}a{color:#b8dcff}input[type=color]{display:block;width:100%;height:150px;padding:8px;border:1px solid #ffffff25;border-radius:24px;background:#18243c;cursor:pointer}input[type=range]{width:100%;accent-color:#b5deff;min-height:36px}.swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:22px 0}.swatches button{padding:0;border:3px solid #ffffff30;box-shadow:inset 0 0 0 2px #0002;min-width:0}.swatches button:nth-child(1){background:#ff557e}.swatches button:nth-child(2){background:#ffb347}.swatches button:nth-child(3){background:#8be88a}.swatches button:nth-child(4){background:#42d9ed}.swatches button:nth-child(5){background:#6385ff}.swatches button:nth-child(6){background:#c780ff}.status{min-height:28px;font-size:16px;margin:16px 0}.muted{color:#9fadc3;font-size:14px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.qr{width:100%;max-width:260px;border-radius:16px;display:block;margin:20px auto}.event{border-top:1px solid #ffffff20;padding-top:18px;margin-top:24px}.event a{overflow-wrap:anywhere}.light{display:flex;align-items:center;gap:12px}input[type=checkbox]{width:22px;height:22px}details{margin-top:16px}summary{cursor:pointer}footer{text-align:center;color:#91a0b7;font-size:14px;margin-top:32px}[hidden]{display:none!important}:focus-visible{outline:3px solid #fff;outline-offset:4px}

.client-brand{margin:44px auto 0;padding:30px 0 0;border-top:1px solid #ffffff14;max-width:400px}.client-brand img{display:block;width:220px;max-width:80%;height:auto;margin:0 auto 22px}.client-brand p{margin:0;color:#cad4e3;font-size:14px;line-height:1.6}.client-brand .exclusive{margin-top:8px;color:#9fadc3;font-size:14px}

/* Guest panel: mobile-first layout, independent of the administration. */
.client-page{min-height:100svh;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.client-page main{width:100%;max-width:560px;padding: max(22px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.client-page header{gap:12px;flex-wrap:wrap;margin-bottom:24px}
.client-page h1{font-size:clamp(2rem,8vw,2.9rem);line-height:1.1;margin:0 0 12px;text-wrap:balance;overflow-wrap:anywhere}
.client-page #intro{margin:0 0 22px;overflow-wrap:anywhere}
.client-page .card{padding:20px;margin:0;border-radius:24px}
.client-page .row{align-items:flex-start;flex-wrap:wrap;gap:6px 16px}
.client-page #countdown{font-variant-numeric:tabular-nums}
.client-page .swatches{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.client-page .swatches button{min-height:56px;min-width:48px;border-radius:16px;touch-action:manipulation}
.client-page input[type=color]{min-width:0;max-width:100%;height:88px;border-radius:16px;padding:6px;touch-action:manipulation}
.client-page input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.client-page input[type=color]::-webkit-color-swatch{border:0;border-radius:10px}
.client-page input[type=color]::-moz-color-swatch{border:0;border-radius:10px}
.client-page label{margin:18px 0 8px;font-size:16px}
.client-page label[for=brightness]{display:flex;justify-content:space-between;gap:12px}
.client-page #brightnessValue{font-variant-numeric:tabular-nums;color:#c9e8ff}
.client-page input[type=range]{display:block;min-height:48px;margin:0;cursor:pointer}
.client-page #apply{min-height:56px;margin-top:18px;touch-action:manipulation;white-space:normal}
.client-page .status{min-height:0;margin:0;overflow-wrap:anywhere}
.client-page .status:not(:empty){margin-top:16px}
.client-page .client-brand{margin-top:28px;padding-top:24px}
.client-page .client-brand img{width:190px;margin-bottom:18px}
@media(min-width:480px){.client-page main{padding:max(32px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(40px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.client-page .card{padding:24px}.client-page .swatches{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.client-page .swatches button{min-height:52px}.client-page input[type=color]{height:112px}.client-page .client-brand img{width:220px}}
@media(max-width:359px){.client-page main{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.client-page .card{padding:16px}.client-page header{margin-bottom:20px}.client-page .brand{letter-spacing:.16em}.client-page .tag{font-size:13px}}
@media(orientation:landscape) and (max-height:500px){.client-page main{max-width:720px;padding-top:max(16px,env(safe-area-inset-top))}.client-page header{margin-bottom:16px}.client-page h1{font-size:2rem}.client-page .swatches{grid-template-columns:repeat(6,minmax(0,1fr))}.client-page .client-brand{margin-top:20px}}
@media(prefers-reduced-motion:no-preference){.client-page button{transition:transform .15s ease,opacity .15s ease}.client-page button:active:not(:disabled){transform:scale(.97)}}
