/* Night extension of Carnaval Riojano. Each game owns an accent, not a new UI system. */
:root{color-scheme:dark;--rhythm-neon:#f05cff;--rhythm-cyan:#4bdcff;--game-accent:var(--rhythm-neon);--lime:var(--rhythm-neon);--white:var(--cream-50);--muted:var(--ink-300);--line:#ffffff1c;--focus-ring:var(--yellow-400);--panel:#1c1c28;--bg:var(--ink-950)}
.combo-meter{padding:9px 18px 12px;background:#10101a;border-bottom:1px solid #ffffff12}.combo-meter-copy{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;color:#c6bdd1;font:600 9px var(--font-display);letter-spacing:.1em}.combo-meter-copy b{color:var(--rhythm-neon);font-size:10px;letter-spacing:.04em}.combo-meter-track{height:8px;position:relative;border-radius:8px;background:#363345;box-shadow:inset 0 2px 4px #0008}.combo-meter-track>i{position:absolute;inset:0 auto 0 0;width:0;border-radius:8px;background:linear-gradient(90deg,var(--pink-500),var(--rhythm-neon),var(--rhythm-cyan));box-shadow:0 0 12px #f05cff80;transition:width 180ms ease-out}.combo-meter-track>span{position:absolute;left:var(--milestone);top:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:1px solid #716a80;border-radius:50%;display:grid;place-items:center;background:#242331;color:#ccc4d9;font:700 8px var(--font-display);z-index:1}.combo-meter-track>span:nth-of-type(-n+3){display:none}.playing .combo-meter{padding:7px 18px 10px}.playing .combo-meter-copy{margin-bottom:6px}.playing .phase-strip{margin-top:6px}
.playing #game{padding:0!important}.playing .song-title{padding-top:calc(5px + env(safe-area-inset-top));padding-bottom:4px}.playing .hud{padding:2px 12px 3px!important;align-items:center}.playing .hud b{font-size:22px!important}.playing .hud small{font-size:8px!important;margin-bottom:0!important}.playing .phase-strip{display:none!important}.playing .combo-meter{order:initial;padding:0!important;margin:0 12px 5px 0;width:52px;height:5px;border:0;background:#ffffff20;border-radius:9px;align-self:center}.playing .combo-meter #combo-progress-fill{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--pink-500),var(--rhythm-neon));box-shadow:0 0 8px var(--rhythm-neon)}.playing .pause-control{min-width:54px!important;min-height:38px!important;width:auto!important;padding:4px 8px!important;gap:5px;border-radius:9px;color:white!important;background:#292735!important;border:1px solid #ffffff55!important;font-size:11px!important}.playing .pause-control>span:first-child{font-size:15px}.playing .progress{height:2px!important}.playing .touch-keys button.active{background:transparent!important;color:inherit!important;box-shadow:none!important;border-radius:0!important}.playing .start-pads button{min-height:100px}.playing .hud>div:nth-child(2){display:flex;align-items:center;gap:5px}.playing .stage{margin-top:0}
.playing .pause-control{width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;padding:8px!important;display:grid!important;place-items:center!important}.playing .pause-control span{display:none!important}.playing .pause-control svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.playing .combo-stat{display:grid;grid-template-columns:auto 1fr;column-gap:4px;align-items:center}.playing .combo-stat small{grid-column:1/-1}.playing .combo-stat .combo-meter{grid-column:2;grid-row:2;margin:0 0 0 5px;width:44px;height:4px}.playing .combo-stat b{grid-column:1;grid-row:2}.playing .hud{border-bottom:0!important}.playing .progress{margin:0!important}.playing .touch-keys button.active{background:transparent!important;color:inherit!important;box-shadow:none!important;border-radius:0!important}
body,body:has(#arcade-hub:not([hidden])){background:var(--ink-950);color:var(--ink-100)}
body:has(#arcade-hub:not([hidden])){background:radial-gradient(ellipse at 25% 0%,#00319925,transparent 55%),var(--ink-950)}
.top,.editor-page header{background:#17171f;border-color:#ffffff16}.brand-section,.editor-page header,.editor-page header a{color:var(--cream-50)}.brand-section{border-color:#ffffff26}.brand img{filter:drop-shadow(0 0 12px #ea006020)}
.hub-heading h1,.song-title h2,dialog h2,.result-score{color:var(--cream-50)}.hub-heading>p{color:#ff78b0}.hub-caption{color:var(--ink-100);border-color:var(--pink-500)}.hub-note,.event{color:var(--ink-300)}
.quiet,.editor-page button,.editor-page .file{background:#252531;color:var(--cream-50);border:1px solid #ffffff30;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff08}.arcade-hub>.quiet{background:transparent;font-size:12px}
.game-poster{--game-accent:var(--rhythm-neon);background:linear-gradient(155deg,#ffffff09,transparent 50%),#1c1c28;border:1px solid #ffffff24;box-shadow:0 12px 30px #0004;border-radius:20px;position:relative}
.game-poster::before{content:'';position:absolute;inset:0 20px auto;height:2px;background:var(--game-accent);box-shadow:0 0 18px var(--game-accent)}.runner{--game-accent:var(--yellow-400)}.comparsa{--game-accent:var(--rhythm-cyan)}
.game-poster h2{color:var(--cream-50)}.poster-meta{color:var(--game-accent)}.availability{background:#ffffff09;color:var(--ink-300)}.rhythm .availability{background:#f05cff18;color:#ffadff;border:1px solid #f05cff50}.poster-photo{border:1px solid #ffffff12}
.poster-unavailable{background:#ffffff08;color:var(--ink-300);border:1px solid #ffffff14;border-radius:12px}
.primary,.poster-action,.editor-page .primary{background:linear-gradient(180deg,#ff167e,var(--pink-500));color:white;border:1px solid #ff8dbb80;border-radius:12px;box-shadow:inset 0 1px 0 #ffffff40,0 4px 0 #810035,0 8px 26px #ea00602b;text-shadow:0 1px 2px #810035}
.player{background:linear-gradient(145deg,#222234,#191923);border:1px solid #ffffff25;box-shadow:0 20px 60px #0006,0 0 50px #00319910;border-radius:20px}.tag{color:#ffadff;background:#f05cff16;border:1px solid #f05cff30}.sound-bars{color:var(--rhythm-neon)}.disc{background:var(--cream-50);border-radius:10px;padding:5px}
.mobile-notice{background:#ffffff05;border-left-color:var(--rhythm-cyan)}.song-phases li>b{color:var(--rhythm-neon)}.record{border-color:#ffffff1c}.record strong{color:var(--rhythm-cyan)}
.preview-lanes{height:190px;width:88%;overflow:hidden;mask-image:linear-gradient(transparent,#000 12%,#000 90%,transparent)}
.preview-lanes>div{background:linear-gradient(#353449,#68637e);border-color:#d9d9ff44;transform:none}.preview-lanes>div:last-of-type{border-color:#d9d9ff44}
.preview-lanes i,.preview-lanes>div:nth-child(2) i,.preview-lanes>div:nth-child(3) i{height:42px;border-radius:6px;background:linear-gradient(140deg,#817492 0%,#3b2a53 20%,#161526 75%);border:1px solid #c6a5eb88;border-top:2px solid var(--rhythm-neon);box-shadow:0 6px 0 #080916,0 8px 14px #0008,inset 0 2px 10px #f05cff38;top:75px}
.preview-lanes>div:nth-child(2) i{height:100px;top:16px}.preview-lanes>div:nth-child(3) i{top:46px}
.preview-lanes i::after{content:'';position:absolute;left:25%;right:25%;top:48%;height:3px;background:white;border-radius:3px;box-shadow:0 0 5px white,0 0 9px var(--rhythm-neon),0 0 16px var(--rhythm-neon)}.preview-lanes>div:nth-child(2) i::after{top:10px;bottom:12px;height:auto;left:calc(50% - 1px);right:auto;width:3px}.preview-lanes>div:nth-child(3) i::after{content:'→';height:auto;top:0;left:0;right:0;background:none;box-shadow:none;font:800 34px/38px var(--font-body);text-align:center;color:white;text-shadow:0 0 5px white,0 0 12px var(--rhythm-neon)}
.preview-lanes .hit-line{border-color:#f05cff99;box-shadow:0 0 14px #f05cff30;border-radius:5px}.preview-lanes kbd{color:var(--cream-50);background:#111222;border-color:#ffffff55}
footer{background:#17171f;border-image:none;border-top:1px solid #ffffff1a;color:var(--ink-300)}
dialog{background:#22222e;border:1px solid #ffffff30;color:var(--cream-50);box-shadow:0 24px 80px #0009}dialog output{color:var(--rhythm-cyan)}dialog::backdrop{background:#090b18d9}input[type=range]{accent-color:var(--pink-500)}.pulse{color:var(--rhythm-neon)}
body.playing{--lime:var(--rhythm-neon);background:#090b18}.playing .player{background:#141420}.playing .song-title{background:linear-gradient(100deg,#242033,#141420);border-bottom:1px solid #ffffff0d}.playing .hud{padding-top:6px}.playing .hud>div:nth-child(2) b{color:var(--rhythm-neon);text-shadow:0 0 15px #f05cff55}.playing .phase-strip>span.current{color:var(--rhythm-neon);border-color:var(--rhythm-neon)}.playing .progress i{background:var(--rhythm-neon);box-shadow:0 0 12px var(--rhythm-neon)}.playing .overlay{background:#10101bed}#start-gate{background:linear-gradient(#12121ee8 0%,#12121e80 60%,#12121e22);padding-top:12%}.playing .quiet{background:#252531;border:1px solid #ffffff35}.playing .feedback{color:var(--rhythm-neon);text-shadow:0 0 16px #f05cff88}.start-pads button{position:relative;background:linear-gradient(140deg,#766186,#3b2453 22%,#151325 80%);color:white;border:1px solid #c6a5eb88;border-top:3px solid var(--rhythm-neon);border-radius:8px;box-shadow:0 7px 0 #080916,0 12px 20px #0008,inset 0 2px 10px #f05cff40;text-shadow:0 0 7px #fff,0 0 16px var(--rhythm-neon)}.start-pads button::after{content:'';position:absolute;left:20%;right:20%;bottom:14px;height:3px;background:white;border-radius:2px;box-shadow:0 0 8px var(--rhythm-neon),0 0 16px var(--rhythm-neon)}.start-pads button.pressed{background:#692b80;box-shadow:0 3px 0 #080916,0 0 28px #f05cff88;transform:translateY(4px)}
.editor-page aside{background:#1b1b25;border-color:#ffffff20}.editor-page aside input[type=number],.editor-page aside select{background:#13131d;color:var(--cream-50);border-color:#ffffff25}.editor-page .transport,.editor-page .edit-toolbar,.editor-page .guide{background:#20202c;color:var(--ink-100)}.editor-page .lane-head{background:#29253b;border-color:#f05cff44}.editor-page #message{background:#1b1b25;color:var(--rhythm-cyan)}.editor-page #message.error{color:#ff8cb8}.editor-page button:disabled,.editor-page fieldset:disabled button{background:#2b2b37;color:#9292a5}.editor-page .mode-group{border-color:#ffffff30}.editor-page .mode-group button.active{background:#5e255b;color:white}.editor-page .note{background:linear-gradient(140deg,#74618c,#342345 28%,#161525);color:white;border:1px solid #c6a5eb88;border-top:2px solid var(--rhythm-neon);box-shadow:0 4px 0 #080916,inset 0 1px 10px #f05cff30}.editor-page .note.swipe{background:#173c50;color:white;border-color:var(--rhythm-cyan)}.editor-page .note.slide{background:#53153e;border-color:#ff78b0}.editor-page .note.selected{background:#68427c;color:white}.editor-page .note .handle{background:#f05cff20}
@media(hover:hover) and (pointer:fine){.quiet:hover,.editor-page button:hover:not(:disabled),.editor-page .file:hover{background:#353547;color:white;border-color:#ffffff70}.primary:hover,.poster-action:hover{background:linear-gradient(#ff4295,#ea0060);box-shadow:0 5px 0 #810035,0 10px 32px #ea006050}.game-poster:has(.poster-action:hover){border-color:var(--rhythm-neon)}}
@media(prefers-reduced-motion:reduce){.start-pads button.pressed{transform:none}}

