:root{color-scheme:light;--ink:#202c31;--muted:#637176;--line:#dce4e1;--green:#17664f;--paper:#f5f6f1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,summary,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #bf8432;outline-offset:4px}header,main,footer{max-width:1180px;margin:auto;padding:0 36px}header{display:flex;justify-content:space-between;align-items:center;height:106px;border-bottom:1px solid var(--line)}.brand{color:var(--ink);font-size:25px;letter-spacing:-1px;font-weight:650}.brand b{color:var(--green)}.brand span{display:block;font-size:11px;letter-spacing:1px;font-weight:400;color:var(--muted)}nav{display:flex;gap:28px;font-size:13px}nav a{color:var(--ink)}.intro{padding:42px 0 25px;display:flex;justify-content:space-between;align-items:end}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--green);margin:0 0 10px}h1{font-size:30px;letter-spacing:-1px;margin:0 0 8px}p{margin:0 0 12px}.intro p:not(.eyebrow),.free{color:var(--muted);font-size:13px}.free{padding-bottom:14px}.hero{background:#123f35;color:#f5fcf6;border-radius:22px;padding:27px 32px 0;box-shadow:0 12px 30px #163f3510}.hero-top{display:flex;justify-content:space-between;align-items:center}.badge{font-size:12px;border:1px solid #91b4a266;border-radius:20px;padding:5px 12px;color:#c8ebcb}.badge:before{content:'●';font-size:8px;margin-right:8px}.hero button{color:#c7dcd3;background:transparent;border:1px solid #76978b66;border-radius:8px;padding:7px 12px;font-size:12px}.hero-grid{display:grid;grid-template-columns:1fr 250px;gap:35px;padding:27px 0}.hero h2{font-size:34px;line-height:1.3;letter-spacing:-1px;margin:0 0 12px}.lead{color:#c0d4cb;max-width:560px;font-size:14px}.hero aside{border-left:1px solid #89a69a44;padding-left:28px}.hero .eyebrow{color:#9fc5b4}.hero aside strong{display:block;font-size:25px;font-weight:500;margin:12px 0}.hero aside p{font-size:12px;color:#b3ccc1}.hero a{color:#d8ecca;text-decoration:underline;font-size:12px}.hero-bottom{border-top:1px solid #89a69a44;padding:13px 0;display:flex;justify-content:space-between;color:#b3ccc1;font-size:11px}.target{font-size:23px;color:#e8efcb}.scope{font-size:12px;color:#bed2c8}.notice{font-size:12px;color:#776649;padding:12px 8px;margin-bottom:14px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:30px}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title h2{margin:0;font-size:23px}.section-title .eyebrow{margin:0 0 3px}.section-title>span{font-size:12px;color:var(--muted)}.section-note{font-size:12px;color:var(--muted);margin:6px 0 17px}.filters{display:flex;gap:6px;margin-bottom:19px;flex-wrap:wrap}.filters button,#more,#less{border:1px solid var(--line);background:transparent;border-radius:7px;padding:7px 12px;font-size:12px;color:var(--muted)}.filters button[aria-pressed=true]{background:#e0e9e1;border-color:#bed1c1;color:#174e3c}.event{padding:22px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:12px}.event-top{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;color:var(--muted)}.tag{color:var(--green);background:#ebf2e9;padding:3px 8px;border-radius:5px}.tag.planned{color:#8a5d1b;background:#fbf1df}.tag.banked{color:#65518e;background:#f0edf7}.event h3{font-size:17px;margin:12px 0 6px}.event p{font-size:13px;color:var(--muted)}.event details{font-size:12px;margin-top:12px;border-top:1px solid #edf0eb;padding-top:12px}.event pre{white-space:pre-wrap;font:12px/1.8 inherit;overflow-wrap:anywhere;color:var(--muted);max-height:280px;overflow:auto}.event-actions{display:flex;gap:20px;align-items:center;margin-top:13px;font-size:12px}.event-actions button{border:0;background:none;padding:0;color:var(--muted);font-size:12px}.card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:23px;margin-bottom:16px}.card h3{font-size:18px;margin:0 0 18px}.card p,.card a{font-size:12px}.small{color:var(--muted);font-size:11px!important;margin-top:16px}.health-row{display:flex;justify-content:space-between;border-bottom:1px solid #edf0eb;padding:9px 0;font-size:12px}.ok{color:var(--green)}.warn{color:#906724}.app-card{background:#e9eddf}.cta{display:block;background:#294a3d;color:white;text-align:center;border-radius:7px;padding:10px}.empty{padding:35px 24px;text-align:center;border:1px dashed #c6d1ca;border-radius:12px;color:var(--muted);font-size:14px}.about{border-top:1px solid var(--line);margin-top:45px;padding:32px 0;display:grid;grid-template-columns:1fr 1.4fr;gap:40px}.about h2{font-size:20px}.about details{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}summary{cursor:pointer}.about p{margin-top:10px;color:var(--muted)}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;padding-bottom:28px;font-size:12px}footer em{font-style:normal;color:var(--muted);margin-left:12px}footer>span:last-child{color:var(--muted)}[hidden]{display:none!important}.degraded{background:#493f2d}@media(max-width:760px){header,main,footer{padding-left:20px;padding-right:20px}header{height:85px}nav{gap:16px;font-size:12px}nav a:nth-child(2){display:none}.brand{font-size:21px}.intro{padding:24px 0 18px}.intro h1{font-size:24px}.free{display:none}.hero{padding:20px 20px 0;border-radius:16px}.hero-grid{grid-template-columns:1fr;gap:15px;padding:20px 0}.hero h2{font-size:27px}.hero aside{border-left:0;border-top:1px solid #89a69a44;padding:14px 0 0}.hero aside strong{font-size:20px;margin:5px 0}.hero aside p{display:inline;margin-right:10px}.hero-bottom{gap:10px;flex-wrap:wrap}.workspace{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px}.about{grid-template-columns:1fr;gap:0}.notice{padding:10px 0;font-size:11px}.event{padding:17px}.event-top{flex-wrap:wrap;gap:5px}}@media(max-width:460px){.sidebar{grid-template-columns:1fr}.intro .eyebrow{font-size:9px}.intro p:not(.eyebrow){font-size:11px}.hero h2{font-size:25px}.hero .lead{font-size:13px}.hero aside .eyebrow{font-size:9px}.hero-bottom{font-size:10px}.event-top{font-size:10px}footer{gap:12px;flex-direction:column}.brand span{font-size:9px}}
.social-strip{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap;padding:12px 0 0;font-size:12px;color:var(--muted)}.social-strip>p{margin:0}.social-links{display:flex;gap:8px;flex-wrap:wrap}.social-links a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;color:var(--green);background:#fff}.social-links a:hover{background:var(--paper);border-color:var(--green);text-decoration:none}.social-links a>span[aria-hidden]{font-size:11px;color:var(--muted)}@media(max-width:760px){.social-strip{justify-content:flex-start;gap:4px 12px}.social-links{gap:6px}.social-links a{padding:6px 12px}}
.social-links button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;color:var(--green);background:#fff;font:inherit}.social-links button:hover{background:var(--paper);border-color:var(--green)}#wechat-dialog{inset:0;height:fit-content;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);overflow:auto}#wechat-dialog::backdrop{background:#20172c88}#wechat-dialog h2{font-size:19px;margin:0}#wechat-close{width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:24px}#wechat-dialog .wechat-qr{display:block;width:auto;max-width:100%;height:auto;max-height:50dvh;margin:12px auto;object-fit:contain;background:#fff}#wechat-dialog p{font-size:13px}#wechat-dialog .small{margin-top:10px}.qr-download{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline}
/* Shared moonlit identity; monitoring status remains the first functional card. */
:root{--ink:#2c2839;--muted:#706a7d;--line:#e1dce9;--green:#665087;--paper:#f7f5fa}.brand{position:relative;padding-left:42px}.brand img{position:absolute;left:-7px;top:0;object-fit:contain}.brand span{letter-spacing:.5px}.intro{position:relative;min-height:255px;padding:30px 0;align-items:center}.intro h1{font-size:38px;line-height:1.35;letter-spacing:-1px;font-weight:650}.intro h1 em{font-style:normal;color:#80658f}.character{display:flex;align-items:center;gap:5px;margin-right:20px}.character img{filter:drop-shadow(0 15px 18px #68517625)}.character span{font-size:12px;color:#67546e;writing-mode:vertical-rl;letter-spacing:3px}.character small{font-size:10px;display:block;margin-right:8px;color:#8f8595}.hero{background:#302a44;box-shadow:0 18px 48px #53416c12}.hero .badge{color:#eadff8;border-color:#a895c05c}.hero .badge:before{color:#bfddba}.hero .lead,.hero .scope,.hero aside p,.hero-bottom{color:#d0c5dc}.hero .eyebrow{color:#c7afd6}.hero a{color:#e8d9ae}.hero button{color:#e1d7ec;border-color:#a99ab35c}.hero aside,.hero-bottom{border-color:#b6a8c130}.degraded{background:#514538}.filters button[aria-pressed=true]{background:#e9e0f1;border-color:#cebedc;color:#614675}.tag{color:#466c57;background:#edf3ed}.cta{background:#634d78}.app-card{background:#eee7f2;position:relative;overflow:hidden}.app-card .eyebrow{display:block;max-width:150px;font-size:9px}.app-card h3{position:relative;margin-top:22px}.app-pet{display:block;margin:0 auto 14px}.event .excerpt{border-left:2px solid #dfd5e7;padding-left:12px;font-size:12px;color:#85778d}.card,.event{box-shadow:0 4px 16px #3e255503}.about h2{color:#655171}@media(max-width:760px){.intro{min-height:225px}.intro h1{font-size:29px}.character{margin:0}.character img{width:145px;height:145px}.character span{display:none}nav{gap:10px}.brand{padding-left:30px}.brand img{width:35px;height:35px;left:-7px}}@media(max-width:460px){.intro{min-height:206px}.intro h1{font-size:26px}.intro>div:first-child{position:relative;z-index:1}.intro p:not(.eyebrow){max-width:215px}.character{position:absolute;right:-5px;top:27px}.character img{width:110px;height:110px;opacity:.95}.intro h1{max-width:250px}.intro .eyebrow{font-size:8px}nav a:first-child{display:none}.hero-grid{padding:17px 0}.hero h2{font-size:23px}}
.account-section,.timeline-section{margin:25px 0 36px}.accounts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.account{background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px;display:block;min-width:0;color:var(--ink)}.account:hover{text-decoration:none;border-color:#b19cc0}.account strong{font-size:14px}.account span{display:block;font-size:10px;color:var(--muted);margin:5px 0 12px}.account p{font-size:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.account small{font-size:10px;color:#7a5e8a}.account-section .section-title>a{font-size:12px}.timeline{display:flex;gap:18px;overflow-x:auto;padding:8px 0 20px;scroll-snap-type:x mandatory;cursor:grab;scrollbar-width:none}
.timeline::-webkit-scrollbar{display:none}
.timeline.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.timeline.can-left{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px);mask-image:linear-gradient(90deg,transparent,#000 36px)}
.timeline.can-right{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
.timeline.can-left.can-right{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent)}
.timeline-hint{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin:-8px 0 12px}
.timeline-hint .nudge{display:inline-block}
@keyframes timeline-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@media (prefers-reduced-motion:reduce){.timeline-hint .nudge{animation:none}}
@media (prefers-reduced-motion:no-preference){.timeline-hint .nudge{animation:timeline-nudge 1.6s ease-in-out infinite}}.timeline-item{flex:0 0 270px;scroll-snap-align:start;border:1px solid var(--line);border-radius:14px;padding:20px;background:white;display:flex;flex-direction:column}.timeline-item.completed{background:#eef3eb;border-color:#cbd9c4}.timeline-item h3{font-size:18px;margin:15px 0 8px}.timeline-item p{font-size:13px;color:var(--muted)}.timeline-item a{margin-top:auto;padding:10px 0;font-size:12px}.timeline-item time{font-size:12px;border-top:1px solid var(--line);padding-top:12px}.timeline-section button,.alert-button{border:1px solid #cfc2dc;background:#efe7f4;color:#5b456f;padding:8px 14px;border-radius:20px;font:inherit;font-size:12px}nav{align-items:center}.timeline-section h2,.account-section h2{font-size:22px}dialog{position:fixed;margin:0 0 0 auto;top:0;right:0;width:min(450px,100vw);height:100dvh;max-height:100dvh;border:0;border-left:1px solid var(--line);padding:28px;color:var(--ink);background:#fbf9fc}dialog::backdrop{background:#251c3d66;backdrop-filter:blur(4px)}.drawer-top{display:flex;align-items:center;justify-content:space-between}.drawer-top h2{font-size:24px}.drawer-top button{background:none;border:0;font-size:28px}dialog p{font-size:13px;color:var(--muted)}.alert-info{background:#eee7f4;padding:22px;border-radius:16px;margin:24px 0}.alert-info p{margin:12px 0 0}dialog label{display:block;padding:18px 0;border-bottom:1px solid var(--line)}dialog input{accent-color:#725684;width:18px;height:18px;vertical-align:middle;margin-right:10px}.alert-actions{display:flex;gap:12px;margin:25px 0}.alert-actions button{border:1px solid #b6a4c5;border-radius:8px;background:#eee7f3;padding:10px 15px;color:#503c63}.alert-actions button:first-child{background:#665078;color:white}@media(max-width:900px){.accounts{grid-template-columns:repeat(2,minmax(0,1fr))}.account:last-child{grid-column:1/-1}}@media(max-width:460px){.accounts{display:flex;overflow:auto;padding-bottom:10px}.account{flex:0 0 235px}.timeline-item{flex-basis:260px}.brand{font-size:18px}.alert-button{padding:7px 9px;font-size:10px}nav a:last-child{font-size:10px}header{gap:5px}}
.quote{font-size:12px;color:#786682;border-left:2px solid #cabbd4;margin:10px 0 18px;padding-left:12px;overflow-wrap:anywhere}.timeline-item .quote{max-height:135px;overflow:auto}
@media(max-width:460px){header .brand{white-space:nowrap;font-size:18px;flex-shrink:0}header .brand span{font-size:8px}nav a[href="#about"]{display:none}nav .alert-button,nav a:last-child{white-space:nowrap}nav{gap:8px}.alert-button{padding:8px}}

/* A quiet ritual beside the monitor, with feedback only after interaction. */
.intro{align-items:center;gap:40px}.wish-card{position:relative;width:360px;max-width:100%;padding:23px 25px 19px;border:1px solid #dcd5eb;border-radius:28px;background:radial-gradient(ellipse at 50% 40%,#eee4ff 0%,#fbf9ff 65%);text-align:center;box-shadow:0 15px 45px #47306b0a}.wish-heading{display:flex;align-items:center;justify-content:space-between;color:#76668c;font-size:10px;letter-spacing:1.5px}.wish-heading label{display:flex;align-items:center;font-size:11px;letter-spacing:0;cursor:pointer}.wish-card h2{font-size:25px;margin:13px 0 4px;letter-spacing:-.6px}.wish-sub{font-size:13px;margin:0;color:#7c718c}.wish-stage{position:relative;height:178px;display:grid;place-items:center}.wish-stage button{position:relative;border:0;background:transparent;cursor:pointer;border-radius:50%;padding:0;width:180px;height:178px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.wish-stage button:focus-visible{outline:3px solid #9f80d0;outline-offset:5px}.wish-stage button img{position:relative;z-index:1;object-fit:contain;width:174px;height:174px;filter:drop-shadow(0 10px 10px #75518b26);pointer-events:none}.wish-orbit{position:absolute;inset:22px 4px 6px;border:1px solid #d8c6ef;border-radius:50%;transform:rotate(-20deg);background:#ffffff50}.wish-feedback{min-height:40px;font-size:13px;color:#705094;margin:4px 0}.wish-stars{color:#9470c0;font-size:25px;letter-spacing:6px;min-height:37px}.wish-card .small{font-size:11px;margin:3px 0 12px}.wish-counts{border-top:1px solid #e5dcef;padding-top:13px;display:flex;justify-content:space-between;font-size:11px;color:#83728e}.wish-counts b{font-size:18px;color:#58466b;font-variant-numeric:tabular-nums}.wish-boundary{font-size:10px;color:#92889c}.wish-spark{position:absolute;top:65px;color:#885ab7;white-space:nowrap;font-size:15px;font-weight:650;text-shadow:0 2px 8px white;pointer-events:none}#wish-particles{position:absolute;inset:0;pointer-events:none;z-index:2}.check-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:20px 8px;border-bottom:1px solid var(--line,#e0dbe6)}.check-strip div{display:flex;flex-direction:column;gap:5px}.check-strip span{color:#8a7e92;font-size:11px}.check-strip strong{font-size:12px;font-weight:500}.check-strip p{grid-column:1/-1;font-size:11px;color:#8a7e92;margin:0}.post-author{display:flex;align-items:center;gap:10px;margin-bottom:14px}.post-avatar{position:relative;display:grid;place-items:center;flex:none;width:36px;height:36px;background:#ebe2f5;color:#755395;border-radius:50%;overflow:hidden}.post-avatar img{position:absolute;width:100%;height:100%;object-fit:cover}.account .post-avatar{display:grid;place-items:center;margin:0;font-size:15px;font-weight:600;color:#755395}.post-author strong{display:block;font-size:13px}.post-author small{display:block;font-size:11px;color:#9988a6}.engagement{display:flex;flex-wrap:wrap;gap:10px;color:#8b7c96;font-size:12px;margin:14px 0}.engagement small{flex-basis:100%;font-size:10px}.timeline-item{min-width:300px}.timeline-item .quote{max-height:170px;overflow:auto}.account .post-author{margin-bottom:7px}@media(max-width:700px){.intro{flex-direction:column;align-items:stretch;gap:22px}.wish-card{width:100%;padding:20px}.wish-stage{height:155px}.wish-stage button,.wish-stage button img{height:155px;width:155px}.check-strip{grid-template-columns:1fr 1fr;gap:15px}.wish-feedback{min-height:24px}.wish-heading{font-size:10px}}@media(prefers-reduced-motion:reduce){.wish-card *{animation:none!important;transition:none!important}}

@media(max-width:700px){.intro .wish-card p{max-width:none}.intro .wish-feedback{font-size:12px}.wish-card{align-self:center}.intro .wish-sub{font-size:12px}}

.engagement>span{display:inline-flex;align-items:center;gap:5px}
body .opening #signal-activity{grid-column:1/-1;grid-row:3;margin:0}
@media(max-width:760px){body .opening section.wish-card{grid-row:4;display:block}}

/* Result, evidence, then history. The companion stays secondary at narrow widths. */
body .intro{padding:18px 0 12px}body .intro h1{font-size:20px}body .intro .eyebrow{display:none}
body .opening{grid-template-columns:minmax(0,1fr) 250px;gap:16px;align-items:start}
body .opening .hero{grid-column:1;grid-row:1;padding:24px 28px 0}
body .opening .hero .hero-grid{padding:20px 0;gap:16px}
body .opening .hero h2{font-size:clamp(32px,4vw,52px);letter-spacing:-1.5px;line-height:1.15}
body .opening .hero .target{font-size:16px;margin:4px 0 8px}
body .opening .hero aside{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;padding-top:12px}
body .opening .hero aside .eyebrow{grid-column:1/-1;margin:0}
body .opening .hero aside strong{font-size:22px;margin:4px 0}
body .opening .hero aside p{font-size:11px;align-self:center}
body .opening .wish-card{grid-column:2;grid-row:1/3;position:relative;top:auto}
.wish-action{min-height:44px;padding:9px 24px;border:1px solid #bca9cd;border-radius:12px;background:#eee5f6;color:#513969;font:inherit;font-weight:600;cursor:pointer;margin:6px 0 10px}
.wish-action:active{background:#ded0eb}.wish-action:focus-visible,.activity-grid button:focus-visible{outline:3px solid #70518d;outline-offset:3px}
.wish-action:disabled{opacity:.5;cursor:default}
body #candidate-signals{grid-column:1;grid-row:2;margin:0;padding:18px 22px}
body #candidate-signals h2{font-size:18px;margin:0 0 8px}
.hero-quote{margin:14px 0 16px;padding:12px 16px;background:#ffffff0c;border-left:3px solid #c4a9df;border-radius:0 8px 8px 0}
.hero-quote p{font-size:18px;line-height:1.6;margin:0 0 7px;overflow-wrap:anywhere;white-space:pre-wrap}
.hero-quote cite{font-style:normal;color:#cbbfda;font-size:11px}
/* Current signal is the focal point; gold does not mean a confirmed reset. */
body .opening .hero.has-signal{border:1px solid #d9b86b66;box-shadow:0 10px 32px #2f264313}
body .opening .hero .hero-question{font-size:14px;font-weight:500;color:#d4c9df;margin:0 0 10px;letter-spacing:.03em}
body .opening .hero.has-signal h2{color:#ffe3a0;font-size:clamp(36px,4.3vw,56px);font-weight:750;line-height:1.16;letter-spacing:-.04em;margin-bottom:16px;text-wrap:balance}
body .opening .hero.has-signal .badge{color:#ffe3a0;background:#e6c36b12;border-color:#e6c36b55;font-size:12px}
body .opening .hero .lead{max-width:unset;font-size:14px;line-height:1.75}
body .opening .hero .hero-quote{margin:22px 0 10px;padding:17px 20px;background:#ffffff08;border-left:3px solid #d9b86b;border-radius:0 10px 10px 0}
.hero-quote-label{display:block;font-size:11px;letter-spacing:.06em;color:#cbbfda;margin-bottom:8px}
body .opening .hero .hero-quote p{font-size:clamp(19px,2vw,25px);line-height:1.55;font-weight:550;margin-bottom:14px}
body .opening .hero .hero-quote-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;max-width:none;margin:0;padding:0;border:0}
body .opening .hero .hero-quote-meta a{font-size:12px;min-height:32px;display:inline-flex;align-items:center;white-space:nowrap}
body .opening .hero #primary-source{display:inline-flex;align-items:center;min-height:36px;font-size:13px;text-underline-offset:4px}
body .opening .hero .hero-actions{margin-top:12px}
body .opening .hero.has-signal .hero-actions button{background:#ffe3a0;color:#30283e;border:1px solid #ffe3a0;min-height:48px;padding:12px 20px;font-size:15px}
body .opening .hero.has-signal .hero-actions button:hover{background:#ffedc2;border-color:#ffedc2}
body .opening .hero button:focus-visible,body .opening .hero a:focus-visible{outline:3px solid #ffe3a0;outline-offset:4px}
@media(max-width:760px){body .opening .hero.has-signal h2{font-size:clamp(32px,8.5vw,42px)}body .opening .hero .hero-question{font-size:13px}body .opening .hero .hero-quote{padding:14px 16px;margin-top:18px}body .opening .hero .hero-quote p{font-size:20px}body .opening .hero .hero-quote-meta{align-items:flex-start;flex-direction:column}}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0 0}
.hero .hero-actions button{background:#f1e7ff;color:#39264f;border:0;padding:11px 17px;min-height:44px;font-size:14px;font-weight:650}
.hero-actions span{color:#cbbfda;font-size:11px}.hero.has-signal .badge:before{color:#e6c36b}
.signal-activity{border:1px solid var(--line);border-radius:14px;background:#fff;padding:20px 22px;margin:20px 0}
.signal-activity h2{font-size:19px}.activity-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;margin:16px 0}
.activity-range{font-size:12px;color:var(--muted);margin:8px 0}
.activity-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 2px;border:1px dashed #cfc7da;border-radius:8px;min-height:58px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;background:#faf8fc;color:#70657d}
.activity-grid button small{font-size:10px;font-weight:400}
.activity-grid .active-day{background:#73528f;color:#fff;border-style:solid;border-color:#73528f}
.activity-grid button[aria-pressed=true]{outline:3px solid #c6a96a;outline-offset:2px}
.activity-detail{border-top:1px solid var(--line);padding-top:12px;font-size:12px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.activity-detail a{display:inline-block;min-height:32px;padding:5px 0}.activity-detail p{margin:0;color:var(--muted)}
@media(max-width:760px){body .opening{grid-template-columns:1fr}body .opening .hero,body #candidate-signals{grid-column:1;grid-row:auto}body .opening .wish-card{grid-column:1;grid-row:3;position:static;display:none}body .intro h1{font-size:18px}body .intro h1 em{display:inline;margin-left:8px}body .intro p:not(.eyebrow){display:none}body .opening .hero{padding:20px 20px 0}body .opening .hero h2{font-size:36px}body .opening .hero aside{grid-template-columns:1fr}body .opening .hero aside p{display:block}.activity-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}.activity-grid button{min-height:32px}.signal-activity{padding:18px 14px}.hero-quote p{font-size:16px}}

@media(max-width:760px){body .activity-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}body .activity-grid button{min-height:56px}}

/* The orbit is wish progress only; the original status text remains accessible. */
body .opening .wish-stage{height:224px;width:100%;isolation:isolate;margin:6px 0}
body .opening .wish-stage #wish-button{width:136px;height:166px;z-index:2;border-radius:24px}
body .opening .wish-stage #wish-button img{width:136px;height:166px}
body .opening .wish-stage #wish-button:focus-visible{outline:none;background:transparent}
.wish-stage:has(#wish-button:focus-visible)+.wish-action{outline:3px solid #70518d;outline-offset:3px}
.wish-stage .wish-orbit{display:none}
.wish-compass{position:absolute;width:230px;max-width:100%;height:210px;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(ellipse,#bba2d950,transparent 69%);z-index:0;overflow:visible}
.compass-ring{fill:none;stroke:#bda46e99;stroke-width:1;vector-effect:non-scaling-stroke}
.compass-ring.inner{stroke:#baa1cc66}
.compass-star circle{fill:#f7f1fb;stroke:#b9a77f;stroke-width:1;vector-effect:non-scaling-stroke}
.compass-star text{fill:#ad97bc;font-size:21px}
.compass-star.lit circle{fill:#695079;stroke:#bca36d}.compass-star.lit text{fill:#f4daa0}
.wish-compass.complete .outer{stroke:#b6964e}
.compass-comet{fill:#b08834;font-size:16px;opacity:0;transform-box:view-box;transform-origin:0 0}
body .opening #wish-stars{position:absolute;width:1px;height:1px;min-height:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(prefers-reduced-motion:reduce){.compass-comet{display:none}}

/* Monitoring first; the wish ritual stays beside, never above, the result. */
header{height:84px}.intro{min-height:0;padding:25px 0 20px}.intro h1{font-size:32px}.intro h1 em{margin-left:12px}.intro p:not(.eyebrow){max-width:none;margin-bottom:0}.opening{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:stretch}.opening .hero{padding:24px 27px 0;display:flex;flex-direction:column}.opening .hero-grid{grid-template-columns:1fr;gap:20px;padding:25px 0;flex:1}.opening .hero h2{font-size:31px}.opening .hero aside{border-left:0;border-top:1px solid #b6a8c130;padding:16px 0 0}.opening .hero aside strong{margin:5px 0;font-size:24px}.opening .hero aside p{margin-bottom:4px}.opening .wish-card{width:100%;padding:16px 18px;border-radius:22px}.opening .wish-card h2{font-size:21px;margin:8px 0 3px}.opening .wish-stage,.opening .wish-stage button,.opening .wish-stage button img{height:112px;width:112px}.opening .wish-stage{width:100%}.opening .wish-feedback{min-height:22px;margin:2px 0;font-size:11px}.opening .wish-stars{font-size:20px;min-height:28px}.wish-collected{font-size:11px;color:#785292;margin:0;font-weight:600}.opening .wish-card .small{margin:2px 0 5px}.wish-counts{display:flex;flex-direction:column;gap:2px;padding-top:8px}.wish-counts .wish-global{font-size:12px}.wish-counts .wish-global b{font-size:23px}.wish-counts .wish-personal,.wish-counts .wish-personal b{font-size:10px;font-weight:400;color:#8b7f95}.opening .wish-heading{font-size:9px}.opening .wish-boundary{font-size:9px}.opening .wish-sub{font-size:11px}.opening .wish-spark{top:30px}.hero[aria-busy=true] #refresh{opacity:.8}@media(max-width:760px){.intro h1{font-size:26px}.intro h1 em{display:block;margin-left:0}.opening{grid-template-columns:1fr}.opening .hero-grid{padding:18px 0;gap:12px}.opening .hero h2{font-size:25px}.opening .hero{padding:20px 20px 0}.opening .wish-card{max-width:none}.opening .wish-feedback{font-size:12px}.opening .wish-boundary{font-size:10px}.intro{padding:20px 0}.check-strip{grid-template-columns:1fr 1fr}}

.language-picker{display:flex;align-items:center;gap:6px;font-size:12px}.language-picker select{max-width:150px;border:1px solid var(--line,#d9d0e6);border-radius:8px;background:var(--paper,#fff);color:inherit;padding:7px;font:inherit}.translation-note{display:block;color:var(--muted,#71657e);font-size:11px;margin:8px 0}.excerpt,.quote{white-space:pre-wrap;overflow-wrap:anywhere}html[lang=en] .intro h1{font-size:30px}html[lang=en] .hero h2{font-size:28px}html[lang=en] header nav{gap:15px}html[lang=en] .wish-card h2{font-size:23px}@media(max-width:760px){.language-picker{width:100%}html[lang=en] .intro h1{font-size:26px}html[lang=en] .hero h2{font-size:25px}}
@media(max-width:760px){header{height:auto;min-height:84px;flex-wrap:wrap;align-items:flex-start;padding-top:14px;padding-bottom:12px;gap:12px}header nav{width:100%;min-width:0;justify-content:flex-start;flex-wrap:wrap;gap:10px!important}.language-picker{width:auto;flex-shrink:0}.language-picker>span{display:none}.language-picker select{max-width:140px}header nav .alert-button,header nav a:last-child{font-size:11px}html[lang=en] .intro h1 em{margin-left:0}}

/* Approved summary / calendar structure. Color encodes type, symbols encode progress. */
body .opening .hero .hero-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;padding:24px 0}
body .opening .hero aside{display:flex;flex-direction:column;align-items:flex-start;border:0;border-right:1px solid #b6a8c144;padding:4px 20px 4px 0;min-width:0}
body .opening .hero aside .eyebrow{font-size:12px;letter-spacing:.03em;line-height:1.6}
body .opening .hero aside .elapsed{font-size:clamp(30px,3.4vw,48px);line-height:1.25;color:#ffe3a0;margin:18px 0 24px;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
body .opening .hero aside #last-time{font-size:17px;font-weight:550}
body .opening .hero aside #last-source{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
body .opening .hero aside.old-record .elapsed{color:#d0c5dc}
body .opening .hero h2,body .opening .hero.has-signal h2{font-size:clamp(25px,2.7vw,36px);line-height:1.25;letter-spacing:-.025em}
body .opening .hero .hero-question{font-size:12px;margin-bottom:12px}
body .opening .hero .target{font-size:14px;color:#ffe3a0;font-weight:600}
body .opening .hero .hero-quote{margin:4px 0 12px;padding:12px}
body .opening .hero .hero-quote p{font-size:16px}
body .opening #signal-activity{grid-row:2}
body #candidate-signals{grid-row:3;grid-column:1/-1}
body .opening .wish-card{grid-row:1}
.calendar-controls{display:flex;gap:18px;flex-wrap:wrap;margin:16px 0}
.calendar-controls label{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}
.calendar-controls select{min-height:44px;max-width:100%;font:inherit;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px}
.calendar-controls select:focus-visible{outline:3px solid #70518d;outline-offset:3px}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.calendar-grid{display:grid;grid-template-columns:48px repeat(var(--weeks),minmax(0,1fr));gap:7px}
.calendar-week,.calendar-weekday{font-size:11px;color:var(--muted);align-self:center;text-align:center}
.calendar-outside{color:#c2b9ce;text-align:center;align-content:center}
.calendar-day{position:relative;min-height:44px;min-width:0;border:1px solid #ded7e8;border-radius:7px;background:#f7f5fa;color:#544961;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.calendar-day small{position:absolute;bottom:1px;right:4px;font-size:10px;line-height:13px;background:#fff;color:#463754;border-radius:3px;padding:0 2px}
.calendar-day[data-kind=reset],.calendar-legend i[data-kind=reset]{background:#655080;color:#fff;border-color:#655080}
.calendar-day[data-kind=credit],.calendar-legend i[data-kind=credit]{background:#dfebf8;color:#264d74;border-color:#718eb1}
.calendar-day[data-kind=both],.calendar-legend i[data-kind=both]{background:linear-gradient(135deg,#655080 50%,#b9d0e9 50%);color:#fff;text-shadow:0 1px 3px #302a44}
.calendar-day[data-kind=unknown],.calendar-legend i[data-kind=unknown]{background:#f2ecfa;border:1px dashed #85699f}
.calendar-day[data-kind=filtered]{background:white;border:1px dotted #aaa;color:#8d8298}
.calendar-day[data-kind=unavailable]{background:repeating-linear-gradient(45deg,#f5f3f7,#f5f3f7 4px,#e5dfeb 4px,#e5dfeb 5px)}
.calendar-day[data-state=planned]{box-shadow:inset 0 0 0 3px #f9f6fc}
.calendar-day[aria-pressed=true]{outline:3px solid #bc9750;outline-offset:2px}
.calendar-day:focus-visible{outline:3px solid #3b2752;outline-offset:3px}
.calendar-legend{display:flex;gap:8px 16px;flex-wrap:wrap;font-size:11px;margin-top:18px;color:var(--muted)}
.calendar-legend i{display:inline-block;width:12px;height:12px;margin-right:5px;border:1px solid #ded7e8;border-radius:3px;background:#f7f5fa;vertical-align:middle}
.calendar-peek{font-size:12px;color:var(--muted);min-height:40px;overflow-wrap:anywhere}
.calendar-layout .activity-detail{display:block;min-width:0;border-top:0;border-left:1px solid var(--line);padding:0 0 0 24px}
.activity-detail h3{font-size:16px;margin:0 0 6px}.calendar-entry{padding:14px 0;border-bottom:1px solid var(--line)}
.calendar-tag,.calendar-state{display:inline-block;font-size:11px;margin:0 7px 7px 0;padding:2px 8px;border-radius:5px;background:#eee6f6;color:#604879}.calendar-state{background:#f3f1f6;color:var(--muted)}
.calendar-entry .calendar-excerpt{margin:8px 0;line-height:1.7;color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap}.calendar-entry small{display:block;color:var(--muted)}
.calendar-entry a{min-height:44px;display:inline-flex;align-items:center;font-size:12px}
body .opening .hero aside #last-desc{align-self:flex-start}
@media(max-width:1000px){body .opening .hero .hero-grid{grid-template-columns:1fr}body .opening .hero aside{border-right:0;border-bottom:1px solid #b6a8c144;padding:0 0 16px}body .opening .hero aside .elapsed{margin:8px 0 12px}}
@media(max-width:760px){.calendar-layout{grid-template-columns:1fr;gap:18px}.calendar-layout .activity-detail{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.calendar-grid{grid-template-columns:38px repeat(var(--weeks),minmax(0,1fr));gap:5px}.calendar-controls{gap:8px}.calendar-controls label{flex:1;min-width:0;flex-direction:column;align-items:flex-start}.calendar-controls select{width:100%}.calendar-week{font-size:10px}body .opening .wish-card{grid-row:4}body .opening .hero.has-signal h2{font-size:28px}}

/* Compact first screen: keep the current judgment and source ahead of decoration. */
.intro-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0}
body .intro-row .intro{order:-1;padding:0;min-width:0;flex:1}
.intro-row .social-strip{padding:0;gap:8px;flex:none;max-width:100%}
.intro-row .social-links{max-width:100%;min-width:0}
.intro-row .social-strip>p{display:none}
.theme-picker{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}
.theme-picker select{font:inherit;min-height:36px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}
header nav{gap:16px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
body .opening .hero .hero-grid{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);padding:18px 0;gap:20px}
body .opening .hero aside .elapsed{font-size:clamp(28px,2.5vw,36px);margin:12px 0 16px}
body .opening .hero .hero-question{margin-bottom:8px}
body .opening .hero .hero-quote{margin:4px 0 8px}
body .opening .hero .hero-actions{margin-top:12px}
body .opening .wish-stage{height:190px;margin:0}
body .opening .wish-card{padding:14px 18px}
.opening .wish-sub{margin-bottom:0}
.opening .wish-action{margin:0 0 6px}
.opening .wish-boundary{display:block;line-height:1.5;margin-top:8px}
.opening .wish-counts{flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0 10px}
body .opening .hero #scope:empty{display:none}
body .opening .hero .hero-quote p{margin-bottom:8px}
body .opening .hero h2{margin-bottom:12px}
.signal-activity h2{margin:0}
@media(min-width:761px){body .opening .wish-card{grid-row:1/3}body .opening #signal-activity{grid-column:1;grid-row:2}}
@media(min-width:1101px){
 .signal-activity{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px}
 .signal-activity>.section-title,.signal-activity>.activity-range,.signal-activity>.section-note{grid-column:1}
 .signal-activity>.calendar-controls{grid-column:2;grid-row:1/4;align-self:center;margin:0;gap:12px}
 .signal-activity>.calendar-controls label{flex-direction:column;align-items:flex-start;gap:4px}
 .signal-activity>.calendar-layout,.signal-activity>.warn{grid-column:1/-1}
 .signal-activity>.section-note{margin-bottom:12px}
}
@media(max-width:1100px){header{height:auto;min-height:84px;gap:20px;padding-top:12px;padding-bottom:12px}.theme-picker>span{display:none}.intro-row{flex-wrap:wrap;gap:8px}body .intro-row .intro{flex-basis:100%}.intro-row .social-strip{justify-content:flex-start}}
@media(max-width:1000px){body .opening .hero .hero-grid{grid-template-columns:1fr}body .opening .hero aside{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;padding-bottom:12px}body .opening .hero aside .eyebrow{grid-column:1/-1}body .opening .hero aside .elapsed{grid-row:2/4;margin:6px 0;align-self:center}body .opening .hero aside #last-time{margin:4px 0}body .opening .hero aside #last-desc{grid-column:2}body .opening .hero aside #last-source{grid-column:1/-1}}
@media(max-width:760px){header{align-items:flex-start;flex-direction:column;gap:12px}header nav{width:100%;justify-content:flex-start;gap:8px 14px}.theme-picker select{min-height:44px}body .intro-row .intro h1 em{display:inline;margin-left:6px}.intro-row .social-links a,.intro-row .social-links button{padding:6px 12px}body .opening .hero aside .elapsed{font-size:28px}}

/* Two palettes; preserve semantic calendar colors and the white QR asset. */
html[data-theme=dark]{color-scheme:dark;--ink:#eee8f5;--muted:#b9aec8;--line:#493f59;--green:#cfb4ed;--paper:#191620;--surface:#25202f}
html[data-theme=dark] .hero{background:#30283f;box-shadow:none}
html[data-theme=dark] :is(.card,.event,.account,.timeline-item,#signal-activity,#candidate-signals,dialog){background:var(--surface);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(.social-links a,.social-links button,.alert-button,.language-picker select){background:var(--surface);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .intro h1 em,html[data-theme=dark] .about h2{color:#c6a8df}
html[data-theme=dark] .opening .wish-card{background:radial-gradient(ellipse at 50% 40%,#423053 0%,#25202f 68%);border-color:var(--line);color:var(--ink)}
html[data-theme=dark] :is(.wish-sub,.wish-heading,.wish-feedback,.wish-collected,.wish-global,.wish-personal,.wish-personal b,.wish-boundary,.check-strip span,.check-strip p,.post-author small,.engagement,.event .excerpt){color:var(--muted)}
html[data-theme=dark] .wish-action{background:#49365b;color:#f2e6ff;border-color:#9475ad}
html[data-theme=dark] :is(.calendar-tag,.calendar-state,.tag,.filters button[aria-pressed=true],.alert-info){background:#3a3048;color:#e3d3f2;border-color:#7e6796}
html[data-theme=dark] .tag.planned{background:#493d25;color:#ffe3a0}
html[data-theme=dark] .tag.banked{background:#303b50;color:#c8e1ff}
html[data-theme=dark] .calendar-day[data-kind=empty],html[data-theme=dark] .calendar-day[data-kind=filtered]{background:#292332;color:#c6bbd2;border-color:#574960}
html[data-theme=dark] .calendar-legend i[data-kind=empty]{background:#292332;border-color:#574960}
html[data-theme=dark] .calendar-day[data-kind=unknown],html[data-theme=dark] .calendar-legend i[data-kind=unknown]{background:#42334f;color:#eee3fa;border-color:#b492d0}
html[data-theme=dark] .calendar-day[data-kind=unavailable]{background:repeating-linear-gradient(45deg,#292332,#292332 4px,#493e55 4px,#493e55 5px);color:#c6bbd2}
html[data-theme=dark] .calendar-day[data-kind=reset],html[data-theme=dark] .calendar-legend i[data-kind=reset]{background:#806197;border-color:#b494cc;color:#fff}
html[data-theme=dark] .calendar-day[data-state=planned]{box-shadow:inset 0 0 0 3px #201926}
html[data-theme=dark] :is(button,a,select,summary):focus-visible{outline-color:#ffe3a0}
html[data-theme=dark] .warn,html[data-theme=dark] .notice{color:#e7c58b}
html[data-theme=dark] .wechat-qr{background:#fff}
html[data-theme=dark] .wish-counts{border-color:var(--line)}
html[data-theme=dark] .wish-counts b{color:#e4d0f6}
html[data-theme=dark] :is(.quote,.account small){color:var(--muted)}
html[data-theme=dark] :is(.drawer-top button,.alert-actions button){color:var(--ink);background:#49365b;border-color:#9475ad}
html[data-theme=dark] #wechat-close{background:#49365b;color:#f2e6ff;border-color:#9475ad}

/* Light appearance applies to the primary surface too, not only the page backdrop. */
html[data-theme=light] body .opening .hero{background:#eee7f5;color:#30273e;border-color:#cab9dc;box-shadow:0 12px 30px #49315c0a}
html[data-theme=light] body .opening .hero :is(h2,.elapsed,.target){color:#624177}
html[data-theme=light] body .opening .hero :is(.lead,.scope,.hero-question,aside p,.hero-bottom,.eyebrow,.hero-quote-label,.hero-quote cite,.hero-actions span){color:#64576f}
html[data-theme=light] body .opening .hero :is(aside,.hero-bottom){border-color:#cbbcd7}
html[data-theme=light] body .opening .hero .badge{background:#e5d9ed;color:#624177;border-color:#b7a0cb}
html[data-theme=light] body .opening .hero .badge:before{color:#82550f}
html[data-theme=light] body .opening .hero a{color:#67467c}
html[data-theme=light] body .opening .hero #refresh{background:#f9f6fc;color:#624177;border-color:#c4b3d2}
html[data-theme=light] body .opening .hero .hero-quote{background:#faf7fd;border-color:#9b73b8}
html[data-theme=light] body .opening .hero .hero-actions button{background:#624177;color:#fff;border-color:#624177}
html[data-theme=light] body .opening .hero aside.old-record .elapsed{color:#64576f}
html[data-theme=light] body .opening .hero.degraded{background:#f2ece3;border-color:#cbb99c}
.verdict-symbol{display:inline-block;margin-inline-start:.35em;font-size:.7em;font-weight:400;vertical-align:.06em;letter-spacing:0}
/* App Store review status */
.store-status{display:inline-block;border:1px solid #8d78a5;color:#634d78;background:#f6f0fa;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:650}.store-requirements{color:var(--muted);font-size:11px!important}

/* Keep the announcement readable without a full-height historical sidebar. */
body .opening{align-items:start;gap:16px}
body .opening .hero{padding:16px 20px 0}
body .opening .hero .hero-grid{display:flex;flex-direction:column;gap:12px;padding:12px 0;flex:none}
body .opening .hero .hero-grid>div{min-width:0}
body .opening .hero aside{order:1;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 12px;border:0;border-top:1px solid #b6a8c144;padding:10px 0 0}
body .opening .hero aside .eyebrow{font-size:11px}
body .opening .hero aside .elapsed{font-size:18px;line-height:1.4;margin:0;letter-spacing:0}
body .opening .hero aside #last-time{font-size:12px;margin:0}
body .opening .hero aside #last-desc{font-size:11px;margin:0;align-self:center}
body .opening .hero aside #last-source{font-size:11px;min-height:32px;margin-left:auto}
body .opening .hero h2,body .opening .hero.has-signal h2{font-size:clamp(24px,2.2vw,30px);margin:0 0 8px}
body .opening .hero .hero-question{display:none}
body .opening .hero .lead{font-size:14px;line-height:1.6;margin:0 0 8px}
body .opening .hero .target{margin:0 0 4px}
body .opening .hero .scope{margin:0 0 10px}
body .opening .hero .hero-quote{margin:0;padding:10px 12px}
body .opening .hero .hero-quote p{font-size:14px;line-height:1.6;margin:6px 0 8px;overflow-wrap:anywhere}
.hero-quote details summary{cursor:pointer;min-height:36px;display:list-item;padding:8px 0;font-size:12px}
body .opening .hero .hero-quote-meta{gap:8px;flex-wrap:wrap}
body .opening .hero .hero-actions{margin-top:10px;gap:8px 12px}
body .opening .hero .hero-actions button{min-height:44px;padding:10px 16px;font-size:13px;line-height:1.5}
body .opening .hero .hero-bottom{padding:10px 0;gap:8px;flex-wrap:wrap}
body .opening .wish-card{align-self:start}
body .opening .wish-stage{height:150px}
body .opening .wish-compass{width:190px;height:170px}
body .opening .wish-stage #wish-button{height:150px}
body .opening .wish-stage #wish-button img{width:110px;height:140px}
@media(max-width:760px){
 body .opening .hero{padding:14px 16px 0}
 body .opening .hero aside{gap:4px 10px}
 body .opening .hero aside #last-source{min-height:44px}
 body .opening .hero .hero-actions{align-items:flex-start}
 body .opening .hero .hero-actions span{line-height:1.5}
}


/* Approved V8 additions: visible recent evidence, time context and community access. */
.recent-feed{margin:14px 0 8px;padding:18px 20px;background:#fff;border:1px solid #e5e0e8;border-radius:16px}
.recent-feed .section-title h2{font-size:20px}
.recent-feed .section-title>a{font-size:12px;white-space:nowrap}
.recent-feed .eyebrow{color:#8a7b93}
.recent-feed .section-note{margin:3px 0 12px}
.recent-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.recent-event{min-width:0;padding:12px 13px;border:1px solid #eee9f0;border-radius:10px;background:#fdfcfd}
.recent-event-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--muted);font-size:10px}
.recent-event .tag{white-space:nowrap}
.recent-event h3{font-size:14px;line-height:1.4;margin:9px 0 4px;color:var(--ink)}
.recent-event .recent-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;margin:0 0 6px;color:var(--muted);font-size:11px;line-height:1.6;overflow-wrap:anywhere}
.recent-event>a{display:inline-flex;align-items:center;min-height:32px;font-size:11px}
.recent-events>.empty{grid-column:1/-1;padding:18px}
html[data-theme=dark] .recent-feed{background:#211c29;border-color:#403748}
html[data-theme=dark] .recent-event{background:#191620;border-color:#403748}
html[data-theme=dark] .recent-event h3{color:#eee8f5}
html[data-theme=dark] .recent-feed .eyebrow{color:#b9aec8}
html[data-theme=dark] #recent-feed a{color:#d8c1ee}
html[data-theme=dark] #local-clock{color:#cbbfda}
@media(max-width:760px){.recent-feed{padding:15px 14px;margin-top:10px}.recent-events{grid-template-columns:1fr}.recent-event{padding:11px 12px}.recent-event .recent-excerpt{min-height:0;-webkit-line-clamp:2}.recent-feed .section-title h2{font-size:18px}body .opening .hero .hero-bottom{align-items:flex-start;flex-direction:column}.recent-event-heading{font-size:10px}}

/* Persistent WeChat community entry; desktop rail stays beside the page, QR requests a manual group invite. */
.community-float{position:fixed;right:12px;top:50%;bottom:auto;z-index:80;transform:translateY(-50%)}
.community-float button{display:flex;flex-direction:column;align-items:center;gap:9px;width:54px;min-height:132px;padding:12px 7px;border:1px solid #8d70a6;border-radius:17px;background:#684d7d;color:#fff;box-shadow:0 8px 24px #30203f33;text-align:center;transition:transform .18s ease,border-color .18s ease}
.community-float button:hover{transform:translateX(-2px);border-color:#c2a5da}
.community-float button:focus-visible{outline:3px solid #c9a7e5;outline-offset:3px}
.community-float button>span:first-child{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;background:#ffffff24;font-size:20px}
.community-float strong,.community-float small{display:block;line-height:1.4}.community-float strong{font-size:12px;writing-mode:vertical-rl;letter-spacing:.12em}.community-float small{display:none;font-size:10px;color:#f1e9f6}
.community-dialog{inset:0;height:fit-content;width:min(470px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:22px;border:1px solid #d9cee2;border-radius:18px;background:#fbf9fc;color:#30283a;overflow:auto}
.community-dialog::backdrop{background:#20172c99}.community-dialog h2{font-size:19px;margin:0}.community-dialog .wechat-qr{display:block;width:auto;max-width:100%;height:auto;max-height:48dvh;margin:12px auto;object-fit:contain;background:#fff}.community-dialog p{font-size:13px}.community-dialog .small{margin-top:10px}.community-dialog .qr-download{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline}
html[data-theme=dark] .community-dialog{background:#25202f;color:#eee8f5;border-color:#493f59}
html[data-theme=dark] .community-dialog .small{color:#b9aec8}
@media(max-width:760px){.community-float{right:12px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));transform:none}.community-float button{flex-direction:row;gap:10px;width:auto;min-height:52px;padding:7px 12px;border-radius:14px;text-align:left}.community-float button:hover{transform:translateY(-2px)}.community-float strong{writing-mode:horizontal-tb;letter-spacing:normal;font-size:13px}.community-float small{display:block;font-size:10px}.community-dialog{padding:18px}.community-dialog p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.community-float button{transition:none}}

/* Keep both clock references compact and distinguish the optional timezone switch. */
.clock-tools{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.clock-tools button{min-height:30px;padding:4px 9px;font-size:11px}.next-reset-status{margin:0;color:var(--muted);font-size:11px}
@media(max-width:760px){.clock-tools{align-items:flex-start}.clock-tools button{min-height:40px}.next-reset-status{flex-basis:100%}}

/* Keep the default status readable without expanding the source transcript. */
body .opening{align-items:start}
body .opening .hero{background:var(--surface,#292234);box-shadow:none}
body .opening .hero .hero-grid{gap:8px;padding:10px 0}
body .opening .hero .hero-quote{background:transparent;padding:4px 0;border:0}
body .opening .hero .hero-quote details[open]{max-height:320px;overflow:auto}
body .opening .hero .hero-quote details pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.65}
body .opening .hero .scope{margin-bottom:6px}
body .opening .hero .hero-actions{margin-top:6px}

body .opening .wish-card{padding:16px 18px}
body .opening .wish-card .wish-stage{height:150px;margin:4px 0}
body .opening .wish-card .wish-stage #wish-button{width:145px;height:145px}
body .opening .wish-card .wish-stage img{width:145px;height:145px}
body .opening .wish-card .wish-sub{margin:6px 0}
body .opening .wish-card :is(.wish-collected,#wish-next){display:none}
body .opening .wish-card .wish-counts{margin-top:8px;padding-top:8px}

/* Floating wish panel does not participate in the content grid. */
body main>.opening{display:block}
.community-float{display:flex;flex-direction:column;gap:8px}
.community-float #wish-open{writing-mode:horizontal-tb;min-height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
body .wish-floating{position:fixed;right:90px;top:50%;transform:translateY(-50%);width:260px;z-index:90;display:block}
body .wish-floating[hidden]{display:none}
body .wish-floating .wish-card{position:relative;max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 12px 36px #0005}
#wish-close{position:absolute;right:8px;top:6px;padding:2px 8px;font-size:22px;background:transparent;border:0;color:var(--ink)}
.wish-floating .wish-heading{padding-right:22px}
@media(max-width:760px){body .wish-floating{right:76px;width:min(260px,calc(100vw - 90px))}.community-float{right:12px}.community-float button{width:52px}.wish-floating .wish-card{padding:14px}.wish-floating .wish-heading>span{display:none}}
.community-float #wish-open strong{writing-mode:horizontal-tb;letter-spacing:0}
@media(min-width:761px) and (max-width:1350px){main{margin-left:auto;margin-right:68px;padding-left:24px;padding-right:24px}}
@media(max-width:760px){footer{padding-bottom:170px}.community-float small{display:none}.community-float #wish-open{min-height:52px}.community-float #wechat-group-open{flex-direction:column;padding:7px 4px;gap:3px}.community-float #wechat-group-open strong{font-size:11px}}

/* Shared product entry keeps monitoring as the first task. */
.product-section{margin:20px 0;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product-card{display:flex;flex-direction:column;margin:0;min-width:0}.product-card h3{font-size:20px;margin:18px 0 8px}.product-card p{line-height:1.7}.product-card .cta,.product-pending{margin-top:auto;padding:12px 16px;display:block;text-align:center}.product-pending{border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:13px}.product-card .store-status{align-self:flex-start;margin:0}.auxiliary-accounts>summary{cursor:pointer;font-weight:700}.auxiliary-accounts[open]>summary{margin-bottom:18px}body .workspace{grid-template-columns:minmax(0,1fr)}body .sidebar{display:block}body .check-strip{margin-top:20px}
@media(max-width:760px){.product-grid{grid-template-columns:1fr}.product-section{padding:18px}.product-card h3{font-size:19px}body main{margin-right:auto;padding-right:20px;padding-left:20px}.community-float{top:auto;bottom:14px;transform:none;flex-direction:row}.community-float button{min-height:48px}.wish-floating{top:auto!important;bottom:80px;transform:none!important;right:12px!important;width:min(300px,calc(100vw - 24px))!important}}

/* Task priority: conclusion, evidence, action; secondary records expand on demand. */
.historical-evidence{border-top:1px solid var(--line);padding:10px 0 0;margin-top:8px}
.historical-evidence>summary,.verification>summary,.history-panel>summary{cursor:pointer;font-size:13px;font-weight:600;min-height:36px;display:list-item}
.historical-evidence aside{border:0!important;margin:8px 0!important}.historical-evidence .check-strip{margin:10px 0!important}.historical-evidence .clock-tools{margin:8px 0}
.verification{margin:6px 0;font-size:13px}.verification p{line-height:1.6;margin:5px 0}
.history-panel{margin:16px 0;padding:16px 20px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.history-panel[open]>summary{margin-bottom:14px}.history-panel .signal-activity{margin-top:0}
.product-section{padding:18px 20px}.product-card{padding:16px}.product-card h3{font-size:17px;margin:10px 0 6px}.product-card p{font-size:13px;margin:5px 0 10px}.product-card .cta,.product-pending{padding:8px 10px}
main>.social-strip{margin:24px 0}body .intro-row{margin-bottom:10px}
@media(max-width:760px){
 body header{padding:12px 20px}body header nav{gap:6px}body header nav>a{font-size:12px}body header nav>a[href="#about"]{display:none}
 body .intro-row{margin:10px 0}body .intro h1{font-size:17px}body .intro>div>p:not(.eyebrow){display:none}
 body .opening .hero{padding:14px 16px 0}body .opening .hero .hero-grid{padding:6px 0}body .opening .hero h2{font-size:23px;line-height:1.35;margin:8px 0}body .opening .hero .lead{font-size:13px;line-height:1.6}body .opening .hero .scope{font-size:12px;line-height:1.5}
 body .opening .hero .hero-bottom{padding:8px 0;font-size:11px}.historical-evidence>summary{min-height:32px}.hero-actions a{font-size:12px}
 .recent-feed .eyebrow,.product-section .eyebrow{display:none}.recent-event{padding:10px}.recent-event h3{margin:6px 0 3px}
 .product-section{padding:14px}.product-grid{gap:8px}.product-card{padding:12px}.product-card h3{font-size:16px;margin:8px 0 4px}.product-card .small{font-size:11px}.product-card p{line-height:1.5;margin:4px 0 8px}
 body .community-float{position:static;transform:none;flex-direction:row;justify-content:flex-end;margin:12px 0;gap:8px}body .community-float button{width:auto;min-height:44px!important;flex-direction:row!important;padding:6px 12px!important;gap:6px!important}body .community-float strong{writing-mode:horizontal-tb}body .community-float button>span:first-child{width:26px;height:26px;font-size:16px}body footer{padding-bottom:24px}
 body .wish-floating{inset:50% auto auto 50%!important;transform:translate(-50%,-50%)!important;width:min(300px,calc(100vw - 32px))!important}.wish-floating .wish-card{max-height:calc(100dvh - 32px)}
}
@media(max-width:760px){
 body .intro{padding:0;margin:0}body .intro-row{margin:8px 0 12px}body .intro h1{margin:0}body .opening .hero .lead{margin:6px 0}body .opening .hero .target{margin:6px 0}body .opening .hero .hero-actions{margin:4px 0!important;gap:4px 10px}body .opening .hero .verification{margin:2px 0}body .opening .hero .historical-evidence{margin-top:4px;padding-top:6px}body .opening .hero .hero-bottom{margin:4px 0 0!important}body .opening .hero .hero-grid{padding:4px 0}
}

/* Desktop status card: retain 44px actions, tighten secondary spacing. */
@media(min-width:761px){
 body .opening .hero{padding-top:16px}
 body .opening .hero .hero-grid{gap:4px;padding:8px 0}
 body .opening .hero .lead{margin:0 0 6px}
 body .opening .hero .target{margin:0 0 4px}
 body .opening .hero .scope{margin-bottom:4px}
 body .opening .hero .verification{margin:2px 0}
 body .opening .hero .verification>summary{min-height:26px}
 body .opening .hero .hero-actions{margin:4px 0 0;gap:6px 12px}
 body .opening .hero .historical-evidence{margin-top:4px;padding-top:6px}
 body .opening .hero .historical-evidence>summary{min-height:28px}
 body .opening .hero .hero-bottom{padding:7px 0}
}

/* Keep consent below the action row so the product link cannot wrap beside it. */
body .opening .hero .hero-actions > small{order:3;flex:0 0 100%;margin:0;line-height:1.5}
body .opening .hero .hero-actions > a{order:1;align-self:center;white-space:nowrap}
body .opening .hero .hero-actions > #alerts-quick-status{order:2;flex:0 0 100%;line-height:1.5}

.health-row{gap:1rem;align-items:start}.health-row>div{text-align:right}.health-row small{display:block;line-height:1.5;margin-top:.25rem}.health-row>a{overflow-wrap:anywhere}

/* 2026-10-01: compact evidence-led layout, shared with both themes. */
body.layout-v2 main,body.layout-v2 header,body.layout-v2 footer{max-width:1180px;margin-left:auto;margin-right:auto;padding-left:32px;padding-right:32px}
body.layout-v2 header{height:auto;min-height:96px;gap:20px}body.layout-v2 header nav{flex-wrap:wrap;justify-content:flex-end;gap:12px;font-size:12px}
body.layout-v2 .community-entry{background:transparent;color:var(--green);border:1px solid var(--line);border-radius:8px;padding:8px 10px;min-height:40px;font:inherit}
body.layout-v2 .intro-row{margin:22px 0 14px}body.layout-v2 .monitor-heading{min-height:0;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:0;gap:16px}
body.layout-v2 .intro h1{font-size:30px;margin:0;letter-spacing:-.6px}body.layout-v2 .intro h1 em{color:var(--green)}body.layout-v2 .intro p:not(.eyebrow){display:none}body.layout-v2 .intro .eyebrow{display:block;font-size:10px;letter-spacing:3px;margin:0 0 8px;color:var(--green)}
body.layout-v2 .quick-wish{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--surface);color:var(--green);border-radius:999px;min-height:44px;padding:10px 16px;white-space:nowrap;font:inherit;font-size:13px;cursor:pointer}.quick-wish b{font-variant-numeric:tabular-nums}.quick-wish.wish-tapped{animation:wish-press .32s ease-out}@keyframes wish-press{50%{transform:scale(1.06)}}
body.layout-v2 .opening .hero{padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;color:var(--ink);background:var(--surface)}
body.layout-v2 .hero-top{padding:14px 24px 0}body.layout-v2 .hero-top .badge{color:var(--green);border-color:var(--line);font-size:11px}body.layout-v2 .hero #refresh{color:var(--muted);background:transparent;border-color:var(--line)}
body.layout-v2 .opening .hero .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:0;padding:0;align-items:stretch}
body.layout-v2 .opening .hero .hero-grid>div:first-child{padding:22px 28px 20px;align-self:center}
body.layout-v2 .opening .hero h2{font-size:clamp(22px,2vw,28px);line-height:1.4;letter-spacing:-.5px;margin-bottom:10px;color:var(--ink)}
body.layout-v2 .hero :is(.lead,.scope,.target,.hero-bottom){color:var(--muted)}body.layout-v2 .hero a{color:var(--green)}body.layout-v2 .hero .verdict-symbol{display:none}
body.layout-v2 .opening .hero .evidence-panel{border-left:1px solid var(--line);padding:0;display:flex;flex-direction:column;background:var(--paper)}
body.layout-v2 .opening .hero .evidence-panel>aside{display:block;order:0;padding:16px 20px;border:0;margin:0}
body.layout-v2 .hero aside .elapsed{display:block;font-size:12px;margin:4px 0;color:var(--muted)}body.layout-v2 #last-desc{display:block;font-size:10px;line-height:1.5;margin:6px 0;color:var(--muted)}body.layout-v2 #next-reset-status{display:block;border-top:1px solid var(--line);padding-top:10px;margin:10px 0 0;font-size:12px;color:var(--ink)}
body.layout-v2 .opening .hero aside .eyebrow{display:block;font-size:11px;color:var(--muted);letter-spacing:0}body.layout-v2 .opening .hero aside #last-time{display:block;font-size:19px;font-weight:650;margin:4px 0;color:var(--ink)}body.layout-v2 .opening .hero aside #last-source{min-height:24px;font-size:11px;display:inline-block}
body.layout-v2 .evidence-method,body.layout-v2 .source-summary{padding:14px 20px;border-top:1px solid var(--line)}body.layout-v2 .evidence-panel small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}body.layout-v2 .evidence-panel strong{display:block;font-size:16px}body.layout-v2 .evidence-method p{font-size:11px;margin:4px 0 0;color:var(--muted)}body.layout-v2 .source-summary summary{list-style:none;cursor:pointer}body.layout-v2 .source-summary summary:after{content:'⌄';float:right;margin-top:-22px;color:var(--muted)}body.layout-v2 .source-summary[open] summary:after{content:'⌃'}body.layout-v2 .source-summary #health{margin-top:12px}body.layout-v2 .source-summary .health-row{flex-direction:column;gap:4px}body.layout-v2 .source-summary .health-row>div{text-align:left}
body.layout-v2 .opening .hero .hero-bottom{margin:0;padding:8px 24px;border-top:1px solid var(--line);font-size:11px}body.layout-v2 .historical-evidence{padding:0 24px;margin:0;border-top:1px solid var(--line)}body.layout-v2 .historical-evidence summary{font-size:11px;min-height:28px;line-height:28px;color:var(--muted)}
body.layout-v2 .opening .hero .hero-actions{margin-top:14px;gap:8px 12px;display:flex;flex-wrap:wrap}body.layout-v2 #email-entry{border:1px solid var(--line);border-radius:8px;padding:11px 16px;min-height:44px;color:var(--ink);font-size:13px;text-decoration:none;box-sizing:border-box;background:var(--surface)}body.layout-v2 .hero-actions>small{font-size:10px}body.layout-v2 #alerts-quick-status{font-size:11px}
body.layout-v2 #signal-activity{margin:16px 0;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:18px 22px;min-width:0}body.layout-v2 #signal-activity h2{font-size:17px;margin:0}body.layout-v2 #signal-activity .section-title{margin:0;align-items:center}body.layout-v2 #signal-activity .section-title>span{font-size:11px;color:var(--muted)}body.layout-v2 .activity-range{font-size:10px;margin:3px 0;color:var(--muted)}body.layout-v2 #signal-activity>.section-note{font-size:10px;margin:3px 0 8px}
body.layout-v2 .heatmap-filters{font-size:11px;margin:4px 0 8px;color:var(--muted)}body.layout-v2 .heatmap-filters summary{cursor:pointer}body.layout-v2 .calendar-layout{display:block}body.layout-v2 .heatmap-scroll{overflow-x:auto;padding:0 0 6px;scrollbar-width:thin}
body.layout-v2 .annual-grid{display:grid;grid-template-columns:26px repeat(53,minmax(10px,1fr));grid-template-rows:20px repeat(7,12px);gap:4px;min-width:820px;align-items:stretch;margin:0}
body.layout-v2 .annual-grid .calendar-week{overflow:visible;white-space:nowrap;font-size:10px;text-align:left;color:var(--muted);padding:0}body.layout-v2 .calendar-weekday{font-size:9px;color:var(--muted);line-height:12px}body.layout-v2 .calendar-weekday:nth-of-type(even){opacity:.55}
body.layout-v2 .annual-grid .calendar-day,body.layout-v2 .annual-grid .calendar-outside{min-width:0;min-height:0;width:100%;height:12px;padding:0;border:1px solid var(--line);border-radius:2px;background:var(--paper);box-sizing:border-box;margin:0}
body.layout-v2 .annual-grid .calendar-day[data-level='1']{background:#d9c7ef;border-color:#bea5d9}body.layout-v2 .annual-grid .calendar-day[data-level='2']{background:#b291d4;border-color:#a180c4}body.layout-v2 .annual-grid .calendar-day[data-level='3']{background:#8b63b5;border-color:#8b63b5}body.layout-v2 .annual-grid .calendar-day[data-level='4']{background:#65408b;border-color:#65408b}body.layout-v2 .annual-grid .calendar-day[data-observed='true']{background:#d7b86d;border-color:#bb984b}body.layout-v2 .annual-grid .calendar-day[data-observed='true']:not([data-level='0']){background:linear-gradient(135deg,#ac88d3 50%,#d7b86d 50%)}body.layout-v2 .annual-grid .calendar-outside{background:transparent;border-style:dashed;opacity:.4}body.layout-v2 .annual-grid .calendar-day[aria-pressed='true']{outline:2px solid var(--green);outline-offset:1px}body.layout-v2 .annual-grid .calendar-day:hover{outline:2px solid var(--green);outline-offset:1px}
body.layout-v2 .calendar-legend{margin:10px 0 0;display:flex;flex-wrap:wrap;gap:10px;font-size:10px;color:var(--muted);align-items:center}body.layout-v2 .calendar-legend i[data-kind=public]{width:48px;background:linear-gradient(to right,#d9c7ef 25%,#b291d4 25% 50%,#8b63b5 50% 75%,#65408b 75%)}body.layout-v2 .calendar-legend i[data-kind=observed]{background:#d7b86d}body.layout-v2 .heatmap-latest{margin-left:auto;font:inherit;color:var(--green);background:transparent;border:0;min-height:28px;padding:4px;cursor:pointer}body.layout-v2 .calendar-layout .section-note{font-size:10px;margin:4px 0;color:var(--muted)}body.layout-v2 .heatmap-detail{border-top:1px solid var(--line);margin-top:8px;padding-top:8px;font-size:11px}body.layout-v2 .heatmap-detail summary{cursor:pointer;color:var(--green)}body.layout-v2 .activity-detail{border:0;border-radius:0;background:transparent;padding:8px 0;min-height:0}body.layout-v2 .calendar-entry{margin:10px 0}
body.layout-v2 .time-scene{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;border-radius:13px;margin:16px 0 28px;background:linear-gradient(115deg,#29263e,#494056);color:#f5efff;transition:background 2s}body.layout-v2 .time-scene[data-period=day]{background:linear-gradient(115deg,#655382,#977b91)}body.layout-v2 .time-scene small{font-size:10px;letter-spacing:2px}body.layout-v2 .time-scene .clock-tools{display:flex;margin-top:8px;gap:12px}body.layout-v2 #local-clock{font-size:17px;font-variant-numeric:tabular-nums;font-weight:650;color:#f5efff}body.layout-v2 #clock-toggle{background:transparent;color:#eee5f7;border:1px solid #ffffff40;border-radius:6px;padding:5px 8px;font-size:10px;cursor:pointer}body.layout-v2 .time-caption{text-align:right;max-width:290px}body.layout-v2 .time-caption strong{font-size:12px}body.layout-v2 .time-caption p{font-size:10px;opacity:.75;margin:6px 0 0}
body.layout-v2 main>.workspace{margin:22px 0;display:block}body.layout-v2 main>.workspace>.sidebar{display:none}body.layout-v2 #events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}body.layout-v2 .event{margin:0;border-radius:12px;padding:20px}body.layout-v2 #records .section-title h2{font-size:23px}body.layout-v2 #records .filters{flex-wrap:wrap}body.layout-v2 .product-section{margin-top:24px}body.layout-v2 .community-float{position:static;transform:none;display:flex;flex-direction:row;justify-content:flex-end;margin:12px 0}body.layout-v2 .community-float button{width:auto;min-height:44px!important;flex-direction:row!important;padding:8px 12px!important}body.layout-v2 .community-float strong{writing-mode:horizontal-tb;font-size:12px;letter-spacing:0}
@media(max-width:760px){body.layout-v2 header,body.layout-v2 main,body.layout-v2 footer{padding-left:18px;padding-right:18px}body.layout-v2 header{align-items:flex-start;flex-direction:column;padding-top:16px;padding-bottom:14px;gap:12px}body.layout-v2 header nav{justify-content:flex-start;gap:8px;width:100%}body.layout-v2 .intro-row{margin-top:20px}body.layout-v2 .intro h1{font-size:25px;max-width:none}body.layout-v2 .quick-wish{font-size:11px;padding:8px 10px;gap:6px}body.layout-v2 .intro .eyebrow{font-size:8px}body.layout-v2 .opening .hero .hero-grid{grid-template-columns:1fr}body.layout-v2 .opening .hero .hero-grid>div:first-child{padding:18px}body.layout-v2 .hero-top{padding:12px 18px 0}body.layout-v2 .opening .hero h2{font-size:23px}body.layout-v2 .opening .hero .evidence-panel{border-left:0;border-top:1px solid var(--line)}body.layout-v2 .opening .hero .evidence-panel>aside{padding:14px 18px}body.layout-v2 .evidence-method,body.layout-v2 .source-summary{padding:12px 18px}body.layout-v2 .evidence-panel strong{font-size:14px}body.layout-v2 .opening .hero .hero-bottom,body.layout-v2 .historical-evidence{padding-left:18px;padding-right:18px}body.layout-v2 #signal-activity{padding:16px}body.layout-v2 #signal-activity h2{font-size:16px}body.layout-v2 .time-scene{padding:18px;display:block}body.layout-v2 .time-caption{text-align:left;max-width:none;margin-top:14px}body.layout-v2 #local-clock{font-size:14px}body.layout-v2 #events{grid-template-columns:1fr}body.layout-v2 .community-float button>span:first-child{width:26px;height:26px;font-size:16px}body.layout-v2 .hero .hero-actions #email-entry{font-size:12px}}
@media(prefers-reduced-motion:reduce){body.layout-v2 .time-scene{transition:none}.quick-wish.wish-tapped{animation:none}}
/* Compact the inherited typographic margins inside the evidence rail. */
body.layout-v2 .evidence-panel :is(p,strong,small,.eyebrow){line-height:1.45}body.layout-v2 .evidence-panel strong{margin:3px 0}body.layout-v2 .opening .hero .evidence-panel>aside{padding:12px 20px}body.layout-v2 .evidence-method,body.layout-v2 .source-summary{padding:12px 20px}body.layout-v2 .hero-top{padding-top:10px}body.layout-v2 .hero-top button{min-height:30px;padding:5px 10px}body.layout-v2 .opening .hero .hero-bottom{min-height:0;line-height:1.5;padding-top:7px;padding-bottom:7px}body.layout-v2 .historical-evidence summary{margin:0;padding:0;min-height:26px;line-height:26px}body.layout-v2 .intro-row{padding:0;margin-top:18px;margin-bottom:14px}body.layout-v2 .annual-grid .calendar-day{box-shadow:none}body.layout-v2 #signal-activity>.section-title{min-height:0}body.layout-v2 .calendar-layout{margin-top:4px}body.layout-v2 .calendar-legend i{box-shadow:none}
body.layout-v2 #local-clock{font-size:28px;letter-spacing:1px}body.layout-v2 .time-scene .clock-tools{gap:20px}body.layout-v2 .hero aside #last-source{line-height:1.3}body.layout-v2 .opening .hero .evidence-panel :is(aside,.evidence-method,.source-summary){padding-top:10px;padding-bottom:10px}
@media(max-width:760px){body.layout-v2 .intro h1{font-size:21px;letter-spacing:-.6px}body.layout-v2 .monitor-heading{gap:8px}body.layout-v2 .quick-wish{padding:8px;font-size:10px}body.layout-v2 .opening .hero .evidence-panel{display:grid;grid-template-columns:1fr 1fr}body.layout-v2 .evidence-method{border-top:0;border-left:1px solid var(--line)}body.layout-v2 .source-summary{grid-column:1/-1}body.layout-v2 .opening .hero .evidence-panel>aside,body.layout-v2 .evidence-method{padding:12px}body.layout-v2 .opening .hero aside #last-time{font-size:16px}body.layout-v2 #local-clock{font-size:25px}}

/* Community remains discoverable while reading; motion ends after three gentle cycles. */
body.layout-v2 .community-float{position:fixed;inset:auto 20px calc(20px + env(safe-area-inset-bottom)) auto;z-index:80;margin:0;transform:none;display:block}
body.layout-v2 .community-float #wish-open{display:none}
body.layout-v2 .community-float #wechat-group-open{width:auto;min-height:54px!important;padding:10px 16px!important;gap:10px!important;border-radius:999px;background:#68458e;border:1px solid #a787c6;color:#fff;box-shadow:0 6px 22px #39214b38;animation:community-invite-float 4s ease-in-out 3}
body.layout-v2 .community-float #wechat-group-open strong{font-size:14px;writing-mode:horizontal-tb}
body.layout-v2 .community-float #wechat-group-open:hover,body.layout-v2 .community-float #wechat-group-open:focus-visible{animation:none;transform:none;background:#563575}
body.layout-v2 .community-float #wechat-group-open:active{transform:scale(.97)}
body.layout-v2 footer{padding-bottom:100px}
@keyframes community-invite-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:760px){body.layout-v2 .community-float{right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}body.layout-v2 .community-float #wechat-group-open{min-height:48px!important;padding:8px 12px!important}body.layout-v2 .community-float #wechat-group-open strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){body.layout-v2 .community-float #wechat-group-open{animation:none;transition:none}body.layout-v2 .community-float #wechat-group-open:active{transform:none}}

/* Date distribution preview: consistent squares and persistent evidence. */
body.layout-v2 .heatmap-ranges{display:flex;gap:3px;padding:3px;background:var(--paper);border:1px solid var(--line);border-radius:9px;margin-left:auto}
body.layout-v2 .heatmap-ranges button{font:inherit;font-size:12px;border:0;border-radius:6px;background:transparent;color:var(--muted);padding:7px 12px;cursor:pointer}
body.layout-v2 .heatmap-ranges button[aria-pressed=true]{background:var(--green);color:var(--paper)}
body.layout-v2 #signal-activity .section-title{gap:12px;flex-wrap:wrap}
body.layout-v2 .annual-grid{grid-template-columns:26px repeat(var(--weeks),14px);grid-template-rows:20px repeat(7,14px);gap:4px;min-width:max-content}
body.layout-v2 .annual-grid[data-range='90']{grid-template-columns:26px repeat(var(--weeks),20px);grid-template-rows:22px repeat(7,20px);gap:5px}
body.layout-v2 .annual-grid .calendar-day,body.layout-v2 .annual-grid .calendar-outside{height:100%;aspect-ratio:1;border-radius:3px}
body.layout-v2 #signal-activity[data-range='90'] .calendar-layout{display:grid;grid-template-columns:minmax(380px,1fr) minmax(240px,.8fr);gap:28px;align-items:start}
body.layout-v2 #signal-activity[data-range='90'] .heatmap-detail{border-top:0;border-left:1px solid var(--line);padding:0 0 0 24px;margin:0}
body.layout-v2 .annual-grid .calendar-day[data-level='0'][data-observed='false'][data-coverage='unknown']{background:repeating-linear-gradient(135deg,transparent 0 3px,var(--line) 3px 4px);opacity:.55}
body.layout-v2 .annual-grid .calendar-day[data-today=true]{border:2px solid var(--green)}
body.layout-v2 .calendar-legend i[data-kind=unknown]{background:repeating-linear-gradient(135deg,transparent 0 3px,var(--muted) 3px 4px)}
body.layout-v2 .calendar-peek{display:block;font-size:11px;color:var(--muted);min-height:30px;margin:8px 0 0;line-height:1.5}
body.layout-v2 .activity-detail h3{font-size:16px;margin:10px 0}
@media(max-width:760px){body.layout-v2 #signal-activity[data-range='90'] .calendar-layout{display:block}body.layout-v2 #signal-activity[data-range='90'] .heatmap-detail{border-left:0;border-top:1px solid var(--line);padding:12px 0 0;margin-top:12px}body.layout-v2 .annual-grid[data-range='90']{grid-template-columns:22px repeat(var(--weeks),16px);grid-template-rows:20px repeat(7,16px);gap:4px}}

body.layout-v2 #latest-observation{font-size:11px;line-height:1.6;margin:10px 0 0;color:var(--muted)}body.layout-v2 #latest-observation a{display:block}

/* Keep expanded source details from stretching the status card. */
@media(min-width:761px){
 body.layout-v2 .opening .hero .evidence-panel{height:420px;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--green) var(--paper)}
 body.layout-v2 .opening .hero .evidence-panel>*{flex-shrink:0}
}
body.layout-v2 .opening .hero .evidence-panel:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
@media(max-width:760px){
 body.layout-v2 .source-summary #health{max-height:280px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin}
}

/* First-screen density: concise summary, on-demand evidence, full-width history. */
body.layout-v2 .scope-details{font-size:11px;color:var(--muted);margin:6px 0}
body.layout-v2 .scope-details summary{cursor:pointer}
body.layout-v2 #latest-observation{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}
body.layout-v2 #latest-observation strong{display:block;font-size:18px;color:var(--ink);margin:2px 0}
body.layout-v2 #latest-observation small{font-size:11px}
body.layout-v2 .opening .hero h2{font-size:clamp(28px,3vw,40px);line-height:1.2;margin:0 0 12px}
body.layout-v2 #signal-activity .calendar-layout{display:block}
body.layout-v2 #signal-activity .heatmap-detail,body.layout-v2 #signal-activity[data-range='90'] .heatmap-detail{border-left:0;border-top:1px solid var(--line);padding:8px 0 0;margin-top:8px}
body.layout-v2 .calendar-peek{display:none}
body.layout-v2 #signal-activity{padding:16px 22px}
body.layout-v2 .calendar-legend{margin-top:6px}
body.layout-v2 #signal-activity .section-note{margin:5px 0;font-size:10px}
body.layout-v2 .time-scene{padding:14px 22px;margin-top:14px}
@media(min-width:761px){
 body.layout-v2 .opening .hero .evidence-panel{height:250px}
 body.layout-v2 .opening .hero .hero-grid>div:first-child{padding:16px 28px}
 body.layout-v2 .opening .hero .evidence-panel>aside{display:block;padding:8px 20px}
 body.layout-v2 .opening .hero .hero-actions{margin-top:12px}
 body.layout-v2 .opening .hero .source-summary{padding:8px 20px}
 body.layout-v2 .opening .hero aside #last-time{font-size:18px}
 body.layout-v2 .opening .hero aside .elapsed{font-size:11px;margin:2px 0}
 body.layout-v2 .community-float{right:max(16px,calc((100vw - 1180px)/2 - 148px));bottom:34vh}
}
@media(max-width:760px){body.layout-v2 .opening .hero .evidence-panel{display:block}body.layout-v2 .opening .hero h2{font-size:28px}body.layout-v2 .scope-details #last-desc{max-width:100%}}

@media(min-width:761px){
 body.layout-v2 .opening .hero .evidence-panel{height:230px}
 body.layout-v2 .opening .hero .hero-grid>div:first-child{padding:10px 28px}
 body.layout-v2 .opening .hero .hero-actions p{margin:4px 0;font-size:10px;line-height:1.4}
 body.layout-v2 .opening .hero .hero-actions{gap:8px;margin-top:8px}
 body.layout-v2 .opening .hero .verification{margin:6px 0}
 body.layout-v2 .opening .hero .source-summary summary{display:flex;align-items:center;justify-content:space-between;gap:12px}
 body.layout-v2 .source-summary summary strong{font-size:12px}
 body.layout-v2 .opening .hero .evidence-panel>aside{padding:6px 20px}
 body.layout-v2 #latest-observation{margin-top:5px;padding-top:5px}
 body.layout-v2 #next-reset-status{margin-top:5px;padding-top:5px}
}
body.layout-v2 .annual-grid{grid-template-rows:18px repeat(7,12px);gap:3px}
body.layout-v2 #signal-activity .heatmap-filters{margin:0 0 4px}
body.layout-v2 #signal-activity .heatmap-detail>.activity-range{margin:8px 0}
body.layout-v2 .calendar-legend .heatmap-latest{min-height:22px;padding:2px 6px}
@media(min-width:761px){body.layout-v2 header{padding-top:12px;padding-bottom:12px}body.layout-v2 .intro-row{margin-top:10px;margin-bottom:10px}body.layout-v2 .opening .hero .hero-bottom{padding-top:4px;padding-bottom:4px}body.layout-v2 .historical-evidence{padding-top:0;padding-bottom:0}body.layout-v2 .opening .hero .evidence-panel>aside .eyebrow{margin:0}body.layout-v2 #latest-observation a{font-size:10px}}
body.layout-v2 .time-scene{padding-top:10px;padding-bottom:10px}

/* One recent list on the homepage; evidence lives in the history view. */
body.layout-v2 #history-panel{display:none}
body.layout-v2.home-view #records [data-filter]{display:none}
body.layout-v2.home-view #events{display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden}
body.layout-v2.home-view #events .event{padding:18px 22px;border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0;min-height:0}
body.layout-v2.home-view #events .event:last-child{border-bottom:0}
body.layout-v2.home-view #events h3{font-size:16px;margin:8px 0}
body.layout-v2.home-view .recent-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.6;margin:8px 0}
.full-history-link{display:block;text-align:center;padding:14px;border:1px solid var(--line);border-radius:10px;margin-top:12px}
body.layout-v2.history-view .opening,body.layout-v2.history-view #time-scene,body.layout-v2.history-view #products,body.layout-v2.history-view #about,body.layout-v2.history-view .social-strip,body.layout-v2.history-view .quick-wish,body.layout-v2.history-view .accounts-section{display:none}
body.layout-v2.history-view #events{grid-template-columns:1fr}
body.layout-v2.history-view .event{scroll-margin-top:20px}

body.layout-v2.history-view .auxiliary-accounts{display:none}body.layout-v2.home-view #events h3{display:none}.history-back{display:block;font-size:13px;margin-bottom:12px}body.layout-v2.home-view #records .event-top{margin-bottom:8px}

/* Stable heatmap controls: range changes never switch to a second layout. */
body.layout-v2 #signal-activity{display:block}
body.layout-v2 #signal-activity .section-title{position:relative;display:flex;gap:12px;margin-bottom:10px}
body.layout-v2 #signal-activity[data-range] .calendar-layout{display:block}
body.layout-v2 #signal-activity .annual-grid[data-range]{grid-template-columns:26px repeat(var(--weeks),12px);grid-template-rows:18px repeat(7,12px);gap:3px}
body.layout-v2 #signal-activity .heatmap-scroll{min-height:126px}
body.layout-v2 #signal-activity .heatmap-filters{position:relative;margin:0;font-size:11px}
body.layout-v2 #signal-activity .heatmap-filters>summary{padding:9px 4px;white-space:nowrap}
body.layout-v2 #signal-activity .heatmap-filters .calendar-controls{position:absolute;right:0;top:100%;z-index:90;width:290px;margin:8px 0 0;padding:16px;display:flex;flex-direction:column;align-items:stretch;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px #0003}
body.layout-v2 #signal-activity .heatmap-filters label{display:flex;flex-direction:column;align-items:stretch;gap:6px}
body.layout-v2 #signal-activity .heatmap-filters select{width:100%;min-width:0}
body.layout-v2 .heatmap-ranges button{transition:background-color 120ms ease,color 120ms ease}
@media(max-width:760px){body.layout-v2 #signal-activity .section-title{gap:8px}body.layout-v2 #signal-activity .section-title h2{flex-basis:65%}body.layout-v2 #signal-activity .heatmap-ranges{margin-left:0}body.layout-v2 #signal-activity .heatmap-filters{margin-left:auto}body.layout-v2 #signal-activity .heatmap-filters .calendar-controls{width:min(290px,calc(100vw - 72px))}}
@media(prefers-reduced-motion:reduce){body.layout-v2 .heatmap-ranges button{transition:none}}

/* Timezone atmosphere is decorative; the time and day labels remain factual. */
body.layout-v2 .time-scene{position:relative;isolation:isolate;overflow:hidden;border:1px solid #bfa4e73b;background:radial-gradient(ellipse at 91% 0%,#9671c038,transparent 60%),linear-gradient(115deg,#252039,#3e3057);padding-right:62px}
body.layout-v2 .time-scene[data-period=day]{background:radial-gradient(ellipse at 91% 0%,#edd8b34a,transparent 60%),linear-gradient(115deg,#655080,#83648b)}
body.layout-v2 .time-scene>div:not(.time-atmosphere){position:relative;z-index:1}
body.layout-v2 .time-scene-date{margin-top:4px;font-size:10px;color:#ded1ee;letter-spacing:.2px}
body.layout-v2 .time-motion-toggle{position:absolute;right:18px;top:12px;z-index:2;width:30px;height:30px;padding:0;border-radius:50%;border:1px solid #ddc3ff66;background:#b48bd21a;color:#e5c7ff;font-size:22px;line-height:1;cursor:pointer}
body.layout-v2 .time-motion-toggle:hover{background:#b48bd23d}
body.layout-v2 .time-motion-toggle:focus-visible{outline:2px solid #ead4ff;outline-offset:3px}
body.layout-v2 .time-motion-toggle[aria-pressed=true]{opacity:.6}
body.layout-v2 .time-atmosphere{position:absolute;inset:0;pointer-events:none;z-index:0}
body.layout-v2 .sleep-mark{position:absolute;bottom:10px;left:43%;display:flex;align-items:flex-end;gap:3px;color:#dec4ff;font-weight:750;font-size:28px;line-height:1;opacity:.1;--drift-x:10px;--drift-y:-18px;--drift-turn:-5deg;animation:quota-night-drift 7s ease-in-out infinite}
body.layout-v2 .sleep-mark>span:nth-child(1){font-size:.55em}
body.layout-v2 .sleep-mark>span:nth-child(2){font-size:.78em;transform:translateY(-.25em)}
body.layout-v2 .sleep-mark>span:nth-child(3){transform:translateY(-.5em)}
body.layout-v2 .sleep-mark:nth-child(2){left:57%;bottom:38px;font-size:18px;--drift-x:-13px;--drift-y:-10px;--drift-turn:6deg;animation-duration:9s;animation-delay:-3s}
body.layout-v2 .sleep-mark:nth-child(3){left:70%;bottom:8px;font-size:38px;--drift-x:16px;--drift-y:-14px;--drift-turn:3deg;animation-duration:11s;animation-delay:-7s}
body.layout-v2 .sleep-mark:nth-child(4){left:80%;bottom:65px;font-size:22px;--drift-x:-8px;--drift-y:-24px;--drift-turn:-8deg;animation-duration:8s;animation-delay:-4s}
body.layout-v2 .time-scene:not([data-period=night]) .sleep-mark{display:none}
body.layout-v2 .scene-paused .sleep-mark,body.layout-v2 .scene-background .sleep-mark{animation-play-state:paused}
@keyframes quota-night-drift{0%,100%{transform:translate(0,6px) rotate(0);opacity:.06}50%{transform:translate(var(--drift-x),var(--drift-y)) rotate(var(--drift-turn));opacity:.17}}
@media(prefers-reduced-motion:reduce){body.layout-v2 .sleep-mark{animation:none;opacity:.08}body.layout-v2 .time-motion-toggle{display:none}}
@media(max-width:760px){body.layout-v2 .time-scene{padding:14px 18px}body.layout-v2 .time-scene .clock-tools{flex-wrap:wrap;gap:8px}body.layout-v2 .time-scene small{padding-right:35px;display:block}body.layout-v2 .time-caption{margin-top:10px}body.layout-v2 .sleep-mark{left:45%;font-size:22px}body.layout-v2 .sleep-mark:nth-child(2){left:62%;bottom:58px;font-size:15px}body.layout-v2 .sleep-mark:nth-child(3){left:68%;bottom:10px;font-size:30px}body.layout-v2 .sleep-mark:nth-child(4){left:83%;bottom:85px;font-size:17px}body.layout-v2 .time-scene-date{font-size:9px}}

/* Explain the community value before the personal-WeChat invitation step. */
body.layout-v2 #wechat-group-dialog{width:min(440px,calc(100vw - 32px));padding:24px;max-height:calc(100dvh - 32px);overflow-y:auto}
body.layout-v2 #wechat-group-dialog .drawer-top{align-items:center;gap:14px}
body.layout-v2 #wechat-group-dialog h2{font-size:22px;line-height:1.35;margin:0}
body.layout-v2 #wechat-group-dialog .community-promise{color:var(--muted);font-size:14px;margin:10px 0 18px;line-height:1.6}
body.layout-v2 #wechat-group-dialog .wechat-qr{display:block;width:min(260px,100%);height:auto;margin:0 auto;border-radius:10px}
body.layout-v2 #wechat-group-dialog .community-join-steps{text-align:center;margin:16px 0}
body.layout-v2 #wechat-group-dialog .community-join-steps strong{font-size:16px}
body.layout-v2 #wechat-group-dialog .community-join-steps p{font-size:13px;color:var(--muted);margin:5px 0}
body.layout-v2 #wechat-group-dialog .qr-download{display:block;text-align:center;background:var(--green);color:var(--paper);border-radius:9px;padding:12px;text-decoration:none;font-size:14px;font-weight:600}
body.layout-v2 #wechat-group-dialog .community-save-help{text-align:center;font-size:11px;color:var(--muted);margin:10px 0 0}
@media(max-width:760px){body.layout-v2 #wechat-group-dialog{padding:20px}body.layout-v2 #wechat-group-dialog h2{font-size:20px}body.layout-v2 #wechat-group-dialog .wechat-qr{width:min(230px,100%)}}

/* Desktop visitors scan with a phone; mobile visitors need the save action. */
body.layout-v2 #wechat-group-dialog .qr-download,body.layout-v2 #wechat-group-dialog .community-save-help{display:none}
@media(max-width:760px),(hover:none) and (pointer:coarse){body.layout-v2 #wechat-group-dialog .qr-download,body.layout-v2 #wechat-group-dialog .community-save-help{display:block}}

/* One year, fluid columns; smaller screens scroll to the recent weeks. */
body.layout-v2 #signal-activity .annual-grid[data-range]{grid-template-columns:26px repeat(var(--weeks),minmax(12px,1fr));grid-template-rows:18px repeat(7,auto);min-width:824px;width:100%;gap:3px}
body.layout-v2 #signal-activity .annual-grid .calendar-day,body.layout-v2 #signal-activity .annual-grid .calendar-outside{height:auto;aspect-ratio:1}
body.layout-v2 #signal-activity .heatmap-period{margin-left:auto;font-size:11px;white-space:nowrap;color:var(--muted)}
@media(max-width:760px){body.layout-v2 #signal-activity .heatmap-period{margin-left:0}body.layout-v2 #signal-activity .section-title h2{flex-basis:55%}}

/* Keep the email slot stable while its availability is checked. */
#email-entry[hidden]{display:inline-flex!important;visibility:hidden;pointer-events:none}

/* Homepage hierarchy: notification setup, verdict, evidence. */
body.layout-v2 main,body.layout-v2 header,body.layout-v2 footer{max-width:1100px}
body.layout-v2 header{min-height:80px}
body.layout-v2 header nav{gap:10px}
body.layout-v2 header .brand{font-size:21px}
body.layout-v2 header :is(.theme-picker>span,.language-picker>span){display:none}
body.layout-v2.home-view header #alerts-open{display:none}
body.layout-v2 .notification-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;margin:20px 0 24px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
body.layout-v2 .notification-copy{min-width:0}
body.layout-v2 .notification-copy strong{display:flex;align-items:center;gap:2px;line-height:20px;font-size:13px;font-weight:600}
body.layout-v2 .notification-copy #alerts-quick-status{display:block;color:var(--muted);font-size:11px;margin-top:4px;line-height:1.5}
body.layout-v2 .notification-strip .hero-actions{margin:0;gap:8px;flex-wrap:nowrap;flex-shrink:0}
body.layout-v2 .notification-strip .hero-actions>small{display:none}
body.layout-v2 .notification-strip #alerts-quick{background:var(--green);color:var(--paper);border:0;border-radius:8px;min-height:40px;padding:10px 16px;font-size:13px;font-weight:600}
body.layout-v2 .notification-strip #email-entry{min-height:40px;padding:9px 14px;background:transparent}
body.layout-v2 .intro-row{margin:0 0 16px}
body.layout-v2 .intro .eyebrow{display:none}
body.layout-v2 .intro h1{font-size:23px}
body.layout-v2 .quick-wish{min-height:36px;font-size:11px;padding:7px 12px}
body.layout-v2 .opening .hero .hero-grid{grid-template-columns:minmax(0,1fr) 300px}
body.layout-v2 .opening .hero .hero-grid>div:first-child{padding:24px 28px 32px}
body.layout-v2 .opening .hero h2{font-size:46px;line-height:1.2;margin:0 0 16px;letter-spacing:-1px}
body.layout-v2 .opening .hero .lead{font-size:13px;line-height:1.8;max-width:430px;margin:0}
body.layout-v2 .opening .hero .evidence-panel{height:230px;background:transparent}
body.layout-v2 .opening .hero .evidence-panel>aside{padding:8px 22px}
body.layout-v2 .opening .hero aside #last-time{font-size:21px;margin:6px 0}
body.layout-v2 .opening .hero aside .elapsed{font-size:10px;font-weight:400}
body.layout-v2 .opening .hero #latest-observation strong{display:inline;font-size:12px;margin-left:8px}
body.layout-v2 .opening .hero #latest-observation small{display:inline;font-size:10px}
body.layout-v2 .opening .hero #latest-observation a{display:none}
body.layout-v2 .opening .hero .source-summary{padding:9px 22px;margin-top:auto}
body.layout-v2 .opening .hero .source-summary summary{display:flex;align-items:center;gap:12px;justify-content:space-between}
body.layout-v2 .source-summary summary:after{margin:0}
body.layout-v2 .source-summary summary small{margin:0;font-size:10px}
body.layout-v2 .source-summary summary strong{font-size:11px}
body.layout-v2 .historical-evidence{border-top:0}
body.layout-v2 .historical-evidence>.verification{padding:12px 0}
body.layout-v2 #signal-activity{padding:16px 22px;margin:18px 0}
body.layout-v2 #signal-activity h2{font-size:15px}
body.layout-v2 .annual-grid .calendar-day[data-level='0'][data-observed='false'][data-coverage='unknown']{background:radial-gradient(var(--line) .7px,transparent .8px) center/5px 5px;opacity:.4}
body.layout-v2 .calendar-legend i[data-kind=unknown]{background:radial-gradient(var(--muted) .7px,transparent .8px) center/5px 5px}
body.layout-v2 .community-float{right:max(16px,calc((100vw - 1100px)/2 - 148px))}
body.layout-v2.history-view .notification-strip{display:none}
@media(max-width:760px){
 body.layout-v2 header{min-height:0}
 body.layout-v2 .notification-strip{align-items:stretch;flex-direction:column;gap:12px;padding:14px 16px;margin:16px 0 20px}
 body.layout-v2 .notification-strip .hero-actions{justify-content:flex-start}
 body.layout-v2 .intro h1{font-size:21px}
 body.layout-v2 .monitor-heading{flex-wrap:wrap;gap:10px}
 body.layout-v2 .opening .hero .hero-grid{grid-template-columns:1fr}
 body.layout-v2 .opening .hero .hero-grid>div:first-child{padding:24px 18px}
 body.layout-v2 .opening .hero h2{font-size:34px}
 body.layout-v2 .opening .hero .evidence-panel{height:auto;max-height:300px;display:flex}
 body.layout-v2 .opening .hero .evidence-panel>aside{padding:14px 18px}
 body.layout-v2 .opening .hero .source-summary{padding:12px 18px}
 body.layout-v2 #signal-activity{padding:16px}
}
@media(min-width:761px){
 body.layout-v2 .notification-strip{padding:10px 20px;margin:16px 0}
 body.layout-v2 .intro-row{margin-bottom:12px}
 body.layout-v2 .opening .hero .evidence-panel{height:210px}
 body.layout-v2 #signal-activity .section-title{min-height:24px;margin-bottom:6px}
 body.layout-v2 #signal-activity .section-title h2{line-height:24px}
 body.layout-v2 #signal-activity .heatmap-detail{padding-top:4px;margin-top:4px}
 body.layout-v2 #signal-activity .heatmap-detail>summary{min-height:24px;line-height:24px}
 body.layout-v2 .opening .hero .historical-evidence>summary{min-height:24px;line-height:24px}
 body.layout-v2 #signal-activity{padding-top:12px;padding-bottom:12px}
}

body.layout-v2 .opening .hero .hero-bottom[hidden]{display:none}
body.layout-v2 .historical-evidence{border-top:1px solid var(--line)}
body.layout-v2 .historical-evidence>summary{padding:5px 0}
body.layout-v2 .historical-evidence #freshness{float:right;font-size:10px;font-weight:400}
@media(max-width:760px){body.layout-v2 .historical-evidence #freshness{float:none;display:block;line-height:1.6;margin:4px 0}}
@media(min-width:761px){
 body.layout-v2 .time-scene #local-clock{line-height:1.2}
 body.layout-v2 .time-scene small{display:block;line-height:1.4}
 body.layout-v2 .time-scene .clock-tools{margin-top:6px}
 body.layout-v2 .notification-strip{margin-top:12px;margin-bottom:12px}
}

/* Verdict and the existing wish action share the main card. */
body.layout-v2 .verdict-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:16px}
body.layout-v2 .opening .hero .verdict-row h2{margin:0;font-size:40px;line-height:1.15}
body.layout-v2 .opening .hero .verdict-row .quick-wish{min-height:36px;font-size:12px;padding:7px 14px;background:var(--paper);border-color:var(--green);color:var(--green)}
body.layout-v2 .recent-reset-line{display:flex;align-items:center;flex-wrap:wrap;gap:0 4px;font-size:12px;line-height:1.7;color:var(--muted);margin:10px 0 0}
body.layout-v2 .recent-reset-line[hidden]{display:none}
body.layout-v2 .recent-reset-line a{font-weight:600;text-underline-offset:3px}
body.layout-v2 .recent-reset-line small{display:block;flex-basis:100%;font-size:10px;margin-top:2px}
@media(max-width:760px){body.layout-v2 .opening .hero .verdict-row h2{font-size:28px}body.layout-v2 .verdict-row{gap:16px}body.layout-v2 .recent-reset-line{font-size:11px}}

body.layout-v2 .opening .hero .verdict-row h2.short-verdict{font-size:72px}
@media(max-width:760px){body.layout-v2 .opening .hero .verdict-row h2.short-verdict{font-size:60px}}

/* Three factual rows on the right; detailed evidence opens separately. */
body.layout-v2.home-view .heading-relocated,body.layout-v2.home-view .hero-top{display:none}
body.layout-v2 .opening .hero .hero-grid>div:first-child{padding:28px 30px}
body.layout-v2 .opening .hero .hero-grid>div:first-child>h1{font-size:23px;line-height:1.4;margin:0 0 18px;letter-spacing:-.6px}
body.layout-v2 .opening .hero h1 em{font-style:normal;color:var(--green)}
body.layout-v2 .opening .hero .evidence-panel{height:300px}
body.layout-v2 .opening .hero .evidence-panel>aside{padding:16px 22px}
body.layout-v2 .opening .hero aside .elapsed{margin-top:2px}
body.layout-v2 .hero-check-row,body.layout-v2 .hero-next-row{padding:12px 22px;border-top:1px solid var(--line);position:relative}
body.layout-v2 .hero-check-row #freshness{display:block;font-size:14px;line-height:1.6;color:var(--ink);padding-right:40px;margin-top:4px}
body.layout-v2 .hero-check-row #refresh{position:absolute;right:16px;top:14px;font-size:10px;max-width:68px;min-height:28px;padding:4px 6px}
body.layout-v2 .monitor-detail-open{background:transparent;border:0;padding:0;color:var(--muted);font:inherit;font-size:11px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
body.layout-v2 .hero-next-row small{font-size:11px;color:var(--muted)}
body.layout-v2 .opening .hero #next-reset-status{border:0;padding:0;margin:4px 0 0;font-size:14px;line-height:1.6}
body.layout-v2 .source-summary{flex-shrink:0}
body.layout-v2 .monitor-detail-dialog{width:min(640px,calc(100vw - 36px));max-height:80vh;overflow:auto;box-sizing:border-box;padding:24px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:16px}
body.layout-v2 .monitor-detail-dialog::backdrop{background:#0008;backdrop-filter:blur(4px)}
body.layout-v2 .monitor-detail-dialog h2{font-size:20px;margin:0 44px 20px 0}
body.layout-v2 .monitor-detail-close{float:right;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:6px 10px}
body.layout-v2 .monitor-detail-dialog .historical-evidence{padding:0;border:0}
body.layout-v2 .monitor-detail-dialog .historical-evidence>summary{display:none}
body.layout-v2 .monitor-detail-dialog .check-strip{display:grid;grid-template-columns:1fr 1fr;gap:16px}
body.layout-v2 .monitor-detail-dialog .evidence-method{padding:12px 0}
@media(max-width:760px){
 body.layout-v2 .opening .hero .hero-grid>div:first-child{padding:24px 18px}
 body.layout-v2 .opening .hero .hero-grid>div:first-child>h1{font-size:21px}
 body.layout-v2 .opening .hero .evidence-panel{height:auto;max-height:340px}
 body.layout-v2 .hero-check-row,body.layout-v2 .hero-next-row{padding:12px 18px}
}

/* Top-level channels and time are separate from the reset verdict. */
body.layout-v2 .notification-strip{flex-wrap:wrap;gap:12px;padding:14px 20px}
body.layout-v2 .notification-copy{flex:1 1 210px;min-width:0}
body.layout-v2 .notification-strip .social-strip{margin:0;padding:0;gap:0}
body.layout-v2 .notification-strip .social-strip>p{display:none}
body.layout-v2 .notification-strip .social-links{gap:6px}
body.layout-v2 .notification-strip .social-links :is(a,button){min-height:36px;padding:6px 10px;font-size:11px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:9px}
body.layout-v2 .notification-strip .social-links a>span[aria-hidden]{display:none}
body.layout-v2 .notification-strip .hero-actions{margin-left:0;gap:6px}
body.layout-v2 .top-clock{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 20px;margin:12px 0 16px;border:1px solid var(--line);border-radius:13px;background:var(--card)}
body.layout-v2 .top-clock-copy{display:flex;align-items:center;gap:16px;min-width:0}
body.layout-v2 .top-clock-copy>span{font-size:12px;color:var(--muted);min-width:108px}
body.layout-v2 .top-clock time{font-size:16px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
body.layout-v2 .top-clock-switch{display:flex;flex-shrink:0;border:1px solid var(--line);border-radius:9px;overflow:hidden}
body.layout-v2 .top-clock-switch button{min-width:58px;min-height:32px;border:0;border-radius:0;padding:5px 12px;background:transparent;color:var(--muted);font:inherit;font-size:11px;cursor:pointer}
body.layout-v2 .top-clock-switch button[aria-pressed=true]{background:var(--green);color:var(--paper)}
body.layout-v2 .github-link{border:1px solid var(--line);border-radius:9px;padding:8px 10px}
body.layout-v2.history-view :is(.top-clock,.notification-strip){display:none}
@media(max-width:760px){body.layout-v2 .notification-strip{padding:14px 16px;gap:12px}body.layout-v2 .notification-copy{flex-basis:100%}body.layout-v2 .notification-strip .hero-actions{flex-wrap:wrap}body.layout-v2 .top-clock{padding:12px 14px;gap:8px}body.layout-v2 .top-clock-copy{align-items:flex-start;flex-direction:column;gap:4px}body.layout-v2 .top-clock time{font-size:13px}body.layout-v2 .top-clock-switch button{min-width:48px;padding:5px 8px}}

body.layout-v2 .notification-strip #email-entry[hidden]{display:none!important}
body.layout-v2 .notification-strip .social-links :is(a,button){display:inline-flex;align-items:center;justify-content:center;gap:6px}
body.layout-v2 .notification-strip .social-icon{width:17px;height:17px;flex:none;display:block}
body.layout-v2 .notification-strip .social-icon-xiaohongshu{width:21px;height:21px}
body.layout-v2 .notification-strip .hero-actions{justify-content:flex-end}
@media(max-width:760px){body.layout-v2 .notification-strip .hero-actions{align-self:flex-end}}

/* The original archivist is the wish target beside the status. */
body.layout-v2.home-view .hero-grid>div:first-child{position:relative;padding-right:205px!important}
body.layout-v2 .hero-wish{position:absolute;right:24px;top:50%;transform:translateY(-50%);width:170px;text-align:center}
body.layout-v2 .hero-wish .quick-wish{display:flex;flex-direction:column;gap:3px;width:100%;padding:0;border:0;background:transparent;box-shadow:none;color:var(--green);border-radius:18px;white-space:normal}
body.layout-v2 .hero-wish .quick-wish img{width:160px;height:160px;object-fit:contain;filter:drop-shadow(0 8px 14px #8e69bd25);pointer-events:none}
body.layout-v2 .hero-wish .quick-wish>span{font-size:13px;font-weight:650}
body.layout-v2 .hero-wish .quick-wish>b{font-size:10px;font-weight:500;color:var(--muted);min-height:17px}
body.layout-v2 .hero-wish-feedback{font-size:10px;color:var(--muted);line-height:1.5;min-height:30px;margin:7px 0 0}
.hero-wish-particles{position:absolute;inset:0;pointer-events:none;overflow:visible}
.hero-wish-particles .wish-spark{top:100px;left:40%;color:var(--green);font-size:13px;text-shadow:none}
@media(max-width:760px){body.layout-v2.home-view .hero-grid>div:first-child{padding-right:18px!important}body.layout-v2 .hero-wish{position:relative;right:auto;top:auto;transform:none;margin:16px auto 0;width:180px}body.layout-v2 .hero-wish .quick-wish img{width:130px;height:130px}}

body.layout-v2.home-view #events .signal-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:16px;padding:22px}
.signal-row>.post-avatar{margin-top:2px}.signal-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.signal-heading time{margin-left:auto;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.signal-kind{font-size:10px;padding:2px 7px;border:1px solid var(--line);border-radius:6px;color:var(--green)}
.signal-translation{display:inline-block;margin-top:10px;font-size:10px;color:var(--muted)}.signal-original{display:inline-block;margin:0 0 0 10px;font-size:10px;color:var(--muted)}.signal-original[open]{display:block;margin:8px 0}.signal-original p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.signal-copy{font-size:14px;line-height:1.7;margin:8px 0 12px;overflow-wrap:anywhere}.signal-facts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.signal-facts span{font-size:10px;border:1px solid var(--line);border-radius:6px;padding:3px 8px;color:var(--muted)}.signal-actions{display:flex;justify-content:space-between;gap:12px;font-size:12px}
@media(max-width:760px){body.layout-v2.home-view #events .signal-row{padding:16px;gap:10px;grid-template-columns:30px minmax(0,1fr)}.signal-row>.post-avatar{width:30px;height:30px}.signal-heading time{flex-basis:100%;margin-left:0}.signal-copy{font-size:13px}}

body.layout-v2.home-view #events .signal-original{border:0;padding:0}body.layout-v2.home-view #events .signal-original summary{padding:0}

body.layout-v2 .community-float{right:max(10px,calc((100vw - 1100px)/2 - 54px));bottom:34vh}
body.layout-v2 .community-float #wechat-group-open{display:flex;flex-direction:column!important;align-items:center;width:44px;min-height:138px!important;padding:12px 8px!important;gap:9px!important;border-radius:18px;background:#503566;border-color:#9774b4;box-shadow:0 4px 14px #24163230}
body.layout-v2 .community-float #wechat-group-open>span:first-child{width:24px;height:24px;background:transparent;border-radius:0}
body.layout-v2 .community-float #wechat-group-open svg{width:23px;height:23px;color:#bcdfc4}
body.layout-v2 .community-float #wechat-group-open strong{writing-mode:vertical-rl;text-orientation:upright;font-size:12px;font-weight:600;letter-spacing:2px;line-height:1.4}
body.layout-v2 .community-float #wechat-group-open small{display:none}
@media(max-width:760px){body.layout-v2 .community-float{right:8px;bottom:calc(20px + env(safe-area-inset-bottom))}body.layout-v2 .community-float #wechat-group-open{width:42px;min-height:132px!important;padding:10px 7px!important}}

body.layout-v2 .hero-wish .wish-compass{width:200px;max-width:none;height:183px;top:78px;left:50%;z-index:0}
body.layout-v2 .hero-wish .quick-wish{position:relative;z-index:1}
body.layout-v2 .hero-wish .compass-star circle{fill:var(--paper);stroke:#a98bbd}
body.layout-v2 .hero-wish .compass-star text{fill:#bba2d9}
body.layout-v2 .hero-wish .compass-star.lit text{fill:#f4daa0}
body.layout-v2 .hero-wish .compass-comet{fill:#efdaa2;font-size:22px}
@media(max-width:760px){body.layout-v2 .hero-wish .wish-compass{width:180px;height:164px;top:65px}}

.social-icon-xiaohongshu,.social-icon-wechat-channels{width:20px;height:20px;object-fit:contain}
.social-links .social-icon-only{min-width:44px}
.social-links .social-icon-only>span{display:none}

/* Compact facts leave breathing room below the source status. */
body.layout-v2 .opening .hero .evidence-panel{box-sizing:border-box;padding-bottom:14px}
body.layout-v2.home-view .opening .hero .evidence-panel>aside{padding-top:8px;padding-bottom:8px}
body.layout-v2 .hero-check-row,body.layout-v2 .hero-next-row{padding-top:7px;padding-bottom:7px}
body.layout-v2 .hero-check-row #refresh{top:10px}
body.layout-v2.home-view .opening .hero .source-summary{margin-top:0;padding-top:8px;padding-bottom:8px}

/* Status and reset type retain text labels as well as distinct colors. */
:root{--signal-purple-bg:#eee3f6;--signal-purple-fg:#624078;--signal-gold-bg:#fff0d3;--signal-gold-fg:#80520c;--signal-green-bg:#def3ec;--signal-green-fg:#22624d;--signal-blue-bg:#e3edff;--signal-blue-fg:#315e98}
html[data-theme=dark]{--signal-purple-bg:#483354;--signal-purple-fg:#ead3ff;--signal-gold-bg:#453723;--signal-gold-fg:#f1ce87;--signal-green-bg:#233e38;--signal-green-fg:#9cdec8;--signal-blue-bg:#293950;--signal-blue-fg:#afcfff}
body.layout-v2 .signal-heading .tag.operator{background:var(--signal-purple-bg);color:var(--signal-purple-fg)}
body.layout-v2 .signal-heading .tag.planned{background:var(--signal-gold-bg);color:var(--signal-gold-fg)}
body.layout-v2 .signal-heading .tag.completed,body.layout-v2 .signal-heading .signal-kind.global{background:var(--signal-green-bg);color:var(--signal-green-fg)}
body.layout-v2 .signal-heading .tag.banked,body.layout-v2 .signal-heading .signal-kind.credit{background:var(--signal-blue-bg);color:var(--signal-blue-fg)}
body.layout-v2 .signal-heading .signal-kind{border-color:currentColor}
body.layout-v2 .signal-heading .signal-kind.neutral{color:var(--muted);background:transparent;border-color:var(--line)}

.signal-row>.operator-avatar{background:transparent;border-radius:9px}

body.layout-v2 .hero-wish .quick-wish{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:7px}
body.layout-v2 .hero-wish .quick-wish img{grid-column:1/-1;justify-self:center}
body.layout-v2 .hero-wish .quick-wish>span{justify-self:end}
body.layout-v2 .hero-wish .quick-wish>b{justify-self:start;min-height:0;font-size:13px;font-weight:650;color:inherit;font-variant-numeric:tabular-nums}

body.layout-v2 .opening .hero #quick-wish:focus{outline:none;box-shadow:none}
body.layout-v2 .opening .hero #quick-wish:focus-visible:not(.pointer-focus)>span{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}

.nav-icon{display:block;width:15px;height:15px;flex:none}
.github-link{display:inline-flex;align-items:center;gap:6px}
body.layout-v2 header .theme-picker{position:relative}
body.layout-v2 header .theme-picker>.nav-icon{position:absolute;left:9px;pointer-events:none;color:var(--ink)}
body.layout-v2 header .theme-picker select{padding-left:30px}

body.layout-v2 header .theme-picker select[hidden],.theme-menu[hidden]{display:none!important}
.theme-trigger{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer}
.theme-menu{position:absolute;z-index:50;top:calc(100% + 7px);right:0;min-width:150px;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--surface,var(--paper));box-shadow:0 10px 28px #0003}
.theme-option{display:flex;align-items:center;gap:9px;width:100%;min-height:38px;padding:8px;border:0;border-radius:7px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.theme-check{margin-left:auto}.theme-option:hover,.theme-option:focus-visible,.theme-option[aria-checked=true]{background:var(--signal-purple-bg);color:var(--signal-purple-fg)}
@media(max-width:760px){.theme-trigger,.theme-option{min-height:44px}.theme-menu{min-width:150px}}
body.layout-v2 header .language-picker select{appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4 3 3 3-3' fill='none' stroke='%23776688' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}
html[data-theme=dark] body.layout-v2 header .language-picker select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4 3 3 3-3' fill='none' stroke='%23d9c9e9' stroke-width='1.5'/%3E%3C/svg%3E")}
.theme-trigger{padding-right:12px}

.geo-attribution{font-size:10px;margin-left:12px}.hero-wish-particles .remote-wish{font-size:17px;top:90px;z-index:3}

.theme-trigger .theme-chevron{display:block;width:12px;height:12px;flex:0 0 12px;align-self:center}

/* Keep the announcement readable without giving translator notes headline weight. */
body .opening .hero .hero-quote .announcement-text{font-weight:400;white-space:pre-line;line-height:1.65}

/* One readable excerpt; the complete evidence opens without growing the card. */
body.layout-v2.home-view .opening .hero.compact-announcement .hero-grid>div:first-child{padding:24px 170px 22px 28px!important;min-height:270px;box-sizing:border-box}
body.layout-v2 .opening .hero.compact-announcement .hero-grid>div:first-child>h1{font-size:15px;margin-bottom:16px;letter-spacing:0}
body.layout-v2 .opening .hero.compact-announcement .verdict-row{margin-bottom:14px}
body.layout-v2 .opening .hero.compact-announcement .verdict-row h2{font-size:36px;letter-spacing:-.7px}
body.layout-v2 .opening .hero.compact-announcement :is(#recent-reset-line,#target,#scope){display:none}
body.layout-v2 .opening .hero.compact-announcement #summary{font-size:13px;line-height:1.6;margin:0 0 15px}
body.layout-v2 .opening .hero.compact-announcement #hero-quote{padding:0;background:transparent;margin:0}
body.layout-v2 .opening .hero .announcement-preview{display:block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left;padding:6px 0;min-height:32px;font:inherit;font-size:14px;line-height:1.5;color:var(--ink);background:transparent;border:0;border-bottom:1px dashed var(--muted);border-radius:0;cursor:pointer}
body.layout-v2 .opening .hero.compact-announcement .hero-quote-meta{margin-top:7px;font-size:11px}
body.layout-v2 .opening .hero.compact-announcement .evidence-panel{height:280px}
body.layout-v2 .opening .hero.compact-announcement .hero-wish{width:130px;right:20px}
body.layout-v2 .opening .hero.compact-announcement .quick-wish img{width:110px;height:110px}
body.layout-v2 .opening .hero.compact-announcement .wish-compass{width:142px;height:130px;top:55px}
body.layout-v2 .opening .hero.compact-announcement .hero-wish-feedback{font-size:9px;line-height:1.4;min-height:0}
body.layout-v2 .announcement-dialog .announcement-text{white-space:pre-wrap;font-size:15px;line-height:1.8;font-weight:400}
body.layout-v2 .announcement-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.7}
body.layout-v2 .announcement-dialog summary{cursor:pointer;padding:12px 0}
@media(max-width:760px){
 body.layout-v2.home-view .opening .hero.compact-announcement .hero-grid>div:first-child{padding:20px 18px!important;min-height:0}
 body.layout-v2 .opening .hero.compact-announcement .verdict-row{padding-right:80px;min-height:65px}
 body.layout-v2 .opening .hero.compact-announcement .verdict-row h2{font-size:27px}
 body.layout-v2 .opening .hero.compact-announcement .hero-wish{position:absolute;top:47px;right:20px;width:72px;transform:none;margin:0}
 body.layout-v2 .opening .hero.compact-announcement .quick-wish img{width:64px;height:64px}
 body.layout-v2 .opening .hero.compact-announcement .quick-wish>span,body.layout-v2 .opening .hero.compact-announcement .quick-wish>b{font-size:10px}
 body.layout-v2 .opening .hero.compact-announcement .wish-compass{width:80px;height:73px;top:32px}
 body.layout-v2 .opening .hero.compact-announcement .hero-wish-feedback{display:none}
 body.layout-v2 .opening .hero.compact-announcement .evidence-panel{height:auto;max-height:300px}
}
body.layout-v2 .opening .hero.compact-announcement .evidence-panel{height:306px}
body.layout-v2 .opening .hero.compact-announcement aside .elapsed{display:none}
@media(max-width:760px){body.layout-v2 .opening .hero.compact-announcement .evidence-panel{height:auto;max-height:320px}}

/* Semantic accents reuse the theme palette; labels always carry the meaning. */
body.layout-v2 .fact-accent{font-weight:650}
body.layout-v2 .fact-time{color:var(--green);font-variant-numeric:tabular-nums}
body.layout-v2 .fact-global{color:var(--signal-green-fg)}
body.layout-v2 .fact-credit{color:var(--signal-blue-fg)}
body.layout-v2 .reset-type-chip{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid currentColor;border-radius:6px;font-size:11px;font-weight:650;line-height:1.4;vertical-align:baseline}
body.layout-v2 .reset-type-chip.fact-global{background:var(--signal-green-bg)}
body.layout-v2 .reset-type-chip.fact-credit{background:var(--signal-blue-bg)}
body.layout-v2 .opening .hero #next-reset-status .fact-time,body.layout-v2 .opening .hero #next-reset-status.has-reset-time{color:var(--green);font-size:16px;font-weight:650;letter-spacing:.02em}
body.layout-v2 .opening .hero .fact-accent{display:inline!important}
body.layout-v2 .opening .hero #next-reset-status .fact-time{font-size:14px;letter-spacing:0}

body.layout-v2 .time-scene[data-period=evening]{background:radial-gradient(ellipse at 91% 0%,#b78ac42b,transparent 60%),linear-gradient(115deg,#32283f,#55405e)}
@media(max-width:760px){body.layout-v2 .time-scene #local-clock{font-size:22px;letter-spacing:0;white-space:nowrap}}
/* Keep notification preferences secondary to the direct enable action. */
#alerts-manage{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;padding:6px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#alerts-manage[hidden]{display:none}

#alerts-quick,.notification-copy>strong{display:inline-flex;align-items:center;gap:7px}
#alerts-quick::before,.notification-copy>strong::before{content:"";display:inline-block;width:16px;height:16px;flex:none;background:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain}
#alerts-quick::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='13' rx='2'/%3E%3Cpath d='M12 17v4m-4 0h8'/%3E%3C/svg%3E")}
.notification-copy>strong::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9M10 21h4'/%3E%3C/svg%3E")}

body.layout-v2 .notification-strip #alerts-quick{display:inline-flex;align-items:center;justify-content:center;line-height:20px}
#alerts-quick::before{transform:translateY(-1px)}

body.layout-v2 .hero-wish-feedback:empty{display:none}

.alert-control{display:inline-flex;align-items:center;gap:4px;margin:0}
body.layout-v2 .notification-strip #alerts-manage{position:static;width:28px;height:28px;min-width:28px;min-height:28px;padding:6px;border:0;border-radius:50%;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
body.layout-v2 .notification-strip #alerts-manage[hidden]{display:none}
#alerts-manage::before{content:'i';box-sizing:border-box;width:16px;height:16px;border:1.5px solid currentColor;border-radius:50%;font:600 11px/14px Georgia,serif;text-align:center}
body.layout-v2 .notification-strip #alerts-manage:hover{color:var(--text)}

@media(max-width:760px){body.layout-v2 .notification-strip{padding-right:14px}}

body.layout-v2 .time-caption .time-motion-toggle{top:50%;right:-44px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center}
@media(max-width:760px){body.layout-v2 .time-caption{padding-right:44px}body.layout-v2 .time-caption .time-motion-toggle{right:0}}
@media(prefers-reduced-motion:reduce){body.layout-v2 .time-caption .time-motion-toggle{display:none}}

@media(max-width:760px){
 body.layout-v2 #alerts-dialog{box-sizing:border-box;inset:0;margin:auto;width:67vw;max-width:calc(100vw - 32px);height:fit-content;max-height:80dvh;padding:16px;border:1px solid var(--line);border-radius:16px;overflow-y:auto;overflow-x:hidden;overflow-wrap:anywhere}
 #alerts-dialog .drawer-top h2{font-size:18px;margin:0}
 #alerts-dialog .drawer-top{gap:8px}
 #alerts-dialog .drawer-top button{flex-shrink:0;width:32px;height:32px;padding:0}
 #alerts-dialog .alert-info{padding:12px;margin:16px 0}
 #alerts-dialog label{padding:12px 0;font-size:12px}
 #alerts-dialog .alert-actions{flex-wrap:wrap;gap:8px;margin:16px 0}
 #alerts-dialog .alert-actions button{padding:9px 10px}
}

@media(max-width:760px){
 body.layout-v2 .notification-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 8px;padding:14px}
 body.layout-v2 .notification-copy{grid-column:1;min-width:0}
 body.layout-v2 .notification-copy strong{font-size:12px}
 body.layout-v2 .notification-strip .hero-actions{grid-column:2;grid-row:1;align-self:center;justify-content:flex-end;gap:4px}
 body.layout-v2 .notification-strip #alerts-quick{padding:9px 10px;font-size:11px;white-space:nowrap}
 body.layout-v2 .notification-strip .social-strip{grid-column:1 / -1;grid-row:2;width:100%}
 body.layout-v2 .notification-strip .social-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:6px}
 body.layout-v2 .notification-strip .social-links :is(a,button){width:100%;box-sizing:border-box;padding:6px 4px;gap:4px}
}

@media(max-width:760px){body.layout-v2 footer .geo-attribution{margin-left:0}}

body.layout-v2 #quick-wish,body.layout-v2 #wish-button{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}
body.layout-v2 #quick-wish img,body.layout-v2 #wish-button img{-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}
@media(max-width:760px){
 body.layout-v2 .notification-copy{grid-column:1 / -1;grid-row:1}
 body.layout-v2 .notification-strip .hero-actions{grid-column:1 / -1;grid-row:2;width:100%;justify-content:space-between;flex-wrap:nowrap}
 body.layout-v2 .notification-strip .social-strip{grid-row:3}
}

/* Today's public completion stays distinct from the purple brand accents. */
body.layout-v2 .hero .completion-verdict,
body.layout-v2 .hero .completion-time{color:var(--signal-green-fg)}
body.layout-v2 .hero .completion-time{font-weight:700}
html[data-theme=dark] body.layout-v2 .hero .completion-verdict{text-shadow:0 0 24px rgb(156 222 200 / 18%)}
@media(max-width:360px){body.layout-v2 .hero .completion-verdict{font-size:22px}}

/* Latest public completion: type first, publication date and age together. */
body.layout-v2 .opening .hero aside .last-completion-heading{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:8px}
body.layout-v2 .opening .hero aside .last-completion-heading .eyebrow{margin:0;font-size:12px}
body.layout-v2 .last-completion-type{display:inline-block;font-size:11px;line-height:1.5;font-weight:600;border:1px solid var(--signal-green-fg);color:var(--signal-green-fg);border-radius:7px;padding:2px 7px}
body.layout-v2 .last-completion-type[hidden]{display:none}
body.layout-v2 .opening .hero aside #last-time{font-size:16px;line-height:1.55;margin:0 0 7px;font-variant-numeric:tabular-nums;overflow-wrap:normal}
body.layout-v2 .opening .hero aside .last-completion-age{display:inline-block;font-size:11px;font-weight:450;color:var(--muted)}
@media(max-width:760px){body.layout-v2 .opening .hero aside #last-time{font-size:16px}body.layout-v2 .opening .hero aside .last-completion-age{font-size:12px}}

/* Notification state is visible; the primary button pauses active alerts. */
body.layout-v2 .notification-strip[data-notification-state=on]{border-color:var(--signal-green-fg);background:color-mix(in srgb,var(--signal-green-fg) 6%,var(--surface))}
body.layout-v2 .notification-strip[data-notification-state=on] .notification-copy>strong,body.layout-v2 .notification-strip[data-notification-state=on] #alerts-quick-status{color:var(--signal-green-fg)}
body.layout-v2 .notification-strip[data-notification-state=on] #alerts-quick{border:1px solid var(--signal-green-fg);background:transparent;color:var(--signal-green-fg)}
body.layout-v2 .notification-strip[data-notification-state=partial]{border-color:var(--signal-gold-fg)}
body.layout-v2 .notification-strip[data-notification-state=partial] .notification-copy>strong{color:var(--signal-gold-fg)}
body.layout-v2 .notification-strip #alerts-manage{width:36px;height:36px;min-width:36px;min-height:36px}
#notify-reconnect{margin:10px 0;border:1px solid var(--line);background:transparent;color:var(--ink);padding:9px 12px;border-radius:8px;min-height:40px}
#notify-reconnect[hidden]{display:none}

/* The divider follows the full grid row even when the announcement is longer. */
@media(min-width:761px){
 body.layout-v2 .opening .hero .evidence-panel{border-left:0}
 body.layout-v2 .opening .hero .hero-grid>div:first-child{border-right:1px solid var(--line)}
}

/* Event categories use distinct hues; public events remain separate from account observations. */
body.layout-v2 .annual-grid .calendar-day[data-category][data-category=reset]{background:#35a86c;border-color:#24814f;opacity:1}
body.layout-v2 .annual-grid .calendar-day[data-category][data-category=credit]{background:#438aef;border-color:#2866bf;opacity:1}
body.layout-v2 .annual-grid .calendar-day[data-category][data-category=planned]{background:#ab70df;border-color:#8450b5;opacity:1}
body.layout-v2 .annual-grid .calendar-day[data-category][data-category=observed]{background:#d7ad44;border-color:#a98227;opacity:1}
body.layout-v2 .annual-grid .calendar-day[data-category][data-category=mixed]{background:linear-gradient(135deg,var(--mix-first,#35a86c) 48%,var(--surface) 48% 52%,var(--mix-second,#438aef) 52%);border-color:var(--muted);opacity:1}
html[data-theme=dark] body.layout-v2 .annual-grid .calendar-day[data-category][data-category=reset]{background:#218b55;border-color:#3fba7c}
html[data-theme=dark] body.layout-v2 .annual-grid .calendar-day[data-category][data-category=credit]{background:#286bcd;border-color:#65a3ff}
html[data-theme=dark] body.layout-v2 .annual-grid .calendar-day[data-category][data-category=planned]{background:#8651b8;border-color:#bb8ee6}
body.layout-v2 .calendar-legend i[data-kind=reset]{width:10px;background:#35a86c}body.layout-v2 .calendar-legend i[data-kind=credit]{background:#438aef}body.layout-v2 .calendar-legend i[data-kind=planned]{background:#ab70df}body.layout-v2 .calendar-legend i[data-kind=mixed]{background:linear-gradient(135deg,#35a86c 50%,#438aef 50%)}body.layout-v2 .calendar-legend i[data-kind=observed]{background:#d7ad44}
.calendar-tooltip{position:fixed;z-index:1000;max-width:min(360px,calc(100vw - 16px));padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff);color:var(--ink);box-shadow:0 6px 22px #0003;font-size:12px;line-height:1.6;pointer-events:none;overflow-wrap:anywhere}.calendar-tooltip[hidden]{display:none}.calendar-tooltip strong{display:block;margin-bottom:3px}.calendar-tooltip p{margin:3px 0;color:var(--muted)}.calendar-tooltip-event{border-top:1px solid var(--line);padding-top:6px;margin-top:6px}.calendar-tooltip-event span,.calendar-tooltip-event small{display:block}.calendar-tooltip-event small{color:var(--muted)}

:root{--heatmap-reset:#35a86c;--heatmap-credit:#438aef;--heatmap-planned:#ab70df;--heatmap-observed:#d7ad44}html[data-theme=dark]{--heatmap-reset:#218b55;--heatmap-credit:#286bcd;--heatmap-planned:#8651b8}

html[data-theme=light] body.layout-v2 .opening .hero .hero-quote{background:transparent}

/* Feedback must not change the vertically centered character's height. */
body.layout-v2 .hero-wish-feedback{position:absolute;top:100%;left:0;width:100%}
@media(max-width:760px){body.layout-v2 .hero-wish{margin-bottom:40px}}

.wish-click-halo{position:absolute;inset:0 0 20px;border-radius:50%;background:radial-gradient(ellipse,#e9cd8666,transparent 68%);opacity:0;pointer-events:none;z-index:0}
.wish-book-flight{position:absolute;color:#e4bd5b;font-size:19px;line-height:1;text-shadow:0 0 7px #eed89b;pointer-events:none;z-index:4}

.calendar-tooltip-empty{padding:6px 10px;font-size:11px}.calendar-tooltip-empty strong{margin:0;font-weight:600}
/* Public status sharing uses the same modal and color system as the page. */
body.layout-v2 .hero{position:relative}
body.layout-v2 .status-share-open{position:absolute;right:320px;top:14px;padding:5px 10px;font-size:12px;border-radius:9px;background:var(--paper);color:var(--muted);z-index:2}
.status-share-dialog{width:min(440px,calc(100vw - 24px));max-height:90dvh;overflow:auto;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink)}
.status-share-dialog::backdrop{background:#100b1b99;backdrop-filter:blur(4px)}
.status-share-dialog .drawer-top h2{font-size:18px}.share-themes{display:flex;gap:8px;margin:12px 0}.share-themes button[aria-pressed=true]{background:var(--green);color:var(--paper)}
.share-poster{display:block;width:min(100%,300px);height:auto;margin:0 auto;border-radius:12px}.share-poster[hidden]{display:none}
.share-status{font-size:12px;color:var(--muted);min-height:18px;margin:12px 0}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.share-actions a,.share-actions button{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-size:13px;text-align:center;text-decoration:none}.share-actions [hidden]{display:none}.share-copy-text{width:100%;margin-top:12px;padding:10px;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--muted);font:12px/1.5 inherit;resize:vertical}
@media(max-width:760px){body.layout-v2 .status-share-open{right:14px;top:10px}.status-share-dialog{padding:16px}.share-poster{max-width:240px}}

.share-themes button,.status-share-dialog .drawer-top button{border:1px solid var(--line);border-radius:9px;padding:7px 12px;background:var(--paper);color:var(--ink)}
.status-share-dialog .drawer-top button{font-size:22px;line-height:24px}.status-share-dialog .share-actions a:first-child{background:var(--green);color:var(--paper)}

/* Full-height column boundary belongs to the stretched evidence column. */
body.layout-v2 .opening .hero .hero-grid{align-items:stretch}
body.layout-v2 .opening .hero .hero-grid>div:first-child{border-right:0}
body.layout-v2 .opening .hero .evidence-panel{height:auto;max-height:none;align-self:stretch;padding-bottom:0}
@media(min-width:761px){body.layout-v2 .opening .hero .evidence-panel{border-left:1px solid var(--line);min-height:300px}}
body.layout-v2 .status-share-open{right:12px;top:10px;width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;background:transparent;border-radius:10px;cursor:pointer}
body.layout-v2 .status-share-open:hover,body.layout-v2 .status-share-open[aria-expanded=true]{background:var(--paper);color:var(--ink)}
.status-share-menu{position:absolute;right:12px;top:52px;z-index:10;width:190px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 8px 24px #0002}
.status-share-menu[hidden]{display:none}.status-share-menu :is(button,a){display:block;box-sizing:border-box;width:100%;padding:10px 12px;border:0;border-radius:7px;background:transparent;color:var(--ink);font:inherit;font-size:13px;text-align:left;text-decoration:none;cursor:pointer}.status-share-menu :is(button,a):hover{background:var(--surface,var(--paper))}.share-menu-status{font-size:11px;margin:4px 10px;color:var(--muted)}.share-menu-status:empty{display:none}
dialog.status-share-dialog{position:fixed;inset:0;margin:auto;height:fit-content;box-sizing:border-box}
.share-copy-text[hidden]{display:none}
@media(max-width:760px){body.layout-v2 .opening .hero .hero-grid>div:first-child{padding-top:52px!important}}
body.layout-v2 .opening .hero .hero-grid>div:first-child{align-self:stretch;display:flex;flex-direction:column;justify-content:center}

.share-actions:has(>button[hidden]):not(:has(>button:not([hidden])))>a{grid-column:1 / -1}

.status-share-dialog .share-actions{grid-template-columns:1fr}.status-share-dialog .share-actions>button:first-child{background:var(--green);color:var(--paper)}

.share-image-fallback{display:block;margin:0 0 12px;font-size:13px;color:var(--accent);text-align:center}.share-image-fallback[hidden]{display:none}

.status-share-dialog.share-save-preview .share-poster{width:100%;max-width:none;-webkit-touch-callout:default}.status-share-dialog[open].share-save-preview{display:flex;flex-direction:column}.share-save-preview .drawer-top{order:-2}.share-save-preview .share-status{order:-1}

/* 28-day observation: source-based daily journal, using the existing identity. */
.challenge-entry{display:flex;align-items:center;gap:20px;margin:16px 0;padding:22px 26px;border:1px solid var(--line);border-radius:18px;background:var(--surface,var(--paper));color:var(--ink)}
.challenge-entry h2{font-size:20px;margin:5px 0}.challenge-entry p{margin:4px 0;color:var(--muted)}.challenge-entry small{color:var(--muted)}.challenge-icon{font-size:28px;width:52px;height:52px;border-radius:15px;background:var(--signal-purple-bg,#eee3f6);color:var(--green);display:grid;place-items:center;flex:none}.challenge-cta{margin-left:auto;white-space:nowrap;border:1px solid var(--line);padding:12px 16px;border-radius:10px}
body.challenge-view main>:not(#challenge-page){display:none!important}body.challenge-view .wish-dock,body.challenge-view #wish-toggle{display:none!important}
.challenge-page{max-width:1040px;margin:26px auto 60px;color:var(--ink)}.challenge-back{font-size:13px;color:var(--muted)}.challenge-heading{margin:16px 0 18px}.challenge-heading h1{font-size:clamp(28px,4vw,40px);line-height:1.25;margin:4px 0 8px;letter-spacing:-1px}.challenge-heading>p{color:var(--muted);margin-bottom:0}.challenge-heading>.eyebrow{margin-bottom:6px}.challenge-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;font-size:12px;color:var(--muted)}.challenge-tools select{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px;font:inherit}
.challenge-today,.challenge-calendar,.challenge-evidence,.challenge-social{border:1px solid var(--line);border-radius:20px;padding:20px;background:var(--surface,var(--paper));margin:18px 0}.challenge-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.challenge-today h2{font-size:clamp(24px,3vw,34px);line-height:1.4;margin:16px 0 10px}.challenge-lead{color:var(--muted);line-height:1.8}.challenge-chip{display:inline-flex;padding:4px 9px;border-radius:6px;background:var(--signal-purple-bg,#eee3f6);color:var(--signal-purple-fg,#624078);font-size:11px}.challenge-event{border-top:1px solid var(--line);margin:20px 0;padding-top:20px}.challenge-event p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.challenge-event time{display:block;color:var(--muted);font-size:12px;margin:10px 0}.challenge-event a{font-size:13px}.challenge-freshness{font-size:12px;color:var(--muted);line-height:1.7}.challenge-warning{color:var(--signal-gold-fg,#80520c);background:var(--signal-gold-bg,#fff0d3);padding:14px;border-radius:10px;line-height:1.7}
.challenge-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}.challenge-page button,.challenge-actions a{font:inherit;font-size:13px;min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 16px;color:var(--ink);background:var(--paper);cursor:pointer}.challenge-actions button:first-child{background:var(--green);color:var(--paper)}.challenge-page button:disabled,.challenge-actions [aria-disabled=true]{opacity:.5;cursor:default;pointer-events:none}.challenge-page button:hover:not(:disabled),.challenge-actions a:hover{border-color:var(--green)}.challenge-actions textarea{width:100%;min-height:120px;background:var(--paper);color:var(--ink)}
.challenge-calendar h2,.challenge-lower h2{font-size:20px;margin:0 0 12px}.challenge-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:16px 0 0}.challenge-day{display:flex;flex-direction:column;gap:10px;align-items:flex-start;text-align:left;padding:14px 10px!important;min-width:0}.challenge-day small{color:var(--muted)}.challenge-day span{font-size:11px;line-height:1.5}.challenge-day[aria-pressed=true]{outline:2px solid var(--green);outline-offset:1px}.challenge-day.completed,.challenge-day.both{background:var(--signal-green-bg,#def3ec);color:var(--signal-green-fg,#22624d)}.challenge-day.improvement{background:var(--signal-purple-bg,#eee3f6)}.challenge-page summary{cursor:pointer;padding:12px 0;font-size:13px;color:var(--green)}.challenge-lower{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.challenge-lower section{margin:0;line-height:1.8}.challenge-lower p,.challenge-lower small{font-size:13px;color:var(--muted)}.challenge-lower details p{overflow-wrap:anywhere}.challenge-page :focus-visible,.challenge-entry a:focus-visible{outline:3px solid var(--green);outline-offset:4px}
@media(max-width:700px){.challenge-entry{padding:18px;gap:12px;flex-wrap:wrap}.challenge-entry h2{font-size:18px}.challenge-icon{width:40px;height:40px}.challenge-entry p{font-size:12px}.challenge-cta{margin:4px 0 0 52px;font-size:13px}.challenge-page{margin-top:20px}.challenge-today,.challenge-calendar,.challenge-evidence,.challenge-social{padding:16px;border-radius:16px}.challenge-days{grid-template-columns:repeat(4,minmax(0,1fr))}.challenge-day{font-size:12px!important;padding:12px 8px!important}.challenge-lower{grid-template-columns:1fr}.challenge-actions{gap:8px}.challenge-actions button,.challenge-actions a{padding:10px 12px}.challenge-top{align-items:flex-start}.challenge-tools{align-items:flex-start;flex-direction:column}}

/* The journal has one complete calendar; selection and today's date are separate. */
.challenge-day-nav{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.challenge-day-nav button{min-width:90px}.challenge-today{scroll-margin-top:24px}
.challenge-legend{display:flex;gap:10px 18px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.challenge-legend-item{display:flex;align-items:center;gap:6px}.challenge-legend-item:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line)}
.challenge-legend-item.improvement:before{background:var(--signal-purple-fg,#805ba6)}.challenge-legend-item.completed:before{background:var(--signal-green-fg,#287d61)}.challenge-legend-item.planned:before{background:var(--signal-gold-fg,#b18528)}
.challenge-day{position:relative;transition:background-color .15s,border-color .15s,box-shadow .15s;min-height:112px}
.challenge-day.future{border-style:dashed}.challenge-day.planned,.challenge-day.banked{background:var(--signal-gold-bg,#fff0d3)}
.challenge-day[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--green)}.challenge-day.pending[aria-pressed=true]{background:var(--signal-purple-bg,#eee3f6)}
.challenge-today-mark{font-size:10px;font-style:normal;color:var(--green);font-weight:700}
@media(hover:hover){.challenge-day:hover:not(:disabled){background:var(--signal-purple-bg,#eee3f6);box-shadow:0 3px 10px #00000012}}
.challenge-day:active{box-shadow:inset 0 0 0 2px var(--green)}
@media(prefers-reduced-motion:reduce){.challenge-day{transition:none}}
@media(max-width:700px){.challenge-day-nav button{min-width:0;padding:10px;font-size:12px}.challenge-day{min-height:110px;gap:7px}}

.challenge-zone-control{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.challenge-zone-toggle{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper)}
.challenge-zone-toggle button{min-width:68px;border:0;border-radius:0;background:transparent}.challenge-zone-toggle button[aria-pressed=true]{background:var(--green);color:var(--paper)}.challenge-zone-toggle button:focus-visible{outline-offset:-4px}
.challenge-zone-caption{font-size:12px;color:var(--muted)}.challenge-zone-notice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;margin:18px 0;border:1px solid var(--line);border-radius:10px;background:var(--signal-purple-bg,#eee3f6);color:var(--ink);font-size:12px;line-height:1.7}.challenge-zone-info{flex:none;color:var(--green);font-size:16px;line-height:1.3}
@media(max-width:700px){.challenge-zone-control{width:100%}.challenge-zone-caption{flex-basis:100%}.challenge-zone-notice{padding:12px}}

.challenge-heading .challenge-counting-note{font-size:13px;line-height:1.7;margin-top:10px;max-width:760px;color:var(--muted)}

.challenge-day{overflow-wrap:anywhere}.challenge-day>*{max-width:100%}
@media(max-width:700px){.challenge-keyboard-hint{display:none}}
@media(max-width:360px){.challenge-days{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media(max-width:700px){.challenge-day-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.challenge-day-nav button{width:100%;padding:10px 6px;overflow-wrap:anywhere}}

.challenge-tools{flex-direction:row;align-items:center;flex-wrap:nowrap}.challenge-zone-label{min-width:0;line-height:1.7}.challenge-zone-label small{font-size:12px}.challenge-zone-control{width:auto;flex:none;margin-left:auto}
