/* Self-contained formal homepage paper layout. Preview scripts and fixtures are not included. */
:root{color-scheme:light;--bg:#eeebe3;--paper:#faf9f5;--ink:#292922;--muted:#706f65;--line:#d8d5cb;--accent:#885844;--green:#e3e6d9;--serif:'Helemate Noto Serif SC','Songti SC',serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--serif);font-synthesis:none}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer;min-height:44px;padding:5px 10px}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:hover,a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}small{color:var(--muted)}.review-bar{display:flex;align-items:center;justify-content:center;gap:20px;min-height:34px;padding:3px 18px;background:#deddd3;font:12px/1.5 system-ui,sans-serif;color:#57594f}.review-bar select{border:0;background:transparent;min-height:30px;font-size:12px}.shell{width:min(1120px,100% - 80px);margin:auto}.masthead{height:86px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{line-height:1.2}.brand strong{font-size:25px;letter-spacing:.12em}.brand small{display:block;letter-spacing:.2em;font:9px/2.5 Georgia,serif}.masthead nav{display:flex;align-items:center;gap:28px;font-size:14px}.masthead nav a{padding:10px 0}.masthead nav button{padding:10px 0}.intro{padding:30px 0 32px}.intro h1{font-size:32px;letter-spacing:.04em}.intro>span{display:block;margin-top:9px;font:12px/1.5 Georgia,serif;letter-spacing:.12em;word-spacing:.12em;color:var(--muted)}.calendar{grid-area:calendar;margin-bottom:23px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:14px}.section-head h2{font-size:23px}.section-head button{color:var(--muted);font-size:13px;padding-right:0;white-space:nowrap}.calendar h2{font-size:26px}.calendar h2 span{font-size:13px;color:var(--muted);margin-left:10px}.calendar .section-head{margin-bottom:10px}.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.day{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:68px;padding:5px 0 10px;border-radius:2px;color:var(--muted)}.day small{font-size:11px}.day strong{font-size:21px;font-weight:400;color:var(--ink)}.day[aria-pressed=true]{background:var(--ink);color:var(--paper)}.day[aria-pressed=true] strong,.day[aria-pressed=true] small{color:inherit}.day.has-note:after{content:'';position:absolute;width:3px;height:3px;border-radius:50%;bottom:5px;background:currentColor}.site-footer{border-top:1px solid var(--line);padding:25px 0 32px;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:11px;color:var(--muted)}.bottom-nav{display:none}.empty{padding:18px 0;color:var(--muted)}.empty button{display:block;padding:5px 0;color:var(--accent);font-size:14px}.card-back{width:100px;aspect-ratio:600/1040;background:#2e3e34;border:4px double #ac9e71;display:grid;place-items:center;color:#cfbf8e;font-size:28px;outline:1px solid #ac9e71;outline-offset:-9px}.records-head{display:flex;align-items:center;justify-content:space-between;padding:36px 0}.records-head h1{font-size:32px}.records-head button{font-size:14px;color:var(--accent)}#records-view{max-width:740px;margin:auto;min-height:70vh}.period{display:flex;gap:12px;margin:12px 0}.period button{padding:4px 0;color:var(--muted);font-size:14px}.period button[aria-pressed=true]{border-bottom:2px solid var(--accent);color:var(--accent)}.recent{margin:30px 0}.record-row{display:flex;gap:18px;text-align:left;align-items:center;width:100%;padding:18px 0;border-bottom:1px solid var(--line)}.record-row img{width:42px}.record-row small{font-size:11px;display:block;margin-bottom:5px}.record-row strong{font-size:18px;font-weight:500}.record-row>b{margin-left:auto;font-weight:400}.toast{position:fixed;z-index:10;bottom:25px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;background:var(--ink);color:var(--paper);padding:4px 18px;border-radius:3px;max-width:calc(100% - 24px);font-size:13px;white-space:nowrap}.toast button{color:#e8c4b2}dialog{width:min(440px,calc(100% - 32px));padding:22px 26px 26px;border:1px solid var(--line);border-radius:4px;background:var(--paper);max-height:85dvh;color:var(--ink)}dialog::backdrop{background:#29292266}dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}dialog h2{font-size:23px}dialog header button{font-size:27px;padding:0}dialog p{font-size:14px;margin-bottom:18px;color:var(--muted)}dialog label{display:block;font-size:14px;margin:15px 0 6px}dialog input:not([type=checkbox]),dialog textarea{width:100%;border:1px solid var(--line);background:#f5f3ec;padding:12px;border-radius:2px;font-size:16px}dialog textarea{resize:vertical;min-height:140px}dialog .primary{background:var(--ink);color:var(--paper);width:100%;margin-top:18px;border-radius:2px}dialog .menu-item{display:block;width:100%;text-align:left;border-bottom:1px solid var(--line);padding:13px 0}dialog .danger{color:#963d34}dialog .saved-card{display:block;height:240px;width:auto;margin:20px auto}dialog .check{display:flex;gap:8px;align-items:center}dialog .check input{width:18px;height:18px}dialog .all-thing{border-bottom:1px solid var(--line);padding:12px 0;display:flex;align-items:center;gap:14px}dialog .all-thing span{flex:1;font-size:16px}dialog .all-thing button{font-size:12px;color:var(--accent)}.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.month-grid button{padding:4px}.month-grid button:first-child{grid-column:2}.modal-links{display:grid;gap:5px}.modal-links a{padding:12px 0;border-bottom:1px solid var(--line)}
@media(max-width:759px){.shell{width:calc(100% - 40px)}.masthead{height:70px}.brand strong{font-size:22px}.brand small{font-size:8px}.masthead nav{gap:23px;font-size:14px}.desktop-link{display:none!important}.intro{padding:22px 0 22px}.intro h1{font-size:24px;letter-spacing:.02em;white-space:nowrap}.intro>span{display:block;margin-top:7px;font-size:10px;letter-spacing:.13em}.calendar{margin-bottom:18px}.calendar h2{font-size:23px}.calendar h2 span{font-size:12px}.calendar .section-head{margin-bottom:5px}.week{gap:7px}.day{min-height:62px}.day strong{font-size:20px}.day small{font-size:10px}.section-head h2{font-size:21px}.section-head button{font-size:12px}.site-footer{gap:6px 16px;padding:20px 0 calc(92px + env(safe-area-inset-bottom));font-size:10px}.site-footer a:last-child{flex-basis:100%}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;border-top:1px solid var(--line);background:var(--paper);padding:0 12px env(safe-area-inset-bottom);z-index:5}.bottom-nav button{position:relative;flex:1;min-height:62px;font-size:17px}.bottom-nav button[aria-current=page]{color:var(--accent)}.bottom-nav button[aria-current=page]:before{content:'';position:absolute;top:-1px;left:20%;right:20%;height:2px;background:var(--accent)}.bottom-nav button:last-child{color:var(--accent)}.bottom-nav button span{margin-left:5px}.toast{bottom:calc(78px + env(safe-area-inset-bottom))}.records-head{padding:25px 0}.records-head h1{font-size:29px}.record-row strong{font-size:17px}dialog{padding:18px 22px 24px}.review-bar{justify-content:space-between;font-size:10px;padding-block:0}.review-bar select{font-size:11px}.guest .calendar,.guest .tracking,.guest .activity{display:none}}@media(max-width:359px){.shell{width:calc(100% - 32px)}.intro h1{font-size:22px}.week{gap:4px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

@media(min-width:760px){.guest .calendar,.guest .tracking,.guest .activity{display:none}.guest .letter{margin-top:0}}

/* Existing record-summary view. */
.daily-review{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 32px;background:var(--paper);border:1px solid var(--line)}
.daily-review h2{font-size:24px}
.daily-review p{font-size:13px;color:var(--muted)}
.daily-review figure{width:78px;text-align:center}
.daily-review img{width:78px;display:block}
.daily-review figcaption{font-size:14px;padding-top:10px}
.daily-review figcaption span{display:block;color:var(--muted);font-size:12px}
@media(max-width:759px){.daily-review{padding:20px 24px}
.daily-review h2{font-size:23px}}


.calendar{min-width:0;margin-bottom:26px}
.ledger-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 26px}
.ledger-date{display:flex;align-items:center;gap:24px}
.ledger-date>strong{font:86px/.95 Georgia,'Times New Roman',serif;letter-spacing:-6px;min-width:88px}
.ledger-date>div{display:grid;gap:10px;border-left:1px solid var(--line);padding-left:24px;font-size:18px}
.ledger-date small{font-size:12px;color:var(--muted)}
.ledger-calendar-actions{display:flex;flex-direction:column;align-items:flex-end;font-size:13px;color:var(--muted)}
.ledger-calendar-actions button{min-width:44px;min-height:44px;padding:6px 0;color:inherit;font-size:inherit}
.ledger-week{display:flex;gap:0;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y pinch-zoom;user-select:none;-webkit-user-select:none;background:var(--paper);border:1px solid var(--line);border-radius:5px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:none}
.ledger-week::-webkit-scrollbar{display:none}
.ledger-week-page{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));flex:0 0 100%;min-width:0}
.ledger-week button{border:0;border-right:1px solid var(--line);border-radius:0;background:none;padding:12px 2px 9px;display:grid;justify-items:center;gap:7px;font:inherit;min-width:0;color:var(--ink)}
.ledger-week small,.ledger-week span{font-size:11px;color:var(--muted)}
.ledger-week strong{font:24px/1.1 Georgia,serif;position:relative;font-weight:500}
.ledger-week .is-today strong:after{content:'';position:absolute;left:calc(50% - 9px);bottom:-4px;width:18px;border-bottom:1px solid currentColor}
.ledger-week i{width:3px;height:3px;border-radius:50%;background:transparent;margin-top:1px}
.ledger-week i.has-records{background:var(--accent)}
.ledger-week .is-selected{background:var(--ink);color:#fff}
.ledger-week .is-selected small,.ledger-week .is-selected span,.ledger-week .is-selected i.has-records{color:#e0ddcd}
.ledger-week .is-selected i.has-records{background:#e0ddcd}
.ledger-week button:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}
@media(hover:hover) and (pointer:fine){.ledger-week,.ledger-week button{cursor:grab}.ledger-week.is-dragging,.ledger-week.is-dragging button{cursor:grabbing}}
.domain-options{display:grid;gap:0;margin:18px 0;border:0;padding:0}.domain-options label{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 0;border-bottom:1px solid var(--line)}.domain-options input{width:16px!important;height:16px!important;padding:0!important;margin:0;accent-color:var(--accent)}.selection-preview-note{display:block;margin-top:12px;font-size:11px;color:var(--muted)}.chosen-domain{font-size:23px!important}
.month-heading{display:flex;align-items:center;justify-content:space-between;margin:8px 0 12px}.month-heading button{min-width:44px;min-height:44px}.month-grid{gap:0}.month-grid>small{text-align:center;padding:8px 0;font-size:12px;color:var(--muted)}.month-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60px;gap:4px;border:1px solid var(--line);margin:-1px 0 0 -1px}.month-grid button small{font-size:9px;color:var(--muted)}.month-grid button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.month-grid button[aria-pressed=true] small{color:inherit}
.reading-sample-label{font-size:11px;color:var(--muted)}.reading-domains{display:flex;gap:20px;margin:8px 0 22px;border-bottom:1px solid var(--line)}.reading-domains button{min-height:44px;padding:6px 0}.reading-domains button[aria-pressed=true]{color:var(--accent);border-bottom:2px solid var(--accent)}.sample-card-line{display:flex;align-items:center;gap:16px;margin-bottom:22px}.sample-card-line img{width:54px;height:auto}.sample-card-line small{display:block;font-size:11px;color:var(--muted);margin-top:8px}.sample-basis{border-top:1px solid var(--line);padding:16px 0;margin-top:24px}.sample-basis summary{cursor:pointer;font-size:13px}.sample-basis p{font-size:12px!important;color:var(--muted)}.sample-access{border-top:1px solid var(--line);padding-top:15px;margin-top:18px}.sample-access p{font-size:12px!important}.sample-access small{font-size:11px;color:var(--muted)}
@media(max-width:759px){
 .calendar{margin-bottom:22px}.ledger-heading{margin:4px 0 18px;gap:10px}.ledger-date{gap:15px}.ledger-date>strong{font-size:66px;letter-spacing:-4px;min-width:62px}.ledger-date>div{font-size:15px;padding-left:15px;gap:7px}.ledger-date small{font-size:11px}.ledger-calendar-actions{font-size:11px}.ledger-week button{gap:7px;padding:10px 1px 7px}.ledger-week strong{font-size:21px}.ledger-week small,.ledger-week span{font-size:10px}
}

/* Full records live in their workspace. The homepage ends at its three entrances. */
#page-home.home-today-live .home-grid{grid-template-areas:'calendar calendar' 'daily daily' 'entrances entrances'}
@media(max-width:759px){#page-home.home-today-live .home-grid{grid-template-areas:'calendar' 'daily' 'entrances'}}
@media(max-width:359px){.ledger-date{gap:10px}.ledger-date>strong{min-width:58px}.ledger-date>div{padding-left:10px;font-size:13px}.ledger-date small{font-size:10px}.ledger-calendar-actions{font-size:10px}}

/* Personal homepage: existing paper artwork, readable copy, distinct objects. */
:root{--sheet:url('/liuyao/assets/paper_bg.png');--paper-shadow:0 1px 2px #55463512,0 15px 24px -20px #55463560;--paper-edge:#d6d0c3}
.home-grid{display:grid;grid-template-columns:1.15fr 1fr;grid-template-areas:'calendar calendar' 'daily daily' 'tracking activity' 'entrances entrances' 'letter letter';column-gap:48px;align-items:start}
.daily{grid-area:daily;margin-bottom:48px;min-width:0}
.daily>.section-head{margin-bottom:22px}
.daily-pair{display:grid;grid-template-columns:244px minmax(0,1fr) 290px;gap:24px;align-items:stretch}
.daily-tarot,.daily-astrology,.daily-integrated{min-width:0;position:relative}
.daily-tarot{padding:0 20px 12px}
.tarot-open{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;padding:0;color:var(--ink);text-align:center}
.tarot-mount{display:grid;place-items:center;position:relative;isolation:isolate;margin:0 0 20px;padding:16px 25px 18px;min-height:238px}
.tarot-mount:before{content:'';position:absolute;inset:0;background:var(--sheet) center/cover,#f8f5ed;box-shadow:var(--paper-shadow);transform:rotate(-4deg);z-index:-1}
.daily-art,.daily-tarot .card-back{display:block;width:120px;height:208px;object-fit:contain;border-radius:2px;filter:drop-shadow(2px 5px 4px #352b2524);transform:rotate(2deg);transition:transform .25s ease}
.daily-tarot .card-back{display:grid;place-items:center}
.tarot-copy{display:flex;flex-direction:column;align-items:center;width:100%}
.tarot-heading{font-size:14px;color:var(--muted);line-height:1.6}
.tarot-caption{display:flex;align-items:baseline;justify-content:center;gap:9px;margin-top:4px}
.tarot-caption strong{font-size:28px;font-weight:500;line-height:1.4}
.tarot-caption small{font-size:12px;color:var(--muted)}
.tarot-personal{font-size:13px;line-height:1.8;margin-top:10px;color:var(--muted);max-width:17em}
.tarot-note-status{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--accent);margin-top:14px;min-height:36px}
.tarot-note-status>span{font-size:22px}
.tarot-open:disabled{cursor:default;opacity:1}
.tarot-open:disabled .tarot-caption strong{font-size:17px;color:var(--muted)}
.daily-astrology{background:var(--paper);padding:28px 30px 24px;box-shadow:var(--paper-shadow);display:flex;flex-direction:column}
.daily-astrology:after{content:'';position:absolute;bottom:-4px;left:7px;right:6px;height:3px;background:#f4f1e9;border-bottom:1px solid var(--paper-edge);z-index:-1}
.astrology-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}
.astrology-heading h2{font-size:24px;line-height:1.4;margin:0}
.astrology-heading>small{font-size:12px;white-space:nowrap}
.annual-domain{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:7px 0;margin-top:12px;border-bottom:1px solid var(--line);color:var(--accent);font-size:13px;text-align:left}
.annual-domain small{font-size:11px}
.astrology-signals{margin-top:17px;padding:13px 14px 11px;background:#f7f4ed;border-top:1px solid #d8d1c3;border-bottom:1px solid #d8d1c3}
.astrology-signal-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px;color:#68675d;font-size:11px;letter-spacing:.04em}
.astrology-signal-head small{font-size:10px;color:#9a9588;letter-spacing:0}
.astrology-signal-list{display:grid;gap:9px}
.astrology-signal{display:grid;grid-template-columns:91px minmax(0,1fr);align-items:center;gap:11px;min-width:0}
.signal-glyph{display:flex;align-items:center;justify-content:flex-start;gap:5px;white-space:nowrap;font-family:Georgia,'Apple Symbols','Segoe UI Symbol','Times New Roman',serif;color:#30352f}
.signal-glyph b{font-size:21px;font-weight:400;line-height:1}
.signal-glyph i{font-size:17px;font-style:normal;color:#a96c5c;line-height:1}
.astrology-signal[data-tone="soft"] .signal-glyph i{color:#617da4}
.signal-label{display:flex;align-items:baseline;gap:5px;min-width:0;overflow:hidden;white-space:nowrap;color:#5f6057;font-size:11px}
.signal-label b{font-weight:400;color:#30352f}.signal-label span{color:#9a6d5b;font-size:10px}
.astrology-signal[data-tone="soft"] .signal-label span{color:#617da4}
.astrology-title,.astrology-empty h3{font-size:23px;line-height:1.6;font-weight:500;margin:24px 0 12px}
.astrology-excerpt,.astrology-empty p{font-size:15px;line-height:1.95;color:#535348;margin:0;overflow-wrap:anywhere}
.astrology-empty small{font-size:12px;display:block;margin-top:16px}
.astrology-bottom{margin-top:auto;padding-top:24px}
.astrology-bottom button,.astrology-choose{display:flex;align-items:center;justify-content:space-between;padding:0;min-height:44px;width:100%;color:var(--accent);font-size:14px}
.astrology-bottom button span,.astrology-choose span{font-size:24px}
.astrology-bottom>small{display:block;font-size:11px;margin-top:10px}
.astrology-choose{margin-top:auto;padding-top:24px}
.daily-integrated{display:flex;flex-direction:column;background:#e5e7dc;padding:28px 26px 24px;margin-top:16px;margin-bottom:14px;box-shadow:var(--paper-shadow);isolation:isolate}
.daily-integrated:before{content:'';position:absolute;inset:0;background:var(--sheet) center/cover;mix-blend-mode:multiply;opacity:.7;z-index:-1}
.integrated-eyebrow{font-size:12px;color:#686e60}
.daily-integrated h2{font-size:27px;line-height:1.45;margin:14px 0 10px}
.integrated-copy p{font-size:14px;line-height:1.8;color:#5c6255;max-width:14em}
.integrated-pairing{display:flex;align-items:center;gap:8px;margin-top:14px;color:#657064;font-size:11px;letter-spacing:.05em}
.integrated-pairing span{padding:5px 8px;border:1px solid #bfc5b4;background:#eef0e8aa}.integrated-pairing b{font-weight:400;color:#8c907f}
.integrated-art{display:block;align-self:center;width:150px;height:128px;object-fit:contain;mix-blend-mode:multiply;margin:15px 0 10px;mask-image:radial-gradient(ellipse,#000 42%,transparent 73%)}
.integrated-foot{margin-top:auto}
.integrated-foot button{display:flex;align-items:center;justify-content:space-between;padding:0;min-height:44px;width:100%;color:var(--accent);font-size:14px}
.integrated-foot button span{font-size:24px}
.integrated-foot small{display:block;font-size:11px;line-height:1.8;margin-top:9px;color:#686e60}

.tracking{grid-area:tracking;min-width:0;margin:0 0 46px}
.tracking .section-head{margin-bottom:18px}
#things{display:grid;gap:14px}
.thing{position:relative;overflow:hidden;box-shadow:0 2px 4px #5546350a;background:#faf8f3}
.thing-front{position:relative;background:var(--sheet) center/cover,#faf8f3;display:flex;align-items:center;padding:18px 12px 18px 22px;min-height:130px;gap:4px;touch-action:pan-y;transition:transform .2s ease}
.thing:nth-child(2){margin-left:12px}
.thing-open{display:flex;align-items:center;gap:20px;flex:1;text-align:left;min-width:0;padding:0}
.thing-card{display:block;width:45px;height:78px;object-fit:contain;flex-shrink:0;box-shadow:1px 3px 3px #30241b18}
.is-reversed{transform:rotate(180deg)}
.thing-content{display:block;flex:1;min-width:0}
.thing-meta{display:flex;justify-content:space-between;gap:10px;color:#727565;font-size:11px;line-height:1.6}
.thing-meta time{color:var(--muted)}
.thing-title{display:block;font-size:20px;line-height:1.6;margin:7px 0 5px;overflow-wrap:anywhere}
.thing-description{display:block;font-size:12px;line-height:1.7;color:var(--muted)}
.thing-menu{align-self:center;flex:0 0 36px;padding:0;color:var(--muted);font-size:20px}
.thing-paper-mark{width:40px;height:64px;background:#fffdf7;box-shadow:1px 3px 3px #30241b12;border-top:2px solid #a8a592;transform:rotate(-4deg);flex-shrink:0}
.swipe-actions{position:absolute;right:0;top:0;bottom:0;display:flex;width:152px;background:#dbddd1;align-items:stretch}
.swipe-actions button{flex:1;padding:10px;font-size:13px}.swipe-actions button+button{background:#e2dfd5}
.thing.open .thing-front{transform:translateX(-152px)}.thing.front-moving .thing-front{transition:none}
.things-empty{padding:34px 24px;background:var(--sheet) center/cover;font-size:15px}.things-empty button{display:block;padding:12px 0 0;color:var(--accent);font-size:14px}

.activity{grid-area:activity;min-width:0;margin:0 0 46px}
.activity .section-head{margin-bottom:18px}
.note-invitation{display:flex;flex-direction:column;position:relative;width:100%;padding:28px 30px 20px;text-align:left;background:var(--sheet) center/cover,#faf7ed;box-shadow:var(--paper-shadow);min-height:220px;transform:rotate(.6deg);color:var(--ink)}
.note-invitation:before{content:'';position:absolute;top:0;left:8px;right:8px;border-top:2px solid #c7bfac70}
.note-prompt{font-size:20px;line-height:1.8;color:#787363}
.note-lines{display:block;width:100%;height:68px;background:repeating-linear-gradient(transparent 0,transparent 32px,#c9c2b44f 32px,#c9c2b44f 33px);margin:7px 0 10px}
.note-sign{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:13px;color:var(--accent);margin-top:auto}
.note-sign>span:last-child{font-size:26px}
.note-again{font-size:14px;color:var(--accent);padding:14px 0}
.written-notes{display:grid;gap:12px}
.note-row{display:block;width:100%;text-align:left;background:var(--sheet) center/cover;padding:20px 24px;box-shadow:var(--paper-shadow)}
.note-row time{display:block;font-size:11px;color:var(--muted);margin-bottom:10px}
.note-row>span{display:block;font-size:17px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}
.note-row small{display:block;text-align:right;font-size:12px;color:var(--accent);margin-top:8px}

.entrances{grid-area:entrances;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;align-items:start;margin:12px 0 65px}
.entry{position:relative;isolation:isolate;display:flex;align-items:center;min-width:0;min-height:166px;padding:27px;background:#faf9f5;box-shadow:0 1px 2px #55463512,0 18px 22px -17px #55463545;transition:transform .22s ease,box-shadow .22s ease}
.entry:before{content:'';position:absolute;inset:0;z-index:-1;background:var(--sheet) center/cover;opacity:.55}
.entry:after{content:'';position:absolute;bottom:-3px;left:2px;right:4px;height:2px;background:#e2ddd1;z-index:-2}
.entry:nth-child(2){margin-top:16px}.entry:nth-child(3){margin-top:4px}
.entry-copy{position:relative;z-index:1;max-width:55%}
.entry h2{font-size:27px;line-height:1.5;font-weight:500;white-space:nowrap;letter-spacing:.025em}
.entry small{display:block;font-size:12px;margin-top:10px}
.entry img{position:absolute;right:13px;top:50%;transform:translateY(-50%);width:46%;height:148px;object-fit:contain;mix-blend-mode:multiply;filter:brightness(1.025) contrast(1.08);mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent),linear-gradient(0deg,transparent,#000 18%,#000 82%,transparent);mask-composite:intersect;pointer-events:none}
.entry-arrow{position:absolute;bottom:15px;right:20px;font-size:23px;color:var(--accent)}

.letter{grid-area:letter;margin:0 0 50px;padding:0;min-width:0}
.letter-open{display:flex;align-items:center;justify-content:center;gap:100px;min-height:275px;padding:22px 40px 35px;border-top:1px solid var(--line);color:var(--ink)}
.letter-copy{max-width:350px}
.letter-copy>small{font-size:12px;letter-spacing:.08em}
.letter h2{font-size:31px;line-height:1.5;margin:12px 0}
.letter p{font-size:15px;line-height:1.8;color:var(--muted)}
.letter-action{display:flex;align-items:center;gap:38px;min-height:44px;font-size:15px;color:var(--accent);margin-top:15px}
.letter-action>span{font-size:24px}
.letter-stationery{position:relative;width:280px;height:235px;flex-shrink:0;transform:rotate(-5deg);isolation:isolate}
.envelope-back{position:absolute;left:0;right:0;bottom:0;height:158px;background:#dfd8c9;box-shadow:0 12px 20px -12px #5143344a;transform:rotate(2deg)}
.envelope-back:before{content:'';position:absolute;left:0;right:0;bottom:100%;height:75px;background:#e6dfcf;clip-path:polygon(0 100%,50% 0,100% 100%)}
.letter-paper{position:absolute;left:15px;right:15px;bottom:29px;height:181px;padding:24px 28px;background:var(--sheet) center/cover,#fffdf6;box-shadow:0 1px 4px #493d3014;transform:rotate(2deg);transition:transform .35s ease}
.letter-paper span{display:block;font-size:16px;line-height:1.9;color:#777060}.letter-paper i{display:block;border-bottom:1px solid #d3cbbb70;margin-top:17px}
.envelope-front{position:absolute;bottom:0;left:0;right:0;height:128px;background:linear-gradient(151deg,#f0eadc 49.7%,#d4cbbb 50%,#f4eddf 50.5%);clip-path:polygon(0 0,50% 39%,100% 0,100% 100%,0 100%);transform:rotate(2deg);display:flex;align-items:flex-end;justify-content:space-between;padding:22px 23px;color:#7b715f}
.envelope-front>span{font-size:12px;letter-spacing:.12em}.envelope-front b{display:grid;place-items:center;border:1px solid #a3947880;width:31px;height:35px;font-size:20px;font-weight:400}
.guest .home-grid{grid-template-areas:'entrances entrances' 'daily daily' 'letter letter'}
@media(hover:hover){
 .entry:hover{transform:translateY(-3px);box-shadow:0 2px 3px #55463512,0 22px 26px -18px #55463550}
 .note-invitation:hover{color:var(--accent)}.note-invitation:hover .note-prompt{color:var(--accent)}
 .letter-open:hover .letter-paper{transform:translateY(-12px) rotate(0)}
}
@media(max-width:1099px){.astrology-remainder{display:none}}
@media(min-width:760px) and (max-width:1099px){
 .daily-pair{grid-template-columns:210px minmax(0,1fr);gap:24px}
 .daily-integrated{grid-column:1/-1;display:grid;grid-template-columns:1fr 115px 190px;align-items:center;gap:20px;margin:0;padding:25px 28px}
 .integrated-art{width:115px;height:110px;margin:0}.integrated-foot{margin:0}
 .home-grid{column-gap:30px}.entry{min-height:160px;padding:18px}.entry h2{font-size:22px}.entry img{right:0;width:45%;height:120px}
 .thing-front{padding:18px 10px 18px 16px}.thing-open{gap:13px}.thing-title{font-size:18px}
 .note-invitation{padding:25px 23px}.note-prompt{font-size:18px}
 .letter-open{gap:50px;padding-inline:20px}
}
@media(max-width:759px){
 .masthead{height:64px}.intro{padding:10px 0}
 .home-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:'calendar' 'daily' 'entrances' 'tracking' 'activity' 'letter';gap:0}
 .daily{margin-bottom:34px}.daily>.section-head{min-height:40px;margin-bottom:10px}.daily>.section-head h2{font-size:22px}
 .daily-pair{grid-template-columns:minmax(0,1fr);gap:23px}
 .daily-tarot{padding:0 6px 0 10px}.tarot-open{flex-direction:row;gap:25px;text-align:left;min-height:198px;align-items:center}
 .tarot-mount{margin:4px 0;padding:13px 18px;min-height:192px;flex-shrink:0}.daily-art,.daily-tarot .card-back{width:96px;height:166px}
 .tarot-copy{align-items:flex-start;min-width:0}.tarot-heading{font-size:15px}.tarot-caption{justify-content:flex-start;margin-top:12px;gap:8px}.tarot-caption strong{font-size:27px}.tarot-caption small{font-size:12px}.tarot-personal{font-size:14px;line-height:1.8;margin-top:12px}.tarot-note-status{font-size:12px;gap:12px;margin-top:15px}
 .daily-astrology{padding:22px 25px 18px}.astrology-heading h2{font-size:24px}.astrology-heading>small{font-size:12px}.annual-domain{margin-top:8px}.astrology-signals{margin-top:13px;padding:12px 12px 10px}.astrology-signal{grid-template-columns:88px minmax(0,1fr);gap:8px}.signal-glyph b{font-size:20px}.signal-label{font-size:10px;gap:4px}.astrology-title,.astrology-empty h3{font-size:22px;margin:16px 0 10px}.astrology-excerpt,.astrology-empty p{font-size:15px;line-height:1.9}.astrology-bottom{padding-top:8px}.astrology-bottom>small{margin-top:4px}
 .daily-integrated{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:8px 6px;margin:0 5px 0 0;padding:22px 25px 17px}
 .daily-integrated h2{font-size:25px;margin:8px 0 6px;white-space:nowrap}.integrated-copy p{font-size:13px}.integrated-pairing{margin-top:10px;gap:5px;font-size:10px}.integrated-pairing span{padding:4px 6px}.integrated-art{width:110px;height:105px;margin:12px -7px 0 0;align-self:center}.integrated-eyebrow{font-size:12px}
 .integrated-foot{grid-column:1/-1;border-top:1px solid #c6cabb9c;margin-top:9px;padding-top:8px}.integrated-foot button{font-size:14px}.integrated-foot small{display:block;font-size:11px;line-height:1.8;margin-top:4px}
 .tracking,.activity{margin:0 0 34px}.tracking .section-head,.activity .section-head{margin-bottom:15px}.section-head h2{font-size:22px}
 .note-invitation{padding:24px 26px 17px;min-height:204px;margin:0 2px;width:calc(100% - 4px)}.note-prompt{font-size:20px}.note-lines{height:62px;margin-top:0}.note-sign{font-size:13px}
 #things{gap:13px}.thing-front{min-height:132px;padding:17px 9px 17px 17px}.thing-open{gap:16px}.thing-card{width:42px;height:73px}.thing-title{font-size:19px;margin-top:6px}.thing-description{font-size:12px}.thing-meta{font-size:11px}.thing-menu{flex-basis:28px}.thing:nth-child(2){margin-left:9px}
 .entrances{grid-template-columns:minmax(0,1fr);gap:18px;margin:9px 0 40px}.entry{width:calc(100% - 14px);min-height:142px;padding:25px 26px}.entry:nth-child(2){margin:0 0 0 14px}.entry:nth-child(3){margin:0}.entry h2{font-size:27px}.entry img{width:49%;height:130px;right:12px}.entry small{font-size:11px;margin-top:7px}.entry-arrow{right:20px;bottom:13px}
 .letter{margin:0 0 34px}.letter-open{flex-direction:column;gap:26px;padding:30px 20px 10px;text-align:center;min-height:0}.letter-stationery{width:252px;height:211px;transform:rotate(-4deg)}.envelope-back{height:142px}.envelope-back:before{height:65px}.letter-paper{height:164px;padding:21px 23px;bottom:23px}.letter-paper span{font-size:15px}.envelope-front{height:117px;padding:19px 20px}.envelope-front>span{font-size:11px}
 .letter h2{font-size:28px;margin:10px 0}.letter-copy>small{font-size:12px}.letter p{font-size:14px}.letter-action{justify-content:center;margin-top:12px;gap:25px;font-size:15px}
 .guest .home-grid{grid-template-areas:'entrances' 'daily' 'letter'}
}
@media(max-width:359px){
 .tarot-open{gap:18px}.tarot-mount{padding:12px 14px;min-height:188px}.daily-art,.daily-tarot .card-back{width:92px;height:160px}.tarot-caption strong{font-size:24px}.tarot-personal{font-size:13px}.tarot-heading{font-size:14px}.tarot-note-status{font-size:11px;gap:8px}
 .daily-astrology{padding:22px}.astrology-signals{padding-inline:10px}.astrology-signal{grid-template-columns:80px minmax(0,1fr)}.signal-glyph{gap:3px}.signal-glyph b{font-size:19px}.signal-glyph i{font-size:15px}.signal-label{font-size:9px}.daily-astrology .astrology-heading>small{font-size:11px}.astrology-title{font-size:21px}.daily-integrated{padding:22px 20px 16px;grid-template-columns:minmax(0,1fr) 65px}.integrated-art{width:86px;height:88px;margin-right:-12px}.daily-integrated h2{font-size:23px}.integrated-copy p{font-size:13px;max-width:13em}
 .thing-open{gap:12px}.thing-title{font-size:17px}.thing-description{font-size:11px}.thing-front{padding-left:13px}.thing-card{width:36px;height:62px}.thing-meta{font-size:10px}.note-invitation{padding-inline:22px}.note-prompt{font-size:18px}.entry{padding-left:23px}.entry h2{font-size:25px}
}
@media(prefers-reduced-motion:reduce){.entry,.daily-art,.letter-paper,.thing-front{transition:none!important}}

/* Formal homepage bridge for the approved paper layout. */
:root{--bg:#eeebe3;--paper:#faf9f5;--ink:#292922;--muted:#706f65;--line:#d8d5cb;--accent:#885844;--green:#e3e6d9;--serif:'Helemate Noto Serif SC','Songti SC',serif;--sheet:url('/liuyao/assets/paper_bg.png');--paper-shadow:0 1px 2px #55463512,0 15px 24px -20px #55463560;--paper-edge:#d6d0c3}
#page-home.home-today-live{padding:0 0 32px}
#page-home.home-today-live .today-shell{width:100%;margin:0}
#page-home.home-today-live .intro{padding:30px 0 32px}
#page-home.home-today-live .intro h1{font-size:32px;letter-spacing:.04em;font-weight:500}
#page-home.home-today-live .intro>span{display:block;margin-top:9px;font:12px/1.5 Georgia,serif;letter-spacing:.12em;word-spacing:.12em;color:var(--muted)}
#page-home.home-today-live .daily>.section-head{margin-bottom:22px}
#page-home.home-today-live .daily-calendar-link{color:var(--accent);font-size:12px;padding:8px 0;white-space:nowrap}
#page-home.home-today-live .daily-integrated .integrated-foot a{display:flex;align-items:center;justify-content:space-between;padding:0;min-height:44px;width:100%;color:var(--accent);font-size:14px}
#page-home.home-today-live .daily-integrated .integrated-foot a span{font-size:24px}
#page-home.home-today-live .thing-open{color:var(--ink);text-decoration:none}
#page-home.home-today-live .thing-menu{color:var(--accent);font-size:22px;text-decoration:none}
#page-home.home-today-live .things-empty a{display:block;padding:12px 0 0;color:var(--accent);font-size:14px}
#page-home.home-today-live .note-again{background:none;border:0}
#page-home.home-today-live .astrology-bottom a{display:flex;align-items:center;justify-content:space-between;padding:0;min-height:44px;width:100%;color:var(--accent);font-size:14px}
#page-home.home-today-live .astrology-bottom a span{font-size:24px}
#page-home.home-today-live .astrology-choose{color:var(--accent);text-decoration:none}
#page-home.home-today-live #home-records{display:none!important}
#page-home.home-today-live .ledger-week{touch-action:pan-x;overscroll-behavior-x:contain;overscroll-behavior-y:none}
#page-home.home-today-live .daily-art{--tarot-facing:0deg;--tarot-lean:2deg;--tarot-lift:0px;transform:translateY(var(--tarot-lift)) rotate(calc(var(--tarot-facing) + var(--tarot-lean)));transition:transform .28s ease}
#page-home.home-today-live .daily-art.is-reversed{--tarot-facing:180deg}
#page-home.home-today-live .daily-tarot .card-back{display:block;background:none;border:0;outline:0;padding:0;object-fit:contain}
#page-home.home-today-live .tarot-open.is-touching .daily-art{--tarot-lean:-3deg;--tarot-lift:-3px}
@media(hover:hover) and (pointer:fine){
 #page-home.home-today-live .tarot-open:hover .daily-art{--tarot-lean:0deg;--tarot-lift:-3px}
 #page-home.home-today-live .tarot-open[data-live-action="draw"]:hover .tarot-empty-label{font-size:0}
 #page-home.home-today-live .tarot-open[data-live-action="draw"]:hover .tarot-empty-label::after{content:attr(data-hover-label);font-size:28px;line-height:1.4;font-weight:500;color:inherit}
}
@keyframes tarot-arrive{0%,100%{transform:translateY(0) rotate(calc(var(--tarot-facing) + 2deg))}38%{transform:translateY(-4px) rotate(calc(var(--tarot-facing) - 3deg))}68%{transform:translateY(-1px) rotate(calc(var(--tarot-facing) + 3deg))}}
@media(hover:none){#page-home.home-today-live .daily-art.tarot-arrival{animation:tarot-arrive 1.05s ease-in-out both}}
@media(max-width:759px){
 #page-home.home-today-live .intro{padding:22px 0 22px}
 #page-home.home-today-live .intro h1{font-size:24px;white-space:nowrap}
 #page-home.home-today-live .daily>.section-head{min-height:40px;margin-bottom:10px}
 #page-home.home-today-live .daily-calendar-link{font-size:11px}
 #page-home.home-today-live .daily-integrated .integrated-foot a{font-size:14px}
 #page-home.home-today-live .daily-calendar-link{display:none}
 #page-home.home-today-live .bottom-nav{padding-inline:8px}
 #page-home.home-today-live .bottom-nav button{min-width:0;font-size:15px;padding-inline:0;min-height:62px;white-space:nowrap}
 #page-home.home-today-live .bottom-nav button span{font-size:18px;margin-left:3px}
}
@media(prefers-reduced-motion:reduce){#page-home.home-today-live .daily-art{animation:none!important;transition:none!important}}

/* Paper product cards: a more deliberate spine and fuller, uncropped artwork. */
#page-home.home-today-live .daily-pair{grid-template-columns:225px minmax(0,1fr) 285px;gap:30px}
#page-home.home-today-live .entrances{gap:26px;margin-top:4px}
#page-home.home-today-live .entry{min-height:173px;padding:26px 24px;border:1px solid #e4e0d5;border-left:3px solid #c5cdd0;box-shadow:0 1px 1px #5546350f,0 12px 22px -19px #5546354d;overflow:hidden}
#page-home.home-today-live .entry:before{opacity:.65}
#page-home.home-today-live .entry:nth-child(2){margin-top:12px;border-left-color:#aebbc9}
#page-home.home-today-live .entry:nth-child(3){margin-top:3px;border-left-color:#ccd0c3}
#page-home.home-today-live .entry h2{font-size:25px;letter-spacing:.055em}
#page-home.home-today-live .entry img{right:7px;width:46%;height:144px;mask-image:none;mix-blend-mode:normal;filter:none;opacity:1}
#page-home.home-today-live .entry-arrow{bottom:14px;right:17px;font-size:25px}
.footer-compact-label{display:none}
@media(min-width:760px) and (max-width:1099px){#page-home.home-today-live .daily-pair{grid-template-columns:210px minmax(0,1fr);gap:25px}#page-home.home-today-live .fortune-composite{grid-column:1/-1}#page-home.home-today-live .entry{padding:22px 18px;min-height:155px}#page-home.home-today-live .entry h2{font-size:21px}#page-home.home-today-live .entry img{height:126px;right:0}}
@media(max-width:759px){#page-home.home-today-live .daily-pair{grid-template-columns:minmax(0,1fr);gap:24px}#page-home.home-today-live .entrances{gap:18px;margin:0 0 24px}#page-home.home-today-live .entry{width:calc(100% - 9px);min-height:128px;padding:22px 24px}#page-home.home-today-live .entry:nth-child(2){margin:0 0 0 9px}#page-home.home-today-live .entry:nth-child(3){margin:0}#page-home.home-today-live .entry h2{font-size:25px}#page-home.home-today-live .entry img{width:45%;height:117px;right:12px}#page-home.home-today-live .entry-arrow{right:18px;bottom:12px}.site-footer{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:8px;padding:12px 0 calc(84px + env(safe-area-inset-bottom));font-size:10px;white-space:nowrap}.site-footer>span{display:none}.site-footer a{min-height:44px;display:inline-flex;align-items:center;flex:0 0 auto}.site-footer a:last-child{flex-basis:auto}.footer-full-label{display:none}.footer-compact-label{display:inline}}
@media(max-width:359px){#page-home.home-today-live .entry{padding-left:21px}#page-home.home-today-live .entry h2{font-size:23px}.site-footer{gap:5px;font-size:10px}}
@media(max-width:359px){.home-shell .home-account{gap:8px;font-size:12px}}

@media(max-width:759px){#page-home.home-today-live .bottom-nav a{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;min-height:62px;padding:0;color:var(--ink);font-size:15px;white-space:nowrap}#page-home.home-today-live .bottom-nav a:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}}
