/* Scoped materials: opaque purple glass keeps the stack from bleeding through. */
.rc{--rc-text:#ededed;--rc-muted:#d5c5df;position:relative;width:min(100%,560px);margin:28px auto 62px;outline-offset:8px;isolation:isolate}
.rc-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.rc-count{font-variant-numeric:tabular-nums;font-size:13px;font-weight:650;letter-spacing:.12em}.rc-toggle{min-height:44px}.rc-bars{display:flex;gap:5px;margin:0 12px 18px}.rc-bars i{height:3px;flex:1;border-radius:3px;background:var(--line)}.rc-bars i.filled{background:var(--accent)}
.rc .rc-stack{list-style:none;position:relative;perspective:1100px;height:510px;margin:0 0 42px;padding:0;touch-action:pan-y}
.rc .rc-card{position:absolute;inset:0;margin:0!important;padding:0!important;border:0!important;background:none!important;list-style:none;transition:transform 220ms var(--ease-out),opacity 160ms var(--ease-out);transform-origin:center bottom;min-width:0}
.rc-card[data-position=active]{z-index:3;transform:translateX(var(--drag-x,0px)) rotate(var(--drag-r,0deg));opacity:1}
.rc-card[data-position=back-one]{z-index:2;transform:translateY(17px) scale(.95) rotate(2deg);opacity:.7;pointer-events:none}
.rc-card[data-position=back-two]{z-index:1;transform:translateY(32px) scale(.90) rotate(-2deg);opacity:.4;pointer-events:none}
.rc-card[data-position=hidden]{opacity:0;visibility:hidden;transform:translateX(-5%) scale(.97);pointer-events:none}
.rc-glass{height:100%;position:relative;overflow:hidden;border-radius:26px;border:1px solid #ededed4d;color:var(--rc-text);background:linear-gradient(145deg,#401559,#281234 52%,#150b1f);box-shadow:0 24px 55px -30px #61009a99,inset 0 1px 0 #ffffff52;transform-origin:center center}
.rc-glass::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;padding:8px;background:linear-gradient(132deg,#edededee 0%,#ededed44 9%,#ededed0a 25%,#61009a33 46%,#ededed17 65%,#edededbb 85%,#40155966 96%,#ededed99 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}
.rc-glass::after{content:"";position:absolute;inset:8px;z-index:0;border-radius:18px;border:1px solid #ededed29;pointer-events:none;background:radial-gradient(340px circle at var(--gx,22%) var(--gy,0%),#ededed20,transparent 62%),linear-gradient(132deg,#ededed0d,transparent 23%,transparent 72%,#61009a12);box-shadow:inset 1px 1px 2px #ededed45,inset -1px -1px 2px #ededed33,inset 5px 6px 14px #0006,inset -4px -5px 12px #61009a15}
.rc-number{position:absolute;left:26px;top:24px;font:100px/.9 Agharti,Magnetik,sans-serif;color:transparent;-webkit-text-stroke:1px #ededed70;pointer-events:none}
.rc .rc-face{position:relative;z-index:1;box-sizing:border-box;height:100%;padding:136px 28px 28px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#b689c4 transparent;min-width:0}
.rc .rc-title{display:block;font:650 27px/1.16 Magnetik,sans-serif;letter-spacing:-.025em;color:#ededed;margin:0 0 18px!important;padding:0!important;border:0!important}
.rc .rc-face p,.rc .rc-face dd{color:var(--rc-muted);font:400 17px/1.65 Magnetik,sans-serif;margin:0 0 16px;max-width:none}.rc .rc-face h3{scroll-margin-top:150px}.rc .rc-face dt{margin:0}.rc .copy-row{margin-top:20px;padding:10px 12px;gap:12px;align-items:center;border:1px solid #ededed29;border-radius:16px;background:linear-gradient(135deg,#ffffff08,#12081d66);box-shadow:inset 0 1px 0 #ffffff0d;min-width:0}.rc .copy-row code{flex:1;min-width:0;color:#ededed;overflow-wrap:anywhere;white-space:pre-wrap;font:400 14px/1.55 Magnetik,sans-serif}.rc .copy-row button{flex:0 0 auto;align-self:center;color:#ededed;background:linear-gradient(135deg,#ffffff18,#ffffff08);border:1px solid #ededed40;box-shadow:inset 0 1px 0 #ffffff26;min-height:44px;padding:8px 12px;border-radius:999px}.rc .copy-row button:active{transform:scale(.97)}
.rc-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}.rc-controls p{font:400 12px/1.5 Magnetik,sans-serif;color:var(--muted);margin:0;text-align:center}.rc-arrow{width:48px;height:48px;flex:0 0 48px;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--text);font:400 24px/1 Magnetik;cursor:pointer}.rc-arrow[aria-disabled=true]{opacity:.45}.rc-arrow:active{transform:scale(.97)}
.rc.rc-list{width:100%;margin-bottom:32px}.rc-list .rc-stack{height:auto;display:grid;gap:14px;perspective:none;margin:0}.rc-list .rc-card{position:relative;inset:auto;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}.rc-list .rc-glass{height:auto;min-height:150px;box-shadow:none}.rc-list .rc-face{height:auto;overflow:visible;padding:26px 26px 26px 88px}.rc-list .rc-number{font-size:44px;left:22px;top:28px}.rc-list .rc-controls,.rc-list .rc-bars{display:none}.rc-instant .rc-card,.rc-dragging .rc-card{transition:none}.rc-sound{white-space:nowrap;font-size:12px}
.rc-celebration{width:min(680px,calc(100% - 28px));max-height:calc(100dvh - 32px);padding:24px 32px;border:1px solid #b689c477;border-radius:30px;background:#100817;color:#ededed;overflow-y:auto}.rc-celebration::backdrop{background:#000b;backdrop-filter:blur(8px)}.rc-celebration>h2{font:600 30px/1.15 Magnetik;margin:0 0 12px}.rc-celebration>.quiet{color:#ededed;float:right}.rc-celebration .rc{clear:both}.rc-celebration .rc-arrow{color:#ededed;background:#281234}.rc-celebration .rc-toggle{color:#ededed}.reading-success #reopen-celebration{margin-top:16px}.completion-top{position:relative}.rc-shard{position:absolute;left:70%;top:50%;width:6px;height:6px;background:#b689c4;border-radius:2px;pointer-events:none;z-index:10}
.rc :focus-visible{outline:2px solid #cba4e4;outline-offset:4px}.rc-sound:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:600px){.rc{width:calc(100% - 14px);margin-top:20px}.rc .rc-stack{height:clamp(420px,67svh,540px)}.rc .rc-face{padding:112px 22px 24px}.rc-number{font-size:76px;left:22px}.rc .rc-title{font-size:24px}.rc .rc-face p{font-size:16px}.rc-celebration{padding:20px 12px}.rc-sound{font-size:0;width:36px;padding:6px}.rc-sound::before{content:'♪';font-size:20px}.rc-list .rc-stack{height:auto}.rc-list .rc-face{padding:24px 20px 24px 76px}}
@media(prefers-reduced-motion:reduce){.rc .rc-card,.rc .rc-glass{transition:none!important;transform:none!important}.rc-card:not([data-position=active]){visibility:hidden}.rc-list .rc-card{visibility:visible}.rc-shard{display:none}}
@media print{.rc{width:100%;margin:12pt 0}.rc-toolbar,.rc-controls,.rc-bars,.rc-number,.rc-sound,.rc-shard,.rc-celebration{display:none!important}.rc .rc-stack{height:auto!important;display:block!important;margin:0!important;perspective:none!important}.rc .rc-card{position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;break-inside:avoid;margin:12pt 0!important}.rc .rc-glass{color:#000!important;height:auto;overflow:visible;background:none!important;box-shadow:none;border:1px solid #ccc;border-radius:8px}.rc .rc-face{height:auto;overflow:visible;padding:14pt!important}.rc .rc-title,.rc .rc-face p{color:#000!important}.rc .rc-glass:after{display:none}.rc .copy-row{background:none}.rc .copy-row code{color:#000}.rc .copy-row button{display:none!important}}

.rc .rc-card{display:block}.rc .rc-card::before,.rc .rc-card::after{display:none!important}.rc .rc-stack{display:block}.rc.rc-list .rc-stack{display:grid}

.rc .rc-face{touch-action:pan-y}

.rc .rc-glass{padding:0;border:1px solid #ededed80;border-radius:26px;background-color:#170c22;background-image:radial-gradient(ellipse at 0% 0%,#40155988,transparent 48%),radial-gradient(ellipse at 100% 100%,#61009a38,transparent 50%),linear-gradient(142deg,#ededed09,transparent 36%,#00000030 70%);box-shadow:0 24px 48px -28px #000c,0 14px 40px -25px #61009a99,inset 1px 1px 0 #edededaa,inset -1px -1px 0 #ededed66,inset 3px 3px 5px #ededed26,inset -3px -3px 5px #61009a33}
.rc.rc-list .rc-glass{box-shadow:0 10px 24px -18px #0009,inset 1px 1px 0 #ededed80,inset -1px -1px 0 #ededed44}
.rc .rc-number{z-index:1;-webkit-text-stroke-color:#ededed88;text-shadow:1px 1px 14px #ededed08}
@supports not ((mask-composite:exclude) or (-webkit-mask-composite:xor)){.rc-glass::before{background:none;border:5px solid #ededed29;padding:0}}
@media print{.rc-glass::before{display:none!important}}
.rc-card[data-position=active]{transition:transform 220ms var(--ease-out)}
.rc-sound{display:inline-flex;align-items:center;justify-content:center;gap:7px}.rc-sound svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6}.rc-sound::before{content:none}
@media print{.rc .rc-glass{background:none!important;border-color:#ccc}}

.rc.rc-instant .rc-card,.rc.rc-dragging .rc-card{transition:none}

/* Liquid glass is a material across the face, with typography above its optics. */
.rc .rc-glass{background-color:rgba(19,8,30,.78);background-image:linear-gradient(145deg,#ededed0e,transparent 45%,#40155922);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);border-color:#ededed66;box-shadow:0 20px 44px -24px #000c,inset 1px 1px 1px #ededed99,inset -1px -1px 1px #ededed55,inset 0 -6px 16px #61009a26}
.rc-glass::before{padding:3px;background:linear-gradient(135deg,#edededbb,#ededed11 25%,#61009a33 48%,#ededed11 68%,#ededed99 92%,#40155966)}
.rc-glass::after{inset:3px;border-radius:22px;z-index:1;background:radial-gradient(ellipse at var(--gx,22%) var(--gy,0%),#ededed24,transparent 64%),linear-gradient(180deg,#10081775,#10081799 52%,#10081760);border-color:#ededed1c;box-shadow:inset 1px 1px 2px #ededed33,inset -1px -1px 3px #ededed33}
.rc-optics{position:absolute;inset:-18px;z-index:0;pointer-events:none;background:url('assets/volumes-macro-base.png') 50% var(--scene-y,35%)/145% auto no-repeat;filter:blur(10px) saturate(1.2);opacity:.9}
.rc-optics::before{content:"";position:absolute;inset:0;background:linear-gradient(154deg,transparent 17%,#ededed12 25%,#c5a4de77 35%,#61009a99 46%,#ededed4d 57%,transparent 68%);filter:blur(9px)}
.rc-optics::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 95% 80%,#61009a66,transparent 55%),radial-gradient(ellipse at 10% 10%,#ededed33,transparent 48%)}
.rc .rc-face{height:auto;max-height:100%;padding-top:110px;z-index:2}.rc .rc-number{font-size:80px;top:22px;z-index:2}
.rc:not(.rc-list) .rc-card:not([data-position=active]) .rc-face,.rc:not(.rc-list) .rc-card:not([data-position=active]) .rc-number{visibility:hidden}
.rc.rc-list .rc-face{padding-top:26px}.rc.rc-list .rc-number{font-size:44px;top:28px}.rc.rc-list .rc-optics{opacity:.55}
@media(max-width:600px){.rc .rc-face{padding-top:92px}.rc .rc-number{font-size:64px;top:20px}.rc.rc-list .rc-face{padding-top:24px}.rc.rc-list .rc-number{font-size:44px;top:26px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.rc .rc-glass{background-color:#180b26}}
@media(prefers-reduced-transparency:reduce){.rc .rc-glass{background:#180b26;backdrop-filter:none;-webkit-backdrop-filter:none}.rc-optics{display:none}}
@media print{.rc .rc-glass{backdrop-filter:none;-webkit-backdrop-filter:none}.rc .rc-optics{display:none!important}.rc .rc-card .rc-face{visibility:visible!important;max-height:none}}

/* The deck itself is the visual object: no second panel around it. */
.reading-section.rc-unboxed,.trello-topic.rc-unboxed{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0}
.rc-unboxed>h2::before{display:none}
.rc-celebration{background:transparent;border:0;border-radius:0;box-shadow:none;padding:24px 16px}

/* Lateral controls: 41px visuals (about 15% smaller), 44px touch targets. */
.rc-stage{position:relative;margin-bottom:44px}.rc .rc-stage>.rc-stack{margin-bottom:0}
.rc .rc-controls{position:absolute;left:0;right:0;top:50%;height:41px;transform:translateY(-50%);display:block;z-index:5;pointer-events:none}
.rc .rc-arrow{position:absolute;top:0;left:-56px;width:41px;height:41px;min-width:41px;min-height:41px;padding:0;display:grid;place-items:center;pointer-events:auto;border:1px solid #ededed4d;background:linear-gradient(130deg,#ffffff1a,#ffffff05);color:var(--text);box-shadow:inset 0 1px 0 #ffffff66,inset 0 -1px 0 #ffffff15}
.rc .rc-arrow:last-child{left:auto;right:-56px}.rc .rc-arrow::before{content:"";position:absolute;inset:-1.5px;border-radius:50%}.rc .rc-arrow svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rc .rc-hint{font:400 12px/1.5 Magnetik,sans-serif;color:var(--muted);text-align:center;margin:0}
.rc.rc-list .rc-stage{margin-bottom:0}.rc.rc-list .rc-controls,.rc.rc-list .rc-hint{display:none}
[data-theme=light] .rc .rc-arrow{background:linear-gradient(130deg,#ffffffb3,#ffffff55);border-color:#40155933}
.rc-celebration .rc .rc-arrow{color:#ededed;background:linear-gradient(130deg,#ffffff1a,#ffffff05);border-color:#ededed4d}
@media(hover:hover) and (pointer:fine){.rc .rc-arrow:hover{border-color:#ededed88;background-color:#ffffff14}}
@media(max-width:800px){.rc{width:min(560px,calc(100% - 44px))}.rc .rc-arrow{left:-32px}.rc .rc-arrow:last-child{right:-32px}}
@media print{.rc .rc-controls,.rc .rc-hint{display:none!important}.rc-stage{margin:0}}

/* v2.1: float on its own compositor layer, without fighting tilt or drag. */
.rc-float{height:100%;animation:rc-float 6s ease-in-out infinite;animation-play-state:paused}
@keyframes rc-float{0%,100%{transform:translateY(0) rotate(-.2deg)}50%{transform:translateY(-6px) rotate(.2deg)}}
.rc-visible:not(.rc-list):not(.rc-interacting) .rc-card[data-position=active] .rc-float{animation-play-state:running}
.rc:focus-within .rc-float,body:has(.rc-celebration[open]) #reader .rc-float{animation-play-state:paused!important}
.rc.rc-list .rc-float{height:auto;animation:none;transform:none}
.rc .rc-comment-original{display:none}.rc.rc-list .rc-comment-original{display:block}.rc.rc-list .rc-comment-summary{display:none}
.rc .rc-touch-hint{display:none;font:400 12px/1.5 Magnetik,sans-serif;color:var(--muted);text-align:center;margin:0}
.rc-celebration{position:fixed;overflow-x:hidden}
.rc-celebration::backdrop{background:#000e;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.rc-celebration>h2{font:900 clamp(42px,6vw,68px)/1 Agharti,Magnetik,sans-serif;letter-spacing:.01em;margin:0 70px 24px 0}
.rc-celebration>.quiet{position:absolute;top:24px;right:16px;float:none;min-height:44px;padding:7px 12px;border:1px solid #ededed40;border-radius:999px;background:#ffffff0c}
.rc-celebration>.rc-shard{left:50%;top:90px;box-shadow:0 0 8px #ededed99;background:#ededed;z-index:20}
@media(max-width:800px),(pointer:coarse){.rc{width:min(100%,560px)}.rc .rc-controls{display:flex;position:absolute;top:0;left:0;right:auto;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);transform:none;white-space:nowrap}.rc .rc-controls:focus-within{position:relative;top:auto;left:auto;right:auto;width:100%;height:44px;margin:32px 0 0;overflow:visible;clip-path:none;justify-content:space-between}.rc .rc-controls .rc-arrow{position:static}.rc .rc-hint{display:none}.rc .rc-touch-hint{display:block}.rc.rc-list .rc-touch-hint{display:none}}
@media(prefers-reduced-motion:reduce){.rc-float{animation:none!important;transform:none!important}}
@media print{.rc-float{height:auto;animation:none!important;transform:none!important}.rc .rc-comment-original{display:block!important}.rc .rc-comment-summary,.rc-touch-hint{display:none!important}}

/* Scroll only when required, within an inset face rather than on the glass rim. */
.rc:not(.rc-list) .rc-face{width:calc(100% - 16px);max-height:calc(100% - 16px);margin:8px;padding:102px 20px 20px;border-radius:18px;overflow:hidden;scrollbar-color:#bdb5c455 transparent}
.rc:not(.rc-list) .rc-face.rc-scrollable{overflow-y:auto}
.rc:not(.rc-list) .rc-card:not([data-position=active]) .rc-face{overflow:hidden}
@media(max-width:600px){.rc:not(.rc-list) .rc-face{padding:84px 14px 16px}}
@media print{.rc:not(.rc-list) .rc-face{width:auto!important;max-height:none!important;margin:0!important;padding:14pt!important;overflow:visible!important}}

/* The document scrolls; each card grows to fit its full text and keeps the number clear. */
.rc:not(.rc-list) .rc-face{max-height:none;overflow:visible}
.rc:not(.rc-list) .rc-face.rc-scrollable{overflow:visible}
