.ru-lab{margin-top:70px;color:var(--ink,var(--sa-ocean))}
.ru-intro{display:flex;gap:24px;align-items:end;justify-content:space-between;margin-bottom:25px}
.ru-intro h2{font-size:clamp(30px,2.9vw,53px);letter-spacing:-.06em;margin:12px 0}
.ru-intro p{color:var(--sa-muted);font-size:15px;line-height:1.6;max-width:600px;margin:0}
.ru-intro a{flex:none}
.ru-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(15px,1.7vw,29px)}
.ru-card{min-width:0;min-height:328px;background:var(--he-p-FFFFFF);border:1px solid var(--he-p-E4E8EB);padding:clamp(22px,2vw,35px);border-radius:32px;corner-shape:squircle;display:flex;flex-direction:column;gap:24px;color:var(--sa-ocean)}
.ru-header{display:flex;align-items:start;justify-content:space-between;gap:15px}
.ru-header h3{font-size:19px;margin:0 0 8px;letter-spacing:-.045em}
.ru-header p{font-size:14px;color:var(--sa-muted);line-height:1.5;margin:0}
.ru-number{font-family:var(--helium-type-metric);font-size:12px;color:var(--sa-muted)}
.ru-counter-display{display:flex;align-items:center;margin:auto 0 5px;gap:2px;font:600 clamp(40px,3vw,54px) var(--helium-type-metric);letter-spacing:-.06em}
.ru-counter{--ru-digit-height:55px;display:flex;height:var(--ru-digit-height);gap:1px}
.ru-digit{display:block;width:.69em;height:var(--ru-digit-height);overflow:hidden}
.ru-wheel{display:flex;flex-direction:column;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.ru-wheel span{height:var(--ru-digit-height);line-height:var(--ru-digit-height);text-align:center}
.ru-comma{align-self:end}
.ru-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.ru-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--he-p-E2E8E2);color:var(--sa-ocean);background:var(--he-p-F4F6F4);border-radius:17px;corner-shape:squircle;padding:11px 17px;font-size:13px;font-weight:600;box-shadow:none!important;transition:background .2s}
.ru-button:hover{background:var(--he-p-E9EFE9)}
.ru-button:focus-visible{outline:none;background:var(--he-p-DCE5EE)}
.ru-button:disabled{opacity:.65}
.ru-primary{background:var(--sa-current);color:var(--sa-ocean);border-color:var(--sa-current)}
.ru-primary:hover{background:var(--sa-current)}
.ru-danger{background:var(--he-p-F8EBEB);color:var(--he-p-913D43);border-color:var(--he-p-EFD9DB)}
.ru-danger.armed{background:var(--he-p-913D43);color:white}
.ru-delete-area,.ru-player,.ru-otp-zone,.ru-tasks,.ru-bell-area{margin-top:auto}
.ru-file{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 15px;margin-bottom:18px;background:var(--he-p-F3F6F2);border-radius:19px;corner-shape:squircle;font-size:14px;font-weight:600}
.ru-file small{color:var(--sa-muted);font-size:11px;font-weight:400}
.ru-hint{font-size:13px;color:var(--sa-muted);line-height:1.5}
.ru-delete-area>.ru-hint{display:block;margin-top:12px}
.ru-otp-zone>label{display:block;color:var(--sa-muted);font-size:13px;margin-bottom:12px}
.ru-otp-wrap{position:relative;cursor:text}
.ru-otp-wrap input{opacity:0!important;position:absolute;inset:0;width:100%;height:100%;z-index:2;cursor:text}
.ru-otp-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.ru-otp-slot{display:grid;place-items:center;height:53px;min-width:0;background:var(--he-p-F0F3EF);border-radius:13px;corner-shape:squircle;font:600 24px var(--helium-type-metric);color:var(--sa-ocean)}
.ru-otp-slot.filled{background:var(--he-p-E5ECF3)}
.ru-otp-slot.caret{background:var(--sa-foam)}
.ru-otp-slot.caret:empty:after{content:"";background:var(--sa-tide);width:2px;height:20px;animation:ru-blink 1s steps(2) infinite}
@keyframes ru-blink{50%{opacity:0}}
.ru-otp-zone .ru-hint{margin:10px 0 0}
.ru-steps{display:flex;gap:7px;margin-bottom:30px}
.ru-step{flex:1;display:block;height:11px;background:var(--he-p-ECF0EB);overflow:hidden;border-radius:6px;corner-shape:squircle}
.ru-step i{display:block;height:100%;width:0;background:var(--sa-current);transition:width .45s ease}
.ru-step.completed i{width:100%}
.ru-tasks{display:flex;flex-direction:column;gap:9px}
.ru-task{min-height:50px;display:flex;align-items:center;gap:11px;cursor:pointer;background:var(--he-p-F3F6F3);padding:12px 14px;font-size:13px;border-radius:18px;corner-shape:squircle}
.ru-task input{position:absolute;opacity:0;width:1px;height:1px}
.ru-check{display:grid;place-items:center;width:23px;height:23px;flex:none;color:transparent;border:1px solid var(--he-p-C5CAD0);background:white;border-radius:9px;corner-shape:squircle}
.ru-check svg{width:15px;height:15px}
.ru-task.done .ru-check{background:var(--sa-current);color:white;border-color:var(--sa-current)}
.ru-task.done>span:last-child{text-decoration:line-through;color:var(--sa-muted)}
.ru-task:focus-within{background:var(--he-p-DFE7EF)}
.ru-bell-area{display:flex;align-items:center;gap:20px;position:relative;min-height:85px}
.ru-bell{width:67px;height:67px;flex:none;display:grid;place-items:center;border:0;background:var(--he-p-EAEFF4);color:var(--sa-ocean);position:relative;border-radius:22px;corner-shape:squircle;cursor:pointer}
.ru-bell:hover{background:var(--sa-foam)}
.ru-bell>svg{width:25px;height:25px}
.ru-count{position:absolute;top:3px;right:3px;display:grid;place-items:center;min-width:22px;height:22px;background:var(--sa-current);color:var(--sa-ocean);border-radius:9px;corner-shape:squircle;font-size:11px;font-weight:700}
.ru-notifications{position:absolute;top:calc(100% + 10px);left:0;z-index:60;width:min(330px,calc(100vw - 70px));background:var(--he-p-FAFEFAFA);border:1px solid var(--he-p-DBE0E6);border-radius:24px;corner-shape:squircle;padding:14px;box-shadow:0 18px 38px -30px var(--he-p-22314366)}
.ru-notifications[hidden]{display:none!important}
.ru-notifications header{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;padding:5px 5px 10px;border-bottom:1px solid var(--he-p-E6EAEE)}
.ru-notifications header button{background:transparent;color:var(--sa-tide);border:0;font-size:12px;cursor:pointer}
.ru-notifications p{font-size:12px;padding:9px 10px;margin:8px 0;background:var(--he-p-EEF2F6);border-radius:13px;corner-shape:squircle;display:flex;flex-direction:column;gap:4px}
.ru-notifications small{font-size:11px;color:var(--sa-muted)}
.ru-credit{font-size:12px;line-height:1.5;color:var(--sa-muted);margin-top:22px}
.ru-credit a{text-decoration:underline}
html[data-sa-theme=dark] .ru-card{background:var(--he-p-172131);color:var(--he-p-EDF1F6);border-color:var(--he-p-3D4755)}
html[data-sa-theme=dark] .ru-header h3{color:var(--he-p-EDF1F6)}
html[data-sa-theme=dark] .ru-intro p,html[data-sa-theme=dark] .ru-header p,html[data-sa-theme=dark] .ru-hint,html[data-sa-theme=dark] .ru-credit{color:var(--sa-wave)}
html[data-sa-theme=dark] .ru-file,html[data-sa-theme=dark] .ru-task,html[data-sa-theme=dark] .ru-bell,html[data-sa-theme=dark] .ru-otp-slot,html[data-sa-theme=dark] .ru-step{background:var(--he-p-2A3441);color:var(--he-p-F0F4F9)}
html[data-sa-theme=dark] .ru-notifications{background:var(--he-p-1B2738);border-color:var(--sa-muted)}
html[data-sa-theme=dark] .ru-notifications p{background:var(--he-p-2E3947);color:var(--he-p-E4EBF3)}
@media (max-width:1200px){.ru-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:730px){.ru-grid{grid-template-columns:1fr}
.ru-intro{align-items:start;flex-direction:column}
.ru-card{min-height:270px}
}
@media (prefers-reduced-motion:reduce){.ru-wheel,.ru-step i{transition:none!important}
.ru-otp-slot:after{animation:none!important}
}
