/* Library Magic: a shared visual language for confirmed streaks and reading saves. */
:is(.streak-library-card,.streak-library-dialog,.streak-library-celebration,.reading-library-saved){
 --streak-surface:#17162e;
 --streak-ink:#f6f3ff;
 --streak-muted:#c8bfdc;
 --streak-line:#9c84cf45;
 --streak-violet:#ab81f1;
 --streak-gold:#f3d395;
 font-family:var(--sans,'DM Sans',Arial,sans-serif);
 color-scheme:dark;
}

/* Artwork is a real, shared image; the number or check remains live UI text. */
.streak-library-art{position:relative;isolation:isolate;overflow:hidden;flex:none;width:100%;height:174px;background:#141329;}
.streak-library-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 60%;}
.streak-library-art::after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(180deg,transparent 62%,var(--streak-surface));}
.streak-art-medallion{position:absolute;z-index:1;top:16px;left:50%;display:grid;place-items:center;min-width:62px;height:62px;padding:0 12px;transform:translateX(-50%);border:1px solid #f6d594c9;border-radius:50%;background:radial-gradient(circle at 32% 20%,#9c64cb,#4a2c6b 65%,#211b3c);color:#ffe5af;font-size:31px;font-weight:750;line-height:1;box-shadow:0 0 0 5px #e6ba6a12,0 0 28px #bc80e34d,inset 0 0 18px #e2b3fc20;}

/* Rewards-page card. Specificity intentionally wins over the older light/dark card. */
html #dashRewards .vault-streak-card.streak-library-card{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(0,1.4fr) minmax(126px,.55fr);align-items:stretch;gap:0;width:100%;min-height:204px;margin:20px 0 0;padding:0;overflow:hidden;border:1px solid #a08ac766;border-radius:22px;background:linear-gradient(115deg,#18162b,#201b38 65%,#17162e);color:var(--streak-ink);box-shadow:0 10px 28px #17122d16;isolation:isolate;text-align:left;transition:border-color .18s,box-shadow .18s;}
html #dashRewards .vault-streak-card.streak-library-card:hover{border-color:#c3a3e8;box-shadow:0 12px 30px #21133f24;}
html #dashRewards .vault-streak-card.streak-library-card .streak-card-art{position:relative;display:block;min-width:0;overflow:hidden;}
html #dashRewards .vault-streak-card.streak-library-card .streak-card-art::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,transparent 55%,#1c192f);pointer-events:none;}
html #dashRewards .vault-streak-card.streak-library-card .streak-card-art img{display:block;width:100%;height:100%;min-height:204px;object-fit:cover;object-position:43% 58%;}
html #dashRewards .vault-streak-card.streak-library-card .streak-card-body{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:24px 20px 24px 12px;}
html #dashRewards .vault-streak-card.streak-library-card strong{display:block;color:var(--streak-ink);font-size:20px;font-weight:750;line-height:1.2;letter-spacing:-.025em;}
html #dashRewards .vault-streak-card.streak-library-card small{display:block;margin-top:7px;color:var(--streak-muted);font-size:11px;line-height:1.5;}
html #dashRewards .vault-streak-card.streak-library-card .streak-card-count{display:flex;align-items:baseline;gap:8px;margin-top:12px;color:#e0d1ff;font-size:14px;line-height:1.2;}
html #dashRewards .vault-streak-card.streak-library-card .streak-card-count b{color:#d6b8ff;font-size:40px;font-weight:750;letter-spacing:-.05em;line-height:1;}
html #dashRewards .vault-streak-card.streak-library-card .streak-card-progress{display:block;width:100%;height:8px;min-height:8px;margin:12px 0 0;overflow:hidden;border:1px solid #a78ac64d;border-radius:99px;background:#080b1b;accent-color:#b58aed;}
html #dashRewards .vault-streak-card.streak-library-card .streak-card-progress::-webkit-progress-bar{background:#080b1b;}
html #dashRewards .vault-streak-card.streak-library-card .streak-card-progress::-webkit-progress-value{border-radius:99px;background:linear-gradient(90deg,#9b67e5,#bd9bf7);}
html #dashRewards .vault-streak-card.streak-library-card .streak-card-progress::-moz-progress-bar{border-radius:99px;background:linear-gradient(90deg,#9b67e5,#bd9bf7);}
html #dashRewards .vault-streak-card.streak-library-card .streak-next-reward{display:block;margin:10px 0 0;padding:0;border:0;border-radius:0;background:transparent;color:#d5c2ed;font-size:11px;font-weight:500;line-height:1.5;}
html #dashRewards .vault-streak-card.streak-library-card .streak-card-reward{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;margin:24px 0;padding:0 20px;border-left:1px solid #a58bc242;text-align:center;}
html #dashRewards .vault-streak-card.streak-library-card .streak-card-reward .vault-coin{width:40px;height:40px;margin:0 0 7px;font-size:21px;box-shadow:inset 0 0 0 2px #e9ad35,0 0 18px #ecbb5528;}
html #dashRewards .vault-streak-card.streak-library-card .streak-card-reward small{margin:0 0 5px;color:#cfc3de;font-size:10px;}
html #dashRewards .vault-streak-card.streak-library-card .streak-card-reward strong{color:#f5d79a;font-size:19px;letter-spacing:-.02em;}
html #dashRewards .vault-streak-card.streak-library-card .streak-card-cta{display:flex;align-items:center;justify-content:center;min-height:40px;width:100%;margin-top:14px;padding:8px 12px;border:1px solid #bc93eb77;border-radius:999px;background:#8b5bd22e;color:#f4eaff;font-size:11px;font-weight:650;line-height:1.4;}

/* Scoped dark surfaces are intentional in either app appearance setting. */
html :is(#readingStreakDialog.streak-library-dialog,#readingStreakCelebration.streak-library-celebration){box-sizing:border-box;width:min(454px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 28px);padding:0;border:1px solid #aa8acf77;border-radius:24px;background:linear-gradient(145deg,#1d1a35,#14152a)!important;color:var(--streak-ink);box-shadow:0 25px 100px #09081485;}
html :is(#readingStreakDialog.streak-library-dialog,#readingStreakCelebration.streak-library-celebration)::backdrop{background:#090b1dc7;backdrop-filter:blur(7px);}
html #readingStreakDialog.streak-library-dialog[open]{display:flex;flex-direction:column;overflow:hidden;}
html #readingStreakDialog.streak-library-dialog>header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 13px 24px;border-bottom:1px solid #9b7db02b;background:#17162e;color:var(--streak-ink);}
html #readingStreakDialog.streak-library-dialog h2{margin:4px 0 0;color:var(--streak-ink);font:750 24px/1.2 var(--sans,'DM Sans',Arial,sans-serif);letter-spacing:-.035em;}
html #readingStreakDialog.streak-library-dialog .streak-eyebrow{display:block;color:#c8aedf;font-size:9px;font-weight:650;letter-spacing:.14em;line-height:1.5;}
html #readingStreakDialog.streak-library-dialog [data-streak-close],
html #readingStreakCelebration.streak-library-celebration .streak-celebration-close,
.reading-celebration.reading-library-saved [data-celebration-close],
.reading-celebration.reading-library-saved .reading-celebration-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid #b39cd642;border-radius:50%;background:#151329ad;color:#ece4fb;font-size:26px;line-height:1;cursor:pointer;}
html #readingStreakDialog.streak-library-dialog .streak-scroll{min-height:0;padding:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#846997 #17162e;}
html #readingStreakDialog.streak-library-dialog .streak-library-content{padding:3px 26px 23px;}
html #readingStreakDialog.streak-library-dialog .streak-totals{display:flex;align-items:center;justify-content:center;gap:32px;margin:0 0 18px;}
html #readingStreakDialog.streak-library-dialog .streak-totals>div{min-width:0;text-align:center;}
html #readingStreakDialog.streak-library-dialog .streak-totals strong{display:block;color:#d7b7ff;font-size:54px;font-weight:750;letter-spacing:-.05em;line-height:1;}
html #readingStreakDialog.streak-library-dialog .streak-totals>div+div{padding-left:30px;border-left:1px solid #a58bc242;}
html #readingStreakDialog.streak-library-dialog .streak-totals>div+div strong{color:#ddd3ed;font-size:30px;}
html #readingStreakDialog.streak-library-dialog .streak-totals span{display:block;margin-top:7px;color:var(--streak-muted);font-size:11px;line-height:1.4;}
html #readingStreakDialog.streak-library-dialog .streak-today{margin:14px 0 9px;color:#eee7fa;font-size:13px;font-weight:650;line-height:1.4;text-align:center;}
html #readingStreakDialog.streak-library-dialog progress{display:block;width:100%;height:8px;overflow:hidden;border:1px solid #b096ce3d;border-radius:99px;background:#090b1c;accent-color:#b08bed;}
html #readingStreakDialog.streak-library-dialog progress::-webkit-progress-bar{background:#090b1c;}
html #readingStreakDialog.streak-library-dialog progress::-webkit-progress-value{border-radius:99px;background:linear-gradient(90deg,#9762df,#bf99fb);}
html #readingStreakDialog.streak-library-dialog progress::-moz-progress-bar{border-radius:99px;background:linear-gradient(90deg,#9762df,#bf99fb);}
html #readingStreakDialog.streak-library-dialog .streak-help{margin:10px 0;color:#bdb2d0;font-size:11px;line-height:1.65;text-align:center;}
html #readingStreakDialog.streak-library-dialog .streak-timer-note{max-width:320px;margin:9px auto 15px;color:#c6bbd7;font-size:11px;line-height:1.55;text-align:center;}
html #readingStreakDialog.streak-library-dialog .streak-next-reward{margin:15px 0;padding:13px 14px;border:1px solid #c9a3694d;border-radius:14px;background:linear-gradient(115deg,#b8843014,#a373d510);color:#f0d6a4;font-size:13px;line-height:1.5;text-align:center;}
html #readingStreakDialog.streak-library-dialog .streak-next-reward strong{color:#ffe4ac;}
html #readingStreakDialog.streak-library-dialog .streak-detail-week{gap:7px;margin:18px 0;}
html #readingStreakDialog.streak-library-dialog .streak-detail-week small{color:#c6bad6;font-size:9px;}
html #readingStreakDialog.streak-library-dialog .streak-detail-week span{width:33px;height:33px;border:1px solid #aa8cd256;background:#0e1220;color:#9b8dad;font-size:15px;}
html #readingStreakDialog.streak-library-dialog .streak-detail-week .is-read span{border-color:#d6b2f9a6;background:linear-gradient(140deg,#a36bde,#8157cf);color:#fff;box-shadow:0 3px 12px #8c51cb20;}
html #readingStreakDialog.streak-library-dialog .streak-library-next{display:flex;align-items:center;justify-content:center;gap:13px;margin:17px 0;padding:14px;border:1px solid #c9a3694d;border-radius:14px;background:linear-gradient(115deg,#b8843014,#a373d510);text-align:left;}
html #readingStreakDialog.streak-library-dialog .streak-library-next>span{flex:none;}
html #readingStreakDialog.streak-library-dialog .streak-library-next>div{min-width:0;}
html #readingStreakDialog.streak-library-dialog .streak-library-next .vault-coin{width:36px;height:36px;font-size:20px;}
html #readingStreakDialog.streak-library-dialog .streak-library-next small{display:block;margin-bottom:4px;color:#d3bfdc;font-size:10px;line-height:1.4;}
html #readingStreakDialog.streak-library-dialog .streak-library-next strong{display:block;color:#f6dca7;font-size:16px;font-weight:700;line-height:1.35;}
html #readingStreakDialog.streak-library-dialog .streak-library-next>div>span{display:block;margin-top:4px;color:#c6b6d2;font-size:10px;line-height:1.4;}
.streak-library-primary,
html #readingStreakCelebration.streak-library-celebration .streak-celebration-done,
.reading-celebration.reading-library-saved .reading-save-streak-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:11px 18px;border:1px solid #c6a4f562;border-radius:999px;background:linear-gradient(115deg,#8e4bd8,#7445c9);box-shadow:inset 0 1px 0 #e8cfff1c,0 5px 18px #632dac20;color:#fff;font:650 13px/1.4 var(--sans,'DM Sans',Arial,sans-serif);cursor:pointer;transition:filter .18s,box-shadow .18s;}
.streak-library-primary:hover,
html #readingStreakCelebration.streak-library-celebration .streak-celebration-done:hover,
.reading-celebration.reading-library-saved .reading-save-streak-link:hover{filter:brightness(1.06);box-shadow:0 5px 20px #7a4bd333;}
.streak-library-secondary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #b491d855;border-radius:999px;background:#a27dc015;color:#e6d7fa;font:600 12px/1.5 var(--sans,'DM Sans',Arial,sans-serif);cursor:pointer;}

/* A clean, selectable history. Reading details live below the calendar, not in each date. */
html #readingStreakDialog.streak-library-dialog .streak-calendar-details{margin:18px 0 0;padding:0 12px 12px;border:1px solid #a78bb83b;border-radius:14px;background:#0e122129;}
html #readingStreakDialog.streak-library-dialog .streak-calendar-details:not([open]){padding-bottom:0;}
html #readingStreakDialog.streak-library-dialog .streak-calendar-details>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;margin:0 -12px;padding:12px 14px;border-radius:14px;color:#e6daf8;font-size:12px;font-weight:650;line-height:1.5;list-style:none;cursor:pointer;}
html #readingStreakDialog.streak-library-dialog :is(.streak-calendar-details,.streak-reward-guide,.streak-rules)>summary::-webkit-details-marker{display:none;}
html #readingStreakDialog.streak-library-dialog :is(.streak-calendar-details,.streak-reward-guide,.streak-rules)>summary::after{content:"";display:block;flex:0 0 7px;width:7px;height:7px;margin-right:3px;border-right:1.5px solid #ceb1ec;border-bottom:1.5px solid #ceb1ec;transform:rotate(45deg);transition:transform .16s;}
html #readingStreakDialog.streak-library-dialog :is(.streak-calendar-details,.streak-reward-guide,.streak-rules)[open]>summary::after{transform:rotate(225deg);}
html #readingStreakDialog.streak-library-dialog .streak-history-summary-label{display:flex;align-items:center;gap:9px;min-width:0;}
html #readingStreakDialog.streak-library-dialog .streak-history-summary-label svg{display:block;flex:0 0 18px;width:18px;height:18px;fill:none;stroke:#d0b2ee;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
html #readingStreakDialog.streak-library-dialog .streak-month-nav{gap:8px;margin:8px 0;}
html #readingStreakDialog.streak-library-dialog .streak-month-nav h3{margin:0;color:#f1eafa;font-size:14px;font-weight:650;}
html #readingStreakDialog.streak-library-dialog .streak-month-nav button{width:44px;height:44px;border:1px solid #b08bcd4d;border-radius:12px;background:#ad8bd212;color:#e7d7fb;font-size:24px;}
html #readingStreakDialog.streak-library-dialog .streak-month-nav button:disabled{opacity:.35;}
html #readingStreakDialog.streak-library-dialog .streak-weekdays{margin:10px 0 7px;gap:5px;color:#c6b8dc;font-size:9px;}
html #readingStreakDialog.streak-library-dialog .streak-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;}
html #readingStreakDialog.streak-library-dialog .streak-calendar button.streak-day{position:relative;display:grid;place-items:center;width:100%;min-width:0;min-height:48px;margin:0;padding:6px 1px 14px;border:1px solid #b092cd26;border-radius:9px;background:#ffffff05;color:#e2d9ef;font:inherit;line-height:1;cursor:pointer;transition:border-color .16s,filter .16s;}
html #readingStreakDialog.streak-library-dialog .streak-calendar button.streak-day b{display:block;margin:0;color:inherit;font-size:14px;font-weight:650;line-height:1.2;}
html #readingStreakDialog.streak-library-dialog .streak-calendar button.streak-day.is-complete{border-color:#cda5f273;background:linear-gradient(140deg,#8154bd,#5c438c);color:#fff;}
html #readingStreakDialog.streak-library-dialog .streak-calendar button.streak-day.is-today{outline:1px solid #d6b4ff;outline-offset:1px;}
html #readingStreakDialog.streak-library-dialog .streak-calendar button.streak-day.is-selected,
html #readingStreakDialog.streak-library-dialog .streak-calendar button.streak-day[aria-pressed="true"]{border-color:#f5ebff;box-shadow:inset 0 0 0 1px #f5ebff;}
html #readingStreakDialog.streak-library-dialog .streak-calendar button.streak-day.is-selected:not(.is-complete),
html #readingStreakDialog.streak-library-dialog .streak-calendar button.streak-day[aria-pressed="true"]:not(.is-complete){background:#a17bce29;}
html #readingStreakDialog.streak-library-dialog .streak-calendar button.streak-day:not(:disabled):hover{border-color:#ceb0e9;filter:brightness(1.1);}
html #readingStreakDialog.streak-library-dialog .streak-calendar button.streak-day:focus-visible{outline:2px solid #f9dfac!important;outline-offset:1px;}
html #readingStreakDialog.streak-library-dialog .streak-calendar button.streak-day:is(.is-future,:disabled){border-color:#a78db011;background:transparent;color:#8d829e;box-shadow:none;opacity:1;cursor:default;}
html #readingStreakDialog.streak-library-dialog .streak-day-check{position:absolute;bottom:4px;left:4px;display:grid;place-items:center;width:12px;height:12px;color:#fff;font-size:11px;font-weight:700;line-height:1;pointer-events:none;}
html #readingStreakDialog.streak-library-dialog .streak-day-reward{position:absolute;right:3px;bottom:3px;display:grid;place-items:center;width:13px;height:13px;color:#f6d388;line-height:1;pointer-events:none;}
html #readingStreakDialog.streak-library-dialog .streak-day-reward svg{display:block;width:12px;height:12px;filter:drop-shadow(0 1px 2px #291d3e66);}
html #readingStreakDialog.streak-library-dialog :is(.streak-day-reward,.streak-legend-reward,.streak-day-detail-reward) .vault-coin{position:static;display:inline-grid;place-items:center;flex:none;width:12px;height:12px;min-width:0;min-height:0;max-width:none;max-height:none;margin:0;padding:0;border:1px solid #f6d68a;border-radius:50%;outline:0;background:linear-gradient(135deg,#ffe8a0,#dbab52);color:#98601e;box-shadow:none;font-size:7px;font-weight:700;line-height:1;transform:none;filter:none;}
html #readingStreakDialog.streak-library-dialog :is(.streak-day-reward,.streak-legend-reward,.streak-day-detail-reward) .vault-coin::before,
html #readingStreakDialog.streak-library-dialog :is(.streak-day-reward,.streak-legend-reward,.streak-day-detail-reward) .vault-coin::after{display:none;content:none;}
html #readingStreakDialog.streak-library-dialog .streak-calendar-legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 12px;margin:14px 0 0;color:#cbbddd;font-size:10px;line-height:1.5;}
html #readingStreakDialog.streak-library-dialog .streak-calendar-legend>span{display:inline-flex;align-items:center;gap:5px;}
html #readingStreakDialog.streak-library-dialog .streak-calendar-legend i{position:relative;display:inline-grid;place-items:center;flex:0 0 11px;width:11px;height:11px;font-style:normal;line-height:1;}
html #readingStreakDialog.streak-library-dialog .streak-legend-goal{border:1px solid #cda5f273;border-radius:3px;background:#8154bd;color:#fff;font-size:8px;font-weight:700;}
html #readingStreakDialog.streak-library-dialog .streak-legend-reward{border:0;border-radius:0;background:transparent;box-shadow:none;}
html #readingStreakDialog.streak-library-dialog .streak-legend-reward .vault-coin{width:11px;height:11px;font-size:6px;}
html #readingStreakDialog.streak-library-dialog .streak-legend-reward svg{display:block;width:11px;height:11px;}
html #readingStreakDialog.streak-library-dialog .streak-legend-today{border:1px solid #d6b4ff;border-radius:3px;background:transparent;}
html #readingStreakDialog.streak-library-dialog .streak-calendar-hint{margin:9px 0 0;color:#bdb0cf;font-size:11px;line-height:1.55;text-align:center;}
html #readingStreakDialog.streak-library-dialog .streak-day-details{margin:13px 0 0;padding:13px 14px;border:1px solid #b295cc45;border-left:2px solid #b68be4;border-radius:11px;background:#a075cc10;text-align:left;}
html #readingStreakDialog.streak-library-dialog .streak-day-details:empty{display:none;}
html #readingStreakDialog.streak-library-dialog .streak-day-detail-date{display:block;color:#f0e7fb;font-size:13px;font-weight:650;line-height:1.45;}
html #readingStreakDialog.streak-library-dialog .streak-day-detail-status{display:block;margin-top:5px;color:#d0c3de;font-size:12px;line-height:1.6;}
html #readingStreakDialog.streak-library-dialog .streak-day-detail-reward{display:flex;align-items:center;gap:6px;margin-top:7px;color:#f1d398;font-size:12px;font-weight:650;line-height:1.5;}
html #readingStreakDialog.streak-library-dialog .streak-day-detail-reward svg{flex:none;width:15px;height:15px;}
html #readingStreakDialog.streak-library-dialog .streak-day-detail-reward .vault-coin{width:15px;height:15px;font-size:8px;}
html #readingStreakDialog.streak-library-dialog .streak-calendar-message{margin:10px 0;color:#c6bbd7;font-size:11px;line-height:1.5;}
html #readingStreakDialog.streak-library-dialog h3{margin:18px 0 10px;color:#f1eafa;font-size:14px;font-weight:650;}
html #readingStreakDialog.streak-library-dialog :is(.streak-reward-guide,.streak-rules){margin:12px 0 0;border:1px solid #a78bb830;border-radius:12px;background:#ffffff03;}
html #readingStreakDialog.streak-library-dialog :is(.streak-reward-guide,.streak-rules)>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:12px 14px;border-radius:12px;color:#dfd0ef;font-size:12px;font-weight:600;line-height:1.5;list-style:none;cursor:pointer;}
html #readingStreakDialog.streak-library-dialog .streak-reward-guide-body{padding:0 14px 12px;}
html #readingStreakDialog.streak-library-dialog .streak-reward-schedule{margin:0;}
html #readingStreakDialog.streak-library-dialog .streak-reward-schedule>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid #b593ca21;}
html #readingStreakDialog.streak-library-dialog .streak-reward-schedule>div:last-child{border-bottom:0;}
html #readingStreakDialog.streak-library-dialog .streak-reward-schedule dt{margin:0;color:#d1c4df;font-size:12px;line-height:1.55;}
html #readingStreakDialog.streak-library-dialog .streak-reward-schedule dt small{display:block;margin-top:3px;color:#bfb0d1;font-size:11px;font-weight:400;line-height:1.5;}
html #readingStreakDialog.streak-library-dialog .streak-reward-schedule dd{margin:0;color:#f1d399;font-size:12px;font-weight:650;line-height:1.55;text-align:right;white-space:nowrap;}
html #readingStreakDialog.streak-library-dialog .streak-reward-guide-body .streak-help{margin:9px 0 0;font-size:11px;text-align:left;}
html #readingStreakDialog.streak-library-dialog .streak-rules-list{margin:0;padding:0 16px 12px 30px;list-style:disc;}
html #readingStreakDialog.streak-library-dialog .streak-rules-list li{margin:0 0 8px;padding-left:2px;color:#cabed8;font-size:12px;line-height:1.6;}
html #readingStreakDialog.streak-library-dialog .streak-rules-list li:last-child{margin-bottom:0;}
html #readingStreakDialog.streak-library-dialog .streak-rules-list li::marker{color:#bc96df;}

/* Daily success and earned milestones share the book image and live seven-day row. */
html #readingStreakCelebration.streak-library-celebration{position:relative;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;text-align:center;scrollbar-width:thin;scrollbar-color:#846997 #17162e;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-close{top:10px;right:10px;z-index:5;}
html #readingStreakCelebration.streak-library-celebration .streak-library-art{height:192px;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-content{position:relative;padding:0 28px 26px;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-kicker{display:block;margin:0 0 8px;color:#d1b5e9;font-size:9px;font-weight:650;letter-spacing:.13em;line-height:1.5;}
html #readingStreakCelebration.streak-library-celebration h2{margin:6px 0 15px;color:#f6f2ff;font:750 29px/1.15 var(--sans,'DM Sans',Arial,sans-serif);letter-spacing:-.035em;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-number{color:#d5b5fa;font-size:55px;font-weight:750;line-height:1;letter-spacing:-.035em;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-number>span{margin-top:8px;color:#cbbfda;font-size:12px;font-weight:500;line-height:1.4;letter-spacing:0;}
html #readingStreakCelebration.streak-library-celebration.is-milestone .streak-celebration-number{display:none;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-content>p{max-width:310px;margin:15px auto;color:#cbbfda;font-size:12px;line-height:1.6;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-week{gap:7px;margin:20px 0;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-week small{color:#c6bad6;font-size:9px;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-week span{width:34px;height:34px;border:1px solid #aa8cd256;background:#0e1220;color:#9b8dad;font-size:16px;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-week .is-read span{border-color:#d6b2f9a6;background:linear-gradient(140deg,#a36bde,#8157cf);color:#fff;box-shadow:0 3px 12px #8c51cb20;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-reward{padding:14px;border:1px solid #ac88c23d;border-radius:15px;background:#9c76c410;color:#e1d1ef;font-size:12px;line-height:1.5;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-reward strong{color:#f6d59c;}
html #readingStreakCelebration.streak-library-celebration.is-milestone .streak-celebration-reward{border-color:#e0ba7273;background:linear-gradient(120deg,#cb9d3d16,#a575cb13);}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-coins{display:block;margin:0 0 7px;color:#f9d996;font-size:33px;font-weight:750;letter-spacing:-.035em;line-height:1.2;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-reward>span{display:block;color:#d4c7df;font-size:11px;line-height:1.5;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-coin{margin:0 0 8px;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-coin .vault-coin{width:34px;height:34px;font-size:19px;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-next{margin:15px 0 0;color:#bfb3d2;font-size:11px;line-height:1.5;}
html #readingStreakCelebration.streak-library-celebration .streak-celebration-done{margin-top:18px;}
html #readingStreakCelebration.streak-library-celebration .streak-confetti{inset:0 0 auto;height:200px;z-index:3;}
html #readingStreakCelebration.streak-library-celebration .streak-confetti i{width:5px;height:10px;border-radius:80% 0 80% 0;}

/* A save remains a dismissible, nonblocking notice. Streak credit is separate text. */
.reading-celebration.reading-library-saved{position:fixed;inset:auto 18px max(18px,env(safe-area-inset-bottom)) auto;display:block;box-sizing:border-box;width:min(348px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:min(520px,calc(100dvh - 28px));margin:0;padding:0;overflow-x:hidden;overflow-y:auto;border:1px solid #b89bcc82;border-radius:22px;background:linear-gradient(145deg,#1d1a35,#14152a);color:var(--streak-ink);box-shadow:0 16px 55px #0a091d66;scrollbar-width:thin;scrollbar-color:#846997 #17162e;}
.reading-celebration.reading-library-saved .streak-library-art{height:115px;}
.reading-celebration.reading-library-saved .streak-art-medallion{top:12px;min-width:42px;height:42px;font-size:23px;}
.reading-celebration.reading-library-saved .reading-celebration-copy{padding:0 22px 20px;text-align:center;}
.reading-celebration.reading-library-saved .reading-save-kicker{display:block;margin:0 0 6px;color:#d5b7ee;font-size:9px;font-weight:650;letter-spacing:.14em;line-height:1.5;}
.reading-celebration.reading-library-saved h2{margin:3px 0 12px;color:#f7f2ff;font:750 25px/1.2 var(--sans,'DM Sans',Arial,sans-serif);letter-spacing:-.035em;}
.reading-celebration.reading-library-saved .reading-save-duration{display:block;margin:0 0 4px;color:#d9baff;font-size:34px;font-weight:750;letter-spacing:-.04em;line-height:1.2;}
.reading-celebration.reading-library-saved p{margin:5px 0;color:#e3d8f1;font-size:12px;line-height:1.5;}
.reading-celebration.reading-library-saved small{display:block;color:#c3b8d2;font-size:11px;line-height:1.5;}
.reading-celebration.reading-library-saved [data-save-sync]{margin-top:7px;}
.reading-celebration.reading-library-saved .reading-save-streak{margin:13px 0 0;padding:10px 12px;border:1px solid #aa84cb47;border-radius:12px;background:#a877d710;color:#e3d4f7;font-size:12px;line-height:1.5;}
.reading-celebration.reading-library-saved .reading-save-streak:empty{display:none;}
.reading-celebration.reading-library-saved .reading-save-streak strong{display:block;color:#dec3ff;font-size:14px;font-weight:650;line-height:1.5;}
.reading-celebration.reading-library-saved .reading-save-streak-link{margin-top:14px;min-height:44px;font-size:12px;}
.reading-celebration.reading-library-saved .reading-save-streak-link.streak-library-secondary{border-color:#b491d855;background:#a27dc015;box-shadow:none;color:#e6d7fa;}
.reading-celebration.reading-library-saved .reading-save-streak-link[hidden]{display:none;}
.reading-celebration.reading-library-saved .reading-celebration-close,
.reading-celebration.reading-library-saved [data-celebration-close]{position:absolute;top:8px;right:8px;z-index:4;}

/* The companion's compact entry point carries the same book and violet progress. */
html #companionMenu .companion-streak-summary.companion-streak-card.streak-library-mini{gap:10px;min-width:0;padding:12px;border:1px solid #b28cbd79;border-radius:15px;background:linear-gradient(120deg,#231c37,#17192f);color:#f1e9fc;}
html #companionMenu .streak-library-mini .companion-streak-top{gap:8px;min-width:0;}
html #companionMenu .streak-library-mini .companion-quick-icon{display:block;flex:0 0 48px;width:48px;height:48px;overflow:hidden;border:1px solid #c7a37442;border-radius:10px;background:#17162e;}
html #companionMenu .streak-library-mini .companion-quick-icon img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 65%;}
html #companionMenu .streak-library-mini .companion-summary-copy{min-width:0;}
html #companionMenu .streak-library-mini .companion-summary-copy strong{color:#f1e9fc;font-size:11px;line-height:1.35;}
html #companionMenu .streak-library-mini .companion-summary-copy small{color:#c8bbd8;font-size:9px;line-height:1.4;}
html #companionMenu .streak-library-mini .companion-streak-top>b{flex:none;color:#dab8ff;font-size:24px;line-height:1;}
html #companionMenu .streak-library-mini .companion-streak-top>b small{color:#cbb6dd;font-size:9px;font-weight:500;}
html #companionMenu .streak-library-mini .companion-streak-meter{height:6px;border:1px solid #b596ce2e;border-radius:99px;background:#090d20;}
html #companionMenu .streak-library-mini .companion-streak-meter>span{height:100%;background:linear-gradient(90deg,#9564d7,#c296f8);}
html #companionMenu .streak-library-mini:focus-visible{outline:3px solid #d6b4ff!important;outline-offset:3px;}

/* Clear keyboard focus on every action, including the native disclosure. */
html #dashRewards .vault-streak-card.streak-library-card:focus-visible,
html :is(#readingStreakDialog.streak-library-dialog,#readingStreakCelebration.streak-library-celebration) :is(button,summary):focus-visible,
.reading-celebration.reading-library-saved button:focus-visible{outline:3px solid #d6b4ff!important;outline-offset:3px;}
html #readingStreakDialog.streak-library-dialog summary:focus-visible{outline-offset:-3px;}

@media(max-width:920px){
 html #dashRewards .vault-streak-card.streak-library-card{grid-template-columns:minmax(0,1fr) minmax(112px,.5fr);min-height:0;}
 html #dashRewards .vault-streak-card.streak-library-card .streak-card-art{grid-column:1/-1;height:124px;}
 html #dashRewards .vault-streak-card.streak-library-card .streak-card-art img{height:100%;min-height:0;object-position:center 59%;}
 html #dashRewards .vault-streak-card.streak-library-card .streak-card-art::after{background:linear-gradient(180deg,transparent 62%,#1c192f);}
 html #dashRewards .vault-streak-card.streak-library-card .streak-card-body{padding:8px 18px 22px;}
 html #dashRewards .vault-streak-card.streak-library-card .streak-card-reward{margin:7px 0 22px;padding:0 15px;}
 html #dashRewards .vault-streak-card.streak-library-card strong{font-size:18px;}
 html #dashRewards .vault-streak-card.streak-library-card .streak-card-count b{font-size:35px;}
 html #dashRewards .vault-streak-card.streak-library-card .streak-card-reward strong{font-size:17px;}
 html #dashRewards .vault-streak-card.streak-library-card .streak-card-reward .vault-coin{width:33px;height:33px;font-size:19px;}
}
@media(max-width:420px){
 html #dashRewards .vault-streak-card.streak-library-card{grid-template-columns:minmax(0,1fr) 100px;border-radius:19px;}
 html #dashRewards .vault-streak-card.streak-library-card .streak-card-art{height:112px;}
 html #dashRewards .vault-streak-card.streak-library-card .streak-card-body{padding:6px 12px 18px;}
 html #dashRewards .vault-streak-card.streak-library-card strong{font-size:16px;}
 html #dashRewards .vault-streak-card.streak-library-card small{font-size:10px;}
 html #dashRewards .vault-streak-card.streak-library-card .streak-next-reward{font-size:10px;}
 html #dashRewards .vault-streak-card.streak-library-card .streak-card-reward{margin:6px 0 18px;padding:0 9px;}
 html #dashRewards .vault-streak-card.streak-library-card .streak-card-reward strong{font-size:15px;}
 html #dashRewards .vault-streak-card.streak-library-card .streak-card-cta{min-height:40px;padding:8px 5px;font-size:10px;}
 html #readingStreakDialog.streak-library-dialog>header{padding:12px 12px 12px 18px;}
 html #readingStreakDialog.streak-library-dialog h2{font-size:21px;}
 html #readingStreakDialog.streak-library-dialog .streak-library-art{height:145px;}
 html #readingStreakDialog.streak-library-dialog .streak-library-content{padding:2px 18px 18px;}
 html #readingStreakDialog.streak-library-dialog .streak-totals{gap:23px;}
 html #readingStreakDialog.streak-library-dialog .streak-totals>div+div{padding-left:23px;}
 html #readingStreakDialog.streak-library-dialog .streak-totals strong{font-size:47px;}
 html #readingStreakDialog.streak-library-dialog .streak-totals>div+div strong{font-size:27px;}
 html #readingStreakDialog.streak-library-dialog .streak-calendar{gap:4px;}
 html #readingStreakDialog.streak-library-dialog .streak-calendar-details{padding-right:10px;padding-left:10px;}
 html #readingStreakDialog.streak-library-dialog .streak-calendar-details>summary{margin-right:-10px;margin-left:-10px;padding-right:12px;padding-left:12px;font-size:11px;}
 html #readingStreakDialog.streak-library-dialog .streak-calendar button.streak-day{min-height:46px;border-radius:8px;}
 html #readingStreakDialog.streak-library-dialog .streak-calendar-legend{gap:6px 9px;}
 html #readingStreakDialog.streak-library-dialog .streak-day-details{padding:11px 12px;}
 html #readingStreakCelebration.streak-library-celebration .streak-library-art{height:166px;}
 html #readingStreakCelebration.streak-library-celebration .streak-celebration-content{padding:0 20px 22px;}
 html #readingStreakCelebration.streak-library-celebration h2{font-size:26px;}
 html #readingStreakCelebration.streak-library-celebration .streak-celebration-week{gap:4px;}
 html #readingStreakCelebration.streak-library-celebration .streak-celebration-week span{width:30px;height:30px;}
 .reading-celebration.reading-library-saved{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:min(332px,calc(100vw - 24px));}
 .reading-celebration.reading-library-saved .streak-library-art{height:100px;}
 .reading-celebration.reading-library-saved .reading-celebration-copy{padding:0 18px 18px;}
}
@media(max-height:650px){
 html #readingStreakDialog.streak-library-dialog .streak-library-art{height:118px;}
 html #readingStreakCelebration.streak-library-celebration .streak-library-art{height:135px;}
 html #readingStreakCelebration.streak-library-celebration .streak-celebration-content{padding-bottom:20px;}
 html #readingStreakCelebration.streak-library-celebration .streak-celebration-week{margin:15px 0;}
 .reading-celebration.reading-library-saved{max-height:calc(100dvh - 24px);}
 .reading-celebration.reading-library-saved .streak-library-art{height:80px;}
 .reading-celebration.reading-library-saved .reading-save-kicker{display:none;}
 .reading-celebration.reading-library-saved h2{font-size:22px;margin-bottom:8px;}
 .reading-celebration.reading-library-saved .reading-save-duration{font-size:28px;}
}
@media(prefers-reduced-motion:reduce){
 html #dashRewards .vault-streak-card.streak-library-card,
 html #readingStreakCelebration.streak-library-celebration,
 .reading-celebration.reading-library-saved,
 .streak-library-primary,
 .reading-celebration.reading-library-saved .reading-save-streak-link{animation:none;transition:none;}
 html #readingStreakCelebration.streak-library-celebration .streak-confetti{display:none;}
 html #readingStreakDialog.streak-library-dialog .streak-calendar button.streak-day,
 html #readingStreakDialog.streak-library-dialog :is(.streak-calendar-details,.streak-reward-guide,.streak-rules)>summary::after{transition:none;}
}
