:root{--r-bg: #05070c;--r-panel: rgba(12, 18, 30, .88);--r-line: rgba(57, 213, 255, .2);--r-line-hi: rgba(57, 213, 255, .5);--r-text: #eaf4ff;--r-dim: #9fb2cf;--r-cyan: #39d5ff;--r-green: #39ffb4;--r-gold: #ffd166;--r-red: #ff5560;--r-font: "Avenir Next", "Segoe UI", system-ui, sans-serif;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}.rico-body{background:var(--r-bg);color:var(--r-text);font-family:var(--r-font);overflow:hidden;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#rico-root{position:fixed;inset:0}#rico-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}#rico-ui{position:absolute;inset:0;pointer-events:none;z-index:10}.hidden{display:none!important}button{font-family:inherit;color:inherit;background:none;border:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--r-cyan);outline-offset:2px;border-radius:6px}#rico-boot{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 100% at 50% 0%,#0a1526,#05070c 70%);transition:opacity .5s ease}#rico-boot.fade-out{opacity:0;pointer-events:none}.rboot-inner{text-align:center}.rboot-logo{font-size:clamp(30px,6vw,48px);font-weight:800;letter-spacing:7px}.rboot-logo span{display:block;font-size:.44em;letter-spacing:12px;color:var(--r-cyan)}.rboot-hint{margin-top:14px;color:var(--r-dim);font-size:13px;letter-spacing:1px}.rboot-err{margin-top:14px;color:var(--r-red)}.rboot-err a{color:var(--r-cyan)}.rico-noscript{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}#r-hud{position:absolute;inset:0;pointer-events:none}.rh-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:calc(8px + var(--sat)) 10px 8px;pointer-events:auto;background:linear-gradient(180deg,rgba(5,7,12,.85),transparent)}.rh-spacer{flex:1}.rh-stat{display:flex;align-items:center;gap:7px;background:var(--r-panel);border:1px solid var(--r-line);border-radius:99px;padding:6px 13px;font-size:14px;font-weight:700;backdrop-filter:blur(6px);white-space:nowrap}.rh-label{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--r-dim)}.rh-stat.shots b{color:var(--r-gold);letter-spacing:2px}.rh-stat.shots .spent{color:#4a5670}.r-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;background:var(--r-panel);border:1px solid var(--r-line);border-radius:10px;font-size:16px;backdrop-filter:blur(6px);position:relative}.r-icon:after{content:"";position:absolute;inset:-6px}.r-icon:hover{border-color:var(--r-line-hi)}#r-combo{position:absolute;top:calc(70px + var(--sat));left:50%;transform:translate(-50%);font-size:clamp(20px,4vw,30px);font-weight:800;letter-spacing:3px;color:var(--r-green);text-shadow:0 0 22px rgba(57,255,180,.6);pointer-events:none}#r-combo.pop{animation:rpop .3s ease}@keyframes rpop{40%{transform:translate(-50%) scale(1.3)}}#r-charge-wrap{position:absolute;bottom:calc(26px + var(--sab));left:50%;transform:translate(-50%);width:min(340px,62vw);height:10px;border-radius:8px;overflow:hidden;background:#ffffff17;border:1px solid var(--r-line);opacity:0;transition:opacity .15s ease}#r-charge{height:100%;width:0;background:linear-gradient(90deg,#39d5ff,#39ffb4,#ffd166,#ff5560)}#r-hint{position:absolute;bottom:calc(48px + var(--sab));left:50%;transform:translate(-50%);max-width:min(480px,88vw);text-align:center;background:var(--r-panel);border:1px solid var(--r-line);border-radius:12px;padding:9px 16px;font-size:13.5px;font-weight:600;opacity:0;transition:opacity .25s ease;pointer-events:none}#r-hint.show{opacity:1}#r-floats{position:absolute;inset:0;overflow:hidden}.r-float{position:absolute;top:0;left:0;font-weight:800;font-size:15px;text-shadow:0 1px 5px rgba(0,0,0,.8);transition:opacity .2s linear;will-change:transform;color:var(--r-green)}.r-float.gate{color:var(--r-gold);font-size:18px}.r-screen{position:absolute;inset:0;overflow-y:auto;pointer-events:auto;padding:calc(18px + var(--sat)) 16px calc(30px + var(--sab));background:radial-gradient(100% 80% at 50% 0%,#0a1526,#05070c 65%)}.rs-head{text-align:center;margin-bottom:26px;position:relative}.r-back{position:absolute;left:4px;top:4px;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;background:var(--r-panel);border:1px solid var(--r-line);border-radius:12px;color:var(--r-text);text-decoration:none;font-size:18px}.rs-title{font-size:clamp(30px,6vw,46px);font-weight:800;letter-spacing:7px}.rs-title span{display:block;font-size:.45em;letter-spacing:12px;color:var(--r-cyan)}.rs-sub{color:var(--r-dim);font-size:13px;letter-spacing:2px;text-transform:uppercase;margin-top:8px}.rs-stars{margin-top:10px;color:var(--r-gold);font-weight:800;letter-spacing:1px}.rs-actions{margin-top:14px;display:flex;gap:10px;justify-content:center}.r-chipbtn{position:relative;background:var(--r-panel);border:1px solid var(--r-line);color:var(--r-text);border-radius:99px;padding:8px 18px;font-size:13px;font-weight:700}.r-chipbtn:hover{border-color:var(--r-line-hi)}.r-chipbtn:after{content:"";position:absolute;inset:-7px}.r-chapter{max-width:900px;margin:0 auto 30px}.r-chapter h3{font-size:15px;letter-spacing:3px;text-transform:uppercase;color:var(--edge, var(--r-cyan));margin-bottom:2px}.rc-tag{color:var(--r-dim);font-size:12.5px;margin-bottom:12px}.rc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:10px}.rc-card{position:relative;display:flex;flex-direction:column;gap:4px;align-items:flex-start;background:var(--r-panel);border:1px solid var(--r-line);border-radius:14px;padding:12px 12px 10px;color:var(--r-text);text-align:left;transition:transform .12s ease,border-color .12s ease}.rc-card:not(.locked):hover{transform:translateY(-3px);border-color:var(--r-line-hi)}.rc-card.locked{opacity:.45;cursor:default}.rcc-num{position:absolute;top:8px;right:10px;font-size:11px;font-weight:800;color:var(--r-dim)}.rcc-name{font-weight:800;font-size:13.5px}.rcc-stars{color:#4a5670;letter-spacing:2px;font-size:13px}.rcc-stars.got{color:var(--r-gold)}.rcc-best{font-size:11px;color:var(--r-green);font-weight:700}.rcc-shots{font-size:10.5px;color:var(--r-dim)}#r-modals{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#030509b8;backdrop-filter:blur(5px);pointer-events:auto;z-index:30;padding:16px}.r-modal{background:#0c1322;border:1px solid var(--r-line-hi);border-radius:18px;padding:26px 26px 20px;width:min(430px,94vw);max-height:88vh;overflow-y:auto;text-align:center;box-shadow:0 18px 60px #0009}.r-modal h2{font-size:24px;letter-spacing:3px;text-transform:uppercase;margin-bottom:16px}.r-modal h2.perfect{color:var(--r-gold);text-shadow:0 0 24px rgba(255,209,102,.6)}.r-modal h2.fail{color:var(--r-red)}.r-modal p{color:var(--r-dim);font-size:14px;margin-bottom:12px;line-height:1.5}.rm-btns{display:flex;flex-direction:column;gap:9px;margin-top:16px}.rm-btns.row{flex-direction:row;justify-content:center}.r-btn{padding:12px 18px;border-radius:11px;font-size:14px;font-weight:800;letter-spacing:.5px;background:#141e30e6;border:1px solid var(--r-line);color:var(--r-text);text-decoration:none;display:block}.r-btn:hover{border-color:var(--r-line-hi)}.r-btn.primary{background:linear-gradient(180deg,#2fd0fc,#128fc4);color:#04222e;border-color:#ffffff4d}.r-btn.danger{background:#ff55601f;border-color:#ff556073;color:#ff8f97}.r-btn.small{padding:8px 14px;font-size:12.5px}.r-btn.link{color:var(--r-dim)}#r-done-stars{display:flex;gap:10px;justify-content:center;min-height:40px;align-items:center;margin-bottom:10px}.r-star{font-size:34px;color:#313d55;opacity:0;transform:scale(.4);animation:rstar .45s ease forwards}.r-star.got{color:var(--r-gold);text-shadow:0 0 18px rgba(255,209,102,.7)}@keyframes rstar{to{opacity:1;transform:scale(1)}}.r-fail-reason{color:var(--r-dim);font-size:13.5px}#r-done-rows{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.rr{display:flex;justify-content:space-between;font-size:13px;color:var(--r-dim)}.rr b{color:var(--r-text);font-variant-numeric:tabular-nums}.rr.bonus b{color:var(--r-green)}#r-done-total{font-size:18px;font-weight:800;letter-spacing:1px}#r-done-best{color:var(--r-gold);font-weight:800;font-size:13px;margin-top:6px}.r-help{list-style:none;text-align:left;display:flex;flex-direction:column;gap:9px;font-size:13.5px;color:var(--r-dim)}.r-help b,.r-help em{color:var(--r-text);font-style:normal}.rk{font-weight:800}.rk.t{color:var(--r-green)}.rk.h{color:#b47aff}.rk.b{color:#ff7a45}.r-set-group{font-size:11px;font-weight:800;letter-spacing:2.2px;text-transform:uppercase;color:var(--r-cyan);text-align:left;margin:18px 0 6px}.r-set-group:first-child{margin-top:0}.r-set-controls{margin-bottom:4px}.r-set{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 2px;font-size:14px;font-weight:600}.r-set input[type=range]{width:150px;accent-color:var(--r-cyan)}.r-set input[type=checkbox]{width:20px;height:20px;accent-color:var(--r-cyan)}#r-reset-save{margin-top:12px;width:100%}#r-debug{position:absolute;left:10px;bottom:calc(10px + var(--sab));z-index:50;width:250px;background:#060a12f2;border:1px solid rgba(255,209,102,.4);border-radius:12px;padding:10px;pointer-events:auto;font-size:11px}.rd-title{color:var(--r-gold);font-weight:800;letter-spacing:2px;margin-bottom:6px}.rd-stats{color:var(--r-dim);margin-bottom:6px}.rd-row{display:flex;flex-wrap:wrap;gap:4px}.rd-row button{font-size:10.5px;font-weight:700;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:4px 8px;color:var(--r-text)}#rd-out{margin-top:6px;color:var(--r-green);white-space:pre-wrap;font-size:10px}@media(max-width:640px){.rh-stat{font-size:12px;padding:5px 9px}.rh-stat:not(.score):not(.shots) .rh-label{display:none}#r-hint{font-size:12px}}@media(max-width:480px){.rh-top{flex-wrap:wrap;row-gap:6px;gap:6px}#r-level-name{display:inline-block;max-width:30vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.rh-stat{padding:5px 8px}.rh-spacer{flex-basis:100%;height:0}#r-combo{top:calc(118px + var(--sat))}}body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}
