:root{--paper:#faf6ea;--ink:#2c2925;--muted:#726c61;--yellow:#f5d75b;--pink:#f3c6cf;--blue:#c1def0;--green:#d5e9af;--white:#fffdf7;--line:#d8d1bf;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--mono:ui-monospace,"SFMono-Regular",Consolas,monospace}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);background-image:radial-gradient(#c9c0a7 0.7px,transparent 0.7px);background-size:19px 19px;color:var(--ink);font:14px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
button{font:inherit;color:inherit;cursor:pointer}
button:disabled{cursor:wait;opacity:.65}
button,a,summary{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #5269a7;outline-offset:5px}
[hidden]{display:none!important}
.skip{position:fixed;top:-100px;left:20px;z-index:99;background:var(--yellow);padding:12px;border:2px solid}
.skip:focus{top:8px}
.topbar{max-width:1120px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:27px 20px 22px;border-bottom:2px solid var(--ink)}
.brand{display:flex;gap:12px;align-items:center;font-size:31px;line-height:1.1;font-weight:950;letter-spacing:-1px}
.brand:hover{text-decoration:none}
.brandmark{width:47px;height:47px;display:grid;place-items:center;background:var(--yellow);border:2px solid var(--ink);border-radius:12px;box-shadow:3px 3px 0 var(--ink);transform:rotate(-7deg);font:italic 900 42px/1 Georgia,serif;padding-right:6px;padding-bottom:8px}
.brand-sub{display:block;font-size:10px;font-weight:600;letter-spacing:3px;margin-top:7px}
.topbar nav{display:flex;gap:28px;font-weight:600;font-size:13px}
.topbar nav a{padding:10px 0}
.topbar nav span{margin-left:8px}
.page{max-width:1080px;margin:0 auto;padding:40px 0 0}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:31px}
.eyebrow{font:600 10px/1.5 var(--mono);letter-spacing:1.7px;margin:0 0 10px}
.page-heading .eyebrow{color:var(--muted)}
h1{font-size:42px;font-weight:900;line-height:1.35;letter-spacing:-1.5px;margin:0}
h2{font-size:23px;font-weight:800;line-height:1.5;margin:0}
.heading-star{display:inline-block;margin-left:15px;font-size:45px;color:#769448;vertical-align:middle;transform:rotate(12deg)}
.subtitle{margin:10px 0 0;color:var(--muted);font-size:14px}
.update-block{text-align:right;padding-top:20px;min-width:145px}
.button{border:2px solid var(--ink);border-radius:999px;padding:9px 19px;background:var(--white);box-shadow:3px 3px 0 var(--ink);font-weight:700;font-size:13px;min-height:44px;transition:transform .15s,box-shadow .15s}
.button span{font-size:21px;line-height:1;margin-right:5px;vertical-align:-1px}
.button:hover{background:var(--yellow);transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.sync-state{font-size:11px;color:var(--muted);margin:12px 0 0}
.sync-state:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#759343;margin-right:6px}
.sync-state.stale:before{background:#b55d25}
.paper-card{border:2px solid var(--ink);border-radius:17px;box-shadow:5px 6px 0 var(--ink)}
.overview{display:grid;grid-template-columns:1.45fr 1fr;gap:25px;align-items:stretch}
.latest-card{background:var(--yellow);padding:28px 32px 24px;position:relative;min-height:385px;display:flex;flex-direction:column;align-items:flex-start}
.card-top{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px}
.card-top h2{font-size:17px}
.tag{display:inline-flex;align-items:center;padding:3px 10px;border:1.5px solid var(--ink);border-radius:999px;font-size:11px;line-height:1.7;white-space:nowrap;background:var(--white);font-weight:600}
.tag.banked{background:var(--pink)}
.latest-card .tag{background:#ffefaa}
.elapsed-label{margin:31px 0 0;font-size:13px}
.elapsed{margin:0;display:flex;align-items:baseline;gap:10px;line-height:1.18;position:relative;z-index:1;white-space:nowrap;min-height:123px}
.elapsed>strong{font:900 112px/1.15 var(--sans);letter-spacing:-7px;font-variant-numeric:tabular-nums}
.elapsed>span{font-size:30px;font-weight:800}
.elapsed .elapsed-rest{font-size:22px;font-weight:600;margin-left:7px;letter-spacing:-.5px}
.latest-date{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.4px;margin:11px 0 0}
.small-note{font-size:11px;color:var(--muted);line-height:1.8}
.latest-card>.small-note{color:#74632f;margin:3px 0 17px}
.latest-details{border-top:1.5px solid #2c292533;width:100%;margin-top:auto;padding-top:13px;z-index:1}
.latest-details summary{font-size:12px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:32px}
.latest-details summary::-webkit-details-marker{display:none}
.quote{margin:12px 0;border-left:2px solid #2c292555;padding-left:13px;font-size:13px;overflow-wrap:anywhere;white-space:pre-wrap}
.text-link{font-size:12px;text-decoration:underline;text-underline-offset:4px;font-weight:600}
.corner-flower{position:absolute;right:26px;top:102px;font-size:81px;line-height:1;transform:rotate(12deg);opacity:.2;pointer-events:none}
.latest-stamp{position:absolute;right:33px;bottom:83px;border:2px solid #2c292566;color:#2c292599;padding:8px 10px;transform:rotate(-12deg);font:700 10px/1.2 var(--mono);letter-spacing:2px}
.side-stack{display:flex;flex-direction:column;gap:21px;min-width:0}
.scheduled-card{background:var(--pink);padding:24px 26px 20px;position:relative;transform:rotate(.8deg);flex:1}
.tape{position:absolute;top:-13px;left:calc(50% - 36px);width:72px;height:23px;transform:rotate(-5deg);background:#f5e9c5c9;border:1px solid #a6926760;clip-path:polygon(2% 0,98% 0,100% 20%,98% 40%,100% 60%,98% 80%,100% 100%,0 100%,2% 80%,0 60%,2% 40%,0 20%)}
.scheduled-card .eyebrow{font-size:9px;letter-spacing:1.3px;margin:0}
.note-star{font-size:25px;line-height:1}
.scheduled-card h2{font-size:23px;margin:18px 0 5px}
.scheduled-time{font-size:15px;font-weight:650;margin:0 0 10px}
.scheduled-note{font-size:12px;line-height:1.8;margin:0;color:#735d61}
.announcement{margin-top:15px}
.announcement summary{font-size:12px;cursor:pointer;min-height:27px;font-weight:600;list-style:none}
.announcement summary::-webkit-details-marker{display:none}
.announcement summary span{margin-left:6px}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.stat{padding:15px 20px;min-height:109px;border-radius:12px}
.stat-blue{background:var(--blue);transform:rotate(-.8deg)}
.stat-green{background:var(--green);transform:rotate(.6deg)}
.stat>span{font-size:11px;font-weight:600}
.stat p{display:flex;gap:6px;align-items:baseline;margin:3px 0 0;line-height:1.2}
.stat strong{font-size:35px;font-weight:850;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.stat p span{font-size:12px}
.stat small{font-size:9px;color:#5c694d;display:block;margin-top:5px}
.watch-card{background:#ffebbc;padding:25px;margin-top:28px}
.watch-card h2{font-size:18px;margin-top:10px}
.watch-card>p{overflow-wrap:anywhere}
.alert{background:#ffe2be;border:2px solid var(--ink);border-radius:10px;padding:14px 18px;margin:0 0 24px;font-size:13px}
.history{margin-top:43px;background:var(--white);padding:29px 32px 28px}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}
.section-heading .eyebrow{color:var(--muted);font-size:9px;margin-bottom:2px}
.section-heading h2{font-size:29px;letter-spacing:-1px}
.title-dot{color:#809854;font-size:41px;line-height:1;margin-left:2px}
.timezone{font-size:10px;color:var(--muted);border:1px dashed #aaa18b;border-radius:5px;padding:5px 8px;transform:rotate(-2deg)}
.timezone b{font:500 10px var(--mono);margin-left:3px}
.calendar-wrap{margin:21px 0 25px;background:#f6f3e8;border:1px solid var(--line);border-radius:10px;padding:15px 20px 10px}
.calendar-info{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;color:var(--muted);margin-bottom:12px}
.legend{display:flex;gap:13px}
.legend>span{display:flex;gap:5px;align-items:center}
.legend i{width:9px;height:9px;background:#eee9db;border:1px solid #c6beaa;border-radius:2px}
.legend i.regular{background:var(--green);border-color:#829359}
.legend i.banked{background:var(--pink);border-color:#ad7d89}
.calendar{display:grid;grid-template-rows:repeat(7,11px);grid-auto-flow:column;grid-auto-columns:minmax(9px,1fr);gap:4px;min-width:380px}
.calendar-weekday{font:9px/11px var(--mono);color:var(--muted);padding-right:5px}
.calendar-day{background:#e9e4d7;border:1px solid #dad3c1;border-radius:2px;min-width:0;padding:0;position:relative}
.calendar-day.regular{background:var(--green);border-color:#7d9555}
.calendar-day.banked{background:var(--pink);border-color:#ad7d89}
.calendar-day.mixed{background:var(--yellow);border-color:#a48c26}
.calendar-day.future{opacity:.3}
.calendar-day[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:1px}
.calendar-day:hover:not(.future){border-color:var(--ink)}
.calendar-caption{font-size:10px;color:var(--muted);margin:10px 0 0}
.history-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:7px}
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tabs button{border:1.5px solid transparent;border-radius:999px;background:transparent;padding:7px 15px;min-height:40px;font-size:12px;font-weight:650}
.tabs button[aria-pressed=true]{background:var(--ink);color:var(--white)}
.tabs button:hover{border-color:var(--ink)}
.selected-day{display:flex;align-items:center;justify-content:space-between;font-size:12px;background:#f1eddf;padding:8px 13px;border-radius:6px;margin:13px 0}
.selected-day button{border:0;background:transparent;font-size:11px;min-height:32px;text-decoration:underline}
.history-freshness{font-size:12px;color:#8a4f1d;background:#fff1d6;padding:12px;border:1px solid #d4b584;border-radius:7px}
.record{border-top:1px solid var(--line);padding:23px 0 20px;display:grid;grid-template-columns:98px minmax(0,1fr);gap:22px}
.record:first-child{margin-top:13px}
.record-date{font:800 28px/1.25 var(--sans);letter-spacing:-1px;font-variant-numeric:tabular-nums}
.record-date small{display:block;font:500 10px/1.5 var(--mono);letter-spacing:0;color:var(--muted);margin-top:6px}
.record-heading{display:flex;gap:10px;align-items:center}
.record-heading .tag{background:var(--green);border:0;font-size:10px;padding:3px 10px}
.record-heading .tag.banked{background:var(--pink)}
.record-heading .small-note{font-size:10px}
.record details{margin-top:7px}
.record summary{list-style:none;cursor:pointer}
.record summary::-webkit-details-marker{display:none}
.record-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;color:#554f45;line-height:1.8;overflow-wrap:anywhere}
.record-toggle{display:block;margin-top:7px;font-size:10px;color:var(--muted);min-height:28px;line-height:28px}
.record-toggle:after{content:"查看完整原文 ＋"}
.record details[open] .record-preview{display:none}
.record details[open] .record-toggle:after{content:"收起原文 −"}
.record-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 12px;font-size:13px;line-height:1.9}
.record-source{font-size:11px;text-decoration:underline;text-underline-offset:3px}
.more-button{display:flex;justify-content:center;gap:22px;align-items:center;width:100%;border:1.5px solid var(--ink);border-radius:8px;background:#f8f4e9;min-height:47px;font-size:12px;font-weight:650;box-shadow:2px 3px 0 var(--ink);margin-top:10px}
.more-button:hover{background:var(--yellow)}
.empty{padding:28px 0;color:var(--muted);font-size:13px}
.reading-note{margin:27px 0 39px;font-size:12px}
.reading-note summary{cursor:pointer;display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px dashed #b7ad94;list-style:none;font-weight:600}
.reading-note summary::-webkit-details-marker{display:none}
.reading-note>div{color:var(--muted);max-width:800px;line-height:1.9}
.site-footer{max-width:1080px;margin:0 auto;padding:26px 0 30px;border-top:2px solid var(--ink);font-size:10px;color:var(--muted)}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:20px}
.footer-brand{font-size:23px;font-weight:900;letter-spacing:-1px;color:var(--ink)}
.footer-brand span{font-size:11px;font-weight:400;letter-spacing:0;margin-left:16px;color:var(--muted)}
.footer-top nav{display:flex;gap:20px;font-size:11px}
.site-footer>p{margin:15px 0 9px}
.footer-bottom{display:flex;flex-wrap:wrap;gap:10px 23px;align-items:start}
.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
.data-details{margin-left:auto;max-width:370px}
.data-details summary{cursor:pointer}
.data-details dl{margin:10px 0}
.data-details dl>div{display:flex;justify-content:space-between;gap:15px}
.data-details dd{margin:0}
.data-details>span{font-size:9px}
.guide-wrap{max-width:900px;padding:35px 25px;margin:25px auto;background:var(--white);border:2px solid var(--ink);border-radius:15px;box-shadow:5px 6px 0 var(--ink)}
.guide-back{font-size:12px;color:var(--muted)}
.guide-content{padding:25px 0;overflow-wrap:anywhere}
.guide-content h1{font-size:29px;letter-spacing:-.5px}
.guide-content h2{margin-top:35px;font-size:21px}
.guide-content h3{margin-top:25px}
.guide-content p,.guide-content li{color:#575246;line-height:1.9}
.guide-content a{text-decoration:underline;text-underline-offset:3px}
.guide-content pre{padding:18px;background:#f0ecdf;border:1px solid var(--line);border-radius:7px;overflow-x:auto;font-size:12px;line-height:1.7}
.guide-content table{display:block;overflow-x:auto;border-collapse:collapse;font-size:12px}
.guide-content td,.guide-content th{border:1px solid var(--line);padding:10px;text-align:left}
.guide-content code{font-size:.9em}
.guide-content blockquote{border-left:3px solid #83986d;margin-left:0;padding-left:20px}
.guide-footer{border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:var(--muted)}

@media(min-width:1440px){.topbar{padding-top:30px;padding-bottom:25px}
.page{padding-top:45px}
.latest-card{min-height:402px}
.elapsed{min-height:132px}
.elapsed>strong{font-size:123px}
.elapsed-label{margin-top:32px}
}

@media(max-width:1160px){.topbar{margin:0 30px;padding-left:0;padding-right:0}
.page,.site-footer{margin-left:30px;margin-right:30px}
.elapsed>strong{font-size:103px}
.elapsed .elapsed-rest{font-size:20px}
.latest-stamp{right:25px}
.corner-flower{right:20px}
}

@media(max-width:900px){h1{font-size:35px}
.heading-star{font-size:35px}
.overview{gap:20px;grid-template-columns:1.25fr 1fr}
.latest-card{padding:24px;min-height:380px}
.elapsed>strong{font-size:90px}
.elapsed>span{font-size:25px}
.elapsed .elapsed-rest{font-size:17px;margin-left:0}
.latest-date{font-size:17px}
.latest-stamp{display:none}
.corner-flower{font-size:65px;top:165px;right:15px}
.scheduled-card{padding:22px 20px}
.scheduled-card h2{font-size:20px}
.stat{padding:15px}
.stats-grid{gap:14px}
.stat strong{font-size:29px}
.history{padding:25px}
.footer-brand span{display:none}
}

@media(max-width:640px){.topbar{margin:0 20px;padding:20px 0 18px}
.brand{font-size:27px;gap:10px}
.brandmark{width:40px;height:40px;font-size:36px;border-radius:10px}
.brand-sub{font-size:9px;letter-spacing:2px}
.topbar nav{gap:22px;font-size:12px}
.page,.site-footer{margin-left:20px;margin-right:20px}
.page{padding-top:28px}
.page-heading{display:block;position:relative;margin-bottom:24px}
.page-heading .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:8px}
h1{font-size:30px;letter-spacing:-1.2px}
.heading-star{font-size:31px;margin-left:8px}
.subtitle{font-size:12px;margin-top:7px}
.update-block{display:flex;align-items:center;justify-content:space-between;padding-top:17px;text-align:left;gap:10px}
.button{font-size:11px;padding:5px 12px;min-height:39px;order:2;box-shadow:2px 2px 0 var(--ink)}
.button span{font-size:19px}
.sync-state{font-size:10px;margin:0}
.overview{grid-template-columns:1fr;gap:25px}
.latest-card{padding:23px 24px 20px;min-height:344px}
.card-top h2{font-size:16px}
.elapsed-label{margin-top:22px;font-size:12px}
.elapsed{min-height:107px;gap:8px}
.elapsed>strong{font-size:96px;letter-spacing:-5px}
.elapsed>span{font-size:27px}
.elapsed .elapsed-rest{font-size:20px;margin-left:3px}
.latest-date{font-size:19px;margin-top:7px}
.latest-card>.small-note{font-size:10px;margin-bottom:15px}
.corner-flower{top:108px;right:22px;font-size:70px}
.scheduled-card{padding:22px 23px;transform:rotate(.6deg)}
.scheduled-card h2{font-size:22px;margin-top:11px}
.scheduled-time{font-size:15px}
.scheduled-note{font-size:12px}
.side-stack{gap:21px}
.stat{padding:15px 20px;min-height:112px}
.stat strong{font-size:35px}
.stat small{font-size:10px}
.history{margin-top:33px;padding:22px 19px}
.section-heading h2{font-size:25px}
.section-heading .eyebrow{font-size:8px}
.timezone{font-size:9px;padding:4px 6px}
.timezone b{font-size:9px;display:block}
.calendar-wrap{margin:17px 0 22px;padding:12px 11px 8px}
.calendar-info{font-size:9px;align-items:flex-start;gap:8px}
.legend{gap:7px;flex-wrap:wrap;justify-content:flex-end}
.legend i{width:8px;height:8px}
.calendar-scroll{overflow-x:auto;padding:3px 0 7px}
.calendar{min-width:0;grid-auto-columns:minmax(7px,1fr);gap:3px;grid-template-rows:repeat(7,12px)}
.calendar-caption{font-size:9px;line-height:1.7}
.calendar-weekday{font-size:8px;padding:0}
.history-toolbar{display:block;margin-bottom:6px}
.tabs{gap:2px;justify-content:space-between}
.tabs button{padding:7px 11px;min-height:44px;font-size:11px}
.history-toolbar>.small-note{display:block;margin-top:12px;font-size:10px}
.record{grid-template-columns:59px minmax(0,1fr);gap:15px;padding:21px 0 16px}
.record-date{font-size:22px;letter-spacing:-.5px}
.record-date small{font-size:9px}
.record-heading{gap:7px;flex-wrap:wrap}
.record-heading .small-note{font-size:9px}
.record-preview{font-size:12px;line-height:1.85}
.record-toggle{min-height:38px;line-height:38px;margin:4px 0 0}
.record-text{font-size:12px}
.selected-day{gap:8px;font-size:11px;padding:7px}
.selected-day button{font-size:10px}
.reading-note{font-size:11px;margin:24px 0 30px}
.reading-note summary{padding:13px 0}
.footer-top{align-items:flex-start}
.footer-top nav{font-size:10px;gap:13px;padding-top:6px}
.site-footer{padding-top:22px;font-size:10px}
.site-footer>p{line-height:1.9;margin-top:14px}
.footer-bottom{gap:8px}
.footer-bottom>span{width:100%}
.data-details{margin-left:0;width:100%}
.data-details summary{min-height:32px;padding-top:3px}
.guide-wrap{margin:25px 18px;padding:25px 20px}
.guide-content h1{font-size:25px}
.guide-content h2{font-size:20px}
.watch-card{padding:20px}
.alert{font-size:12px;padding:13px}
}

@media(max-width:360px){h1{font-size:27px}
.heading-star{font-size:27px}
.page,.site-footer,.topbar{margin-left:16px;margin-right:16px}
.elapsed .elapsed-rest{font-size:17px}
.elapsed>strong{font-size:86px}
.latest-date{font-size:17px}
.stat{padding:14px}
.history{padding:19px 15px}
.tabs button{font-size:10px;padding:7px 9px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.button{transition:none}
}


/* Calendar cells stay comfortable to tap; the narrow layout scrolls within the paper. */
.calendar{grid-template-columns:20px repeat(12,minmax(0,1fr));grid-template-rows:repeat(7,23px);gap:5px}
.calendar-weekday{line-height:23px}
.calendar-hint{display:none}

@media(max-width:640px){.calendar{min-width:600px;grid-template-columns:18px repeat(12,minmax(0,1fr));grid-template-rows:repeat(7,36px);gap:5px}
.calendar-weekday{line-height:36px}
.calendar-hint{display:inline}
.calendar-scroll{padding-bottom:10px}
.calendar-caption{font-size:10px}
.legend{gap:6px}
.legend i{flex-shrink:0}
}


.calendar{grid-template-rows:18px repeat(7,23px)}
.calendar-day{font:10px/21px var(--mono);text-align:center;color:#766e5d}
.calendar-day.regular,.calendar-day.banked,.calendar-day.mixed{color:var(--ink);font-weight:700}
.calendar-weeklabel{font:9px/16px var(--mono);color:var(--muted);text-align:center}
.calendar-weekday{position:sticky;left:0;z-index:2;background:#f6f3e8}
.elapsed.long-gap>strong{font-size:85px;letter-spacing:-5px}

@media(max-width:640px){.calendar{grid-template-rows:18px repeat(7,36px)}
.calendar-day{font-size:10px;line-height:34px}
.calendar-weeklabel{font-size:9px}
.elapsed.long-gap>strong{font-size:65px;letter-spacing:-4px}
.elapsed.long-gap .elapsed-rest{font-size:16px}
}


.calendar.empty-calendar{display:block;min-width:0;padding:20px 0;font-size:12px;color:var(--muted)}
/* v1.2 — a small interactive wish machine, never a real account reset control. */
.page-heading{align-items:flex-start}.update-block{padding-top:38px}.notification-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.channel{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:6px 11px;border:1.5px solid var(--ink);border-radius:999px;background:var(--white);box-shadow:2px 3px 0 var(--ink);font-size:11px;font-weight:650;transition:transform .15s,background .15s}.channel:hover{transform:translateY(-2px);background:#f6edce}.channel small{font-size:8px;color:#8c8372;font-weight:400}.browser-channel{background:var(--yellow)}.browser-channel[aria-pressed=true]{background:var(--green)}.channel-icon{display:grid;place-items:center;width:19px;height:20px}.channel-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.channel-feedback{max-width:590px;font-size:11px;color:var(--muted);line-height:1.8;margin:12px 0 0}.reset-lab{padding:21px 23px 16px;transform:rotate(.5deg);transition:box-shadow .2s,background .2s}.reset-lab:focus-within,.reset-lab:hover{box-shadow:7px 8px 0 var(--ink);background:#f4cbd3}.waiting-dot{width:8px;height:8px;border:1.5px solid var(--ink);border-radius:50%;background:var(--yellow);box-shadow:0 0 0 4px #fff8;animation:waiting-pulse 2.4s ease-in-out infinite}.reset-scene{height:215px;position:relative;margin-top:8px;isolation:isolate}.wish-button{position:absolute;inset:0;width:100%;border:0;background:none;min-height:0;cursor:pointer;border-radius:16px;opacity:1!important}.wish-button:disabled{cursor:wait}.reset-hand{position:absolute;z-index:4;left:50%;margin-left:-43px;top:-3px;width:126px;height:auto;pointer-events:none;transform-origin:70% 15%;animation:hand-float 3s ease-in-out infinite;filter:drop-shadow(3px 5px 0 #2c29251a)}.reset-key{position:absolute;width:179px;height:66px;bottom:21px;left:50%;margin-left:-89px;background:#756f58;border:2px solid var(--ink);border-radius:50%;box-shadow:0 6px 0 var(--ink);transform:rotate(-7deg)}.key-face{display:grid;place-items:center;position:absolute;inset:-9px -2px 8px;background:var(--yellow);border:2px solid var(--ink);border-radius:50%;transition:background .18s,box-shadow .18s,transform .18s}.key-label{font:800 15px/1 var(--mono);letter-spacing:-.7px;transform:rotate(7deg);transition:opacity .15s}.key-wish{position:absolute;font-size:20px;font-weight:900;opacity:0;transform:rotate(7deg);transition:opacity .18s}.wish-button:hover .key-face,.wish-button:focus-visible .key-face{background:#ffee86;box-shadow:0 0 0 6px #fff4,0 0 28px 12px #ffeda370}.wish-button:hover .key-label,.wish-button:focus-visible .key-label{opacity:0}.wish-button:hover .key-wish,.wish-button:focus-visible .key-wish{opacity:1}.wish-glow{position:absolute;width:174px;height:174px;border-radius:50%;left:50%;top:20px;margin-left:-87px;background:#ffeba95c;transform:scale(.8);opacity:0;transition:opacity .3s,transform .3s}.wish-button:hover .wish-glow,.wish-button:focus-visible .wish-glow{opacity:1;transform:scale(1.12)}.scene-orbit{position:absolute;width:238px;height:65px;border:1px dashed #a78287;border-radius:50%;left:50%;margin-left:-119px;bottom:7px;transform:rotate(-8deg);pointer-events:none}.scene-star{position:absolute;color:#70545c;pointer-events:none;transition:transform .3s,color .3s}.star-one{left:16%;top:32px;font-size:22px;transform:rotate(-12deg)}.star-two{right:11%;bottom:30px;font-size:27px;color:#a47779}.reset-lab:hover .star-one{transform:rotate(35deg) scale(1.2);color:#ad6a00}.reset-lab:hover .star-two{transform:rotate(-30deg)}.lab-status{text-align:center}.reset-lab h2{font-size:18px;margin:0 0 1px}.reset-lab .scheduled-time{font-size:12px;margin:2px 0}.reset-lab .scheduled-note{font-size:10px;margin:3px 0 12px}.wish-meter{border-top:1px dashed #ab8991;padding-top:12px;display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:10px;color:#785762}.wish-meter strong{font:800 23px/1.3 var(--sans);letter-spacing:-.7px;color:var(--ink);font-variant-numeric:tabular-nums;margin-left:5px}.wish-meter b{font-weight:700;color:var(--ink)}.wish-feedback{font-size:10px;color:#755a61;text-align:center;min-height:18px;margin:8px 0 0}.wish-explainer{font-size:9px;color:#7b6368;text-align:center;margin-top:2px}.wish-explainer summary{cursor:pointer;display:inline-block;text-decoration:underline;text-underline-offset:3px;min-height:24px}.wish-explainer p{text-align:left;font-size:10px}.wish-burst{position:absolute;left:29%;top:93px;font-size:21px;font-weight:900;opacity:0;pointer-events:none;z-index:5}.pressing .reset-hand{animation:hand-press .85s ease-in-out}.pressing .key-face{animation:key-press .85s ease-in-out}.wish-success .wish-burst{animation:wish-pop .85s ease-out}.reset-lab .announcement{border-top:1px solid #b491983b;padding-top:9px;margin-top:8px}.reset-lab .announcement>summary{text-align:center;font-size:10px}.latest-message{max-width:100%;margin:10px 0 24px;border-top:1px dashed #9d853d;padding-top:19px;width:100%}.message-label{font-size:10px;color:#776330;font-weight:700}.latest-message>p{font-size:19px;line-height:1.8;margin:8px 0 0;font-weight:650;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.latest-card .elapsed-label{margin-top:37px}.latest-card .latest-stamp{bottom:77px}.original-text{font-size:11px;margin:12px 0;color:#766747}.original-text summary{cursor:pointer;min-height:30px}.original-text p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.record-translation{font-size:14px;line-height:1.85;color:#423d35;white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0 5px}.translation-note{font-size:9px;color:var(--muted);margin:4px 0 7px}.record-source-link{display:inline-block;font-size:10px;text-decoration:underline;text-underline-offset:3px;min-height:28px;padding:3px 0}.record.translated .record-preview{display:none}.record.translated .record-toggle:after{content:'展开英文原文 ＋'}.record.translated details[open] .record-toggle:after{content:'收起英文原文 −'}.reset-lab[data-state=unavailable] .waiting-dot{background:#cba9a1}.reset-lab[data-state=stale] .waiting-dot{background:#e2b36a}
@keyframes hand-float{0%,100%{transform:translateY(-7px) rotate(-3deg)}50%{transform:translateY(2px) rotate(1deg)}}
@keyframes hand-press{0%,100%{transform:translateY(-3px) rotate(-2deg)}35%,52%{transform:translateY(23px) rotate(3deg)}75%{transform:translateY(-10px) rotate(-4deg)}}
@keyframes key-press{0%,100%{transform:translateY(0)}35%,52%{transform:translateY(7px);background:#fff09a}}
@keyframes wish-pop{0%{opacity:0;transform:translateY(12px) scale(.7)}35%{opacity:1;transform:translateY(-5px) scale(1.2)}100%{opacity:0;transform:translateY(-45px) scale(.9)}}
@keyframes waiting-pulse{50%{box-shadow:0 0 0 7px #fff3}}
@media(max-width:900px){.channel{font-size:10px;padding:5px 8px}.notification-buttons{max-width:470px}.reset-lab{padding-left:17px;padding-right:17px}.reset-key{width:160px;margin-left:-80px}.wish-meter{flex-wrap:wrap;gap:3px 10px}.wish-meter strong{font-size:21px}.latest-message>p{font-size:17px}.scene-orbit{width:210px;margin-left:-105px}}
@media(max-width:640px){.notification-buttons{gap:8px;margin-top:15px}.channel{font-size:10px;min-height:38px;padding:5px 10px}.channel small{font-size:8px}.channel-icon,.channel-icon svg{width:16px;height:16px}.update-block{padding-top:20px}.latest-card .elapsed-label{margin-top:23px}.latest-message{padding-top:14px;margin:8px 0 17px}.latest-message>p{font-size:16px;-webkit-line-clamp:3;line-height:1.8}.reset-lab{padding:21px 23px 16px}.reset-scene{height:219px}.reset-hand{width:130px}.reset-key{width:179px;margin-left:-89px}.reset-lab h2{font-size:19px}.reset-lab .scheduled-time{font-size:13px}.reset-lab .scheduled-note{font-size:11px}.wish-meter{font-size:10px}.wish-meter strong{font-size:24px}.wish-feedback{font-size:11px;margin-top:10px}.wish-explainer summary{font-size:10px;min-height:32px;padding-top:4px}.reset-lab .announcement>summary{min-height:38px;line-height:38px;font-size:11px}.record-translation{font-size:12px;line-height:1.9}.record-source-link{min-height:34px;padding-top:7px}.channel-feedback{font-size:10px}.wish-button .key-wish{opacity:1;font-size:16px}.wish-button .key-label{opacity:0}.reset-key:after{content:'codex reset';position:absolute;bottom:-26px;left:0;right:0;font:9px var(--mono);letter-spacing:.5px}}
@media(prefers-reduced-motion:reduce){.reset-hand,.waiting-dot,.pressing .reset-hand,.pressing .key-face,.wish-success .wish-burst{animation:none!important}.channel,.key-face,.key-label,.key-wish,.scene-star{transition:none}.pressing .reset-hand{transform:translateY(15px)}.pressing .key-face{transform:translateY(6px)}}

.translation-full>summary{list-style:none;cursor:pointer}.translation-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;line-height:1.85;color:#423d35;margin-top:9px}.translation-more{display:block;font-size:10px;color:var(--muted);padding:7px 0}.translation-full[open] .translation-excerpt{display:none}.translation-full[open] .record-translation{margin-top:0}.record .original-text{white-space:pre-wrap}@media(max-width:640px){.translation-excerpt{font-size:12px;line-height:1.9}.translation-more{min-height:38px;line-height:24px}}

/* Author attribution is separate from the independent TIBO brand. */
.message-author{display:flex;align-items:center;gap:11px;margin:0 0 12px}.message-author img{border:2px solid var(--ink);border-radius:50%;object-fit:cover;box-shadow:2px 2px 0 #2c292530}.message-author strong{font-size:16px}.message-author span{font:11px var(--mono);margin-left:8px;color:#776330}.message-author small{display:block;font-size:9px;color:#776330;letter-spacing:.4px}.latest-message>p.short-original{display:block;font-size:14px;line-height:1.65;font-weight:450;color:#665a36;margin-top:8px;overflow:visible;-webkit-line-clamp:unset}.reset-lab{transition:background-color .6s,border-color .6s}.reset-lab[data-state=reset],.reset-lab[data-state=announcement]{background:#d5e9af}.reset-lab[data-state=reset] .waiting-dot,.reset-lab[data-state=announcement] .waiting-dot{background:#3e843a;box-shadow:0 0 0 5px #eff9d0}.reset-lab[data-state=reset] .scene-star,.reset-lab[data-state=announcement] .scene-star{color:#53843c}.reset-lab[data-state=reset] .key-face,.reset-lab[data-state=announcement] .key-face{background:#e7f29b}.reset-lab[data-state=stale] .lab-status:after{content:'记录暂未更新';font-size:10px;color:#815f39}.reset-lab[data-state=unavailable] .lab-status:after{content:'暂时无法核对新消息';font-size:10px;color:#815f39}
@media(max-width:640px){.latest-card .card-top{gap:12px}.latest-card .card-top h2{font-size:16px}.message-author strong{font-size:14px}.message-author span{font-size:10px}.latest-message>p.short-original{font-size:12px}.wish-meter{gap:8px}}
@media(prefers-reduced-motion:reduce){.reset-lab{transition:none}}

/* A community purpose line, shared by the homepage and guide headers. */
.brand-copy{min-width:0}
.brand .brand-sub{font:600 11px/1.5 var(--sans);letter-spacing:.15px;margin-top:6px;color:#645c49}
.brand .brand-sub>span{display:block}
@media(max-width:640px){.brand .brand-sub{font-size:9px;line-height:1.55}.topbar{gap:12px}.topbar nav{flex-shrink:0}}
