.market-pair{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.market-pair .inline-market{padding:20px}.market-pair .market-heading{flex-wrap:wrap;align-items:flex-start}.market-pair .market-heading strong{font-size:26px}.market-pair .history-svg{height:230px}.market-pair .replay-market{padding:6px 10px}.capsule-trigger{perspective:700px}.date-capsule{position:relative;width:min(132px,100%);height:246px;margin:0 auto 18px;isolation:isolate;filter:drop-shadow(0 10px 13px #557e9012);transition:filter .2s,transform .2s}.capsule-lid,.capsule-base{position:absolute;left:0;right:0;display:flex;align-items:center;flex-direction:column;border:1px solid #a9c9d7}.capsule-lid{z-index:2;top:0;height:54%;border-radius:90px 90px 12px 12px;background:linear-gradient(110deg,#e3f0f6,#f6fcfe 45%,#cde4ee);padding-top:23px;transform-origin:10% 90%;box-shadow:inset 5px 0 8px #ffffff90,inset -4px 0 8px #92becb20}.capsule-base{bottom:0;height:49%;border-radius:10px 10px 90px 90px;background:linear-gradient(105deg,#eff8fb,#ffffff 45%,#e1eef4);padding-top:37px}.capsule-lid:after{content:'';position:absolute;left:8px;right:8px;bottom:5px;height:3px;border-radius:3px;background:#a9c9d755}.capsule-year{font-size:12px;letter-spacing:2px;color:#678591}.capsule-month{font-size:14px;color:#456575;margin-top:7px}.capsule-date{font:42px Georgia,serif;color:#294c60;margin-top:2px}.capsule-tag{font-size:14px;color:#3c6679}.capsule-count{font-size:12px;color:#768c96;margin-top:10px}.today .capsule-lid{border-color:#6ca8c2;background:linear-gradient(110deg,#c5e3f0,#edfaff 45%,#b4d9ea)}.today .capsule-tag{color:#257291}.capsule-trigger:hover .date-capsule{transform:translateY(-4px);filter:drop-shadow(0 14px 15px #557e9022)}.unwrapping .capsule-lid{animation:lift-capsule-lid .85s ease forwards}.unwrapping .capsule-base{animation:capsule-base-light .9s ease forwards}.capsule-confetti{position:fixed;inset:0;z-index:999;pointer-events:none;overflow:hidden}.capsule-confetti i{position:absolute;width:6px;height:15px;border-radius:2px}.axis-wrap{padding-top:45px}.branch{margin-top:0}.axis:before{top:60px}@keyframes lift-capsule-lid{0%{transform:translateY(0) rotate(0);opacity:1}35%{transform:translate(-9px,-30px) rotate(-16deg);opacity:1}100%{transform:translate(-22px,-100px) rotate(-30deg);opacity:0}}@keyframes capsule-base-light{40%{box-shadow:0 0 32px #a8dffb99}100%{box-shadow:0 0 0 transparent}}@media(max-width:1000px){.market-pair{grid-template-columns:1fr}.market-pair .market-heading{flex-wrap:nowrap}.market-pair .history-svg{height:260px}}@media(prefers-reduced-motion:reduce){.date-capsule{transition:none}.unwrapping .capsule-lid,.unwrapping .capsule-base{animation:none}}
/* A ribbon winds around the seam without covering the date. */
.capsule-ribbon{position:absolute;z-index:3;left:-2%;top:53%;width:104%;height:17px;transform:rotate(-13deg);border-radius:50% / 25%;background:linear-gradient(to bottom,#d96f78 0%,#e58289 33.33%,#edc763 33.33%,#f3d57e 66.66%,#699fc8 66.66%,#8cb6d7 100%);box-shadow:inset 8px 0 9px #46617222,inset -8px 0 9px #46617222,0 3px 4px #46617219;pointer-events:none}
.capsule-ribbon:after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent)}
.future-day[data-fade="1"] .date-capsule{opacity:.65}
.future-day[data-fade="2"] .date-capsule{opacity:.38}
.future-day[data-fade="3"] .date-capsule{opacity:.16}
.future-day[data-fade="1"] .dot{opacity:.65}
.future-day[data-fade="2"] .dot{opacity:.38}
.future-day[data-fade="3"] .dot{opacity:.2}
.future-day .capsule-trigger:focus-visible .date-capsule{opacity:.85}
.today .date-capsule{filter:drop-shadow(0 10px 18px #5cabc32b)}
.unwrapping .capsule-ribbon{animation:release-ribbon .7s ease forwards}
@keyframes release-ribbon{0%{transform:rotate(-13deg);opacity:1}100%{transform:translate(24px,-65px) rotate(20deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.unwrapping .capsule-ribbon{animation:none}}
/* Records descend directly from the bottom centre of their day's capsule. */
.branch{border:0;margin:0;padding:22px 0 0;gap:32px;align-items:center}
.branch-item{width:min(92.4px,70%);height:172.2px;flex:none;box-sizing:border-box;border:1px solid #bfd5e0;background:linear-gradient(105deg,#e9f4f9,#ffffff 45%,#deedf4);border-radius:999px;padding:25px 10px 22px;text-align:center;box-shadow:inset 3px 0 6px #ffffff90,0 5px 12px #557e900a}
.branch-item:before{left:50%;top:-33px;width:1px;height:32px;transform:translateX(-50%);border:0;border-radius:0;background:#a7c5d366;box-shadow:none;box-sizing:border-box}
.branch-item:first-child:before{top:-41px;height:40px}
.branch-item .entry-time{display:block;font-size:10px;color:#718e9b;white-space:nowrap}
.branch-item h3{font-size:12px;line-height:1.5;margin:9px 0 6px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.branch-item p{font-size:11px;line-height:1.6;margin:0;color:#78909c;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;max-height:53px;overflow:hidden}
.branch-item:hover{border-color:#78a9c0;background:linear-gradient(105deg,#e0f0f8,#ffffff 45%,#d5e9f3)}
.chain{mask-image:none}
/* Top third is a daily activity indicator: white when empty, deeper blue as records grow. */
.date-capsule .capsule-lid,.today .date-capsule .capsule-lid{background:linear-gradient(to bottom,var(--activity-color,#fff) 0%,var(--activity-color,#fff) 61.73%,#fff 61.73%,#f6fbfe 100%);box-shadow:inset 3px 0 7px #ffffff40}
.capsule-lid .capsule-year,.capsule-lid .capsule-month{color:#203f57;text-shadow:0 1px 2px #ffffffb3}
.branch-item,.branch-item:hover{background:linear-gradient(to bottom,var(--activity-color,#fff) 0%,var(--activity-color,#fff) 33.333%,#fff 33.333%,#eff7fb 100%)}
.branch-item .entry-time{color:#29495f;text-shadow:0 1px 2px #ffffffb3}
/* Clip each moving lid independently so opening animations remain free to move. */
.date-capsule .capsule-lid{border-radius:66px 66px 12px 12px;overflow:hidden;background-clip:padding-box}
.date-capsule .capsule-base{background-clip:padding-box}
.branch-item,.branch-item:hover{background-clip:padding-box;box-shadow:inset 3px 0 7px #ffffff40,0 5px 12px #557e900a}
/* Date-to-date connections sit behind the capsules and reach both viewport edges. */
.axis:before{display:none}
.day-head .dot{visibility:hidden}
.axis{isolation:isolate}
.capsule-connections{position:absolute;left:0;top:0;pointer-events:none;z-index:-1;overflow:hidden}
.capsule-connections path{fill:none;stroke:#b6cedb;stroke-width:1.2;stroke-linecap:round;stroke-dasharray:4 6}
/* Simple Chinese lanterns: paper body, curved ribs, caps and a fine tassel. */
.lantern-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;overflow:visible}
.date-capsule{isolation:isolate;filter:none}
.date-capsule .capsule-lid,.today .date-capsule .capsule-lid,.date-capsule .capsule-base{border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}
.date-capsule .capsule-lid{top:29px;height:105px;padding-top:5px}
.date-capsule .capsule-base{bottom:46px;height:53px;padding-top:0}
.capsule-lid:after{display:none}
.capsule-ribbon{display:none}
.capsule-year{font-size:11px}.capsule-month{margin-top:5px}.capsule-date{font-size:38px}
.capsule-count{margin-top:7px;font-size:11px}
.branch-item,.branch-item:hover{position:relative;isolation:isolate;border:0;border-radius:0;background:none;box-shadow:none;padding:29px 15px 30px}
.branch-item .entry-time{font-size:9px}.branch-item h3{margin:7px 0 5px;font-size:11px}.branch-item p{font-size:10px;-webkit-line-clamp:2;max-height:32px}
.branch-item:hover .lantern-art{filter:drop-shadow(0 0 5px #85bad744)}
.unwrapping .capsule-lid,.unwrapping .capsule-base{animation:none}
.unwrapping .date-capsule{animation:lantern-awaken .9s ease}
@keyframes lantern-awaken{0%,100%{filter:drop-shadow(0 0 0 #92c7e000)}50%{filter:drop-shadow(0 0 16px #92c7e099)}}
@media(prefers-reduced-motion:reduce){.unwrapping .date-capsule{animation:none}}
/* Small-lantern connectors also float clear of both ends. */
.branch-item:before{top:-24px;height:16px;width:1px;background:repeating-linear-gradient(to bottom,#b6cedb 0 3px,transparent 3px 7px)}
.branch-item:first-child:before{top:-30px;height:20px}
.home-date-stats{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.home-date-stats .visit-count{font-size:12px;color:#607f90;font-variant-numeric:tabular-nums}
.home-date-stats .visit-scope{font-size:10px;color:#81949e}
.branch-more{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px dashed #abc8d6;border-radius:14px;background:#f0f7fb;color:#587b8e;padding:7px 12px 12px;cursor:pointer;font-size:11px}
.branch-ellipsis{font-size:32px;line-height:1;letter-spacing:4px}
.branch-more:hover{background:#e3f1f8;border-color:#6899b1}
.saved-entry:focus-visible{outline:2px solid #6899b1;outline-offset:4px}
.branch-wrap{position:relative}
.branch-scroll{position:relative;height:602.6px;overflow-y:auto;overflow-x:hidden;scroll-behavior:auto;scrollbar-gutter:stable;scrollbar-width:auto;padding-right:4px}
.branch-wrap.has-more-below:after{content:'';position:absolute;left:0;right:18px;top:536px;height:67px;background:linear-gradient(transparent,#f8faf9ee);backdrop-filter:blur(.5px);pointer-events:none}
.branch-wrap>.branch-more{margin:12px auto 0}
