/* 515f0ccc vocabulary. Original ring, mascots and effects; spacing replaces rules. */
html.shell20{--ob-flame:#FF7A2F;--ob-sun:#FFC53D;--s20-surface:#F6E7D4;--s20-wash:#F4DFC2;--s20-line:transparent;--c20-line:transparent;--c20-bubble:#F6E7D4;--c20-bar:#FFF8EF;--p20-card:#F9E9D5;--p20-pill:#F1DABB;--p20-ring:#F6E2C2;--ob-track:var(--p20-ring)}
@media(prefers-color-scheme:dark){html.shell20{--ob-flame:#FF9A5C;--ob-sun:#FFD66B;--s20-surface:#2E2623;--s20-wash:#3A2D27;--c20-bubble:#2E2623;--c20-bar:#1A1615;--p20-card:#332823;--p20-pill:#46332A;--p20-ring:#45352B}}
html.shell20 :is(#app,#raTabs,dialog),html.shell20 :is(#app,#raTabs,dialog) *,html.shell20 :is(#app,#raTabs,dialog) *::before,html.shell20 :is(#app,#raTabs,dialog) *::after{border:0!important;box-shadow:none!important}
html.shell20 #app :is(button,a,input,textarea,select):focus-visible,html.shell20 #raTabs a:focus-visible,html.shell20 dialog :is(button,a):focus-visible{filter:brightness(.87) saturate(1.4);background-color:var(--s20-wash)!important;color:var(--s20-ink)!important}
html.shell20 #app :is(h1,h2,h3,strong,b){font-weight:850;letter-spacing:-.025em}
html.shell20 #app :is(.s20-group,.s20-profile,.s20-chart,.h20-card,.card,.c20-form-card){background:var(--s20-surface);border-radius:24px}
html.shell20 #app [data-primary="1"],html.shell20 dialog .h20-action{box-shadow:0 5px 0 color-mix(in srgb,var(--s20-accent) 70%,#40170e),0 8px 18px #24160f12!important;font-weight:850!important;border-radius:18px!important}
html.shell20 #app :is(.s20-row,.h20-link){min-height:54px;font-weight:650}
html.shell20 #app :is(.s20-row,.h20-challenge):active{background:var(--s20-wash)!important}
html.shell20 #app .s20-group{gap:4px;padding-block:6px}
html.shell20 #app .s20-page{gap:22px}
html.shell20 #app .s20-heading h1{font-weight:900!important;font-size:2.1rem}
html.shell20 #app .s20-recommend{min-height:0;gap:12px;padding:18px 22px;background:var(--p20-card);grid-template-columns:minmax(0,1fr) 78px;border-radius:26px}
html.shell20 #app .s20-recommend h2{margin:0;font-weight:850;font-size:1.35rem}
html.shell20 #app .s20-recommend img{width:78px;height:86px}
html.shell20 #app .s20-meta{font-weight:750;color:var(--s20-ink);font-size:.95rem;margin-top:6px}
html.shell20 #app .s20-search{background:var(--s20-surface);border-radius:28px;padding-inline:22px}
html.shell20 #app :is(.s20-shelf,.s20-material){background:var(--skill-bg);color:var(--skill-ink);min-height:74px;padding:14px 18px;font-weight:850;border-radius:25px;gap:18px}
html.shell20 #app :is(.s20-shelf,.s20-material) .s20-icon{background:var(--skill-mark);color:#24201F!important;width:48px;height:48px;padding:11px;border-radius:50%;box-sizing:border-box}
html.shell20 #app .s20-shelf small{display:none}
html.shell20 #app .s20-material>span:last-child{margin-left:auto}
html.shell20 #app .s20-stats>div:nth-child(1){background:var(--s20-pronounce-bg);color:var(--s20-pronounce)}
html.shell20 #app .s20-stats>div:nth-child(2){background:var(--s20-listen-bg);color:var(--s20-listen)}
html.shell20 #app .s20-stats strong{font-size:3rem}
html.shell20 #app .s20-stats small{color:inherit;font-size:1rem;font-weight:750}
html.shell20 #app .s20-stats>div{padding:18px}
html.shell20 #app .h20-records{background:var(--p20-card)}
html.shell20 #app .h20-metric small{color:var(--s20-ink);font-size:.95rem;font-weight:700}
html.shell20 #app .h20-comparison>p{display:none}
html.shell20 #app .h20-week-rings .h20-ring{width:40px;height:40px}
html.shell20 #app .h20-week-rings .h20-ring>b{display:none}
html.shell20 #app .h20-ring-tiny>small{font-size:.6rem;font-weight:750;color:var(--s20-ink)}
html.shell20 #app .s20-profile{background:var(--p20-card)}
html.shell20 #app .s20-profile img{width:100px;height:112px}
html.shell20 #app .s20-profile span{font-size:1rem;font-weight:700;color:var(--s20-accent)}
html.shell20 #raTabs{left:50%!important;right:auto!important;bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;transform:translateX(-50%)!important;width:calc(100% - 32px)!important;max-width:660px!important;height:68px!important;border-radius:38px!important;padding:4px!important;background:var(--s20-bg)!important;box-shadow:0 5px 20px #24160f24,0 0 0 4px color-mix(in srgb,var(--s20-bg) 65%,transparent)!important}
html.shell20 #raTabs .ra-tabs__inner{height:60px!important;gap:4px!important}
html.shell20 #raTabs .ra-tab{min-height:60px!important;height:60px!important;padding:5px 2px!important;border-radius:32px!important;color:var(--s20-ink)!important;gap:2px!important;font-weight:850!important}
html.shell20 #raTabs .ra-tab[aria-current=page]{background:var(--s20-surface)!important;color:var(--s20-accent)!important}
html.shell20 #raTabs .ra-tab [aria-hidden] svg{stroke-width:2.3}
html.shell20 #app:has(.c20-room){padding:0!important;min-height:0!important;max-width:900px!important}
html.shell20 body:has(.c20-room) :is(.ra-top,.ra-topbar){display:none!important}
html.shell20 body:has(.c20-room) :is(.ra-main,.ra-body,.ra-layout){margin:0!important;padding:0!important;max-height:none!important}
html.shell20 .c20-room{height:calc(var(--c20-vh,100svh) - 92px - env(safe-area-inset-bottom,0px))!important;min-height:180px;container-type:normal!important}
html.shell20 .c20-header{height:42px;min-height:42px;padding:2px 12px;grid-template-columns:44px minmax(0,1fr) 44px;background:none;backdrop-filter:none}
html.shell20 .c20-header>.c20-icon:first-child{visibility:hidden}
html.shell20 .c20-recipient{flex-direction:row;font-size:18px!important;font-weight:850!important;gap:8px;min-height:40px}
html.shell20 .c20-recipient .c20-head-avatar{display:none}
html.shell20 .c20-header>.c20-icon:last-child{color:var(--s20-accent)}
html.shell20 .p20-summary{flex:none;display:grid;grid-template-columns:126px minmax(0,1fr);gap:12px;align-items:center;margin:2px 16px 10px;padding:10px 14px 10px 8px;border-radius:28px;background:var(--p20-card);min-height:142px;box-sizing:border-box}
html.shell20 .p20-mascot{position:relative;width:126px;height:126px;display:grid;place-items:center;background:transparent;padding:0;cursor:pointer;color:inherit;border-radius:50%;isolation:isolate}
html.shell20 .p20-mascot img{width:100px;height:100px;object-fit:contain;z-index:1;pointer-events:none;animation:p20-breathe 3.6s ease-in-out infinite;max-width:none}
html.shell20 .p20-mascot .rt-ring{position:absolute;inset:0}
html.shell20 .p20-mascot[data-jump] img{animation:p20-hop .48s ease-in-out}
html.shell20 .p20-summary-copy{min-width:0;display:grid;gap:6px}
html.shell20 .p20-summary h2{margin:0;font-size:1.04rem;line-height:1.4;font-weight:850;overflow-wrap:anywhere}
html.shell20 .p20-summary-title{color:var(--s20-ink)!important;text-decoration:none;min-height:30px;display:block}
html.shell20 .p20-summary-count{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:900;line-height:1.1;display:flex;align-items:baseline;gap:5px}
html.shell20 .p20-summary-count small{font-size:1rem;font-weight:800;color:var(--s20-ink)}
html.shell20 .p20-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
html.shell20 .p20-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;min-height:28px;border-radius:22px;background:var(--p20-pill);color:var(--s20-accent)!important;font-size:.8rem;font-weight:850;text-decoration:none;white-space:nowrap;box-sizing:border-box}
html.shell20 .p20-chip svg{width:17px;height:17px;flex:none}
html.shell20 .p20-chip .rt-streak{padding:0;background:transparent;min-width:0;gap:4px}
html.shell20 .p20-chip .rt-streak-n{font-size:1rem}
html.shell20 .p20-chip .rt-flame{animation:p20-flame 1.3s ease-in-out infinite}
html.shell20 .c20-scroll{padding:0 4px;flex:1;min-height:0}
html.shell20 .c20-log{padding:6px 12px 14px;justify-content:flex-end;min-height:100%;height:auto}
html.shell20 .c20-bubble{background:var(--c20-bubble)!important;color:var(--s20-ink);padding:12px 15px;border-radius:22px}
html.shell20 .outgoing .c20-bubble{background:var(--c20-own)!important;color:var(--c20-own-ink)!important}
html.shell20 .c20-column{min-width:0;max-width:84%}
html.shell20 .c20-text{font-size:16px;line-height:1.6;white-space:pre-wrap;overflow:visible;max-height:none;display:block;-webkit-line-clamp:unset;word-break:normal;overflow-wrap:anywhere}
html.shell20 .c20-avatar{width:30px;height:30px;overflow:visible;background:none}
html.shell20 .c20-avatar img{object-fit:contain!important;width:32px!important;height:32px!important;transform:none!important;object-position:center!important}
html.shell20 .c20-preview{background:var(--s20-bg);min-width:0;border-radius:18px;margin:8px 0 0}
html.shell20 .c20-preview-body{padding:12px;font-size:1rem}
html.shell20 .c20-preview-art{display:none}
html.shell20 .c20-preview strong{font-size:1.05rem}
html.shell20 .c20-preview p{font-size:.92rem;line-height:1.55}
html.shell20 .c20-preview .c20-en{font-size:1.05rem}
html.shell20 .c20-speak{display:flex;align-items:center;justify-content:center;margin:4px 0 -4px auto;min-height:32px;min-width:36px;padding:4px;background:transparent;color:var(--s20-accent);cursor:pointer;border-radius:50%}
html.shell20 .c20-speak svg{width:20px;height:20px}
html.shell20 .c20-row:has(.c20-bubble:empty):not(:has(.c20-actions>*)){display:none}
html.shell20 .c20-actions:empty{display:none}
html.shell20 .c20-chip,html.shell20 .c20-action{background:var(--p20-card);color:var(--s20-accent);font-size:.9rem!important;padding:10px 14px;min-height:40px;font-weight:750;border-radius:24px}
html.shell20 .c20-dock{padding:0 12px 2px;background:var(--s20-bg);backdrop-filter:none}
html.shell20 .c20-replies{padding:4px 0 6px;gap:8px}
html.shell20 .c20-replies .c20-chip{min-height:36px;padding:7px 12px;font-size:.83rem!important}
html.shell20 #app .p20-start[data-primary="1"]{position:static!important;transform:none!important;left:auto!important;bottom:auto!important;max-width:none!important;width:100%!important;min-height:50px!important;padding:12px 18px!important;margin:2px 0 8px!important;font-size:1rem!important}
html.shell20 .c20-composer{padding:0;min-height:46px;gap:3px}
html.shell20 .c20-input-wrap{background:var(--s20-surface);min-height:40px;overflow:visible}
html.shell20 .c20-composer>.c20-icon{width:40px;height:40px;min-height:40px;min-width:40px;background:var(--p20-card);color:var(--s20-accent);margin:3px;border-radius:50%}
html.shell20 .c20-typing{background:var(--c20-bubble)}
html.shell20 .c20-typing i{background:var(--s20-accent)}
html.shell20 .h20-quota{padding:0 20px 6px;font-size:.9rem;font-weight:700;color:var(--s20-accent)}
html.shell20 .p20-stages{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;padding:6px 0;margin:6px 0;min-height:24px}
html.shell20 .p20-stages::before{content:"";position:absolute;left:8px;right:8px;top:50%;height:3px;background:var(--s20-wash)}
html.shell20 .p20-stages i{position:relative;width:13px;height:13px;background:var(--s20-wash);border-radius:50%}
html.shell20 .p20-stages i[data-current]{background:var(--s20-accent);width:18px;height:18px}
html.shell20 .p20-reward-steps{display:flex;justify-content:center;gap:8px;margin:16px auto}
html.shell20 .p20-reward-steps i{height:7px;width:7px;border-radius:50%;background:var(--s20-wash)}
html.shell20 .p20-reward-steps i[data-current]{background:var(--s20-accent);width:24px;border-radius:10px}
html.shell20 .h20-dialog{background:var(--s20-bg);padding:24px;border-radius:32px}
html.shell20 .h20-dialog .h20-action{position:sticky;bottom:0;margin-block:20px 8px}
html.shell20 .h20-dialog .h20-reward-body{gap:18px;min-height:270px}
html.shell20 .h20-dialog .h20-reward-body>p:not(.h20-reaction){font-size:1rem;font-weight:700;color:var(--s20-ink)}
html.shell20 .h20-dialog small:not(.h20-terms){font-size:.95rem;color:var(--s20-ink)}
html.shell20 .h20-gift{background:var(--s20-pronounce-bg);color:var(--s20-pronounce);border-radius:24px;padding:14px 20px;animation:p20-gift 3s ease-in-out infinite}
html.shell20 .h20-gift[data-open]{animation:none}
html.shell20 .h20-price{padding:24px;background:var(--s20-surface);gap:10px}
html.shell20 .h20-price[data-selected=true]{padding:24px;background:var(--s20-pronounce-bg);color:var(--s20-pronounce)}
html.shell20 .h20-price[data-selected=true] .h20-select{background:var(--s20-pronounce);color:var(--s20-pronounce-bg)}
html.shell20 .h20-price .h20-select{background:var(--s20-bg);border-radius:24px;padding:10px}
html.shell20 .h20-price-amount{font-size:1.5rem;line-height:1.5}
html.shell20 .h20-price p{font-size:1rem;color:inherit}
html.shell20 .h20-price small{font-size:.9rem;color:inherit}
html.shell20 .h20-terms{font-size:.9rem;color:var(--s20-ink)}
html.shell20 .h20-trial{border-radius:22px;font-size:1rem;background:var(--s20-pronounce-bg);color:var(--s20-pronounce)}
html.shell20 .h20-trial small{font-size:.9rem;color:inherit}
html.shell20 .h20-costume{background:var(--p20-card);border-radius:28px}
html.shell20 .h20-costume small{display:none}
html.shell20 .h20-costume[aria-pressed=true]{background:var(--s20-pronounce-bg)}
html.shell20 .h20-bonus-band{box-shadow:none;background:var(--s20-pronounce-bg);color:var(--s20-pronounce);font-size:1rem}
html.shell20 body[data-habit-bonus] .c20-room{height:calc(var(--c20-vh,100svh) - 136px - env(safe-area-inset-bottom,0px))!important}
html.shell20 #app :is(.page-head>p,.c20-home-menu p,.c20-result-note,.s20-version,.ra-lesson__hint,.h20-menu-mini>span,.h20-comparison>small){display:none!important}
html.shell20 #app .s20-empty{position:relative;overflow:hidden}
html.shell20 #app .s20-empty img{content:url('/kuchiripi/ripi-peek.png');width:136px;height:136px}
html.shell20 #app :is(.ra-complete,.sk-screen){position:relative}
html.shell20 #app :is(.ra-complete,.sk-screen)::after{content:"";display:block;position:absolute;right:0;bottom:80px;width:72px;height:72px;background:url('/kuchiripi/ripi-peek.png') center/contain no-repeat;pointer-events:none}
@keyframes p20-breathe{0%,100%{transform:translateY(2px) rotate(-2deg)}50%{transform:translateY(-3px) rotate(2deg)}}
@keyframes p20-hop{0%,100%{transform:translateY(0)}40%{transform:translateY(-18px) rotate(-8deg)}70%{transform:translateY(2px) rotate(4deg)}}
@keyframes p20-flame{0%,100%{transform:rotate(-5deg) scale(.98)}50%{transform:rotate(5deg) scale(1.08)}}
@keyframes p20-gift{0%,80%,100%{transform:rotate(0)}85%{transform:rotate(-4deg)}92%{transform:rotate(4deg)}}
@media(min-width:1000px){html.shell20 #app .s20-materials{grid-template-columns:1fr 1fr}html.shell20 .c20-log{padding-inline:32px}html.shell20 .p20-summary{margin-inline:24px;padding-inline:18px;grid-template-columns:126px minmax(0,1fr)}html.shell20 .p20-summary-copy{grid-template-columns:minmax(0,1fr) auto}html.shell20 .p20-summary-count{grid-row:1/3;grid-column:2;font-size:2.6rem}html.shell20 .p20-chips{grid-column:1}html.shell20 .c20-dock{padding-inline:24px}html.shell20 .p20-summary h2{font-size:1.25rem}}
@media(max-height:620px){html.shell20 .p20-summary{display:none}html.shell20 .c20-replies{display:none}html.shell20 .c20-header{min-height:36px;height:36px}html.shell20 .c20-room{height:calc(var(--c20-vh,100svh) - 84px)!important}}
@media(prefers-reduced-motion:reduce){html.shell20 :is(.p20-mascot img,.p20-chip .rt-flame,.h20-gift){animation:none!important;transition:none!important}}
html.p20-static :is(.p20-mascot img,.p20-chip .rt-flame,.h20-gift){animation:none!important;transition:none!important}
/* Exact original ring/streak structure also works before the old home is mounted. */
html.shell20 .p20-mascot .rt-ring-svg{position:absolute;inset:0;display:block;overflow:visible}
html.shell20 .p20-mascot .rt-ring[data-kind=progress] .rt-ring-idle{display:none}
html.shell20 .p20-mascot .rt-ring[data-kind=idle] .rt-ring-svg:not(.rt-ring-idle){display:none}
html.shell20 .p20-chip .rt-streak{display:inline-flex;align-items:center;gap:4px;color:var(--s20-accent)}
html.shell20 .p20-chip .rt-num{display:inline-flex;position:relative;font-variant-numeric:tabular-nums}
html.shell20 .p20-chip .rt-num-out{position:absolute;left:0;top:0}
html.shell20 .p20-chip .rt-streak[data-on="1"] .rt-flame{fill:url(#rt-flame-g)}

html.shell20 .p20-summary-count b{position:relative;display:inline-flex}
html.shell20 .p20-summary-count .rt-num-out{position:absolute;left:0;top:0}
html.shell20 #app .p20-scroll-pane{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-bottom:12px;box-sizing:border-box}
html.shell20 #app .p20-instant-scroll{display:grid;gap:18px}
html.shell20 body:has(#app .p20-scroll-pane){overflow:hidden!important}
html.shell20 #app :is(.s20-shelf,.s20-material){width:100%!important;min-width:0!important;box-sizing:border-box!important;justify-self:stretch!important}
html.shell20 #app :is(.s20-shelf,.s20-material)>span:not(.s20-icon){width:auto!important;height:auto!important;min-width:0!important;padding:0!important;background:none!important;border-radius:0!important;flex:1 1 auto;white-space:normal;word-break:normal}
html.shell20 #app :is(.s20-shelf,.s20-material)>span:last-child{flex:0 0 auto!important;margin-left:auto!important}
html.shell20 #app .s20-page{gap:18px}
html.shell20 #app .s20-recommend{padding:12px 20px;grid-template-columns:minmax(0,1fr) 64px}
html.shell20 #app .s20-recommend .shell-ripi{width:64px;height:70px}
html.shell20 #app .s20-shelves{gap:10px}
html.shell20 #app .s20-shelf{min-height:68px;padding:10px 16px;gap:16px}
html.shell20 #app .s20-shelf .s20-icon{width:44px;height:44px;padding:10px}
@media(min-width:1000px){html.shell20 #app .s20-recommend{padding:18px 24px;grid-template-columns:minmax(0,1fr) 88px}html.shell20 #app .s20-recommend .shell-ripi{width:88px;height:96px}}
/* Blink overlays follow the detected eyes in the original PNG; no new artwork. */
html.shell20 .p20-figure{position:relative;display:block;width:100px;height:100px;z-index:1;pointer-events:none;animation:p20-breathe 3.6s ease-in-out infinite}
html.shell20 .p20-mascot .p20-figure img{width:100%;height:100%;animation:none!important}
html.shell20 .p20-mascot[data-jump] .p20-figure{animation:p20-hop .48s ease-in-out}
html.shell20 .p20-eye{position:absolute;border-radius:50%;opacity:0;display:grid;place-items:center;animation:p20-blink 5.7s infinite}
html.shell20 .p20-eye>i{display:block;width:80%;height:1.4px;background:#24201F;border-radius:50%}
@keyframes p20-blink{0%,93%,98%,100%{opacity:0}94%,97%{opacity:1}}
@media(prefers-reduced-motion:reduce){html.shell20 :is(.p20-figure,.p20-eye){animation:none!important}html.shell20 .p20-eye{opacity:0!important}}
html.p20-static :is(.p20-figure,.p20-eye){animation:none!important}html.p20-static .p20-eye{opacity:0!important}
html.shell20 .h20-flame svg{width:52px;height:52px;fill:var(--ob-flame)}
html.shell20 .h20-comparison>p,html.shell20 .h20-comparison>small,html.shell20 .h20-dialog .h20-comparison>h2{display:none}
html.shell20 .h20-dialog[data-habit-dialog=bonus]>.h20-reaction,html.shell20 .h20-dialog[data-habit-dialog=bonus]>small{display:none}
html.shell20 .c20-composer>.c20-icon{width:44px;height:44px;min-width:44px;min-height:44px}
html.shell20 #app .ra-lesson:not(:has(.ra-answer--open)) .ra-lesson__actions [data-act=primary]{display:none!important}
html.shell20 #app .ra-lesson__top{display:grid!important;grid-template-columns:44px minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important}
html.shell20 #app .p20-lesson-progress{grid-column:1/-1;height:7px;overflow:hidden;border-radius:10px;background:var(--s20-wash);margin-top:8px}
html.shell20 #app .p20-lesson-progress i{display:block;height:100%;background:var(--s20-accent);border-radius:10px;transition:width .3s}
html.shell20 #app .ra-q{color:var(--s20-ink)!important;font-size:1.2rem!important}
@media(prefers-reduced-motion:reduce){html.shell20 .p20-lesson-progress i{transition:none}}
html.p20-static .p20-lesson-progress i{transition:none}
html.shell20 body:has(#app>.h20-page) :is(.ra-top,.ra-topbar){display:none!important}
html.shell20 body:has(#app>.h20-page) :is(.ra-main,.ra-body){margin:0!important;padding:0!important;max-height:none!important;overflow:visible!important}
html.shell20 body:has(#app>.h20-page) #app{padding-top:24px!important}
html.shell20 #app .h20-page>.back{display:inline-flex!important;position:static!important;visibility:visible!important;opacity:1!important;justify-self:start!important}
html.shell20 .h20-price-source{font-size:.9rem;color:var(--s20-ink);font-weight:650}
html.shell20 .p20-owned{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
html.shell20 .p20-owned .p20-chip{font-size:.85rem}
html.shell20 #app :is(.ra-lesson__top,.s20-practice-top){position:sticky!important;top:0!important;background:var(--s20-bg)!important;z-index:4}
html.shell20 #app .p20-price-confirm[data-primary="1"]{white-space:pre-line!important;line-height:1.45!important}
/* Important declarations in a layer take precedence over older unlayered rules. */
@layer p20-flat{
 html.shell20 :is(#app,#raTabs,dialog),html.shell20 :is(#app,#raTabs,dialog) *,html.shell20 :is(#app,#raTabs,dialog) *::before,html.shell20 :is(#app,#raTabs,dialog) *::after{border:0!important;}
}

/* Habit pages share the same comfortable inset as the four main tabs. */
html.shell20 #app>.h20-page{width:100%;box-sizing:border-box;padding-inline:16px;gap:18px}
html.shell20 body:has(#app>.h20-page) .ra-main{margin-inline:auto!important;width:100%!important;max-width:900px!important}
/* The original onboarding owns its bottom dock and its scrollable content. */
html.shell20 .ob-dockwrap [data-primary="1"]{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:100%!important;max-width:none!important;margin:0!important}
html.shell20 .ob-dock{display:flex;flex-direction:column;gap:8px}
html.shell20 .ob-dock>.ob-link{order:0}
html.shell20 .ob-dock>.ob-main{order:1}
html.shell20 #app .ob-dockwrap [data-primary="1"]{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:100%!important;max-width:none!important;margin:0!important}

/* The original animated result dock owns its button; avoid nested fixed boxes. */
html.shell20 #app .ra-result-bar [data-primary="1"]{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:100%!important;max-width:none!important;margin:12px 0 0!important}

/* Fixed actions keep their viewport anchor while content is replaced. */
html.shell20 #app [data-primary="1"]{transition:box-shadow .12s,translate .12s!important}
html.shell20 #app [data-primary="1"]:active{translate:0 3px;box-shadow:0 2px 0 color-mix(in srgb,var(--s20-accent) 70%,#40170e)!important}

/* Approved iOS skill tiles: two columns at every viewport, labels below icons. */
html.shell20 #app .s20-shelves{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
html.shell20 #app .s20-shelf{grid-column:auto;height:auto!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-height:126px;padding:16px;gap:18px;text-align:left;border-radius:24px;line-height:1.45}
html.shell20 #app .s20-shelf>span.p20-shelf-name{flex:0 0 auto!important;margin:0!important;align-self:stretch;font-weight:850;font-size:1.05rem;overflow-wrap:anywhere}
html.shell20 #app .s20-shelf>.s20-icon{flex:0 0 44px;align-self:flex-start}
html.shell20 #app .s20-shelf:last-child{grid-column:1/-1;min-height:108px}
html.shell20 #app .p20-billing-link{display:block;justify-self:start;font-size:.85rem;line-height:1.6;color:var(--s20-muted);background:none;padding:8px 0;text-decoration:underline;text-underline-offset:3px}

/* Five-tab home: keep the original today composition, with one action above the floating tabs. */
html.shell20 .rt-bar{z-index:80!important;left:0!important;right:0!important;bottom:90px!important;padding:12px 20px!important;background:var(--s20-bg)!important;box-shadow:none!important}
html.shell20 .rt-bar #rt-primary{position:static!important;width:100%!important;max-width:none!important;background:var(--s20-accent)!important;color:var(--s20-on)!important;box-shadow:none!important;min-height:56px!important;border:0!important}
html.shell20 .p20-home{padding-bottom:110px}
html.shell20 .p20-home .rt-hero{padding-top:12px}
html.shell20 .p20-home .rt-bubble-wrap{display:none!important}
html.shell20 .p20-home :is(.rt-ask-slot,.rt-news-slot):empty{display:none}
html.shell20 .p20-home :is(.rt-itin,.rt-card,.rt-strip,.rt-entry){box-shadow:none!important;border:0!important}
html.shell20 .p20-home :is(.rt-ask-b,.rt-reason,.rt-card-kicker,.rt-itin-h){display:none!important}
html.shell20 .p20-home .rt-caption{flex-wrap:wrap}
html.shell20 .p20-home .rt-count{font-size:42px}
html.shell20 .p20-home [data-skill=speak]{background:#fde3de!important;color:#7a2a1c!important}
html.shell20 .p20-home [data-skill=listen]{background:#ddf3e6!important;color:#145c37!important}
html.shell20 .p20-home [data-skill=pronounce]{background:#fff1cc!important;color:#6b4b00!important}
html.shell20 .p20-home [data-skill=words]{background:#e8e1fd!important;color:#3b2a8c!important}
html.shell20 .p20-home [data-skill=play]{background:#ddebfe!important;color:#14427e!important}
html.shell20 .c20-header{display:flex;justify-content:center}
html.shell20 .c20-recipient .c20-head-avatar{display:inline-flex}
html.shell20 .c20-head-avatar img{width:32px;height:32px;object-fit:contain}
html.shell20 #raTabs .ra-tab{position:relative!important}
@media(prefers-color-scheme:dark){html.shell20 .p20-home [data-skill=speak]{background:#492c25!important;color:#ffb9aa!important}html.shell20 .p20-home [data-skill=listen]{background:#173a29!important;color:#94dfb4!important}html.shell20 .p20-home [data-skill=pronounce]{background:#423619!important;color:#f2d58b!important}html.shell20 .p20-home [data-skill=words]{background:#302443!important;color:#cbbbff!important}html.shell20 .p20-home [data-skill=play]{background:#20364b!important;color:#b6d5ff!important}}

html.shell20 .p20-home :is(.rt-why,.rt-badge-pill){display:none!important}
html.shell20 .p20-home .rt-itin .rt-row{border:0!important}

html.shell20 .p20-home :is(.rt-card-min,.rt-row-s,.rt-row-t,.rt-card-title){color:inherit!important}
html.shell20 .p20-home :is(.rt-why,.rt-badge-pill){display:none!important}
/* The menu scrolls above the fixed action; rows remain reachable without sitting behind the tabs. */
html.shell20 .p20-home{max-height:calc(100svh - 185px);overflow:auto;overscroll-behavior:contain;scrollbar-width:none;padding-bottom:24px;box-sizing:border-box}
html.shell20 .p20-home::-webkit-scrollbar{display:none}

html.shell20 .p20-home .rt-streak[hidden]{display:none!important}
