/* Colourful, compact RareU experiences. Scoped to the signed-in dashboard. */
.ru-dashboard{--rx-ink:#473426;--rx-muted:#766859;--rx-line:#e9e1d6;--rx-accent:#986020;--rx-tint:#fff5db;--rx-wash:#fffdf6}
.ru-dashboard .rx-tone-gold{--rx-accent:#986020;--rx-tint:#fff0c5;--rx-wash:#fffcf3}
.ru-dashboard .rx-tone-sage{--rx-accent:#456f57;--rx-tint:#e3f0e5;--rx-wash:#f7fbf6}
.ru-dashboard .rx-tone-rose{--rx-accent:#9b526d;--rx-tint:#fbe5ec;--rx-wash:#fff8fa}
.ru-dashboard .rx-tone-lilac{--rx-accent:#765393;--rx-tint:#eee4fa;--rx-wash:#faf7ff}
.ru-dashboard .rx-tone-blue{--rx-accent:#4a7787;--rx-tint:#e1f0f5;--rx-wash:#f5fbfd}
.ru-dashboard :where(.rx-visual){display:block;flex-shrink:0;width:48px;height:48px;max-width:100%}
.ru-dashboard .nav-link .rx-visual{width:24px;height:24px}
.ru-dashboard .ru-card-icon .rx-visual{width:40px;height:40px}
.ru-dashboard .ru-sidebar-mark .rx-visual{width:32px;height:32px}
.ru-dashboard :is(.button,.ru-text-link)>.rx-visual{width:20px;height:20px}
.ru-dashboard :is(.ru-library-row,.ru-quick,.ru-practice,.ru-metric) .rx-visual{width:24px;height:24px}
.ru-dashboard :is(.ru-cover-tags,.ru-report-status,.ru-access-note,.ru-facts) .rx-visual{width:20px;height:20px}
.ru-dashboard .ru-cover-tags>span:has(.rx-visual){display:inline-flex;align-items:center;gap:5px}
.ru-dashboard .ru-lock-content>.rx-visual{width:40px;height:40px;margin:0 auto 10px}
.ru-dashboard .rx-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px}
.ru-dashboard .rx-section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 18px;margin:0 0 18px;min-width:0}
.ru-dashboard .rx-section-head>div{display:flex;align-items:center;gap:11px;min-width:0}
.ru-dashboard .rx-section-head>.rx-icon+div{display:block;flex:1;min-width:0}
.ru-dashboard .rx-section-head h2{font-size:19px;line-height:1.4;margin:0}
.ru-dashboard .rx-section-head p{font-size:12px;line-height:1.65;margin:3px 0 0}
.ru-dashboard .rx-section-head a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;font-weight:650;color:var(--rx-accent);text-decoration:underline;text-underline-offset:4px}
.ru-dashboard .rx-kicker{display:block;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--rx-accent);margin-bottom:5px}
.ru-dashboard .rx-note{font-size:12px;line-height:1.65;color:var(--rx-muted);margin-top:12px}
.ru-dashboard .rx-daily-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;align-items:start;margin-bottom:20px}
.ru-dashboard .rx-daily-grid>.ru-panel{margin-bottom:0}
.ru-dashboard .rx-daily-card,.ru-dashboard .rx-plan-card,.ru-dashboard .rx-score-panel,.ru-dashboard .rx-chat{min-width:0;padding:22px;border:1px solid var(--rx-line);border-radius:18px;background:linear-gradient(145deg,#fff 45%,var(--rx-wash));box-shadow:0 3px 14px #4c2e1804}
.ru-dashboard .rx-daily-heading{display:flex;align-items:center;gap:13px;min-width:0;margin-bottom:16px}
.ru-dashboard .rx-daily-heading>div{flex:1;min-width:0}
.ru-dashboard .rx-daily-heading h2{font-size:21px;line-height:1.35;margin:0 0 4px}
.ru-dashboard .rx-daily-date{display:block;color:var(--rx-muted);font-size:12px;line-height:1.6}
.ru-dashboard .rx-day-summary{font-size:14px;line-height:1.8;margin:0;color:var(--rx-ink);max-width:66ch}
.ru-dashboard .rx-day-summary p{font-size:inherit;color:inherit;margin:0 0 12px}
.ru-dashboard .rx-day-summary p:last-child{margin-bottom:0}
.ru-dashboard .rx-daily-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ru-dashboard .rx-daily-badges>span{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #ecdfc6;border-radius:8px;background:#fffaf0;color:#765631;font-size:11px;line-height:1.5}
.ru-dashboard .rx-daily-badges .rx-visual{width:22px;height:22px}
.ru-dashboard .rx-day-art{position:relative;display:grid;place-items:center;min-width:0;padding:10px 0}
.ru-dashboard .rx-day-art svg{display:block;width:min(100%,280px);height:auto;overflow:visible}
.ru-dashboard .rx-sun-progress{--rx-sun-length:100;animation:rx-sun-progress .85s ease-out both}
.ru-dashboard .rx-sun-marker{transform-box:fill-box;transform-origin:center;animation:rx-sun-marker .65s ease-out both}
.ru-dashboard .rx-moon-layout{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:18px;margin-top:16px}
.ru-dashboard .rx-moon-layout>div{min-width:0}.ru-dashboard .rx-moon-layout h3{font-size:15px;margin:0 0 4px}.ru-dashboard .rx-moon-layout p{font-size:12px;margin:0;line-height:1.7}
.ru-dashboard .rx-moon-disc{position:relative;isolation:isolate;width:82px;max-width:100%;aspect-ratio:1;border:1px solid #536072;border-radius:50%;overflow:hidden;background:#344556;box-shadow:0 0 0 7px #ece9f4,inset 0 0 14px #19273540}
.ru-dashboard .rx-moon-disc:before{content:"";position:absolute;inset:0;border-radius:50%;background:#f3eacf;clip-path:inset(0 0 0 var(--rx-moon-shadow,50%));box-shadow:inset -8px 0 12px #d2c5a075;z-index:-1}
.ru-dashboard .rx-moon-disc:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 65% 25%,#8c96a923 0 9%,transparent 10%),radial-gradient(circle at 75% 66%,#9ba0a51c 0 17%,transparent 18%),radial-gradient(circle at 23% 44%,#9ba0a51c 0 12%,transparent 13%)}
.ru-dashboard .rx-moon-disc[data-phase=new]{--rx-moon-shadow:100%}.ru-dashboard .rx-moon-disc[data-phase=full]{--rx-moon-shadow:0%}
.ru-dashboard .rx-moon-disc[data-phase=waning]{transform:scaleX(-1)}
.ru-dashboard svg.rx-moon-disc{display:block;height:auto;background:none;border:0;box-shadow:none;overflow:visible;isolation:auto}
.ru-dashboard .rx-inline-location{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0;font-size:12px;color:var(--rx-muted)}
.ru-dashboard .rx-inline-location .rx-visual{width:24px;height:24px}.ru-dashboard .rx-inline-location label{font-size:12px;font-weight:600}
.ru-dashboard .rx-location-select{min-width:0;max-width:100%;min-height:44px;padding:9px 34px 9px 12px;border:1px solid #decdb7;border-radius:10px;background:#fff;color:var(--rx-ink);font-family:inherit;font-size:13px;line-height:1.6}
.ru-dashboard .rx-inline-location>.rx-icon{flex-basis:30px;width:30px;height:30px}
.ru-dashboard .rx-inline-location label{display:grid;flex:1;gap:5px;min-width:0}
.ru-dashboard .rx-inline-location .ru-text-link{margin:0}
.ru-dashboard .rx-plan-card{--rx-tint:#e9f0df;--rx-wash:#f7faef;--rx-accent:#627745}
.ru-dashboard .rx-plan-list{display:grid;gap:0;list-style:none;padding:0;margin:8px 0 0}
.ru-dashboard .rx-plan-item{display:flex;gap:12px;align-items:flex-start;min-width:0;padding:14px 0;border-top:1px solid var(--rx-line)}
.ru-dashboard .rx-plan-item:first-child{border-top:0;padding-top:0}
.ru-dashboard .rx-plan-item:last-child{padding-bottom:0}
.ru-dashboard .rx-plan-item>.rx-icon{width:38px;height:38px;flex-basis:38px}
.ru-dashboard .rx-plan-item .rx-visual{width:38px;height:38px}
.ru-dashboard .rx-plan-item>div{flex:1;min-width:0}
.ru-dashboard .rx-plan-item strong{display:block;font-size:13px;line-height:1.55;color:var(--rx-ink)}
.ru-dashboard .rx-plan-item p{font-size:12px;line-height:1.7;margin:3px 0 0}
.ru-dashboard .rx-plan-item time,.ru-dashboard .rx-plan-item small{display:block;font-size:11px;line-height:1.6;color:var(--rx-muted)}
.ru-dashboard .rx-plan-item label{display:flex;align-items:flex-start;gap:10px;min-height:44px;cursor:pointer;min-width:0}
.ru-dashboard .rx-plan-item input[type=checkbox]{width:20px;height:20px;margin:3px 0 0;flex:0 0 20px;accent-color:#759568}
.ru-dashboard .rx-plan-item :is(button,a){min-height:44px}
.ru-dashboard .rx-score-panel{--rx-wash:#fffcf1}
.ru-dashboard .rx-score-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,112px),1fr));gap:12px}
.ru-dashboard .rx-score{min-width:0;padding:14px 8px;text-align:center;border:1px solid var(--rx-line);border-radius:14px;background:var(--rx-wash)}
.ru-dashboard .rx-score-ring{position:relative;display:grid;place-items:center;width:88px;max-width:100%;aspect-ratio:1;margin:0 auto 10px;color:var(--rx-accent)}
.ru-dashboard .rx-score-ring>svg{display:block;width:100%;height:auto;overflow:visible;transform:rotate(-90deg)}
.ru-dashboard .rx-score-ring circle{fill:none;stroke-width:7;stroke-linecap:round}
.ru-dashboard .rx-score-ring .rx-score-track{stroke:var(--rx-tint)}
.ru-dashboard .rx-score-ring .rx-score-progress{stroke:var(--rx-accent);transition:stroke-dashoffset .7s ease-out}
.ru-dashboard .rx-score-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:1px;color:var(--rx-ink);font-size:23px;font-weight:700;line-height:1.2}
.ru-dashboard .rx-score-value small{font-size:10px;color:var(--rx-muted);font-weight:500;margin-top:8px}
.ru-dashboard .rx-score-label{display:block;font-size:12px;font-weight:650;color:var(--rx-ink);line-height:1.5}
.ru-dashboard .rx-score p{font-size:11px;line-height:1.6;margin:3px 0 0}
.ru-dashboard .rx-score>small{display:block;font-size:11px;line-height:1.65;color:var(--rx-muted);margin-top:5px}
.ru-dashboard .rx-score-select{display:grid;gap:6px;margin:0 0 16px;color:var(--rx-muted);font-size:12px;line-height:1.6}
.ru-dashboard .rx-score-select select,.ru-dashboard .rx-temple-controls select{width:100%;max-width:100%;min-width:0;min-height:44px;padding:9px 32px 9px 12px;border:1px solid #decdb7;border-radius:10px;background:#fff;color:var(--rx-ink);font-family:inherit;font-size:13px;line-height:1.6}
.ru-dashboard .rx-score-bar{display:block;height:7px;background:var(--rx-tint);border-radius:8px;overflow:hidden;margin-top:10px}
.ru-dashboard .rx-score-bar>span{display:block;max-width:100%;height:100%;border-radius:inherit;background:var(--rx-accent);transform-origin:left;animation:rx-grow .75s ease-out both}
/* A seven-column month retains 44px targets at 360px when used on the panel itself. */
.ru-dashboard .rx-calendar{padding:18px 8px 14px;border:1px solid var(--rx-line);border-radius:18px;background:linear-gradient(150deg,#fff 65%,#fdf9f0);min-width:0}
.ru-dashboard .rx-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:0 8px 14px}
.ru-dashboard .rx-calendar-head>div{display:flex;align-items:center;gap:7px;min-width:0}
.ru-dashboard .rx-calendar-head h2,.ru-dashboard .rx-calendar-head h3{font-size:16px;line-height:1.45;margin:0}
.ru-dashboard .rx-calendar-head .rx-visual{width:36px;height:36px}
.ru-dashboard .rx-calendar-head button{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:9px;border:1px solid var(--rx-line);border-radius:11px;background:#fff;color:#74562e;font-size:16px;box-shadow:none}
.ru-dashboard .rx-calendar-head button svg{width:18px;height:18px}
.ru-dashboard .rx-calendar-head>.rx-section-head{width:100%;margin:0 0 6px;justify-content:flex-start;flex-wrap:nowrap}
.ru-dashboard .rx-calendar-head>.rx-section-head .rx-icon{flex-basis:38px;width:38px;height:38px}
.ru-dashboard .rx-calendar-head>.rx-month-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;width:100%}
.ru-dashboard .rx-month-controls h3{text-align:center}
.ru-dashboard .rx-calendar>.ru-source{margin:12px 8px 0}
.ru-dashboard .rx-calendar-weekdays,.ru-dashboard .rx-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}
.ru-dashboard .rx-calendar-weekdays{margin-bottom:5px}
.ru-dashboard .rx-calendar-weekdays>span{text-align:center;padding:5px 0;font-size:10px;font-weight:650;line-height:1.5;color:#897867}
.ru-dashboard .rx-calendar-day{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;width:100%;padding:8px 1px 12px;border:1px solid transparent;border-radius:11px;background:transparent;color:#66523f;font-family:inherit;font-size:12px;line-height:1.4;box-shadow:none}
.ru-dashboard button.rx-calendar-day{cursor:pointer}
.ru-dashboard button.rx-calendar-day:hover{background:#fff1c9;color:#62400f;border-color:#ecd7a6}
.ru-dashboard .rx-calendar-day.is-muted{color:#968b7f}
.ru-dashboard .rx-calendar-day.is-today{background:#fff0c0;border-color:#d9aa4c;color:#6d4710;font-weight:750;box-shadow:inset 0 -2px #d6a248}
.ru-dashboard .rx-calendar-day[aria-pressed=true],.ru-dashboard .rx-calendar-day.is-selected{background:#eee6fa;border-color:#ad94c7;color:#684c87;font-weight:700}
.ru-dashboard .rx-calendar-day.has-event:after{content:"";position:absolute;bottom:5px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:#a56e38}
.ru-dashboard .rx-calendar-day>span{display:block}.ru-dashboard .rx-calendar-day small{position:absolute;top:3px;right:3px;font-size:8px;line-height:1.25;min-width:12px;padding:1px 2px;border-radius:4px;background:#f5e5c2;color:#74552c;font-weight:700}
.ru-dashboard .rx-calendar-day[disabled]{cursor:default;opacity:.65}
.ru-dashboard .rx-calendar-events{display:grid;gap:9px;margin:14px 8px 0;padding-top:14px;border-top:1px solid var(--rx-line)}
.ru-dashboard .rx-festival{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:10px;border:1px solid #eadcc2;border-radius:12px;background:#fffaf0}
.ru-dashboard .rx-festival>.rx-visual{width:34px;height:34px;flex-basis:34px}
.ru-dashboard .rx-festival>div{min-width:0;flex:1}
.ru-dashboard .rx-festival>.rx-icon{width:34px;height:34px;flex-basis:34px}.ru-dashboard .rx-festival .rx-visual{width:34px;height:34px}
.ru-dashboard .rx-festival h3{font-size:13px;line-height:1.5;margin:0}
.ru-dashboard .rx-festival strong{display:block;font-size:12px;line-height:1.55;color:#654a2c}
.ru-dashboard .rx-festival time,.ru-dashboard .rx-festival p{display:block;font-size:11px;line-height:1.65;color:#80705c;margin:3px 0 0}
.ru-dashboard .rx-festival a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.ru-dashboard .rx-calendar-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin:12px 8px 0;font-size:10px;color:var(--rx-muted)}
.ru-dashboard .rx-calendar-legend>span{display:flex;align-items:center;gap:5px}
.ru-dashboard .rx-calendar-legend i{width:5px;height:5px;border-radius:50%;background:#a56e38}
.ru-dashboard .rx-chat{--rx-wash:#f7f5fd;--rx-tint:#eee5f6;--rx-accent:#785493}
.ru-dashboard .rx-chat-messages{display:flex;flex-direction:column;gap:10px;max-height:380px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:2px 5px 8px 0;min-width:0}
.ru-dashboard .rx-chat-message{align-self:flex-start;max-width:94%;padding:11px 13px;background:#f3edf8;border:1px solid #e8ddef;border-radius:4px 14px 14px 14px;color:#594464;font-size:13px;line-height:1.75;overflow-wrap:anywhere;white-space:pre-wrap}
.ru-dashboard .rx-chat-message p{color:inherit;font-size:inherit;margin:0;line-height:inherit}
.ru-dashboard .rx-chat-message.is-user{align-self:flex-end;background:#fff1cb;border-color:#eedbad;border-radius:14px 4px 14px 14px;color:#745323}
.ru-dashboard .rx-chat-message small{display:block;margin-top:4px;font-size:10px;line-height:1.5;color:#847589}
.ru-dashboard .rx-chat-suggestions{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 14px}
.ru-dashboard .rx-chat-suggestions button{min-height:44px;padding:8px 11px;border:1px solid #e4d9ee;border-radius:10px;background:#fff;color:#745680;white-space:normal;font-size:11px;line-height:1.55;text-align:left;box-shadow:none}
.ru-dashboard .rx-chat-form{display:flex;align-items:flex-end;gap:8px;padding:7px;border:1px solid #decee9;border-radius:13px;background:#fff;margin-top:14px;min-width:0}
.ru-dashboard .rx-chat-form:focus-within{border-color:#9d7bb7;box-shadow:0 0 0 3px #eee5f680}
.ru-dashboard .rx-chat-input{flex:1;min-width:0;width:100%;min-height:44px;max-height:160px;resize:vertical;padding:11px 9px;background:#fff;border:0;box-shadow:none;color:var(--rx-ink);font-family:inherit;font-size:14px;line-height:1.55;border-radius:8px}
.ru-dashboard .rx-chat-input::placeholder{color:#847388;opacity:1}
.ru-dashboard .rx-chat-submit{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;min-width:44px;min-height:44px;padding:10px 12px;border:1px solid #dfb766;border-radius:10px;background:linear-gradient(125deg,#ffc456,#ffdc7b);color:#684015;box-shadow:none;font-size:12px;font-weight:700;line-height:1.5}
.ru-dashboard .rx-chat-submit svg{width:19px;height:19px}
.ru-dashboard .rx-chat [role=status]{font-size:12px;line-height:1.6;margin-top:8px;color:var(--rx-muted)}
.ru-dashboard .rx-chat :is(button,input,textarea):disabled{opacity:.6;cursor:wait}
.ru-dashboard .rx-chat-privacy{font-size:10px;line-height:1.6;color:#8b7c8b;margin-top:9px}
.ru-dashboard .rx-chat>p{font-size:13px;line-height:1.7}
.ru-dashboard .rx-chat #rxChatForm{margin-top:15px}
.ru-dashboard .rx-chat #rxChatForm>label{display:block;color:var(--rx-muted);font-size:12px;font-weight:650;margin-bottom:6px}
.ru-dashboard .rx-chat #rxChatForm>.rx-chat-input{display:block;border:1px solid #dfd0e7;padding:11px 12px;min-height:74px;margin-bottom:10px}
.ru-dashboard .rx-chat .button .rx-visual{width:23px;height:23px}
.ru-dashboard .rx-chat-prompts{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:10px}
.ru-dashboard .rx-chat-prompts .ru-text-link{margin:0;text-align:left}
.ru-dashboard .rx-chat-frame{display:block;width:100%;height:min(620px,70dvh);min-height:400px;border:1px solid #e3d7ec;border-radius:13px;background:#fff;margin-top:14px}
.ru-dashboard .rx-chat-dialog{width:min(860px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:90dvh;padding:18px;margin:auto;overflow:auto;border:1px solid #e0d0bb;border-radius:18px;background:#fffdf9;color:var(--rx-ink);box-shadow:0 24px 90px #271b2640}
.ru-dashboard .rx-chat-dialog:not([open]){display:none}
.ru-dashboard .rx-chat-dialog::backdrop{background:#2b26305c;backdrop-filter:blur(3px)}
.ru-dashboard .rx-chat-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.ru-dashboard .rx-chat-dialog-head h2{font-size:20px;line-height:1.4;margin:0}
.ru-dashboard .rx-chat-dialog-head button{min-width:44px;min-height:44px;flex-shrink:0}
.ru-dashboard .rx-chat-dialog .rx-chat-frame{height:min(620px,calc(90dvh - 96px));min-height:min(400px,calc(90dvh - 96px));margin-top:12px}
.ru-dashboard .rx-catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ru-dashboard .rx-catalog-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--rx-line);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 3px 12px #4c2e1804}
.ru-dashboard .rx-catalog-card.ru-panel{padding:0;margin:0}
.ru-dashboard .rx-catalog-media{display:block;position:relative;width:100%;aspect-ratio:16/10;object-fit:cover;overflow:hidden;background:var(--rx-tint)}
.ru-dashboard .rx-catalog-media>img{display:block;width:100%;height:100%;object-fit:cover}
.ru-dashboard .rx-catalog-media.is-product>img{object-fit:contain;padding:10px;background:#fffdfa}
.ru-dashboard .rx-catalog-media>.rx-visual{position:absolute;inset:0;margin:auto;width:68px;height:68px;max-width:50%}
.ru-dashboard .rx-catalog-body{display:flex;flex:1;flex-direction:column;gap:7px;padding:14px;min-width:0}
.ru-dashboard .rx-catalog-body h3{font-size:14px;line-height:1.55;color:var(--rx-ink);margin:0;overflow-wrap:break-word}
.ru-dashboard .rx-catalog-body p{font-size:12px;line-height:1.7;margin:0}
.ru-dashboard .rx-catalog-body a:not(.button){color:inherit;text-decoration:none}
.ru-dashboard .rx-catalog-body h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.ru-dashboard .rx-catalog-meta{display:flex;align-items:flex-start;flex-wrap:wrap;gap:5px 8px;color:var(--rx-muted);font-size:11px;line-height:1.6}
.ru-dashboard .rx-catalog-meta .rx-visual{width:18px;height:18px}
.ru-dashboard .rx-catalog-meta .icon{width:15px;height:15px;flex-shrink:0;margin-top:2px}
.ru-dashboard .rx-catalog-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px;margin-top:auto;padding-top:8px;min-width:0}
.ru-dashboard .rx-catalog-footer strong{font-size:15px;line-height:1.5;color:#855b26}
.ru-dashboard .rx-catalog-footer .button{font-size:12px;min-height:44px;padding:9px 12px}
.ru-dashboard .rx-catalog-footer small{font-size:10px;line-height:1.6;color:var(--rx-muted)}
.ru-dashboard .rx-catalog-body details{border-top:1px solid var(--rx-line);margin-top:4px;padding-top:2px;font-size:12px;color:var(--rx-muted)}
.ru-dashboard .rx-catalog-body summary{min-height:44px;padding:10px 0;cursor:pointer;color:var(--rx-ink);font-size:11px;line-height:1.6}
.ru-dashboard .rx-catalog-body details p{margin:5px 0 10px}
.ru-dashboard .rx-catalog-footer .ru-text-link{margin-top:0;text-decoration:underline;text-underline-offset:3px}
.ru-dashboard .rx-temple-section,.ru-dashboard .rx-catalog-section{margin:24px 0;min-width:0}
.ru-dashboard .rx-temple-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 18px;margin-bottom:18px;padding:12px 16px;background:#fff;border:1px solid var(--rx-line);border-radius:14px}
.ru-dashboard .rx-temple-controls>.rx-inline-location{flex:1;min-width:min(100%,250px);margin:0}
.ru-dashboard .rx-temple-controls>label{display:grid;gap:5px;min-width:110px;font-size:12px;font-weight:600;color:var(--rx-muted)}
.ru-dashboard .rx-temple-art{display:grid;place-items:center;aspect-ratio:16/10;width:100%;background:linear-gradient(130deg,#fbeace,#fff7e8)}
.ru-dashboard .rx-temple-art>.rx-visual{width:76px;height:76px}
.ru-dashboard .rx-catalog-tag{display:inline-flex;align-items:center;gap:5px;font-size:10px;line-height:1.5;color:var(--rx-accent);background:var(--rx-tint);padding:4px 7px;border-radius:6px;align-self:flex-start}
.ru-dashboard .rx-empty{padding:18px;border:1px dashed #dacbb5;border-radius:14px;background:#fffdf8;color:var(--rx-muted);font-size:13px;line-height:1.7;grid-column:1/-1}
.ru-dashboard .rx-empty p{margin:0 0 8px}
.ru-dashboard .rx-empty a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px;color:#8a5b28}
.ru-dashboard .rx-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.ru-dashboard :is(.rx-daily-card,.rx-plan-card,.rx-score-panel,.rx-calendar,.rx-chat,.rx-catalog-card) :is(a,button,input,textarea,summary):focus-visible{outline:3px solid #986524;outline-offset:3px}
.ru-dashboard :is(.rx-daily-card,.rx-plan-card,.rx-score-panel,.rx-calendar,.rx-chat,.rx-catalog-card) :is(p,h2,h3,strong,small){overflow-wrap:break-word}
.ru-dashboard .rx-reveal{animation:rx-reveal .45s ease-out both}
.ru-dashboard .rx-reveal:nth-child(2){animation-delay:.07s}
.ru-dashboard .rx-reveal:nth-child(3){animation-delay:.14s}
.ru-dashboard .rx-orbit{transform-box:fill-box;transform-origin:center;animation:rx-orbit 18s linear 1}
.ru-dashboard .rx-sun-rays{transform-box:fill-box;transform-origin:center;animation:rx-sunrise 1.2s ease-out both}
@keyframes rx-reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes rx-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes rx-orbit{from{transform:rotate(-8deg)}to{transform:rotate(0deg)}}
@keyframes rx-sunrise{from{opacity:.4;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
@keyframes rx-sun-progress{from{stroke-dashoffset:var(--rx-sun-length,400);opacity:.4}to{opacity:1}}
@keyframes rx-sun-marker{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
@media(min-width:1024px) and (max-width:1199px){
 .ru-dashboard .rx-daily-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .ru-dashboard .rx-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ru-dashboard .rx-daily-card,.ru-dashboard .rx-plan-card,.ru-dashboard .rx-score-panel,.ru-dashboard .rx-chat{padding:18px}
 .ru-dashboard .rx-calendar{grid-column:1/-1}
}
@media(max-width:1023px){
 .ru-dashboard .rx-daily-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .ru-dashboard .rx-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ru-dashboard .rx-catalog-grid{gap:14px}
 .ru-dashboard .rx-daily-card,.ru-dashboard .rx-plan-card,.ru-dashboard .rx-score-panel,.ru-dashboard .rx-chat{padding:18px}
}
@media(min-width:640px) and (max-width:767px){
 .ru-dashboard .rx-calendar{grid-column:1/-1}
}
@media(max-width:639px){
 .ru-dashboard .rx-daily-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .ru-dashboard .rx-daily-card,.ru-dashboard .rx-plan-card,.ru-dashboard .rx-score-panel,.ru-dashboard .rx-chat{padding:17px 16px;border-radius:16px}
 .ru-dashboard .rx-section-head{gap:8px;margin-bottom:14px}
 .ru-dashboard .rx-section-head h2{font-size:18px}.ru-dashboard .rx-section-head p{font-size:12px}
 .ru-dashboard .rx-section-head>div{gap:8px}.ru-dashboard .rx-section-head .rx-visual{width:40px;height:40px}
 .ru-dashboard .rx-daily-heading{gap:10px;margin-bottom:13px}
 .ru-dashboard .rx-daily-heading h2{font-size:20px}
 .ru-dashboard .rx-day-summary{font-size:13px;line-height:1.8}
 .ru-dashboard .rx-plan-item{padding:12px 0;gap:9px}
 .ru-dashboard .rx-score-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .ru-dashboard .rx-score{padding:13px 8px}.ru-dashboard .rx-score-ring{width:82px}
 .ru-dashboard .rx-calendar{padding:16px 8px 12px;border-radius:16px}
 .ru-dashboard .rx-calendar-head{padding-left:7px;padding-right:7px;gap:6px}
 .ru-dashboard .rx-calendar-head>div{gap:4px}
 .ru-dashboard .rx-calendar-head h2,.ru-dashboard .rx-calendar-head h3{font-size:15px}
 .ru-dashboard .rx-calendar-head button{padding:10px}
 .ru-dashboard .rx-chat-input{font-size:16px;padding:10px 7px}
 .ru-dashboard .rx-chat-form{gap:4px;padding:5px}
 .ru-dashboard .rx-chat-submit{padding:10px}
 .ru-dashboard .rx-chat-frame{height:70dvh;min-height:400px;margin-bottom:env(safe-area-inset-bottom,0px)}
 .ru-dashboard .rx-moon-layout{grid-template-columns:76px minmax(0,1fr);gap:16px}.ru-dashboard .rx-moon-disc{width:68px}
 .ru-dashboard .rx-location-select{font-size:16px}
 .ru-dashboard .rx-score-select select,.ru-dashboard .rx-temple-controls select{font-size:16px}
 .ru-dashboard .rx-temple-controls{padding:12px}.ru-dashboard .rx-temple-controls>label{width:100%}
 .ru-dashboard .rx-chat-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(90dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:12px;border-radius:15px}
 .ru-dashboard .rx-chat-dialog-head h2{font-size:18px}
 .ru-dashboard .rx-chat-dialog .rx-chat-frame{height:calc(90dvh - 96px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));min-height:min(400px,calc(90dvh - 96px));margin-bottom:0}
 .ru-dashboard .rx-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .ru-dashboard .rx-temple-section .rx-catalog-grid{grid-template-columns:minmax(0,1fr)}
 .ru-dashboard .rx-temple-section .rx-catalog-media,.ru-dashboard .rx-temple-section .rx-temple-art{aspect-ratio:16/9}
 .ru-dashboard .rx-temple-section .rx-catalog-body{padding:14px}
 .ru-dashboard .rx-temple-section .rx-catalog-body h3{font-size:15px}.ru-dashboard .rx-temple-section .rx-catalog-body p{font-size:12px}
 .ru-dashboard .rx-catalog-card{border-radius:13px}
 .ru-dashboard .rx-catalog-media{aspect-ratio:1.2}
 .ru-dashboard .rx-catalog-body{padding:11px;gap:6px}
 .ru-dashboard .rx-catalog-body h3{font-size:13px}.ru-dashboard .rx-catalog-body p{font-size:11px}
 .ru-dashboard .rx-catalog-footer{align-items:flex-start;gap:6px;padding-top:5px}
 .ru-dashboard .rx-catalog-footer .button{width:100%;padding:9px 6px;font-size:11px}
 .ru-dashboard .rx-catalog-footer strong{font-size:14px}
 .ru-dashboard .rx-catalog-meta{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
 .ru-dashboard .rx-reveal,.ru-dashboard .rx-orbit,.ru-dashboard .rx-sun-rays,.ru-dashboard .rx-sun-progress,.ru-dashboard .rx-sun-marker,.ru-dashboard .rx-score-bar>span{animation:none!important;transform:none!important;opacity:1!important}
 .ru-dashboard .rx-score-ring .rx-score-progress{transition:none}
}
@media print{
 .ru-dashboard .rx-chat-form,.ru-dashboard .rx-chat-suggestions{display:none}
 .ru-dashboard .rx-reveal{animation:none;opacity:1;transform:none}
 .ru-dashboard .rx-catalog-card,.ru-dashboard .rx-plan-card,.ru-dashboard .rx-score-panel{break-inside:avoid;box-shadow:none}
}

/* Keep directory image attribution available wherever a photo is reused. */
.ru-dashboard .rx-photo-credit{padding:6px 12px;font-size:11px;line-height:1.6;color:#735f50;background:#fffaf2;overflow-wrap:anywhere}
.ru-dashboard .rx-photo-credit a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px;color:#705032}

@media(max-width:639px){
 .ru-dashboard .rx-catalog-section .rx-catalog-card:only-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(88px,32%) minmax(0,1fr);align-items:start}
 .ru-dashboard .rx-catalog-section .rx-catalog-card:only-child .rx-catalog-media{height:auto;aspect-ratio:1;object-fit:contain;align-self:start}
 .ru-dashboard .rx-catalog-section .rx-catalog-card:only-child .rx-catalog-body:only-child{grid-column:1/-1}
 .ru-dashboard .rx-catalog-body p{font-size:13px}.ru-dashboard .rx-catalog-meta{font-size:11px}
 .ru-dashboard .rx-temple-section .rx-temple-art{aspect-ratio:auto;min-height:110px;height:110px}
}

/* The overview packs natural-height cards into the next available column. */
.ru-dashboard .ru-shell{max-width:1680px}
.ru-dashboard .ru-masonry{--ru-card-gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,326px),1fr));gap:var(--ru-card-gap);align-items:start}
.ru-dashboard .ru-masonry[data-masonry-ready]{grid-auto-rows:1px;row-gap:0}
.ru-dashboard .ru-masonry>.ru-panel{grid-column:auto;align-self:start;height:auto;min-height:0;margin:0;padding:16px;border-radius:16px}
.ru-dashboard .ru-masonry :is(.ru-card-head,.rx-section-head){gap:10px;margin-bottom:12px}
.ru-dashboard .ru-masonry :is(.ru-card-head,.rx-section-head) h2{font-size:17px;line-height:1.4}
.ru-dashboard .ru-masonry .rx-section-head>div{gap:9px}
.ru-dashboard .ru-masonry :is(.rx-icon,.ru-card-icon){width:36px;height:36px;flex-basis:36px}
.ru-dashboard .ru-masonry :is(.rx-icon,.ru-card-icon) .rx-visual{width:36px;height:36px}
.ru-dashboard .ru-masonry .rx-day-summary{font-size:13px;line-height:1.65}
.ru-dashboard .ru-masonry .rx-inline-location{margin:10px 0}
.ru-dashboard .ru-masonry .ru-day-layout{grid-template-columns:minmax(0,1fr);gap:12px}
.ru-dashboard .ru-masonry .ru-sun-chart{max-width:195px}
.ru-dashboard .ru-masonry .ru-metric-grid{gap:8px}
.ru-dashboard .ru-masonry .ru-metric{padding:9px 10px}
.ru-dashboard .ru-masonry .ru-metric strong{font-size:16px;margin:2px 0}
.ru-dashboard .ru-masonry .ru-facts{margin-top:12px}
.ru-dashboard .ru-masonry .ru-facts>div{padding:9px 8px}
.ru-dashboard .ru-masonry .ru-actions{margin-top:12px;gap:8px}
.ru-dashboard .ru-masonry>.ru-panel>p{font-size:13px;line-height:1.65}
.ru-dashboard .ru-masonry>.ru-panel>.ru-source{font-size:11px}
.ru-dashboard .ru-masonry .rx-plan-item{padding:9px 0;gap:9px}
.ru-dashboard .ru-masonry .rx-plan-item:first-child{padding-top:0}
.ru-dashboard .ru-masonry .rx-plan-item h3{font-size:14px}
.ru-dashboard .ru-masonry .rx-plan-item p{line-height:1.6}
.ru-dashboard .ru-masonry .rx-plan-item .ru-eyebrow{margin-bottom:3px}
.ru-dashboard .ru-masonry .rx-score-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.ru-dashboard .ru-masonry .rx-score{padding:10px 6px}
.ru-dashboard .ru-masonry .rx-score-ring{width:64px;margin-bottom:7px}
.ru-dashboard .ru-masonry .rx-score-label{font-size:11px}
.ru-dashboard .ru-masonry .rx-score>small{font-size:10px;line-height:1.5}
.ru-dashboard .ru-masonry .rx-score:only-child{grid-column:1/-1;display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:12px;text-align:left;align-items:center;padding:10px 12px}
.ru-dashboard .ru-masonry .rx-score:only-child .rx-score-ring{grid-row:1/3;margin:0}
.ru-dashboard .ru-masonry .rx-score:only-child .rx-score-label{font-size:13px;align-self:end}
.ru-dashboard .ru-masonry .rx-score:only-child>small{align-self:start}
.ru-dashboard .ru-masonry .rx-score-select{margin-bottom:10px}
.ru-dashboard .ru-masonry .ru-progress-ring{width:60px;height:60px}
.ru-dashboard .ru-masonry .ru-section-head{margin-bottom:12px}
.ru-dashboard .ru-masonry .ru-practice{padding:9px 0;min-height:44px;gap:8px}
.ru-dashboard .ru-masonry .ru-library-summary{margin-bottom:10px;padding-bottom:10px}
.ru-dashboard .ru-masonry .ru-library-summary>strong{font-size:27px}
.ru-dashboard .ru-masonry .ru-library-row{padding:9px 0}
.ru-dashboard .ru-masonry .ru-lock-content>svg{width:30px;height:30px;margin-bottom:6px}
.ru-dashboard .ru-masonry .ru-lock-content h2{font-size:17px;margin-bottom:7px}
.ru-dashboard .ru-masonry .ru-lock-content p{margin-bottom:12px}
.ru-dashboard .ru-masonry .rx-moon-layout{grid-template-columns:64px minmax(0,1fr);gap:15px;margin-top:10px}
.ru-dashboard .ru-masonry .rx-moon-disc{width:60px}
.ru-dashboard .ru-masonry .rx-chat #rxChatForm{margin-top:10px}
.ru-dashboard .ru-masonry .rx-chat #rxChatForm>.rx-chat-input{min-height:66px;margin-bottom:8px}
.ru-dashboard .ru-masonry .rx-chat-prompts{margin-top:6px;gap:0 12px}
.ru-dashboard .ru-masonry>.rx-compact-calendar{padding:14px 8px 12px}
.ru-dashboard .ru-masonry .rx-calendar-head{padding-bottom:8px}
.ru-dashboard .ru-masonry .rx-calendar-events{margin-top:10px;padding-top:10px;gap:7px}
.ru-dashboard .ru-masonry .rx-festival{padding:8px;gap:8px}
.ru-dashboard .ru-masonry .rx-calendar-legend{margin-top:8px}
.ru-dashboard .ru-masonry>.rx-compact-catalog .rx-catalog-grid{grid-template-columns:minmax(0,1fr);gap:10px}
.ru-dashboard .ru-masonry .rx-compact-catalog .rx-catalog-card{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;border-radius:12px}
.ru-dashboard .ru-masonry .rx-compact-catalog .rx-catalog-media{height:auto;aspect-ratio:1;width:100%;margin-top:10px;border-radius:0 9px 9px 0;align-self:start}
.ru-dashboard .ru-masonry .rx-product .rx-catalog-media{object-fit:contain;background:#fffdfa;padding:4px}
.ru-dashboard .ru-masonry .rx-compact-catalog .rx-catalog-body{padding:10px;gap:4px}
.ru-dashboard .ru-masonry .rx-compact-catalog .rx-catalog-body:only-child{grid-column:1/-1}
.ru-dashboard .ru-masonry .rx-catalog-body h3{font-size:13px;line-height:1.5}
.ru-dashboard .ru-masonry .rx-catalog-body p{font-size:12px;line-height:1.6}
.ru-dashboard .ru-masonry .rx-catalog-footer{padding-top:3px;margin-top:0;gap:4px 8px;align-items:center}
.ru-dashboard .ru-masonry .rx-catalog-footer .button{width:auto;padding:8px 10px}
.ru-dashboard .ru-masonry .rx-catalog-footer strong{font-size:14px}
.ru-dashboard .ru-masonry .rx-catalog-body summary{padding:9px 0}
.ru-dashboard .ru-masonry .rx-empty{padding:12px}
.ru-dashboard .ru-masonry .rx-compact-temple-list{display:grid;gap:0}
.ru-dashboard .ru-masonry .rx-compact-temple-row{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;padding:12px 0;border-top:1px solid var(--rx-line)}
.ru-dashboard .ru-masonry .rx-compact-temple-row:first-child{padding-top:0;border-top:0}
.ru-dashboard .ru-masonry .rx-compact-temple-row:last-child{padding-bottom:0}
.ru-dashboard .ru-masonry .rx-compact-temple-row>.rx-icon,.ru-dashboard .ru-masonry .rx-compact-temple-row>.rx-icon svg{width:30px;height:30px}
.ru-dashboard .ru-masonry .rx-compact-temple-row .rx-catalog-body{padding:0;gap:4px}
@media print{
 .ru-dashboard .ru-masonry[data-masonry-ready]{display:block}
 .ru-dashboard .ru-masonry>.ru-panel{margin-bottom:14px}
}

/* Keep the supplied illustrated artwork crisp and blend its white paper into cards. */
.ru-dashboard .rx-illustrated{overflow:hidden;mix-blend-mode:multiply;object-fit:contain}
.ru-dashboard .nav-link .rx-illustrated{width:30px;height:30px}
.ru-dashboard .mobile-nav .rx-illustrated{width:25px;height:25px;margin:auto}
.ru-dashboard .back-home .rx-illustrated{width:20px;height:20px;display:inline-block;vertical-align:middle}
.ru-dashboard .ru-empty>.rx-illustrated{margin:0 auto 12px}
.ru-dashboard .ru-save .rx-illustrated{width:22px;height:22px}
.ru-dashboard .cal-location-button .rx-illustrated{width:26px;height:26px}
.ru-dashboard .cal-entry-icon .rx-illustrated{width:24px;height:24px}
